当前位置: 技术问答>linux和unix
简单问题高分求救:在Redhat 9.0下怎么判断一个串口到底能不能用呀?
来源: 互联网 发布时间:2015-07-04
本文导语: 现在我有一个设备通过串口(在Window2000下可以看出是串口2)连到计算机上,在Redhat9.0下执行某个软件想从该设备读取数据信息,但一直无法得到所要的数据。在Win2000下可以通过某个软件从串口2中读取该设备送过来...
现在我有一个设备通过串口(在Window2000下可以看出是串口2)连到计算机上,在Redhat9.0下执行某个软件想从该设备读取数据信息,但一直无法得到所要的数据。在Win2000下可以通过某个软件从串口2中读取该设备送过来的数据,这证明这个串口是正常的。但在Redhat9.0下为什么不能正确的从串口读取正确的数据呢?因为我对Redhat不是很熟,对Redhat下的那个软件也不是很清楚,现在的原因就可能出在两个地方:
1、Redhat下的串口还没有启用。不知默认的全安装完Redhat9.0后需要再配置串口才能使用串口吗?
2、软件的问题,包括配置(我是用/dev/ttyS1,也试了ttyS0、ttyS2、ttyS3)
现在我想先确认在Redhat下的那个串口到底有没有正常工作了,怎么确认呢?大家给点意见吧!谢谢!
不知有没有成熟的可以在Redhat下测试串口的软件,就像Window下的串口精灵一样的?
1、Redhat下的串口还没有启用。不知默认的全安装完Redhat9.0后需要再配置串口才能使用串口吗?
2、软件的问题,包括配置(我是用/dev/ttyS1,也试了ttyS0、ttyS2、ttyS3)
现在我想先确认在Redhat下的那个串口到底有没有正常工作了,怎么确认呢?大家给点意见吧!谢谢!
不知有没有成熟的可以在Redhat下测试串口的软件,就像Window下的串口精灵一样的?
|
dmesg查看启动信息是否挂上了com
setserial可以操作/获取一些串口信息,可以man 一下看看
setserial可以操作/获取一些串口信息,可以man 一下看看
|
接一个modem上去,试一下是否可以正常拨号
另外,那个软件是你自己写的吗?如果是别人写的,可能要注意设置一下串口的参数
setserial 只管用好了,没这么严重的
另外,那个软件是你自己写的吗?如果是别人写的,可能要注意设置一下串口的参数
setserial 只管用好了,没这么严重的
|
只是查看端口信息的话不会有事的
try this
setserial /dev/cua0
try this
setserial /dev/cua0
|
程序上是这样设置的:
fd=open(“/dev/ttyS1”,O_RDWR|O_NOCTTY); // open com2 port
cfsetispeed(&newtio,B4800); // set input baudrate
cfsetospeed(&newtio,B4800); // set output baudrate
tcsetattr(fd,TCSANOW,&newtio); // 将新属性赋予串口
难道你的某软件是minicom?难道不设置串口的波特率么?
fd=open(“/dev/ttyS1”,O_RDWR|O_NOCTTY); // open com2 port
cfsetispeed(&newtio,B4800); // set input baudrate
cfsetospeed(&newtio,B4800); // set output baudrate
tcsetattr(fd,TCSANOW,&newtio); // 将新属性赋予串口
难道你的某软件是minicom?难道不设置串口的波特率么?
|
忘了定义newtio
struct termios newtio;
fd=open(“/dev/ttyS1”,O_RDWR|O_NOCTTY); // open com2 port
cfsetispeed(&newtio,B4800); // set input baudrate
cfsetospeed(&newtio,B4800); // set output baudrate
tcsetattr(fd,TCSANOW,&newtio); // 将新属性赋予串口
struct termios newtio;
fd=open(“/dev/ttyS1”,O_RDWR|O_NOCTTY); // open com2 port
cfsetispeed(&newtio,B4800); // set input baudrate
cfsetospeed(&newtio,B4800); // set output baudrate
tcsetattr(fd,TCSANOW,&newtio); // 将新属性赋予串口