在线等,请教linux下读取gps信息问题,读不出gps信息,看一下下面代码有什么问题:

在线等,请教linux下读取gps信息问题,读不出gps信息,看一下下面代码有什么问题:,第1张

1.代码没贴全,main之外呢?

2.openport的函数我不太清楚,认为基本和你注释掉的open函数功能相同.那么openport的第一个参数fd的值是否正确?

3.fcntl(fd, F_SETFL, 0),为什么还要去设置参数为0,openport时应该已经设置了参数吧.

4.上面是打开端口的问题,后面应该是读数据了.如果仍然没有数据的话,先看看读取函数的返回值,不能解决的话你可以考虑换一个端口试试.

你的这个串口设备在打开(也就是调用open函数获取设备描述符)的时候设置的是非阻塞方式。导致串口上没数据的时候read也立即返回,但是你的while已经把有效的数据读走了,if里面读到的一定是空的,所以什么也不打印。

建议

1. 在打开串口设备时使用阻塞方式,不会设置的话查查open系统调用的帮助,它有个flag;

2. 把while循环内的if语句去掉。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7305155.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-04
下一篇2023-04-04

发表评论

登录后才能评论

评论列表(0条)

    保存