做了个串口通讯,修改了半天的代码,终于发现问题了,原来是是while循环发送的速度太快了,导致接收端收不到数据,于是我就上百度找 ,用了个SLEEP函数,虽然可以到达目的,但是程序发送开始就 “未响应”  然后又好了!我想问有没有其他办法让While慢一点行吗?   让接收端好就收到数据!

解决方案 »

  1.   

    好像只能通过sleep来实现
    是最适合的
    或者你写个线程,用定时器调用线程,这样可以设置线程的时间
      

  2.   

    把你发送的代码放到线程中去,在线程中Sleep,这样就不会阻塞UI线程,导致界面无响应之类的
      

  3.   


    是的。最好是创建一个业务线程,串口通讯的工作放在新建的业务线程里面。
    这样不会阻塞主UI线程。
    在业务线程里面用Sleep起到延时的效果,而且业务线程Sleep的时候,可以将cpu让给其他线程,不会浪费资源。UI界面也不会出现无法响应的现象。
      

  4.   

    如果想简单点的话,用OnTimer发送吧, 发送间隔时间自己可以随意设置
      

  5.   

    我觉得你是不是把while放到线程中,用event控制读写会好一些。