Witam,
ostatnio bawi³em siê powy¿sz± f-cj± na ATMEGA128. I odkry³em dziwn± przypad³o¶æ, mianowicie: gdy próbowa³em odczytaæ liczbê dziesiêtn± (lub hex - nie ma znaczenia) tj. jak wprowadza³em znaki z zakresu tj. 0-9 lub
0-F,to wszystko by³o ok; ale je¿eli wprowadzi³em znak z poza powy¿szego zakresu to procesor wychodzi³ z funkcji i odt±d ju¿ j± "ignorowa³" tzn. zachowywa³ siê tak, jak by jej nie by³o. Dopiero pomaga³ reset, i znowu wszystko by³o ok do momentu wprowadzenia znaku z poza zakresu. IMHO powinno tak byæ , ¿e je¿eli przyjdzie "taki" znak to scanf zwraca EOF (-1) i tyle.
while(9){ ui_temp1 = scanf( "%x",&ui_temp) ; printf("key_char=%x",ui_temp); } Dodam, ¿e ze stringami jest wszystko Ok.
No nie mam ju¿ koncepcji co jest nie tak. Mo¿e kto¶ to ju¿ przerabia³.
Pozdrawiam Mister