C#串口编程SerialPort

C#串口编程SerialPort

ID:39546624

大小:72.50 KB

页数:16页

时间:2019-07-05

C#串口编程SerialPort_第1页
C#串口编程SerialPort_第2页
C#串口编程SerialPort_第3页
C#串口编程SerialPort_第4页
C#串口编程SerialPort_第5页
资源描述:

《C#串口编程SerialPort》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C#中串口通信编程本文将介绍如何在.NET平台下使用C#创建串口通信程序,.NET2.0提供了串口通信的功能,其命名空间是System.IO.Ports。这个新的框架不但可以访问计算机上的串口,还可以和串口设备进行通信。我们将使用标准的RS232C在PC间通信。它工作在全双工模式下,而且我们不打算使用任何的握手或流控制器,而是使用无modem连接。命名空间System.IO.Ports命名空间中最重用的是SerialPort类。创建SerialPort对象通过创建SerialPort对象,我们可以在程序中控制串口通信的全过程。我们

2、将要用到的SerialPort类的方法:ReadLine():从输入缓冲区读一新行的值,如果没有,会返回NULLWriteLine(string):写入输出缓冲Open():打开一个新的串口连接Close():关闭Code://createaSerialPortobjectSerialPortsp=newSerialPort();默认情况下,DataBits值是8,StopBits是1,通信端口是COM1。这些都可以在下面的属性中重新设置:BaudRate:串口的波特率StopBits:每个字节的停止位数量ReadTimeout:

3、当读操作没有完成时的停止时间。单位,毫秒还有不少其它公共属性,自己查阅MSDN。串口的硬件知识在数据传输的时候,每个字节的数据通过单个的电缆线传输。包包括开始位,数据,结束为。一旦开始位传出,后面就会传数据,可能是5,6,7或8位,就看你的设定了。发送和接收必须设定同样的波特率和数据位数。无猫模式没有Modem模式的电缆只是简单地交叉传送和接收线。同样DTR&DSR,和RTS&CTS也需要交叉。RS232针图这里,我们三条线。互连2和3(一段的2pin连接3pin),连接两端的5pin。[示例程序]主程序如果想使用默认属性,按“S

4、aveStatus”按钮,如果想改变属性按“Property”。它会弹出下图:设定好之后,可以通信了。主窗口的代码Code:#regionUsingdirectivesusingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Windows.Forms;usingSystem.IO.Ports;#endregionnamespaceSerialexpa

5、mple{partialclassForm1:Form{//createinstanceofpropertypage//propertypageisusedtosetvaluesforstopbitsand//baudratePropertyPagepp=newPropertyPage();//createanSerialPortobjectSerialPortsp=newSerialPort();publicForm1(){InitializeComponent();}privatevoidpropertyButton_Clic

6、k(objectsender,EventArgse){//showpropertydialogpp.ShowDialog();propertyButton.Hide();}privatevoidsendButton_Click(objectsender,EventArgse){try{//writelinetoserialportsp.WriteLine(textBox.Text);//clearthetextboxtextBox.Text="";}catch(System.Exceptionex){baudRatelLabel.

7、Text=ex.Message;}}privatevoidReadButton_Click(objectsender,EventArgse){try{//clearthetextboxtextBox.Text="";//readserialportanddisplayedthedataintextboxtextBox.Text=sp.ReadLine();}catch(System.Exceptionex){baudRatelLabel.Text=ex.Message;}}privatevoidForm1_Load(objects

8、ender,EventArgse){}privatevoidForm1_FormClosing(objectsender,FormClosingEventArgse){MessageBox.Show("DouwanttoClosetheApp");

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。