Linux系统下增加多串口

来源:互联网 发布:linux vim 查找字符串 编辑:程序博客网 时间:2024/05/16 10:39

如工控机为4个以上串口,而Linux系统安装后最多默认只识别出com1~4这4个串口,com5后面的几个则没有识别出来,此时无法做相应的串口测试、应用,操作步骤如下:

1、 在BIOS下查看串口的地址和中断(IRQ)信息

工控机启动后按住键盘上的DEL键,进入BIOS,使用à方向键选择Advanced-->Super IO Configuration,在出现的串口信息里面记录各串口的信息,如下图:

 

此图仅为示意,以实际显示的值为准

2、 需使用root用户权限,具体修改方法如下:

2.1 修改 /etc/grub.conf 文件

在此行: kernel /boot/vminuz-2.6.23.1-42.fc8 ro root=LABEL=/  后面增加 8250.nr_uarts=14,14是串口数量,依工控机情况来进行设置

修改后此行显示如下:

Kernel  /boot/vminuz-2.6.23.1-42.fc8  ro  root=LABEL=/  8250.nr_uarts=14  selinux=0  acpi=force apm=off  pnpacpi=off

2.2 修改 /etc/rc.local  文件

在文件最后增加下面语句:

setserial /dev/ttyS0 port 0x200 irq 10 uart 16550a baud_base 115200

setserial /dev/ttyS1 port 0x208 irq 10 uart 16550a baud_base 115200

setserial /dev/ttyS2 port 0x210 irq 10 uart 16550a baud_base 115200

setserial /dev/ttyS3 port 0x218 irq 10 uart 16550a baud_base 115200

setserial /dev/ttyS4 port 0x220 irq 11 uart 16550a baud_base 115200

setserial /dev/ttyS5 port 0x228 irq 11 uart 16550a baud_base 115200

setserial /dev/ttyS6 port 0x230 irq 11 uart 16550a baud_base 115200

setserial /dev/ttyS7 port 0x238 irq 11 uart 16550a baud_base 115200

   Linux系统下串口的排序是从ttyS0开始,即ttyS0=com1、ttyS1=com2、ttyS2=com3,com1、2、3是物理串口排序,以此类推。

0 0