Tcl Serial Port fconfigure Portabilität Ausgabe

stimmen
0

Ich habe ein Tcl / erwarten Programm bekam, die Daten an die serielle Schnittstelle liest und schreibt. Ich habe alle meine Entwicklung und Erprobung auf einem Fedora-7-Maschine, aber ich versuche jetzt den gleichen Code in Ubuntu 8.10, und ich erhalte die folgende Fehlermeldung auszuführen:

spawn: returns {0}
bad option -mode: should be one of -blocking, -buffering, -buffersize, -encoding, -eofchar, or -translation
    while executing
fconfigure $port -mode 19200,n,8,1
    (file ./scan1.tcl line 31)

Ich habe keine Probleme in Fedora, nur Ubuntu. Es scheint, dass es nicht die seriellen Optionen mag fconfigure wird gegeben, aber ich weiß nicht von einer alternativen Art und Weise, dies zu tun. Beide Maschinen haben Tcl 8.4.

Hier ist der relevante Code-Schnipsel:

#Open serial port
set portname /dev/ttyS0
spawn -open [set port [open $portname r+]];#This is a beast!
fconfigure $port -mode 19200,n,8,1

Wer weiß, was falsch ist? Danke für Ihre Hilfe!

Veröffentlicht am 23/09/2009 um 22:03
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
1

Einige Untersuchungen scheinen darauf hinzudeuten, dass der [fconfigure] Befehl nicht den -Mode Schalter nicht bieten, wenn es nicht den fraglichen Kanal erkennt als eine echte serielle Schnittstelle sein (obwohl ich das nicht in der Dokumentation erwähnt sehen). Letztlich scheint, dass Entscheidung über einen „isatty ()“ Systemaufruf zu verlassen, die scheinbar den Kanal als TTY zu berichten versagt. Weitere Informationen finden Sie hier:

http://groups.google.com/group/comp.lang.tcl/browse_thread/thread/ea0e772c59fa1e52/949c04fe4cebc2a3?q=fconfigure+mode+group:comp.lang.tcl#949c04fe4cebc2a3

Gemäß dem oben genannten Thread, könnte dies zu einem falsch konfigurierten Tcl fällig.

Update ... Ich sehe die seriellen Konfigurationsoptionen (einschließlich -Mode) dokumentiert werden mit dem [open] Befehl. Dort erwähnt er, dass [fconfigure] verwendet werden kann, um abzufragen oder die zusätzliche Optionen speziell für serielle Ports eingestellt. Die [fconfigure] docs sollten wahrscheinlich diese Tatsache auch entsprechend aktualisiert werden.

Unterm Strich, Tcl glaubt nicht, Ihr Port wirklich eine serielle Schnittstelle unter Ubuntu ist, obwohl ich weiß nicht, warum ...

Beantwortet am 23/09/2009 um 22:18
quelle vom benutzer

stimmen
0

Könnte ein Fehler sein. Es hat sich in der Vergangenheit.

http://sourceforge.net/tracker/?func=detail&atid=110894&aid=218617&group_id=10894

Beantwortet am 23/09/2009 um 22:23
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more