Seite 1 von 1
Serielle Schnittstelle und sertest (- Gelöst - )
Verfasst: Do 30. Jul 2009, 23:52
von Rainer
Hallo Leute,
hat einer von euch schon einmal "sertest.bin" ausprobiert ? Läuft das bei irgend jemanden ?
Ich habe jetzt 5 Terminalprogramme ausprobiert und kriege immer nur "Müll" angezeigt.
Irgendwas mache ich falsch, finde den Fehler aber nicht.
Laut Quelltext ist die Baudrate 9600 (ich habe aber auch alles bis 115k ausprobiert).
Ein Lauf von sertest bringt mir folgende Ausgabe:
Meine Hardware müsste eigentlich in Ordnung sein, da ich ja ohne Probleme flashen kann.
Angeschlossen habe ich einen USB zu Serial-Adapter (mit dem flashe ich auch), die Jumper sind auf Regnatix eingestellt.
Wenn es bei euch geht, mit welchen Einstellungen und mit welchem Programm? Ich arbeite zwar unter Windows, habe aber auch eine Linux-Distri auf VMWare. Kann also auch Linux-Terminalprogs testen.
Wäre nett wenn ihr das mal testen könntet.
Danke Rainer
Re: Serielle Schnittstelle und sertest
Verfasst: Fr 31. Jul 2009, 07:46
von drohne235
Bei mir geht es grad auch nicht

muß ich heut abend mal schauen. Hab es per USB-Adapter und mit einem anderen Kabel direkt an der seriellen versucht. Den DIP hast du auf Bellatrix stehen? Ansonsten könnte man in dem Testprogramm mal die Parallax-Schnittstelle einbinden. Dafür gibt es auch ein Democode (Parallax Serial Demo Terminal).
Re: Serielle Schnittstelle und sertest
Verfasst: Fr 31. Jul 2009, 16:05
von scotty
Bei mir kommt bei allen möglichen Baud-Raten auch nur Murks an (Linux, seriell direkt).
drohne235 hat geschrieben: ...
Den DIP hast du auf Bellatrix stehen?
...
sertest läuft doch auf Regnatix (von SD-Card), oder?
drohne235 hat geschrieben: ...
Ansonsten könnte man in dem Testprogramm mal die Parallax-Schnittstelle einbinden
...
Ich habe mal mit "FullDuplexSerial.spin" von Parallax rumgespielt, funktioniert gut.
Ich kann den Quelltext von sertest in keinem der Download-Archive finden. Wo versteckt der sich denn?
Re: Serielle Schnittstelle und sertest
Verfasst: Fr 31. Jul 2009, 18:05
von Rainer
Vielen Dank für die Hilfe.
Ich habe jetzt in "sertest" das Objekt "FullDuplexSerial256" mit "FullDuplexSerial" getauscht. Hat schon ein bischen mehr angezeigt, aber nie den ganzen Text.
Habe dann diesen Fehler gefunden. Der String kann nicht komplett übergeben werden, da sofort danach der Befehl "ser.stop" kommt.
Mit einem Warten auf eine Taste hat sich das erledigt. (siehe Unten).
Was ich aber immer noch nicht im Griff habe --> Ich kann keine größeren Werte als 16 in "rx_buffer[n]" und "tx_buffer[n]" benutzen. Dann kriege ich sofort wieder Müll angezeigt.
Also 32, 64, 128, 256 und 512 gehen nicht.
Ok, für meine Zwecke reicht das jetzt erstmal. Vielleicht schaue ich mir das später noch mal an.
Code: Alles auswählen
PUB main2 | j
ios.start
' code für test im ram, sollte bei bin-datei auskommentiert werden
' ios.startram
ios.print(@msg0) ' version anzeigen
ser.start(serRecv,serXmit,0,baud) ' schnittstelle initialisieren
ser.str(@msg0)
'******************************************************************
repeat
j := ios.key
until j <> 0
'******************************************************************
ser.stop
ios.stop ' anwendung beenden
Als Anhang die neuen sertest.bin + sertest.spin
Gruß.
Rainer
Re: Serielle Schnittstelle und sertest
Verfasst: Fr 31. Jul 2009, 18:57
von drohne235
Genau so ist das. Sertest ist aus versehen auf der SD-Card gelandet, war nur so ein Dreizeiler den ich nicht weiter verfolgt habe.
Hier ein Code der den Zeichensatz auf dem Bildschirm und über die Schnittstelle ausgiebt.
Code: Alles auswählen
OBJ
ios : "ios"
pst : "Parallax Serial Terminal"
CON
_CLKMODE = XTAL1 + PLL16X
_XINFREQ = 5_000_000
CON
serXmit = 30 ' Serial Transmit
serRecv = 31 ' Serial Receive
baud = 115_200 ' Baud Rate
VAR
PUB main | i
ios.start
' code für test im ram, sollte bei bin-datei auskommentiert werden
ios.startram
ios.print(@msg0) ' version anzeigen
pst.start(baud) ' schnittstelle initialisieren
repeat
repeat i from 20 to 255
ios.printchar(i)
pst.char(i)
waitcnt(cnt + 5_000_000)
DAT
msg0 byte 13,"sertest - 12-03-2009-kr",13,0
Der neuen Version des Propeller Tools liegt auch ein passendes kleines Terminalprogramm bei (PST - Parallax Seriell Terminal) - das geht ganz gut zum testen
Re: Serielle Schnittstelle und sertest
Verfasst: Fr 31. Jul 2009, 19:02
von scotty
Rainer hat geschrieben: ...
Ich kann keine größeren Werte als 16 in "rx_buffer[n]" und "tx_buffer[n]" benutzen.
...
aus "FullDuplexSerial.spin":
Die Maskierung mit
$F passiert an mehreren Stellen im Code.
Re: Serielle Schnittstelle und sertest
Verfasst: Fr 31. Jul 2009, 19:15
von Rainer
Danke ihr beiden.
Jetzt ist soweit alles klar
Gruß.
Rainer
Re: Serielle Schnittstelle und sertest (- Gelöst - )
Verfasst: Fr 31. Jul 2009, 19:32
von drohne235
Ich hab bei der Gelegenheit gleich noch xload getestet - das kann man als einfachen Democode für das alte xmodem-Dateiübertragungsprotokoll verwenden. Startet man xload wartet das Programm auf die Initialisierung einer Dateiübertragung. Ich habe es mit dem Hyperterminal von XP getestet - einfach bei Dateiübertragung das X-Modem und die zu übertragende Datei auswählen und auf senden klicken. Xload empfängt die Datei und speichert sie einfach in der Datei xfile.bin. Das Demo ist fest auf 9600/8/n/1 + Keine Flußkontrolle eingestellt. Funktioniert.
Wie er die Datei so lädt und die Blöcke hochzählt mit dem Heartbeatsound erinnert stark an die alten Tape-Routinen bei den KC-Computern...
