如果是定长数据,你就在初始化函数里设定长度到时再响应接收函数,如果不是,就采取来一个数据存一个,然后动态分析数据是否收全。一般通信都是采到动态分析数据,因为现在是多任务操作系统,不能直接控制硬件

解决方案 »

  1.   


    您好,能详细介绍下动态分析数据这个方法吗?谢谢!
      

  2.   

    动态分析就是:把收到的数据放一个缓冲区里,每次收到一个数据或多个数据(就是执行一次接收函数)结束后,就发个自定义命令调用分析函数,分析函数就是根据报文的格式来判断一帧是否完整,如果完整就可以拆分数据,如果不完整就退出分析函数。
      

  3.   

    oncomm事件是个做的很不好的机制,其最大的问题是无法报告接收数据结束;据我所知的使用,几乎100%是 发送-接收 模式,因此一般你可以 发送数据后 sleep 一小段时间,读数据output data
    sleep(100)
    read input