PCI串口卡linux下接收数据,Linux下PCI转串口卡及USB转串口器的驱动方法

该文详细介绍了如何在Linux系统中配置PCI串口卡和USB转串口设备,包括插入硬件、设置串口参数、检查设备状态、进行串口通信测试以及确保系统启动时自动加载配置。通过设置setserial命令来识别和配置扩展串口,并使用minicom进行通信测试,确保多串口功能正常工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自动化测试要求在Linux 环境下,搭建多串口进行嵌入式软件产品测试,所以就在原来的Linux PC上加装串口卡或USB转串口器,为此搜集整理这篇文章。

一、PCI转串口卡安装  型号NetMos Nm9835CV

1、插入PCI卡到主机

2、启动 Linux,打开终端

3、输入命令:#setserial  /dev/ttyS0 -a   (COM-1)

显示内容:/dev/ttyS0, Line 0,  UART: 16550A, Port: 0x3f8, irq: 4

Baud_base: 115200, clos_delay: 50, divisor: 0

closing_wait: 3000, closing_wait2: infinite

Flags: spd_normal skip_test

4、输入命令:#setserial  /dev/ttyS2 -a   (COM-3)

显示内容:/dev/ttyS2, Line 2,  UART: unknown, Port: 0x3e8, irq: 4

Baud_base: 115200, clos_delay: 50, divisor: 0

closing_wait: 3000, closing_wait2: infinite

Flags: spd_normal skip_test

PS:第3、4步操作的目的主要是对主机自带串口及PCI扩展串口的区别。区别在于4显示的内容中UART:未unknow。不过若您检测这一步的时候 UART为16550A而不是unknow,证明你的系统已经认识了扩展的串口,不需要进一步设置,直接跳入第8步测试就可以了。

5、需要输入命令查看一下您当前PCI检测的状态,以便对扩展串口进行设置

#more  /proc/pci

会显示出一堆的信息,不要因为看不懂而吓坏了。只要看到类似于这个PCI的信息,比如:PCI communication。。。或者Board with Nm9835CV part。。。   可能就是这个卡了,主要看看它的终端是多少,即irq多少及分配的地址是多少。例如:(不一定完全一样)

…… Class 0780: PCI device 9710:9835 (rev 1). IRQ 11.

Master Capable.  Latency=32.

I/O at 0x9000 [0x9007].

I/O at 0x9400 [0x9407].

I/O at 0x9800 [0x9807].

I/O at 0x9c00 [0x9c07].

I/O at 0xa000 [0xa007].

I/O at 0xa400 [0xa40f].

……

6、知道PCI扩展卡的终端为11   串口1地址为0x9000  串口2地址为0x9400..

就可以设置扩展的串口了。输入命令:

setserial  /dev/ttyS2 port 0x9000 UART 16550A irq 11 Baud_base 115200

另一个串口也类似的这么操作

7、设置完毕后,就可以看看设置的情况了,输入第2步的命令看看,UART是否就是16550A 而不是 unknow了,如果是16550A恭喜,可能设置好咯,如果不是那就再检查一下吧。

8、设置好了后是不是需要测试一下是否能够通讯呢?最好的办法是两台pc相连。如果pc为windows操作系统就用超级终端,是linux呢就用minicom吧

9、装有linux的机器,首先需要设置一下监听的串口参数,输入命令

#minicom -s

进入界面后有个框弹出来,选择串口设置:

选择"A",将第一行更改为: /dev/ttyS0,/dev/ttyS1,/dev/ttyS2

波特率也更改您所需要的。

更改完后保存,保存的那个菜单应该是 save ... df1

最后 exit

10、在另外一台机器发送数据,这台机器minicom界面就能够收到信息了,另外不要把两个COM顺序弄翻了,最好接上硬件测试一下,标注上标签,方便以后使用;

11、接着修改/etc/rc.local 文件,使计算机启动时自动加载配置,红色的为添加的

#/etc/rc.local

#!/bin/sh

#

# This script will be executed *after* all the other init scripts.

# You can put your own initialization stuff in here if you don't

# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

setserial /dev/ttyS2 port 0x9000 UART 16550A irq 11 baud_base 115200

setserial /dev/ttyS3 port 0x9400 UART 16550A irq 11 baud_base 115200

二、USB-Serial (usb转串口) 用的是UTS4009P  usb to 4 port rs232 adapter(db9pin) cable(black)

1、将设备Usb口插入PC;

2、输入#lsmod  先看看能否检测到这个设备,就看有没有pl2303字眼可以了。如果有,则不需要再装驱动。如果没有则需要驱动程序,那您就按照步骤安装吧,安装完毕后再输入这个命令瞧瞧,是否安装成功。

3、检测步骤,检测步骤与第一的8条以后内容类似,只是需要主意的是设置串口设备的时候可能不是ttyS2了,有可能是ttyUSB0之类。最好能看看您/dev下面的文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值