Gast
#132677
Hallo Gemeinde,
Der CodeVision-ProgramWizard liefert mir folgende
Receiver-Interrupt-Sequenz:
// USART0 Receiver interrupt service routine
interrupt [USART0_RXC] void usart0_rx_isr(void)
{
char status,data;
status=UCSR0A;
data=UDR0;
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
{
rx_buffer0[rx_wr_index0]=data;
if (++rx_wr_index0 == RX_BUFFER_SIZE0) rx_wr_index0=0;
if (++rx_counter0 == RX_BUFFER_SIZE0)
{
rx_counter0=0;
rx_buffer_overflow0=1;
};
};
}
Das Prinzip ist mir klar, jedoch bei den Details blicke ich nicht
durch. - Drum ein paar Fragen:
1. Die gesendete Bytefolge steht im Buffer(rx_buffer). Wie kann ich
diesen Inhalt in mein Programm einarbeiten?
2. Der Indexzähler 'rx_wr_index0' muß doch sicher nach Ende der
Übertragung auf '0' gesetzt werden,oder?
3. Am Ende der Funktion sieht man geschlossene Klammern mit Semikolon.
Was bedeutet das?
Gruß Norbert L.