问题:MQX中用read函数读串口时如何做超时机制(已解决)

2020-02-11 10:00发布

本帖最后由 FSL_TICS_ZP 于 2014-6-17 09:10 编辑

我目前在用MQX中的串口,我发现如果用read函数来读取串口数据时,当对方不发数据给串口接收,那么read函数会死等,而且会将CPU占用不放,没有超时机制,而且在线程中死等,别的线程也开启不了,就连想提示一下错误也做不了!怎么样在不改动驱动的情况下,可以让read超时自动跳出啊?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
28条回答
albert_w
1楼-- · 2020-02-11 13:53
 精彩回答 2  元偷偷看……
浪里白条
2楼-- · 2020-02-11 15:32
和现在PE提供的那个 读串口一样,死等
wangpengcheng
3楼-- · 2020-02-11 15:51
albert_w 发表于 2014-6-13 09:20
select before read, if it's POSIX like OS

什么意思啊?谷哥了一下也没哥明白啊!
wangpengcheng
4楼-- · 2020-02-11 17:03
浪里白条 发表于 2014-6-13 09:23
和现在PE提供的那个 读串口一样,死等

是那个意思,别的啥事也干不了!
albert_w
5楼-- · 2020-02-11 22:13
wangpengcheng 发表于 2014-6-13 09:26
什么意思啊?谷哥了一下也没哥明白啊!

Linux上的非阻塞编程可以在读写千做一个select,判断是否可读写,然后再动手
浪里白条
6楼-- · 2020-02-12 00:06
 精彩回答 2  元偷偷看……

一周热门 更多>