Gast
#5650943
Hallo, ich schreibe grad für den AVR328 ein Programm und trotz guter C Kenntnisse bin ich etwas verwirrt, was die Fähigkeit des GCC angeht zu erkennen, wie lang Zahlen sind. Der AVR ist 8 Bit, ich benutze uint8_t bis uint32_t Formate. Millies ist wohl ein uint32_t. Für einen Timeout möchte ich so verfahren: if (millis() > (to_timer + GSM_ONLINE_PERIOD)) {.....} GSM_ONLINE_PERIOD sollen 90s, also 90.000 ms sein. #define GSM_ONLINE_PERIOD (90*1000) Muss dann hinter das 1000 dieses UL hinter? Steht wohl für unsigned long. Ist beim AVR dann auch 32 Bit. Also #define GSM_ONLINE_PERIOD (90*1000UL) Oder ist der GCC ist der Lage selbst zu erkennen in welches Format die defines passen? Oder wäre es besser zu casten mit (uint32_t)(GSM_ONLINE_PERIOD ) Gruss, Thorsten