Hallo,
hier habe ich noch einmal meine Sende und Empfangsfunktionen zusammen gestellt:
Sender
Code:$regfile = "m8def.dat" $crystal = 7372800 $baud = 4800 Config Pinc.0 = Input Config Pinb.2 = Input Dim I As Byte Dim Key As Byte Const Keys = 2 Do For I = 1 To Keys Key = I Select Case Key Case 1 : Debounce Pinc.0 , 0 , Key_o1 , Sub Case 2 : Debounce Pinb.2 , 0 , Key_o2 , Sub End Select Next Loop ' Tasterfunktionen Key_o1: Gosub Abfrage Return ' Abfrage der angeschlossenen Module Abfrage: Portd.2 = 1 Waitms 5 Print "test" Portd.2 = 0 Return Key_o2: Return
Empfänger:
Wie gesagt, wenn ich am angeschlossenen Terminalprogramm unter Win XP das Wort "test" eingebe, meldet sich der empfänger und bestätigt mir mit der Rückmeldung "Angekommen test".Code:$regfile = "m8def.dat" $crystal = 7372800 $baud = 4800 Dim S As String * 10 Dim A As String * 10 Dim Z As String * 10 Dim V As Word On Urxc Onrxd Enable Urxc Enable Interrupts Do Loop ' **** RS485 Aktivieren und Bus prüfen Onrxd: V = V + 1 S = S + Chr(udr) If Len(s) > 3 Then A = S Goto Pruefung Else End If Return '**************************************************** Pruefung: Z = Mid(a , 1 , 2 ) Gosub Zustand A = "" S = "" Return '**************************************************** Zustand: Disable Urxc Disable Interrupts Config Portd.2 = Output Waitms 5 Portd.2 = 1 Print "Angekommen" ; S Print "Zustand" Waitms 5 Portd.2 = 0 Config Portd.2 = Input Enable Urxc Enable Interrupts A = "" Return
Sende ich dies über den Sender so erhalte ich nur wirre Zeichen.
Tobias





Zitieren


Lesezeichen