我在做一个虚拟串口通讯项目,发射端的频率是10赫兹,也就是10ms向虚拟串口发送一次数据,但接收端(pc)却需要每500ms从串口读一次数据,然后波形显示它,同时在后台要一直存储发来的数据,我使用的是C#的serialport类,波形显示通过一个控件statusChart,存储数据是一个函数WriteFile(),请用多线程来解决我的问题。

解决方案 »

  1.   

    发送时,加一个\0做为一次发送,接收时,只要判断\0就算接收到一条数据就行
      

  2.   

    好像主要就是缓存共享,有点类似多线程的生产者消费者问题,不过感觉应该不会很难,都是书本讨论过的基本问题。
      

  3.   

    好象跟快慢没什么关系吧,只要缓冲区不会溢出,而接受的时候一次性读入缓冲区中所有数据,对数据进行解析显示即可