Ответ в теме: Программирование МК AVR



#13661
DJPashA
Участник

из урока 8
Затеял сделать мигающую точку:

#define F_CPU 8000000
#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
//unsigned char i;
//unsigned char button=0;
DDRD = 0xFF;
DDRB = 0x00;
PORTD = 0b00000000;
PORTB = 0b00000001;
while(1)
{

PORTD = ~0b10000110;
_delay_ms(500);
PORTD = ~0b01011011;
_delay_ms(500);
PORTD = ~0b11001111;
_delay_ms(500);
PORTD = ~0b01100110;
_delay_ms(500);
PORTD = ~0b11101101;
_delay_ms(500);
PORTD = ~0b01111101;
_delay_ms(500);
PORTD = ~0b10000111;
_delay_ms(500);
PORTD = ~0b01111111;
_delay_ms(500);
PORTD = ~0b11101111;
_delay_ms(500);
PORTD = ~0b00111111;
_delay_ms(500);

}
}

и тут ворнинги:
Warning 2 large integer implicitly truncated to unsigned type [-Woverflow] D:\Atmel\7segm\7segm\7segm.c 20 2 7segm

без точек не было.
в протеусе всё работает, но само по себе… Что это и чем страшно?