Linux 串口编程问题记录

1、串口收不到数据

现象1

调试时编写了串口程序,在实际使用过程中,串口收不到数据,但是如果先用Linux下的串口工具(comtool或者其他的都行)去打开一下需要的端口,随后关闭。这时候在去执行程序的时候,可以发现,串口可以正常收发数据了。但是如果关机,则需要再用串口工具,继续去打开一下端口,然后关闭端口。再去执行程序的时候,才能正常收发,相当于每次都需要串口工具 激活一下 才能使用。

解决方法

用串口工具激活后,确定串口可以正常收发之后,在终端输入以下命令

stty -a -F /dev/ttyUSB0

该命令可以查看对应端口的属性 ,这里是以端口/dev/ttyUSB0举例了,实际可以根据自己的需要去查看自己的端口。

                                                                        图1 串口工具使用后的端口配置

这个是用串口工具之后,端口的属性。

接着在不用串口工具的情况下,执行该指令

                                                                       图2 未使用串口工具的端口属性                                    解决方案就是,按照  串口工具使用后的端口配置,对代码进行修改配置调试,反复执行stty -a -F /dev/ttyUSB0,查看端口属性,直至和串口工具使用后的端口配置一样后。 问题即解决

串口相关属性说明可以参考以下链接

Linux C 串口属性设置_c_cflag-CSDN博客

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值