首先,安裝串口工具setserial
,命令: sudo apt-get
install setserial
,利用setserial
工具查看串口情況,
-
$ sudo setserial /dev/ttyS0 -a /dev/ttyS0, Line 0, UART: unknown, Port: 0x03f8, IRQ: 4 Baud_base: 115200, close_delay: 50, divisor: 0 closing_wait: 3000 Flags: spd_normal skip_test $ sudo setserial /dev/ttyS3 -a /dev/ttyS3, Line 3, UART: 16550A, Port: 0xb800, IRQ: 18 Baud_base: 115200, close_delay: 50, divisor: 0 closing_wait: 3000 Flags: spd_normal |
目的主要是對主機內建串口及
PCI
擴充串口的區別。區別在於第二次顯示的內容中
UART:
未
unknow
。不過若您檢測這一步的時候
UART
為
16550A
而不是
unknow
,證明你的系統已經認識了擴充的串口,不需要進一步設定。
其後,利用
lspci
查看
pci
裝置情況,命令:
lspci
-v
。輸出:
01:06.0 Serial controller : NetMos Technology PCI 9865 Multi-I/O Controller (prog-if 02) Subsystem: Device a000:1000 Flags: medium devsel, IRQ 17 I/O ports at bc00 [size=8] Memory at fd7ff000 (32-bit, non-prefetchable) [size=4K] Memory at fd7fe000 (32-bit, non-prefetchable) [size=4K] Capabilities: <access denied> 01:06.1 Serial controller : NetMos Technology PCI 9865 Multi-I/O Controller (prog-if 02) Subsystem: Device a000:1000 Flags: medium devsel, IRQ 18 I/O ports at b800 [size=8] Memory at fd7fd000 (32-bit, non-prefetchable) [size=4K] Memory at fd7fc000 (32-bit, non-prefetchable) [size=4K] Capabilities: <access denied> |
在輸出中找到“
Serial
controller:”
,即串口控制器,後面是裝置資訊,比如我的是
9865
控制晶片,下面的是串口詳細資料,比如
irq
是
17
,
I/O
地址是
0xbc00
。
最後,設定串口裝置檔案
,
根據實際情況對下面命令列修改。
$sudo setserial /dev/ttyS2 port 0xbc00 UART 16550A irq 17 Baud_base 115200 $sudo setserial /dev/ttyS3 port 0xb800 UART 16550A irq 18 Baud_base 115200 |
可以再利用
setserial
查看串口情況。