So kleines Update.....hab diesmal wirklich das Problem mit dem zickigen Controller gelöst
Das hier ist mein erster Ansatz zum UART:
In Kombination mit einer Select-Case Abfrage klappt das auch schonmal recht gut.Code:'ISR vom UART Uart_recieved: Uart_buffer = Udr 'Eingehendes Zeichen zwischenspeichern If Uart_buffer <> Chr(13) Then 'Abfrage nach Enter If Uart_buffer <> Chr(8) Then 'Abfrage nach Backspace Print Chr(uart_buffer); 'Eingehendes Zeichen ausgeben Input_uart_overlay(bytes_recieved) = Uart_buffer Incr Bytes_recieved Else Decr Bytes_recieved 'Zähler um eins verringern Input_uart_overlay(bytes_recieved) = "" 'Zeichen löschen End If End If Return
Allerdings muss ich noch dafür sorgen, dass der Zähler nicht unter 0 fallen kann (ist mir beim löschen des Strings aufgefallen, dass er ja tiefer als 0 zählt wenn man zu oft Backspace drückt) und ich muss den Kram aus der ISR rausnehmen.....ich denke ich werde da auch mit einem Flag arbeiten....ähnlich wie bei der MCP2515 ISR, sprich wenn ein Zeichen reinkommt wird ein Flag gesetzt und dieses Flag wird im Hauptprogramm abgefragt.
Oder ist diese Idee nicht so prall?
Wüsste nicht wie man die ISR sonst schlanker gestalten könnte, weil sie soll auch nicht zu lang werden![]()







Zitieren


Lesezeichen