关于串口的同步读取和异步读取,谁能给解释一下。

gaoxing_1985007 2010-11-22 09:24:04
serialPort中有6个读的方法:Read();
ReadLine()
ReadByte();
ReadChar();
ReadExisting();
ReadTo();

ReadTo和ReadExisting是异步读取,剩下的都是同步读取,不太明白同步和异步是什么意思,谁能给详细的解释一下啊?
...全文
507 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2010-11-26
  • 打赏
  • 举报
回复
同步:
执行函数,得到返回值,再执行下面的代码。

异步:
执行函数,继续执行下面代码。
函数返回会产生一个事件通知你。
兔子-顾问 2010-11-26
  • 打赏
  • 举报
回复
以前看书看到过。在CreateFile的最后一个参数加上标识出是异步,就可以异步通信。但因为我主要做 wince 不支持异步读写,没实际的用过。
下面2个连接你看过么?
http://blog.csdn.net/Chendy/archive/2007/11/02/1862541.aspx
http://www.pcdog.com/edu/csharp/2006/08/y137758.html
兔子-顾问 2010-11-26
  • 打赏
  • 举报
回复
ReadLine()
ReadByte();
ReadChar();
ReadExisting();
ReadTo();

这些都是同步的。

lilin8905 2010-11-22
  • 打赏
  • 举报
回复
进来学习的
gaoxing_1985007 2010-11-22
  • 打赏
  • 举报
回复
谢谢!
[Quote=引用楼主 gaoxing_1985007 的回复:]
serialPort中有6个读的方法:Read();
ReadLine()
ReadByte();
ReadChar();
ReadExisting();
ReadTo();

ReadTo和ReadExisting是异步读取,剩下的都是同步读取,不太明白同步和异步是什么意思,谁能给详细的解释一下啊?
[/Quote]
机器人 2010-11-22
  • 打赏
  • 举报
回复
没用用过串口,但是我的理解,下面的都是大白话哈,有悖原理的大家尽管拍砖。

异步的
ReadTo(); 调用即返回(里面启动别的线程去执行了),下面的代码立即执行无等待。至于什么时候结束,应该有个事件可以处理。

同步的
ReadByte(); 调用要等到里面的代码都执行完毕了,才可以进下一步处理。需要等待。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