社区
Linux/Unix社区
帖子详情
牛人进啊!串口非阻塞模式打开,但read不能立即返回!
majia_1
2007-08-15 11:25:36
fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NONBLOCK); //打开成功
while(1)
{
res = read(fd,buf,255); //卡在此处
if (res)
{
....
}
}
================================================================
按文档read没有数据应立即返回,但一直卡住,请帮忙
...全文
333
5
打赏
收藏
牛人进啊!串口非阻塞模式打开,但read不能立即返回!
fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NONBLOCK); //打开成功 while(1) { res = read(fd,buf,255); //卡在此处 if (res) { .... } } ================================================================ 按文档read没有数据应立即返回,但一直卡住,请帮忙
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
majia_1
2007-08-15
打赏
举报
回复
谢谢,楼上的各位大牛。
是偶将 read(fd,buf,255);处的fd置成0了。
cceczjxy
2007-08-15
打赏
举报
回复
gdb 跟踪一下,看卡在那,原因为何.
hzcpig
2007-08-15
打赏
举报
回复
这种情况可以通strace来调试,strace可以跟踪open,read,看看你到底返回了没有。
nihaoweihua
2007-08-15
打赏
举报
回复
read()函数返回0表示已达到文件尾或是无数据可读。(函数手册上写的)
没有数据时read()返回0,但就你写出的这段代码,好象没有对返回是0做相应判断吧!if中的所有语句在res = 0时都跳过去了。
我也不是高手,建议你看看程序是阻塞在read上还是无限循环在read上了啊?
dai_weitao
2007-08-15
打赏
举报
回复
去掉NOCTTY吧
关于《深入理解并行编程》一书
历数过网络不少有价值的文章和牛人博客,从而也收藏不少有水平有技术的书籍和资料。今天为大家分享一下我看到一本好书,这也...从内在到 RCU实现及数据结构高级同步,分割同步、阻塞与
非阻塞
的深入介绍。 ...
“面试经验总结”
以下内容皆为转载,感谢牛人的付出! 兰瑟作为一个已经工作有4年经验的测试工程师,其间也辗转了几个大的互联网公司,虽然确实缺少了一些稳定性,但同时也积累了一些面试的经验,不才分享一些给大家。那么主要是...
我的Android进阶之旅------>经典的大牛博客推荐(排名不分先后)!!
经典的大牛博客推荐(排名不分先后)!! 2018年01月17日 16:50:02点化人生阅读数:2304 天看到一篇文章,收藏了很多大牛的博客,在这里分享一下 谦虚的天下 柳志超博客 Android中文Wiki...
Android经典的大牛博客推荐(排名不分先后)!!
Android
串口
通信实例分析【附源码】_Linux编程_Linux公社-Linux系统门户网站 Android
串口
编程原理和实现方式 - 讨论区 - 开源中国社区 OpenGL ES 【OpenGL ES系列教程三】着色语言 Shading ...
我的Android进阶之旅------>经典的大客推荐(排名不分先后)!!
Android
串口
通信实例分析【附源码】_Linux编程_Linux公社-Linux系统门户网站 Android
串口
编程原理和实现方式 - 讨论区 - 开源中国社区 OpenGL ES 【OpenGL ES系列教程三】着色语言 Shading Language...
Linux/Unix社区
23,120
社区成员
74,507
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章