我用单片机给串口调试助手发数据,调试助手能正常接收,用调试助手给我自己编的Java程序发数据也能正常收,但是用单片机直接给Java程序发就经常出现收不全的情况,常常只能收到一段数据,而且往往只收到后面半段数据,应该不是发送频率太高来不及收的原因,因为我已经把发送频率降到每三秒中发送一串数据,已经很慢了,而且数据也不多,总共才20个字符,到底是什么问题呢?

解决方案 »

  1.   

    我以前碰到过这个情况  原因是你在openPORT的时候需要有几个参数  具体哪个参数我忘了大体意思就是  某一个openPORT的时候传进去的参数不对。  不对的结果是  有的时候可以用  有的时候就会漏东西   那个参数好像是规定传输模式的  
      

  2.   


    你先要搞清楚是你单片机的问题还是你serialport的问题。如果是单片机的问题  一次多收点数据自己重新按照数位解析就可以了如果是serialport的问题  先搞清楚为什么一次收不全  
      

  3.   

    回5楼:
    不是单片机的问题,是serialport的问题,单片机的程序肯定没有问题,我以前用vb写的串口接收程序就可以很好的接收单片机的数据。
      

  4.   

    serialport既然不能一次接受完所有的数据,那程序员得工作就是解决问题啊,想想吧,实在想不出来加我QQ我再指导你