|
ПРЕРЫВАНИЕ ПО ПРИЕМУ УАРТом БАЙТА
(запрос состоит из 5 байт, первый адрес)
SIGNAL(SIG_UART_RECV) // UART receive complete
{
uart_temp=inp(UDR); // saving the received byte in TEMP
if (uart_receive_buffer_pointer == 0)
{
if (uart_temp == address)
{
uart_receive_buffer[0]=uart_temp; (заполняю приемный буффер)
uart_receive_buffer_pointer++;
}
}
else
{
uart_receive_buffer[uart_receive_buffer_pointer]=uart_temp;
uart_receive_buffer_pointer++;
}
}
А В MAIN ПРОВЕРЯЮ ПОКА НЕ БУДЕТ 5 БАЙТ В БУФФЕРЕ
for(;;)
{
if ((uart_receive_buffer_pointer == 5)) .....
}
E-mail: info@telesys.ru