Пишу программу по Atmega 8 и вот какая проблема когда оп перерывание принимаю данные в масив и возвращаюсь обратно из прерываний массив оказывается пустой подсажите пожалуйста может что не так с классами памяти и в чем еще может быть проблема
Код
uint8_t a[30]; //глобальное обьявление массива
int i=0,b=0;
//прерываение по флагу RXC
ISR (USART_RXC_vect)
{
PORTA=0x03;
_delay_ms(200);
a[i]=UDR;
_delay_us(10);
UDR=a[i];
if (a[i]==0x0D)
{
UDR='\r';
_delay_ms(1);
UDR='\n';
i=0;
}
else
{
i++;
b++;
}
}
Код
void in_1()
{
DDRA=0xFF;
while(1)
{
PORTA=0x00;
UDR=a[0]; //<<<<<вот в этом месте МК в порт ни чего не выкидывает хотя по логике должен выкинуть 0й елемент массива
if (a[i]==0x0D)
{
PORTA=0xFF;
_delay_ms(200);
}
}
}