avr lebegopontos muveletek -frekimero-

Andras Tantos andras at tantosonline.com
Fri Sep 15 22:48:31 CEST 2006


>> Nos en tudom hogy a szabvany C nyelv reszei,de nekem valahogy nem
>> mukodott.Igaz sprintf-ben probaltam,de ott nem mukodott(hulyesegek
>
> Igy mar erthetobb a kerdes.
>
>> jelentek meg a kijelzon) sem float,sem double..int viszint igen
>> mukodott.
>
> Valoszinuleg a programodban van a hiba. Megint csak jobban kene ismerni a
> korulmenyeket, de elkepzelheto pl. olyan, hogy az sprintf() felzabalja az
> SRAM-ot (sokat hasznal), es akkor ilyesfajta anomaliak jelentkeznek, vagy
> akar durvabbak is (a stack is az SRAM-ban lakik).
>
> A *printf() kisebb mikrokontrollereken erosen ellenjavallt, erdemes
> megirni celiranyosan a szukseges rutinokat.
>
> A nem futasideju programozasi hibak kozul egy csomot kidob a gcc -Wall
> opcioja, erdemes hasznalni (es addig reszelni, amig nincs warning). A uC
> programozasi tapasztalatot meg valamennyire potolhatja a JTAG debug.
>

Sok embedded C runtime-ban nem rakjak a lebegopontos-string atalakitast 
alapbol bele a printf variansokba, hogy ne foglaljanak feleslegesen sok 
helyet. Az AVR-libc is ilyen. Specialisan kell linkelni, ha lebegopontos 
szamokat is akarsz hasznalni. Reszletekert lasd: 
http://www.nongnu.org/avr-libc/user-manual/group__avr__stdio.html#ga3b98c0d17b35642c0f3e4649092b9f1

Udv,
Tantos Andras



More information about the Elektro mailing list