Ich habe mich nun entschlossen den Hardware UART zu nutzen. Ich hab also TXD vom Sender mit dem RXD vom Empfänger verbunden und auch GND.
Allerdings blick ich bei den Sende- und Empfangsroutinen noch nicht so richtig durch. Da gibts ja mehrere Möglichkeiten wie man das machen kann.
Ich möchte 4 Bytes senden.
Der Sender verschickt das so:
Code:
Printbin Byte1 ; Byte2 ; Byte3 ; Byte4;
Der Empfänger arbeitet so:
Code:
' UART-Empfang
If Usr.rxc = 1 Then
' Byte in Empfangspuffer schreiben
Empfangs_byte(empfangs_byte_anzahl) = Udr
' nächstes Byte
Incr Empfangs_byte_anzahl
' wenn alle 4 empfangen dann Speichern zum Auswerten und Starten der Auswertung
If Empfangs_byte_anzahl > 4 Then
Uart_auswerten = 1
Empfangs_byte_anzahl = 1
End If
End If
Aber irgendwie bin ich der Meinung das das so nicht richtig funktioniert. Scheinbar kommen zwar die Bytes an, aber vielleicht verdreht oder sowas. Hab leider kein LCD am Empfänger deswegen kann ich es schlecht kontrollieren. Wenn ich den PC als Empfänger anschließe sieht das senden grundsätzlich schon ganz gut aus.
Bin ich auf dem richtigen Weg? Gibt es vielleicht schönere Routinen die ich nutzen könnte/sollte?
Es muss halt "nebenbei" arbeiten und darf das laufende Programm nicht unterbrechen.
Vielleicht kann mir ja jemand einen Tip geben.
Vielen Dank vorab.
Gruss Christian
Lesezeichen