由于字符串长,定时器读数时,可能会读到半个字符,出现错误,请教如何处理,

解决方案 »

  1.   

    使用循环读啊,加个doevents空闲管理,影响不大
      

  2.   

    定时器是循环读取啊,例如:1050个字符,9600的波特率,定时器100ms,定时器每中断一次读到大致
    9600*0.1/(8+1)=107个字符,10K要读十次左右,每次第107个字符就有可能读到半个字符,而出错,如要采用
    oncomm事件读取,每次读100个字符,要11次读完,而最后一次50个根本不会触发中断,也不行啊,除非oncomm
    再加一个超时判断。
      

  3.   

    oncomm 能用就用
    不能用就用doevents直到数据长度大于你需要的字符串长度
      

  4.   

    搞清楚了,还是oncomm好用,定时读写习惯不好,有误码几率