Hallo habe folgen c-code entworfen,um über usart des atmega16 daten zu emfpangen. pedef struct { int write_ptr; int read_ptr; int IndexMax; char buffer[33]; } FIFO_struc; FIFO_struc RS232_FIFO; //RS232_FIFO.write_ptr = 0; //kann nicht initia. interrupt [USART_RXC] void usart_rx_isr(void) { if(RS232_FIFO.write_ptr >= 33) RS232_FIFO.write_ptr=0; RS232_FIFO.buffer[RS232_FIFO.write_ptr] =UDR; RS232_FIFO.write_ptr++; erkennt jemand warum keine daten gespeichert werden? THX
Irgendwas sollte da schon gespeichert werden... Ist der USART receive interrupt auch eingeschaltet? wird er ausgelöst? Zum Testen vielleicht mal in der ISR ne LED einschalten... /Ernst
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.