Dlaczego funkcja itoa(temp,str,10) po konwersji zmiennej temp do "postaci tekstowej" odwraca kolejnosc cyfr w buforze. np jezeli temp=1234 to str="4321" ???? Moze siê ktos z tym spotkal i jak naprawic ten b³ld. U¿ywam WinAVR-20080610
AVR GCC - problem z funkcja itoa
Jul 05, 2008
4 Replies
U¿ytkownik "roxy" snipped-for-privacy@o2.pl napisa³ w wiadomo¶ci news:g4oqmd$rrg$ snipped-for-privacy@news.onet.pl...
nikt nie spotka³ sie z tym problemem? Przytocze poni¿ej fragment programu:
int i; ... i=1234; // na przyk³ad taka liczba ... lcd_write_text(itoa(i,str,10)); ...
na wyswietlaczu mam " 4321"
roxy pisze:
Ja bym zaczął od sprawdzenia działania
lcd_write_text("1234");
Pozdrawiam, Paweł.
U¿ytkownik "Pawe³ Hadam" snipped-for-privacy@remove.it.gmail.com> napisa³ w wiadomo¶ci news:4870e6eb$ snipped-for-privacy@news.home.net.pl...
sprawdzalem tak jak wyzej. Wynik poprawny. Blad wystepuje nawet jezeli wykonam: lcd_write_text(itoa(12345,str,10));
dodam ze mikrokontroler to ATtiny 26
A patrzyles na listing w assemblerze ?
Jesli korzystasz z tego
formatting link
to itoa wewnetrznie wylicza faktycznie odwrotnie, po czym wyskakuje przez strrev.
Moze w twojej wersji nie ma wywolania, moze strrev nie ma.
J.
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required