ypfsmile
2017-02-02 07:04
采纳率: 100%
浏览 3.6k

C# 串口问题 怎样精确地每隔10ms读取串口中的数据

我想每隔10ms读取一次传感器产生的数据,传感器是通过采集器然后输出为串口形式的。我是这样做的:利用线程每隔10ms发送一次读取命令,然后在DataReceived事件中利用serialPort.read()进行读取,同时利用dateTime.Now.Millisceond为每条读取的记录标记时间戳,最后存储在列表中。但发现列表中每条记录的时间间隔不是10ms,有两条记录时间间隔很大的情况出现,同时也有一条记录包含多条返回数据的情况,
请高手们指点,为什么出现这种情况,我想每隔10ms利用串口接收传感器的数据应该怎么写呢?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • BenBenBears 2017-02-02 14:34
    已采纳

    要排除发送读取命令与接受数据的时间间隔在每次反馈中是否一致,不一致的话出现间隔不是10ms或者很长间隔的情况是存在的。

    打赏 评论
  • BenBenBears 2017-02-03 06:07

    每隔10ms接收一次数据的目的?是为了写日志还是更新UI?

    打赏 评论

相关推荐 更多相似问题