Pretypovani promene
Michal Grunt
michal.grunt na vynet.cz
Čtvrtek Prosinec 30 11:51:23 CET 2010
To, ze je potreba zmenit nastaveni v linkeru jsem opravdu nevedel. Nejspis bude zakopan pes tam (zatim jsem to nezkousel, ale je to velmi pravdepodobne, spise vice nez velmi pravdepodobne). Pred tim jsem nikdy vypisovat float nepotreboval, takze jsem na tento problem jeste nenarazil. Diky. Jdu googlit. Kdyby neco dam vedet.
Michal Grunt
________________________________________
Odesílatel: hw-list-bounces na list.hw.cz [hw-list-bounces na list.hw.cz] za uživatele Pavel KREJCI [krepa76 na gmail.com]
Odesláno: 30. prosince 2010 9:45
Komu: HW-news
Předmět: Re: Pretypovani promene
Muzu potvrdit, ma to tak i treba IAR. Prednastaveena je tam nejaka
"stredni" funkcionalita, aby vysledny kod nezabiral moc pameti.
Jeste by si mel Michal zapnout warningy a podivat se tam, divil bych
se, kdyby ve vypisu nebyla zminka...
PK.
2010/12/30 Lukas Burda <burdal1 na post.cz>:
> Jestli jse sam nic nenastavoval, tak to vypada ze bude opravdu problem
> tam. Funkce pro formatovany i/o maji minimalni, normalni (defaultne
> nastavenou) a float verzi.
> http://www.nongnu.org/avr-libc/user-manual/group__avr__stdio.html
> popis vprintf.
>
> Lukas Burda
>
>
> Thursday, December 30, 2010, 1:07:37 AM, you wrote:
>
>> Presne. Printf nechce zobrazovat float (double). Na nastaveni linkeru se podivam. Diky za tip.
>
>> MG
>
>> -----Original Message-----
>> From: hw-list-bounces na list.hw.cz
>> [mailto:hw-list-bounces na list.hw.cz] On Behalf Of Lukas Burda
>> Sent: Wednesday, December 29, 2010 11:49 PM
>> To: HW-news
>> Subject: Re: Pretypovani promene
>
>> Popravde si nejsem jisty, co vlastne mate za problem. Pochopil jsem
>> spravne, ze vypocet ve floatech funguje, ale problem je, ze vypisovani
>> intu vam funguje a vypis float (a double) ne? Zakladni otazka -
>> nastavil jste linker ze ma linkovat float verze printf funkce?
>
>> Lukas Burda
>
>
>
>> Wednesday, December 29, 2010, 9:42:53 PM, you wrote:
>
>>> Zdravim,
>>> Potreboval bych poradit ohledne pretypovani promene. Zkousel jsem
>>> vsechno mozne, ale nedari se (WinAVR, atmega32).
>>>
>>> Mam nasledujici vzorec, kde vysledek je ve tvaru unsigned long:
>>>
>>> (unsigned long)((float)twPLL*(float)32.768*(float)0.25-225)
>>>
>>> To je v poradku, vrati se mi cislo 87500-108000 (radiova FM frekvence v Khz).
>>>
>>> Ale potrebuji z toho udelat "Mhz", tedy deleno 1000 a toto koreknte vypsat. Tedy
>>>
>>> printf("%.1f Mhz",frekvence);
>>>
>>> Pricemz frekvence je deklarovana:
>>>
>>> double frekvence;
>>>
>>> Ze zoufalosti uz jsem zkousel jsem ruzne pokusy, ale bud se mi ukaze nesmyslny udaj nebo nic...
>>>
>>> frekvence=(double)((unsigned
>>> long)((float)twPLL*(float)32.768*(float)0.25-225))/1000);
>>> frekvence=(double)((unsigned
>>> long)((float)twPLL*(float)32.768*(float)0.25-225))/(double)1000);
>>> frekvence=(double)((unsigned
>>> long)((float)twPLL*(float)32.768*(float)0.25-225))/(double)1000.0);
>>>
>>> Jak na to?
>>>
>>> Diky
>>> Michal Grunt
>
>
>> _______________________________________________
>> HW-list mailing list - sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>> _______________________________________________
>> HW-list mailing list - sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
_______________________________________________
HW-list mailing list - sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list