[RK_2014_0904]Linux下测试串口是否工作正常,rk_2014_0904linux


一.测试环境

PC1:Win8,运行串口调试工具:USR-TCP232-Test.exe;

PC2:Ubuntu14.04;

 

PC1和PC2之间使用“USB转串口”进行连接;

USB转串口使用FT232芯片,相关驱动请搜索“ft232r usb uart”下载,有windows及linux下的驱动。该芯片的生产厂商是FTDI。

ubuntu14.04下自带FT232芯片的驱动,识别以后的设备名为:/dev/ttyUSB0。

 

二.测试串口收发

1.[PC1->PC2]

在PC1的串口调试工具打开COM1,在发送区中输入:

 hello, ubuntu14.04 

然后循环发送。

在PC2的终端中输入

 # cat /dev/ttyUSB0 

如果串口工作正常的话,在PC2的终端会持续显示: 

hello, ubuntu14.04
hello, ubuntu14.04
hello, ubuntu14.04
hello, ubuntu14.04
...

2.[PC2->PC1]
在PC2的终端中输入

 echo "hello, ubuntu14.04" > /dev/ttyUSB0 

如果串口工作正常的话,在PC1的串口调试助手的接收区,会显示如下信息:

 hello, ubuntu14.04 

 

三.注意事项

1.USB转串口,在Windows中的串口名称可能是COM4,或者COM5,等等。请在“设备管理器->端口(COM和LPT)”中查找。

2.两端的串口参数要配置一致。如两端均配置为:“9600,N,8,1”。


怎查看linux下串口是否可用?串口名称等?

查看串口是否可用,可以对串口发送数据比如对com1口,echo lyjie126 > /dev/ttyS0
查看串口名称使用 ls -l /dev/ttyS* 一般情况下串口的名称全部在dev下面,如果你没有外插串口卡的话默认是dev下的ttyS* ,一般ttyS0对应com1,ttyS1对应com2,当然也不一定是必然的;
查看串口驱动:cat /proc/tty/drivers/serial
查看串口设备:dmesg | grep ttyS*
 

linux下怎检测某一串口是否被占用?我试过用多个程序打开同一个串口都可以打开

在串口的驱动程序注册的open函数里加入这样一句话:
printk("process %d has open tty\n",current->pid);
可以判断出来哪个进程打开了串口设备,或者是否有进程打开串口current->pid的值表示进程号!
 

相关内容