RoboterNetz.de Foren-Übersicht Fotos
 Home  •  Forum  •  Suchen •  Mitgliederliste  •  RN-Landkarte  •  Ränge  •  Statistik  •  Download •  Album  •  Links  •  Kalender  •  Letzte Themen
 RN-Wissen Artikelbereich  •  Mitarbeiter  •  Benutzergruppen  •  Chat  •  Registrieren  •  FAQ  •  Profil  •  log in, Nachrichten zu lesen  •  Login
Kalender 
Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Neues Thema eröffnenNeue Antwort erstellen
Vorheriges Thema anzeigen Dieses Thema einem Freund schickenZeige Benutzer, die dieses Thema gesehen habenDieses Thema als Textdatei speichernPrintable versionlog in, Nachrichten zu lesen Nächstes Thema anzeigen
Autor Nachricht
HermannSW

Fleißiges Mitglied
Fleißiges Mitglied




Anmeldungsdatum: 18.12.2006
Beiträge: 195
Wohnort: Eberbach

germany.gif
Beitrag Verfasst am: 30.05.2007, 21:22 Antworten mit ZitatNach oben

Hallo,

nachdem manchmal das Hyperterminal etwas komisch reagierte, und ich in anderen Beiträgen las, daß auch unter Linux das Ansprechen des USB-Transceivers Probleme bereitet,
http://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=145922#145922
begann ich nach einem "einfachsten" Terminalprogramm zu googlen.

Und siehe da, hier fand ich es, sogar als C-Quelltext:
http://www.c-plusplus.de/forum/view.....r-p-is-285453.html#285453

Folgende Änderung war zu tun, und schon funktionierte das Terminalprogramm unter Linux mit meinem USB-Transceiver:
/cygdrive/c/ASURO_src/terminal
$ diff terminal.c terminalLinux.c
11,12c11,12
< # define TERM_DEVICE "/dev/ttyS0"   /* = COM1 */
< # define TERM_SPEED B19200      /* Bit/Sek */
---
> # define TERM_DEVICE "/dev/ttyUSB0"   /* = USB? */
> # define TERM_SPEED B2400      /* Bit/Sek */
/cygdrive/c/ASURO_src/terminal


Hier die Änderungen für Windows mit Cygwin für die Ports COM1, COM2 und COM4 (USB):
$ diff terminal.c terminal1.c
12c12
< # define TERM_SPEED B19200      /* Bit/Sek */
---
> # define TERM_SPEED B2400      /* Bit/Sek */
/cygdrive/c/ASURO_src/terminal
$ diff terminal.c terminal2.c
11,12c11,12
< # define TERM_DEVICE "/dev/ttyS0"   /* = COM1 */
< # define TERM_SPEED B19200      /* Bit/Sek */
---
> # define TERM_DEVICE "/dev/ttyS1"   /* = COM2 */
> # define TERM_SPEED B2400      /* Bit/Sek */
/cygdrive/c/ASURO_src/terminal
$ diff terminal.c terminal4.c
11,12c11,12
< # define TERM_DEVICE "/dev/ttyS0"   /* = COM1 */
< # define TERM_SPEED B19200      /* Bit/Sek */
---
> # define TERM_DEVICE "/dev/ttyS3"   /* = COM4 */
> # define TERM_SPEED B2400      /* Bit/Sek */
/cygdrive/c/ASURO_src/terminal


Leider klappte zumindest das Setzen der Baudrate für COM4 nicht richtig.
Also ein kleines Batch-file asuroterm.bat drumherum, welches mittels mode dieses Problem löst:
/cygdrive/c/ASURO_src/terminal
$ cat asuroterm.bat
mode com%1: baud=2400 parity=n data=8 stop=1
terminal%1
/cygdrive/c/ASURO_src/terminal


