c: MISRA2012

Jan Waclawek konfera na efton.sk
Pátek Březen 26 14:45:51 CET 2021


[preposielam]


Dobry den,

>>>
const uint8_t tmpA = (uint8_t) 20.1F * 10.0F;

Nema to byt nahodou takto:

const uint8_t tmpA = (uint8_t) (20.1F * 10.0F); ?

Ja zatvorkujem a pisem konverzie priamo pri kazdom oprande a nemam s
tym ziadny problem a hlavne hned vidim, ze s akym typom pracujem. Je
to sice narocne na pisanie, ale zase hned clovek vidi... A hlavne teda
pri xc8 je to ziaduce.

>>>
Co se týče tohohle problému, jde o to , že mám knihovnu, kde se
vypočítávají hodnoty do registrů určující rychlost sériového portu (a
jinde i spoustu dalších konatatnt). Ta je závislá na taktu procesoru a
pár dalších nastavení. Vypočte se to při překladu a je to. A aby se to
počítalo při inicializaci procesoru v jádře je přeci totálně mimo.
Na netu jsem zatím taky nic nenašel.

Napiste si to ako symbolicke konstanty cez #define a mate pokoj. Raz
sa to nastavi a potom uz len pouzivate. Iba ze by ste chcel nieco
nastavovat v programe pri nejakej kalibracii, ale potom musite pocitat
v procesore tak ci tak. Aspon ja tomu takto rozumiem. Opravte ma
prosim, ak som mimo.

A.


Další informace o konferenci Hw-list