首页 > 代码库 > 如何在Linux检查并使用串口

如何在Linux检查并使用串口

原文译至:http://www.cyberciti.biz/faq/find-out-linux-serial-ports-with-setserial/

我是怎么出于各种目的(如modem,连接空的module或连接到一个dumb终端)在Linux下检查并配置串口的呢?

Linux 提供了各种工具. Linux 使用 ttySx 作为一个串口设备的名称. 例如, COM1 (DOS/Windows 名字) 是 ttyS0, COM2 是 ttyS1 等等.

任务: 显示检测到的系统串口支持

简单的运行 dmesg 命令
$ dmesg | grep tty
输出:

[   37.531286] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[   37.531841] 00:0b: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[   37.532138] 0000:04:00.3: ttyS1 at I/O 0x1020 (irq = 18) is a 16550A

setserial 命令

setserial 是一个程序用于设定并/或报告某个串口关联的配置信息。该信息包括串口用到的I/O 端口和中断号, 以及Break键是否应被解释为Secure Attention Key, 等等. 仅仅是输出如下的命令:
$ setserial -g /dev/ttyS[0123]
输出:

/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 16550A, Port: 0x1020, IRQ: 18
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3

带-g选项的setserial帮助找到你的Linux板子上的物理串口.

Linux 串口控制台程序

一旦串口被确定了,你就能使用许多的工具来配置Linux板子:

  1. minicom- 用于控制modem和连接到dump 设备的最好的串口通信程序。
  2. wvidial or other GUI dial up networking program - 一个内建智能PPP 拨号器.
  3. getty / agetty - agetty 打开一个 tty 端口, 提示登录名称并调用 /bin/login 命令.
  4. grub / lilo configuration - 配置串口为系统控制台