Hm. Es sind die Standard UART / Seriell Routinen. Etwas ausgeben: print "Ausgabe"


Code:
$baud = 38400                                               ' use baud rate
$hwstack = 128                                              ' default use 32 for the hardware stack
$swstack = 128                                              ' default use 10 for the SW stack
$framesize = 128                                            ' default use 40 for the frame space

Config Serialin = Buffered , Size = 254
declare sub empfangen()
dim b as byte
dim sein as string * 50
dim stream as bit


Enable Interrupts


Do

   If Ischarwaiting() = 1 Then
        Call Empfangen()

   End If
   Loop
End

Sub Empfangen()

      B = Inkey()
      If B > 0 Then

         If Stream = 0 Then
            If B = 199 Then
               Sein = ""
               Stream = 1
            Else

            End If
         Else

            If B = 13 Then
               Stream = 0
               Goto Auswerten
            Elseif B = 199 Then
               Sein = ""
            Else
               If Len(sein) < 50 Then
                  Sein = Sein + Chr(b)
               End If
            End If
         End If
      End If

Exit Sub

Auswerten:
Print "Empfangen:" ;
Print Sein



End Sub
So in der Art.
Stream(0/1) nute ich, ob gerade ein Datensatz empfangen wird. chr$(199) Symbolisiert bei mir immer den Anfang eines Streams (Datensatzes)

Sub Auswerten wird angesprungen, wenn chr(13) empfangen wird, also Stream analysieren. Sein enthält das Empfangene. Begrenzt habe ich die Streams auf 50 Zeichen. Als Baudrate habe ich 38400 gewählt, da dafür kein krummer Quarz benötigt wird.

Ich habe das gerade nicht getestet, sondern die für die Kommunikation relevanten Teile aus einem fertigen Programm rauskopiert.

Als Gegenstück habe ich ein Programm in VB für den PC geschrieben. Du könntest aber auch über den virtuellen comport testen. Dafür am besten die Agfrage nach chr(199) rausnehmen oder ändern.