zlebhs
2021-06-07 13:30
采纳率: 100%
浏览 54

android串口接收数据的问题

今天在调试串口的时候发现一个问题,比如我发送一条读取数据的指令,然后下位机反馈给我这个数据,但是如果说此时我没有立即去读取,而是进行了休眠,如果这个休眠时间过长(100ms左右),此时这条数据就消失了。请问这个是串口本身的原因吗?就是说如果100ms左右没有读取的话,他就自动清理了?伪代码如下

outputsteam.write("read data");

// sleep 10 20 就可以读到

Thread.sleep(100);

// 此时就一直读不到了

intputsteam.read(buf)

  • 好问题 提建议
  • 收藏

2条回答 默认 最新

  • hua-sky 2021-06-16 17:01
    已采纳

    是没有做数据缓冲么?一般来说,写个死循环一直在不停的读取,读取到的数据放入写好的缓冲区代码块,直到缓冲区的数据符合完整的 协议,才进行解析提取。你这边是没做对应处理么?

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • LittleFogCat 2021-06-07 18:49

    后面的数据把前面的冲掉了吧,跟具体的InputStream实现有关

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题