Vielleicht könnte es ja auch an einem Programmfehler liegen, ich hab mit interrupt praktisch keine Erfahrung. Hier ist mal der Interrupt der das auslösen soll:
Ich glaube allerdings schon das das Funktioniert. Ich habe auch die UART initialisiert (Baudrate einstellen,...)Code:USART_RXC: call lcd_Intgestartet in temp, UDR cpi temp, 'w' ;vergleicht temp mit w breq sub1 ;wenn gleich wechsle zu sub1 cpi temp, 's' ;vergleicht temp mit s breq sub2 ;wenn gleich wechsle zu sub2 cpi temp, 'a' ;vergleiche temp mit a breq sub3 ;wenn gleich wechsle zu sub3 cpi temp, 'd' ;vergleiche temp mit d breq sub4 ;wenn gleich wechsle zu sub4 reti ;wenn keine übereinstimmung --> Interrupt beeden und Programm fortsetzen sub1: call lcd_vor ;gibt auf LCD vor aus call delay_5s ;wartet 5sec reti ;beendet Interrupt sub2: call lcd_back ;gibt auf LCD zurück aus call delay_5s ;wartet 5sec reti ;beendet Interrupt sub3: call lcd_rechts ;gibt auf LCD rechts aus call delay_5s ;wartet 5sec reti ;beendet Interrupt sub4: call lcd_links ;gibt auf LCD links aus call delay_5s ;wartet 5sec reti ;beendet Interrupt
EDIT:
JUHU, das Programm funzt
Es war wirklich nur RX und TX vertauscht, die einfachsten Fehler findet man wirklich erst am ende
danke für die Hilfe
hiasi







Zitieren

Lesezeichen