Yanıtlar:
Bence bu komut:
dmesg | grep tty
Bunu kendi Linux kutumda (yalnızca 1 Seri portu olan) çalıştırmak tek bir ttyS0 çıkış hattı üretir. Kendiniz deneyin, ne demek istediğimi anlayacaksınız.
ttytty isminizi almak için sadece yazabilirsiniz . Sanırım OP'nin kastedilen, "hangi seri bağlantı noktalarının gettyçalıştığı " sorusunu sormadıkları için.
Tespit edilen hangi UART'lara bakın /proc/tty/driver/serial. Olan bir satır uart:unknown: hiçbir şey tespit edilmedi (ve muhtemelen mevcut değil).
# cat /proc/tty/driver/serial
serinfo:1.0 driver revision:
0: uart:16550A port:000003F8 irq:4 tx:0 rx:0
1: uart:16550A port:000002F8 irq:3 tx:111780 rx:1321 RTS|DTR|DSR
2: uart:unknown port:000003E8 irq:4
3: uart:unknown port:000002E8 irq:3
Bir şey bağlıysa ve CTS, DSR veya CD satırlarını sürüyorsa (bunlar giriş satırlarıdır), aslında bir şey olduğundan bile emin olabilirsiniz ... Aynı şey rx-byte-count için de geçerlidir.
Bunu programlı bir şekilde yapmanız gerekiyorsa, dmesg'den çıktı okumak zahmetli olabilir, bunun yerine / dev / serial / by-id klasörü cihazınızın tanımlanabilir verilerinden sonra adlandırılan ve belirli / dev / tty * işaretlerini gösteren sym linklerine sahiptir. bağlı.
Dağıtıma özgü bazı özel udev kuralları olup olmadığından emin değilim, ama Ubuntu'da iyi çalışıyor, çalışıp çalışmadığını bana bildirin.
ttyS0ile 3eşleşecek şekilde COM1aracılığıyla 4sırasıyla. Genellikle aynı donanım kaynaklarına sahiptirler ve her zaman algılanamazlar, bu yüzden her zaman var olurlar.
setserialttyS0 seri portun kullandığı kaynakları eşleştirmek için. linux.die.net/man/8/setserial Bu normalde gerekli değildir, çünkü COM4 dışındaki herhangi bir şey genellikle Linux'un algılaması ve uygun bir seri aygıt eklemesi için yeterli yardımcı donanıma sahiptir.
Veri almak için setserialkullanılan bir komut da vardır /proc/tty/driver/serial.
# setserial -g /dev/ttyS[0123]
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3