功能:通过串口与仪表通讯(一问一答式),定时采集(精度要求不高)并能配置参数,要求效率高,界面不卡。
      主要请教从发送数据,接收数据,处理数据的逻辑控制,用多线程?该怎样分配?

解决方案 »

  1.   

    另开一线程,异步操作就可以了,效率没有要求的话
      

  2.   

    单独开两个线程用于读取和发送数据,当然要配接收数据和发送数据缓冲区.数据接收到,分析到一个完整的数据包,就存到接收数据缓冲区里,发消息通知主线程做处理和显示,生成对应的响应包,放入发送缓冲区队列,通知消息给发送线程发送出去...
      

  3.   

    恩,这个问题的关键在于 串口数据 得保证 这次发送数据出去之后是否要返回,如果需要返回,则不惜等待返回完所需所有数据之后再发送数据出去,不需要严格的保证这样,否则可能导致一些报文不正确,报文错位等状况。处理报文的过程也很重要,如果要一步处理的话,同步的话,那就没什么好说的了
      

  4.   

    上面有错别字,将 “不惜等待”改为“必须等待”
      

  5.   

    接收一个线程,处理一个线程,显示一个线程,俺的监听程序是这么分配的。