Добрый день уважаемые! Есть вопрос , на который не могу найти / получить ответ.
Есть такой код:
С генерированный визардом.
Если , к примеру передатчиком , с другой стороны послать "START" , По какому адресу окажется это слово в массиве rx_buffer[] ?
Что то не могу отловить... Или его нужно искать в массиве? И оно может быть в любых ячейках? Вроде по коду видно, что запишутся символы в первые ячейки....
Раздел: AVR
Есть такой код:
// USART Receiver buffer
#define RX_BUFFER_SIZE 100
char rx_buffer[RX_BUFFER_SIZE];
// USART Receiver interrupt service routine
interrupt [USART_RXC] void usart_rx_isr(void)
{
char status,data;
unsigned char buffer_clear , x;
//status=UCSRA;
data=UDR;
//if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
// {
buffer_clear=0;
//for(x=0; x<99; x++) if(rx_buffer[x] != 0) buffer_clear=1;
//if(buffer_clear==0)
// {
rx_buffer[rx_wr_index]=data;
if (++rx_wr_index == RX_BUFFER_SIZE) {
rx_wr_index=0;
};
if (++rx_counter == RX_BUFFER_SIZE)
{
rx_counter=0;
rx_buffer_overflow=1;
};
// };
PORTB.0 = ~PORTB.0;
}
С генерированный визардом.
Если , к примеру передатчиком , с другой стороны послать "START" , По какому адресу окажется это слово в массиве rx_buffer[] ?
Что то не могу отловить... Или его нужно искать в массиве? И оно может быть в любых ячейках? Вроде по коду видно, что запишутся символы в первые ячейки....
Раздел: AVR