unsigned char ptrURxOut=0;
unsigned char ptrURxIn=0;
unsigned char URxBuf[256];
int GET_CHAR_RX_232()
{
if(ptrURxOut!=ptrURxIn) return URxBuf[++ptrURxOut];
return (-1);
}
//Здесь правильно оформить функцию прерывания в воответсвии с со средой программирования
interrupt [UART_RX0_vect] void Uart_RX_complete_Interrupt()
{
URxBuf[++ptrURxIn]=UDR0;
}
//...
void main()
{
int tmp;
unsigned char RxData;
//..
for(;;){
tmp=GET_CHAR_RX_232();
if(tmp>=0) RxData=(unsigned char)tmp; else continue;
}
}