串口通信问题 向串口发送命令后,等待设备返回OK或Error的字符串。这个过程使用一个while(true)循环不停的读取接口,是否可行?会有什么影响吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 新建一个线程执行while语句吧,你看看读数据的方法是否有异步的,也可以用异步等待 串口类没有异步。。只能这么干 private void RunDataReceived() { while (true) { string buffer = serialPort.ReadLine(); OnDataReceived(buffer); } }上面的方法要自己 开个线程去跑,还有是以整行读取的。如果想以字节方式就自己 去绑定 serialPort.DataReceived 这个事件 使用serialPort.DataReceived 这个东西。当串口没有返回值的时候 线程是挂起的。当第一时间有返回值的时候他就有反应了。 用while(true),在子线程可以,在主线程的话会让界面卡死。用事件的话参考5楼 串口通信模式 请参考 http://www.cnblogs.com/xiaozhi_5638/p/3167794.html与socket通信 摄像头数据采集 麦克风受采集类似 利用serialPort.DataReceived 的事件,他本身就是线程,比你的while(true)好很多 有关矩阵计算的c#代码 VS2010与sql sever 2008连接时出现问题 为什么SmartNavigation=true 后stack overflow 初学者送分问题:关于源码里的几个<T>..... 关于关闭应用程序的问题? 请教动态加载的问题? 登录网站时起先身份验证如何实现 怎么打开我发表的帖子都看不到内容? 如何生成可脱离Visio Stadio.Net环境的可执行程序? C# 替换字符与生成注册表16进制字符 datagrid button绑定问题 C# var 赋值false 居然if执行,请教为什么?
串口类没有异步。。只能这么干 private void RunDataReceived()
{
while (true)
{
string buffer = serialPort.ReadLine();
OnDataReceived(buffer);
}
}上面的方法要自己 开个线程去跑,还有是以整行读取的。如果想以字节方式就自己 去绑定 serialPort.DataReceived 这个事件
当串口没有返回值的时候 线程是挂起的。当第一时间有返回值的时候他就有反应了。
用事件的话参考5楼