ubtuntu下的串口问题,请教前辈

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
ZGJATX
帖子: 9
注册时间: 2017-06-12 11:15
系统: win8.1

ubtuntu下的串口问题,请教前辈

#1

帖子 ZGJATX » 2017-06-12 11:27

是这样的,我想在ubtuntu下面编写一个串口程序,然后用来获取当前USB转串口的数据,但是我的uart_open 函数并不能很好的执行完成,在终端输入#dmesg | grep ttyUSB命令之后弹出一串错误:
[ 779.837375] pl2303 ttyUSB0: pl2303_set_line_request - failed: -110
[ 780.838673] pl2303 ttyUSB0: pl2303_set_control_lines - failed: -110
[ 919.758194] pl2303 ttyUSB0: pl2303_get_line_request - failed: -110
[ 920.099381] pl2303 ttyUSB0: pl2303_set_line_request - failed: -110
[ 921.100116] pl2303 ttyUSB0: pl2303_set_control_lines - failed: -110
[ 1114.023422] pl2303 ttyUSB0: pl2303_get_line_request - failed: -110
不知道具体的问题出在哪里了,在/dev文件夹下面能够找到ttyUSB0的设备文件,也就说能识别串口,所以现在不知道该怎么做了,有错误的截图贴上,希望前辈指导,谢谢
附件
输入#dmesg | grep ttyUSB出现的错误
输入#dmesg | grep ttyUSB出现的错误
输入#dmesg命令时最后几行出现的问题
输入#dmesg命令时最后几行出现的问题
头像
astolia
论坛版主
帖子: 6445
注册时间: 2008-09-18 13:11

Re: ubtuntu下的串口问题,请教前辈

#2

帖子 astolia » 2017-06-12 14:55

-110是超时错误ETIMEDOUT,说明驱动在执行相关函数时没能及时从设备获取回应。如果设备没坏的话,估计用的是山寨pl2303芯片,和linux下的驱动不太兼容。
不知道你的代码是怎么写的,不过有错误信息不见得就没法用,如果实际读写操作能成功,不管就是了。
ZGJATX
帖子: 9
注册时间: 2017-06-12 11:15
系统: win8.1

Re: ubtuntu下的串口问题,请教前辈

#3

帖子 ZGJATX » 2017-06-12 16:55

十分感谢 astolia的指点,刚才我重新查了一遍代码,发现uar_recv里的timeout的结构体引用被我注释了,去掉注释之后能运行接收数据了,这个问题困扰一上午了,谢谢解答,感激不尽
回复