怎么将接收的string字符串打包,之后把打包的数据在在timer定时器中输出显示。由于接收的定时器1ms接收,而显示的定时器10ms显示,为了让接收的数据不丢失,想先把它们打包,后面再在10ms定时器中输出显示,该怎么才能实现啊,希望大神指点!!

解决方案 »

  1.   

    用线程安全的 先进先出集合:https://msdn.microsoft.com/zh-cn/library/dd267265.aspx
      

  2.   

    要显示数据,你异步注册给显示 UI 线程去显示就可以了,不用等着它显示完毕。什么叫做“显示的定时器”?用什么定时器呢?接收数据,也应该有了数据接收事件就立刻接收,用什么定时器呢?而且其实所谓“1ms定时器”,也并不符合定时器精度的概念。
      

  3.   

    我这边是用多媒体定时器定时刷新数据缓存中的数据实现数据接收,用的是ZLGUSBCAN接收两帧的CAN数据,波特率1M。官方的例程是用的定时器定时接收的,所以这边也用了定时器。如果有数据就接收,不用定时器的话上位机该怎么写,能给个例子吗,非常感谢!!