AVR GCC (AVR Studio) warning: integer overflow in expression |
|
Добавил(а) microsin
|
Описывается одна из причин возникновения такого предупреждения.
Предупреждение означает, что при вычислении выражения возможно переполнение. У меня оно возникло в таком примере кода:
//[timer.c]
#define F_CPU 12000000L //тактовая частота ATmega32, Гц
#define TCNT1_1MS (65536-(F_CPU/(256*1000)))
TCNT1 = TCNT1_1MS;
../timer.c: In function 'SetupTIMER1':
../timer.c:22: warning: integer overflow in expression
Предупреждение пропадает, если делитель в выражении тоже определить с типом long (добавим к константе букву L):
#define TCNT1_1MS (65536-(F_CPU/(256L*1000)))
|