社区
C#
帖子详情
关于串口的同步读取和异步读取,谁能给解释一下。
gaoxing_1985007
2010-11-22 09:24:04
serialPort中有6个读的方法:Read();
ReadLine()
ReadByte();
ReadChar();
ReadExisting();
ReadTo();
ReadTo和ReadExisting是异步读取,剩下的都是同步读取,不太明白同步和异步是什么意思,谁能给详细的解释一下啊?
...全文
511
6
打赏
收藏
关于串口的同步读取和异步读取,谁能给解释一下。
serialPort中有6个读的方法:Read(); ReadLine() ReadByte(); ReadChar(); ReadExisting(); ReadTo(); ReadTo和ReadExisting是异步读取,剩下的都是同步读取,不太明白同步和异步是什么意思,谁能给详细的解释一下啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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(); 调用要等到里面的代码都执行完毕了,才可以进下一步处理。需要等待。
C#
串口
通讯的数据丢失和
同步
异步
问题
串口
通讯最痛苦的在于无法深入了解
串口
内部的规则,只能调用c#提供的SerialPort类,但是使用的时候也出现了很多问题,有的是自身的有的是由于不了解造成的。 首先SerialPort类提供了很多很好的方法,对于读写都很有帮助,但是有的读是
同步
,有的是
异步
,
同步
就是和主程序保持一致,只有运行完了ReadByte之后才能运行程序之后的代码,
异步
就是重新开启一个线程来处理这些问题,主程序不受
SerialPort
同步
和
异步
数据
读取
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.IO.Ports;using System.Threading;namespace TestSerialPort{ public partial class frm
C++
串口
同步
和
异步
的
读取
与
串口
设备编程
本文主要讲述如何对
串口
进行高效率的读写,当
串口
中数据到达时立即
读取
进行处理,以及如何将该方法运用到
串口
设备编程中。为了使得程序更加清晰文中的代码去除了异常处理的情况。文中加粗的文字相应的比较重要,需要多注意。当然文中会有错误,欢迎评论指正。文章中代码下载地址 http://pan.baidu.com/s/1pLsP9wB1、COM口WindowsAPI函数CreateFile("COM1", .....
串口
通信(
同步
,
异步
)VC++
同步
: SerialComm.h文件 #pragma once //数据缓冲区长度 #define MAX_BUF_LEN 10240 //校验类型枚举 typedef enum CheckType { ctNoSet = 0, ctNoCheck, ctCRC }; //生成CRC //参数说明: // BYTE* pBuf:输入参数,需要生成校验的数据指针 // int dwLen:输入参数,需要生成校验的数据长度 // 返回值:WOR
实用代码脚本易语言源码时间
实用代码脚本易语言源码时间
C#
111,129
社区成员
642,535
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章