怎么暂停一下While循环 做了个串口通讯,修改了半天的代码,终于发现问题了,原来是是while循环发送的速度太快了,导致接收端收不到数据,于是我就上百度找 ,用了个SLEEP函数,虽然可以到达目的,但是程序发送开始就 “未响应” 然后又好了!我想问有没有其他办法让While慢一点行吗? 让接收端好就收到数据! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 好像只能通过sleep来实现是最适合的或者你写个线程,用定时器调用线程,这样可以设置线程的时间 把你发送的代码放到线程中去,在线程中Sleep,这样就不会阻塞UI线程,导致界面无响应之类的 是的。最好是创建一个业务线程,串口通讯的工作放在新建的业务线程里面。这样不会阻塞主UI线程。在业务线程里面用Sleep起到延时的效果,而且业务线程Sleep的时候,可以将cpu让给其他线程,不会浪费资源。UI界面也不会出现无法响应的现象。 如果想简单点的话,用OnTimer发送吧, 发送间隔时间自己可以随意设置 我觉得你是不是把while放到线程中,用event控制读写会好一些。 请求各大神帮帮忙,MouseProc为什么会议被执多次! 请教:两次扫描标记法,大家有用过吗? CProgressCtrl进度条组件怎样显示百分比???谢谢!!! 分也不多一人5分 在2000下,怎么自定义纸的大小亚 引用其他工程中的类的方法 跳出一个对话筐,说“应用程序错误” 请高手指点 有没有这样形式的汉字编码? 谁能解释VC发生内部编译器错误? 大家来看看这个问题,有点难度,看看有没有方法 CreateProcess参数问题 NewMedia.exe 中的 0x727abfe0 处最可能的异常: 0xC0000005: 读取位置 0xfeeefeee 时发生访问冲突
是最适合的
或者你写个线程,用定时器调用线程,这样可以设置线程的时间
是的。最好是创建一个业务线程,串口通讯的工作放在新建的业务线程里面。
这样不会阻塞主UI线程。
在业务线程里面用Sleep起到延时的效果,而且业务线程Sleep的时候,可以将cpu让给其他线程,不会浪费资源。UI界面也不会出现无法响应的现象。