Hallo Forum,
ich arbeite zur Zeit etwas an meinem CAN-Bus weiter.
Nun möchte ich, dass der Controller bestimmte Dinge automatisch einstellt sobald ein bestimmter Befehl gesendet wurde. Ein Beispiel:
Der Filter 0 von Buffer 0 soll von 1 auf 2 geändert werden. Dazu möchte ich z.B. den Befehl "Config B0 F0 2" per UART an den Controller senden und er soll es empfangen und in einen String packen.
Nach dem Empfangen des Strings soll er diesen auswerten und anschließend von Buffer 0 RXF0 mit 2 beschreiben.
Allerdings tu ich mich gerade beim Empfangen und Auswerten des Strings schwer -.-
Ich würde das gerne per UART_Interrupt erledigen, damit es möglichst wenig Einfluss auf das Programm hat. Das Ende des Befehls möchte ich am besten mit nem CR und nem LF, sprich 0x0D und 0x0A, kennzeichnen.
Hat jemand eine Idee wie man das am besten bewerkstelligen könnte?
Ich habe es schon so probiert:
Code:
Uart_recieved:
Index = Index + 1
Input_uart(Index) = Input_uart(Index) + Chr(UDR)
Aber die Lösung war nicht wirklich zufrieden stellend bzw. ich weiß jetzt nicht wie ich den String nach bestimmten Parametern trennen kann.
Danke für die Hilfe!
Lesezeichen