Код: Выделить всё
static unsigned char d2led[]={0x3F,0x6,0x5b,0x4F,0x66,0x6D,0x7D,0x7,0x7f,0x6F};
int main(void)
{
//Проверяю терминал, всё нормально показывает
USART_putstring("POEHALI! ");
_delay_ms(100);
//Для проверки дисплея показываю числа, всё отображается нормально.
int i;
for (i=0; i<10; i++)
{
upd7segment(i);
_delay_ms(500);
}
while(1)
{
}
}
ISR(USART_RXC_vect)
{
char ReceivedByte;
ReceivedByte = UDR;
uint8_t i = 0;
i = (i<<8) + ReceivedByte;
// надо показать полученное число (0...9) на дисплее. Ничего не показывает.
upd7segment(i);
// хотя назад в ком уходит правильное
UDR = i;
}
inline void upd7segment(int16_t number)
{
//if((number<0)||(number>9)) number=0;
PORTB=d2led[number];
}


