Problém s kompiláciou v C - neznáma chybové hlásenia

To je asi jako kdybych se zeptal na barvu auta a ty mi řekl pátek…
Je ta proměnná deklarovaná jako volatile? Nejspíš je globální, tudíž je její deklarace někde na main, pak má nějaký datový typ např. unsigned char nebo uint8 a podobně. to “volatile” by bylo napsaný před tím datovým typem…

EDIT: tak jsem kouknul do toho zdrojáku a nemáš.
Řádek “unsigned char ucOutputOutOfRange;” uprav na “volatile unsigned char ucOutputOutOfRange;”

Tímto způsobem musí být v GCC ošetřeny všechny proměnné, se kterými se pracuje v přerušeních a zároveň mimo ně. Pokud totiž není ve funkci nic, co by mohlo proměnnou změnit, překladač k ní optimalizuje přístup a čte ji jen na začátku. Když pak proměnnou přerušení upraví, tak se to již daná funkce nedozví. S použitím volatile je proměnná kontrolována vždy.