Ich habe einen Laptop, der nur eine serielle Schnittstelle hat.
Ich ging in:
/dev
Verzeichnis, und ich fand:
ttyS0
ttyS1
ttyS2
ttyS3
Woher weiß ich, welcher dieser "ttyS" sich auf meine serielle Schnittstelle bezieht?
linux
serial-port
sivabudh
quelle
quelle
Antworten:
Ich denke, es ist dieser Befehl:
Wenn ich das auf meiner eigenen Linux-Box (die nur 1 seriellen Port hat) laufen lasse, entsteht eine einzige ttyS0-Ausgabezeile. Probieren Sie es selbst aus, Sie werden sehen, was ich meine.
quelle
tty
den Namen Ihrer Tty eingeben. Ich nehme an, dass dies die Bedeutung von OP ist, da sie nicht die Frage gestellt haben, welche seriellen Portsgetty
ausgeführt werden.Sehen Sie, in welchen UARTs welche gefunden wurden
/proc/tty/driver/serial
. Eine Zeile mituart:unknown
bedeutet: nichts erkannt (und wahrscheinlich nicht vorhanden).Wenn etwas angeschlossen ist und die Leitungen CTS, DSR oder CD ansteuert (das sind Eingangsleitungen), können Sie sogar ziemlich sicher sein, dass tatsächlich etwas vorhanden ist ... Gleiches gilt für die Anzahl der empfangenen Bytes.
quelle
Wenn Sie dies programmgesteuert tun müssen, kann das Lesen der Ausgabe von dmesg problematisch sein. Stattdessen enthält der Ordner / dev / serial / by-id sym-Links, die nach identifizierbaren Daten Ihres Geräts benannt sind und auf das spezifische / dev / tty * verweisen sind verbunden mit.
Ich bin mir nicht sicher, ob es sich um eine spezielle udev-Regel handelt, die verteilungsspezifisch ist, aber in Ubuntu funktioniert sie gut. Lassen Sie mich wissen, ob sie funktioniert.
quelle
ttyS0
durch3
entsprechen jeweilsCOM1
durch4
. Sie haben in der Regel die gleichen Hardwareressourcen und sind nicht immer erkennbar, sodass sie immer vorhanden sind.quelle
setserial
, um die Ressourcen, die ttyS0 verwendet, der Ihrer seriellen Schnittstelle zuzuordnen. linux.die.net/man/8/setserial Dies ist jedoch normalerweise nicht erforderlich, da über COM4 hinaus in der Regel genügend Hilfshardware vorhanden ist, damit Linux es erkennen und ein serielles Gerät hinzufügen kann.Es gibt auch den Befehl
setserial
, mit/proc/tty/driver/serial
dem die Daten abgerufen werden.quelle