Serielle Schnittstelle und sertest (- Gelöst - )

Dein Hive sagt kein Pieps mehr? Du hörst kein Heartbeat-Ton? Hier findest Du Hilfe.
Antworten
Benutzeravatar
Rainer
Beiträge: 510
Registriert: Fr 29. Mai 2009, 16:11

Serielle Schnittstelle und sertest (- Gelöst - )

Beitrag 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:

Bild

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
Zuletzt geändert von Rainer am Fr 31. Jul 2009, 19:15, insgesamt 1-mal geändert.
"Wer andauernd begreift, was er tut, bleibt unter seinem Niveau."
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Serielle Schnittstelle und sertest

Beitrag 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).
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
scotty
Beiträge: 75
Registriert: Di 30. Jun 2009, 11:53
Wohnort: Berlin - Planet ERDE

Re: Serielle Schnittstelle und sertest

Beitrag 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?
HIVEs 064 & 176
Benutzeravatar
Rainer
Beiträge: 510
Registriert: Fr 29. Mai 2009, 16:11

Re: Serielle Schnittstelle und sertest

Beitrag 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
Dateianhänge
sertest.zip
(2.41 KiB) 517-mal heruntergeladen
"Wer andauernd begreift, was er tut, bleibt unter seinem Niveau."
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Serielle Schnittstelle und sertest

Beitrag 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
Dateianhänge
sertest2.rar
(563 Bytes) 516-mal heruntergeladen
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
scotty
Beiträge: 75
Registriert: Di 30. Jun 2009, 11:53
Wohnort: Berlin - Planet ERDE

Re: Serielle Schnittstelle und sertest

Beitrag 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":

Code: Alles auswählen

rx_tail := (rx_tail + 1) & $F
Die Maskierung mit $F passiert an mehreren Stellen im Code.
HIVEs 064 & 176
Benutzeravatar
Rainer
Beiträge: 510
Registriert: Fr 29. Mai 2009, 16:11

Re: Serielle Schnittstelle und sertest

Beitrag von Rainer »

Danke ihr beiden.

Jetzt ist soweit alles klar :)

Gruß.
Rainer
"Wer andauernd begreift, was er tut, bleibt unter seinem Niveau."
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Serielle Schnittstelle und sertest (- Gelöst - )

Beitrag 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... :)
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Antworten