c#【1】 串口编程:类名和命名空间是什么?有几个重要参数、并简述?
来源:互联网 发布:招聘淘宝兼职刷手 编辑:程序博客网 时间:2024/04/30 03:48
² SerialPort类在 .NET Framework 2.0 版中;命名空间:System.IO.Ports。
² 几个重要参数
SerialPort.BaudRate 属性:获取或设置串行波特率。 默认值为 9600 比特/每秒 (bps)。
注: 波特率,即每秒钟传送的二进制位数,其单位为 bps 。
接收方的接收波特率必须与发送方的发送波特率相同。
传送一个字符,包括 12 位(其中有一个起始位, 8 个数据位, 2 个停止位)。1200b/s ,每秒所能传送的字符数是 1200/(1+8+1+2)=100 个。
SerialPort.Parity 属性:获取或设置奇偶校验检查协议。 默认为 None。
注:如果在流的尾字节上出现奇偶校验错误,将向输入缓冲区添加一个值为 126 的额外字节.
用于串口通信中的简单检错。奇偶校验位主要有:偶校验、奇校验、标记、空格的方式。
奇/偶校验是通过统计数据中高位或低位的个数来实现校验的。而标记、空格并不真正检测数据,只是通过简单的置位来实现对数据的检测。通过置位方式,可以判断出是否存在噪声干扰数据通信或数据传输,以及接收是否存在不同步的现象。
SerialPort.StopBits 属性:获取或设置每个字节的标准停止位数。默认值为 One。
注:停止位用于标志该数据包数据结束,可以取1位、1.5位或2位。
停止位不仅仅用于数据包的传输结束标志,还提供了计算机之间校正同步时钟的机会。用于停止位的位数越多,不同时钟同步的容忍程度越大。但是由于停止位占用了数据空间,过多的停止位将导致数据传输速度的下降。
SerialPort.DataBits 属性:获取或设置每个字节的标准数据位长度。值范围是从 5 到 8。默认值为 8。
注:设定数据位主要考虑所要传输的数据内容。如果要传输的是标准的ASCII码,由于ASCII码的范围是0~127,因此使用7位就可以了。如果要传输的是扩展ASCII码,其范围是0~255,必须使用8位。当然,7位或8位数据位中不仅仅是数据,还包括开始/停止位、数据位以及奇偶校验位等。
详见:http://baike.baidu.com/view/1746248.htm
在.NET Framework 2.0中提供了SerialPort类,该类主要实现串口数据通信等。下面主要介绍该类的主要属性(表13.1)和方法(表13.2)。 表13.1 SerialPort类的常用属性 名 称 说 明 BaseStream 获取 SerialPort 对象的基础 Stream 对象 BaudRate 获取或设置串行波特率 BreakState 获取或设置中断信号状态 BytesToRead 获取接收缓冲区中数据的字节数 BytesToWrite 获取发送缓冲区中数据的字节数 CDHolding 获取端口的载波检测行的状态 CtsHolding 获取“可以发送”行的状态 DataBits 获取或设置每个字节的标准数据位长度 DiscardNull 获取或设置一个值,该值指示 Null 字节在端口和接收缓冲区之间传输时是否被忽略 DsrHolding 获取数据设置就绪 (DSR) 信号的状态 DtrEnable 获取或设置一个值,该值在串行通信过程中启用数据终端就绪 (DTR) 信号 Encoding 获取或设置传输前后文本转换的字节编码 Handshake 获取或设置串行端口数据传输的握手协议 IsOpen 获取一个值,该值指示 SerialPort 对象的打开或关闭状态 NewLine 获取或设置用于解释 ReadLine( )和WriteLine( )方法调用结束的值 Parity 获取或设置奇偶校验检查协议 续表 名 称 说 明 ParityReplace 获取或设置一个字节,该字节在发生奇偶校验错误时替换数据流中的无效字节 PortName 获取或设置通信端口,包括但不限于所有可用的COM 端口 ReadBufferSize 获取或设置 SerialPort 输入缓冲区的大小 ReadTimeout 获取或设置读取操作未完成时发生超时之前的毫秒数 ReceivedBytesThreshold 获取或设置 DataReceived 事件发生前内部输入缓冲区中的字节数 RtsEnable 获取或设置一个值,该值指示在串行通信中是否启用请求发送 (RTS) 信号 StopBits 获取或设置每个字节的标准停止位数 WriteBufferSize 获取或设置串行端口输出缓冲区的大小 WriteTimeout 获取或设置写入操作未完成时发生超时之前的毫秒数 表13.2 SerialPort类的常用方法 方 法 名 称 说 明 Close 关闭端口连接,将 IsOpen 属性设置为False,并释放内部 Stream 对象 Open 打开一个新的串行端口连接 Read 从 SerialPort 输入缓冲区中读取 ReadByte 从 SerialPort 输入缓冲区中同步读取一个字节 ReadChar 从 SerialPort 输入缓冲区中同步读取一个字符 ReadLine 一直读取到输入缓冲区中的 NewLine 值 ReadTo 一直读取到输入缓冲区中指定 value 的字符串 Write 已重载。将数据写入串行端口输出缓冲区 WriteLine 将指定的字符串和 NewLine 值写入输出缓冲区
- c#【1】 串口编程:类名和命名空间是什么?有几个重要参数、并简述?
- C#--获取类名,命名空间
- C#、获取命名空间、类名、方法名
- BUG:命名空间名称和类名冲突
- BUG:命名空间名称和类名冲突
- XML Schema和名域(命名空间)
- Asp.net .net(C#) 获取当前命名空间,类名,方法名的方法
- Asp.net .net(C#) 获取当前命名空间,类名,方法名的方法
- Asp.net .net(C#) 获取当前命名空间,类名,方法名的方法
- Asp.net .net(C#) 获取当前命名空间,类名,方法名的方法
- 获得当前方法或页面的命名空间、类名和方法名
- 获得当前方法或页面的命名空间、类名和方法名
- C#【2】串口编程:如果要自测,串接哪几个口?注意事项有些什么、并举例?
- Oracle的几个概念:数据库名,全局数据库名,SID,实例,命名空间,schema
- [转载]Oracle的几个概念:数据库名,全局数据库名,SID,实例,命名空间,schema
- Oracle的几个概念:数据库名,全局数据库名,SID,实例,命名空间,schema
- Oracle的几个概念:数据库名,全局数据库名,SID,实例,命名空间,schema
- ThinkPHP5.1 不需要控制器的路由 \类的命名空间\类名@方法名
- 如何让自己进步更快
- Java中的byte
- 寻找数组中最小的K个元素
- 转社保
- 测试动态结果道指令
- c#【1】 串口编程:类名和命名空间是什么?有几个重要参数、并简述?
- iphone Audio探索之旅
- 利用PHP保存在线编辑控件提交的表单
- spring声明式事务管理祥述
- u-boot 2010.09 支持mini2440
- 5-20首创空间笔试
- Java 反射机制模拟hibernate实现持久化
- Linux下如何查看高CPU占用率线程
- vmstat输出结果说明