Arduino - 32 bitu promenna ze 4 byte

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Středa Prosinec 18 06:22:47 CET 2024


Jake warningy nemate ulozeno? Kdyz se to spravne napise, neni k tomu 
snad duvod...
Dne 17.12.2024 v 23:51 Jirka Mww napsal(a):
> Já jsem nakonec zůstal u toho postupného posunu o 8 bitů. Posun o 24 , 
> 16 a 8 bitů sice funguje, ale překladač  hlásí warningy.
> Díky všem za produktivní diskusi, dost jsem se zase dozvěděl.   C++ 
> programátor ze mne už opravdu nebude.
>
> Zdravi
> Jirka Sloupenský  OK1MWW
>
>
> út 17. 12. 2024 v 16:28 odesílatel Jan Waclawek <konfera na efton.sk> napsal:
>
>     Co je to "spravne"?
>
>     Z pohladu "funkcnosti" to je "spravne". C99 6.4.4.1 Integer constants
>     hovori, ze typ konstanty je dany prvym typom z nasledovnej tabulky, do
>     ktorej konstanta "vojde". A tabulka pre sestnastkovu konstantu je:
>     int
>     unsigned int
>     long int
>     unsigned long int
>     long long int
>     unsigned long long int
>
>     No a v avr-gcc prvym typom z tabulky do ktoreho vojde 0xFFEF1000 je
>     unsigned long int (= uint32_t pre pripad toho avr-gcc).
>
>     A tiez je to "spravne", lebo je to priame priradenie (no dobre,
>     inicializator, ale funguje ako priradenie), t.j. nie je to vyraz a
>     prebehne tam len pomerne priamociara konverzia.
>
>     Z metodickeho pohladu to nie je "spravne", lebo je lahke sa pomylit (a
>     zabudnut na ten suffix ked je ta konstanta pouzita vo vyraze, kde
>     konverzie sposobia necakany vysledok, alebo kebyze ma najvyssi bit
>     nulovy
>     cim sa stane znamienkova a je pouzita v nejakom vyraze kde ta
>     znamienkovost zmeni vysledok), a preto je lepsie ten suffix vzdy
>     explicitne napisat.
>
>     wek
>
>
>     ----- Original Message ---------------
>
>     >[preposielam]
>     >
>     >Ahoj,
>     >
>     >myslim, ze nie, pretoze definujem vsetky 4 byty premennej.
>     Potrebne by to
>     >bolo, keby som definoval len 1, 2 alebo 3 byty. Ale isty som si
>     moc nie.
>     >A.
>     >>>>
>     >
>     >neměl by ten zápis správně být jako
>     >unsigned long int Delay=0xFFEF1000ul;   ?
>     >
>     >MB
>     >
>
>     _______________________________________________
>     HW-list mailing list  -  sponsored by www.HW.cz <http://www.HW.cz>
>     Hw-list na list.hw.cz
>     http://list.hw.cz/mailman/listinfo/hw-list
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored bywww.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20241218/cdf13079/attachment.htm>


Další informace o konferenci Hw-list