Hallo, habe am Mega128 ein Graphik-Touch-LCD angeschlossen. Über eine Menüführung kann ich am LCD Touch-Eingaben machen, welche mich durchs Menü führen, sowie über bestimmte Button, Strings an der UART ausgegeben werden(485-Schnittstelle). Soweit funzt alles. Jetzt mein Problem: Sende ich einen Print Befehl, lauft das Programm nur noch in Zeitlupe ab, am Bildaufbau des Displays zu erkennen. Bei Disable Interrupts vor dem Print läuft alles normal, aber nach Enable Interrupt nach dem Print, nur alles wieder in Zeitlupe. Hat jemand eine Idee zur Lösung des Problems?? Vielen Dank!
Gast
#2995116
Fehler in Zeile 42.
Vielen Dank für den Hinweis, habe die beiden Subroutinen korrigiert, der ursprüngliche Fehler des verzögerten Programmablaufes nach dem "Print" ist jedoch geblieben. Gruß Peter
Gast
#2995216
Mach das mal weg: On Urxc Onrxd
Hallo Holger, du lagst richtig, habe UART_Recive_Complete Interrupt entfernt und schon läufts, auch beim Senden. Muss denn in dieser Routine unbedingt Code stehen (wäre wahrscheinlich noch gekommen!!)? Besten Dank!!
Gast
#2995254
>du lagst richtig, habe UART_Recive_Complete Interrupt entfernt und schon >läufts, auch beim Senden. Dabei kann ich gar kein BASCOM;) >Muss denn in dieser Routine unbedingt Code stehen (wäre wahrscheinlich >noch gekommen!!)? Ja, wenn er da rein springt musst du als Minimum das UDR Register lesen. Sonst bleibt die Interruptanfordeung stehen und der uC springt immer wieder dort rein.
Hallo Holger, habe mal im Datasheet nachgeschaut( hätte ich gleich machen sollen ) beim m128can gibts das Rxcie_enable für Empfang Complete. so sollte es auch mit dem UART_Empfang klappen: On RXCIE On_rxcie ' ' On_rxcie: 'Code...... Return Danke noch mal Peter
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.