SerialPort控件的详细用法-_第1页
SerialPort控件的详细用法-_第2页
SerialPort控件的详细用法-_第3页
SerialPort控件的详细用法-_第4页
SerialPort控件的详细用法-_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、serialport控件的详细用法1、简介随着USB的流行,串口通讯已经应用到日常生活的很多方面了,USB是一种高速的串口通讯协议,USB接口非常复杂,通常被用在需要传输大量数据数据的地方,如U盘、相机、打印机等。除了USB这种较为奢侈的串口外,在工控和嵌入式行业,大量被使用的是另一种古老的串口协议,RS-232串口。RS-232是一种非常简洁的低速串口通讯接口,它可以同时进行数据接收和发送的工作。2、.NET 2.0对串口的支持通过创建一个新的SerialPort 对象,我们就可以在.NET程序中控制串口通讯的全过程。3、使用SerialPort 设置串口属性进行串口通讯时,需要设置一些相关

2、参数,可以通过设置SerialPort 类的属性来进行。串口属性主要包括.PortName 串口名称,COM1, COM2等。.BaudRate 波特率,也就是串口通讯的速度,进行串口通讯的双方其波特率需要相同,如果用PC连接其他非PC系统,一般地,波特率由非PC系统决定。Parity 奇偶校验。可以选取枚举Parity中的值.DataBits 数据位.StopBits 停止位,可以选取枚举StopBits中的值.Handshake 握手方式,也就是数据流控制方式,可以选取枚举Handshake中的值4、打开与关闭串口在创建一个SerialPort 对象,设置串口属性后,可以通过Open(方法

3、打开串口。数据读写完成后,可以通过Close(方法关闭串口。根据经验,对于有些系统,在打开串口后,还需要将RtsEnable设置为True,这样才能读写数据,否则不能正常读写数据。5、读写行数据双方通讯时,一般都需要定义通讯协议,即使最简单的通过串口发送文本聊天的程序。通常是在当一方按下回车时,将其所数据的文本连同换行符发给另一方。在这个通讯事例中,协议桢是通过换行符界定的,每一桢数据都被换行符隔开,这样就很容易识别出通讯双发发送的信息。在以上的例子中,可以用WriteLine(来发送数据,用ReadLine(来读取数据。WriteLine 发送完数据后,会将换行符作为数据也发送给对方。Rea

4、dLine(读取数据时,直至遇到一个换行符,然后返回一个字符串代表一行信息。换行符可以通过SerialPort 的属性NewLine来设置。一般地,Windows将CrLn作为换行符,而在Linux下,换行符则只用一个Ln表示。ReadLine(方法是阻塞的,直至遇到一个换行符后返回。在读取数据时,如果一直没有遇到换行符,那么在等待ReadTimeout时间后,抛出一个TimeoutException。默认情况下, ReadTimeout为InfiniteTimeout。这样,ReadLine一直处于阻塞状态,直至有新一行数据到达。WriteLine(方法也是阻塞的,如果另一方不能及时接收数据

5、,就会引起TimeoutException 异常。由于ReadLine(和WriteLine(方法都是阻塞式的,在程序使用SerialPort 进行串口通讯时,一般应该把读写操作交由其他线程处理,避免因为阻塞而导致程序不响应。6、读写字节或字符数据对于字节或字符数据,用Read(方法来读数据,该方法需要一个字节或字符数组作为参数来保存读取的数据,结果返回实际读取的字节或字符数。写数据使用Write(方法,该方法可以将字节数组、字符数据或字符串发送给另一方。如果通讯双方交换的数据位字节流数据,要构建一个使用的串口通讯程序,那么双方应该定义数据桢格式。通常数据桢由桢头和桢尾来界定。发送数据比较简单

6、,只需要将构造好的数据用Write(方法发送出去即可。接收数据则比较复杂,通讯是以字节流的形式到达的,通过调用一次Read(方法并不能确保所读取的数据就是完整一桢。因此需要将每次读取的数据整合在一起,对整合后的数据进行分析,按照定义的桢格式,通过桢头和桢尾,将桢信息从字节流中抽取出来,这样才能获取有意义的信息。除了利用Read(方法来读数据,还可以使用ReadExisting(方法来读取数据。该方法读取当前所能读到的数据,以字符串的形式返回。7、事件SerialPort 提供了DataReceived事件。当有数据进入时,该事件被触发。该事件的触发由操作系统决定,当有数据到达时,该事件在辅助线程中被触发。辅助线程的优先级比较低,因此并不能确保每个字节的数据到达时,该事件都被触发。8、其他用跳线使串口的第2、3针连接,可以在本地计算机上实现串口通信,所以,通过串口的第2、3针的连接可以对程序进行检测。 .BytesToRead 该属性返回能够读到的字节数。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论