Letzte (notwendige) Zutat ist natürlich cygwin1.dll, damit terminal?.exe auch unter Windows laufen kann. Alles zusammen ist als Attachement nur 720KB groß (die Linuxer können das Programm sicher selber übersetzen). Hier der Inhalt des .zip-files:
/cygdrive/c/ASURO_src/terminal
$ unzip -l terminal.zip
Archive:  terminal.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
       58  05-30-07 20:17   terminal/asuroterm.bat
  1875258  05-30-07 22:00   terminal/cygwin1.dll
    11854  05-30-07 20:13   terminal/terminal1.exe
    11854  05-30-07 20:13   terminal/terminal2.exe
    11854  05-30-07 20:14   terminal/terminal4.exe
 --------                   -------
  1910730                   5 files
/cygdrive/c/ASURO_src/terminal


Der Aufruf für COM4 ist asuroterm 4 und liefert:
C:\ASURO_src\terminal\terminal>asuroterm 4

C:\ASURO_src\terminal\terminal>mode com4: baud=2400 parity=n data=8 stop=1

Status for device COM4:
-----------------------
    Baud:            2400
    Parity:          None
    Data Bits:       8
    Stop Bits:       1
    Timeout:         OFF
    XON/XOFF:        OFF
    CTS handshaking: ON
    DSR handshaking: OFF
    DSR sensitivity: OFF
    DTR circuit:     ON
    RTS circuit:     HANDSHAKE


C:\ASURO_src\terminal\terminal>terminal4

-?
call         C address [args]
dump         D memtype range
enter        E memtype address bytes
return       R 1|2|4
help         ?
quit         Q
address = 0000..01FF|1FFF|03FF  ; EEPROM/FLASH/SRAM
arg     = 00..FF|0000..FFFF|00000000..FFFFFFFF
args    = arg|arg args
byte    = 00..FF
bytes   = byte|byte bytes
memtype = E|F|S                 ; EEPROM/FLASH/SRAM
range   = address [address]
-


Wie gesagt, dies ist das "einfachste" Terminalprogramm, welches ich für den Asuro finden konnte, und es funktioniert sogar Plattformübergreifend ...

<NACHTRAG>
Und so sieht asuroterm richtig aus (mit blinkendem Cursor, der Output hinter dem '?' kommt vom Asuro):
Image
</NACHTRAG>

Nun noch das Problem mit der Attachementgröße:
Leider sind Attachements in diesem Forum auf 400KB begrenzt Sad

Also beinhaltet das Attachement NICHT die cygwin1.dll.

Diese muß man sich selber holen, der Snapshot 2006-06-26 funktioniert, zu finden hier:
http://cygwin.com/snapshots/
Und hier zum direkten Download, nur 668KB, aber zum Preis des .bz2-Formats.

Einen .bz2-Dekomprimierer für Windows findet man auf der bzip2 homepage:
http://www.digistar.com/bzip2/

Jetzt noch zwei Schritte:
  • Dekomprimieren der Datei cygwin1-20060622.dll.bz2 mittels bzip2-100-x86-win32.exe -d cygwin1-20060626.dll.bz2
  • Umbenennen zu cygwin1.dll und Kopieren in das Verzeichnis mit asuroterm.bat
Uff, das war's! Smile

_________________
Gruß, Hermann.
myIrAsuro.Image
Offline Benutzer-Profile anzeigen E-Mail senden Website dieses Benutzers besuchen
Beiträge vom vorherigen Thema anzeigen:      
Neues Thema eröffnenNeue Antwort erstellen
Vorheriges Thema anzeigen Dieses Thema einem Freund schickenZeige Benutzer, die dieses Thema gesehen habenDieses Thema als Textdatei speichernPrintable versionlog in, Nachrichten zu lesen Nächstes Thema anzeigen



 Gehe zu:   



Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum nicht herunterladen




Die große Community für Robotik-, Mikrocontroller- und Elektronik Bastler als auch Experten
 Roboternetz RSS2.0 News Feed
Alle Zeiten sind GMT + 1 Stunde