使用串口控件SerialPort,由于轮询不同设备间隔较短,导致在接收事件还未处理完本次时又有新事件发生 本帖最后由 Michaellovekobe 于 2014-11-17 20:42:10 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 前几天我临时写了一个引擎的例子。http://bbs.csdn.net/topics/390930620处理收到的消息之后,仅需要等待几毫秒而已,不应该等待命令执行完毕才接受后续的数据。只有这样才能不卡。 我测试了一下,在接收事件中,做了一个死循环while发现再有新的字节发过来时,该接收事件也不触发了。什么时候退出该循环,什么时候才能再次接收数据所以可以看出,datareceived事件是同步的 我又测试了一下,发现正常来说一个串口对应一个datareceived事件函数,对于本串口来说,datareceived是同步的。必须本次执行完,下一次的才能进来。然后,如果其他串口也同样使用同一个datareceived事件函数(这是可能的,通过+=手动添加)。那么对于多串口来说,datareceived是异步的。不同串口有数据时,会同时调用同一个datareceived事件函数。 关于数据绑定和数据存储 我用的是windows2003,如何只查找目录和子目录,而不查找文件 oracle中的long型读取是出错 请高手帮忙,分不够可以再加 html控件如何绑定datatable的字段 如何通过OleDb方式连接到Xml文件? 用C#做CS开发感觉好不爽啊!还没我原来的d7好用。 求助:用c#开发图像管理程序所碰到的问题 怎么把一个数据集绑定到文本框后不显示数据? 如何查找TreeView中的下一节点是否存在"char" ?? DataGrid中如何添加一个空行供用户输入 C# C++ 写修饰符为WINAPI的xxxA和xxxW函数 请教一个数据库查询问题
发现再有新的字节发过来时,该接收事件也不触发了。
什么时候退出该循环,什么时候才能再次接收数据所以可以看出,datareceived事件是同步的
然后,如果其他串口也同样使用同一个datareceived事件函数(这是可能的,通过+=手动添加)。那么对于多串口来说,datareceived是异步的。不同串口有数据时,会同时调用同一个datareceived事件函数。