如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
没有百度文库财富值请到文库帮手网www.365xueyuan.com免费帮下载百度文库积分资料本文由陶一铭贡献doc1。C#中串口通信编程收藏本文将介绍如何在.NET平台下使用C#创建串口通信程序,.NET2.0提供了串口通信的功能,其命名空间是System.IO.Ports.这个新的框架不但可以访问计算机上的串口,还可以和串口设备进行通信.我们将使用标准的RS232C在PC间通信.它工作在全双工模式下,而且我们不打算使用任何的握手或流控制器,而是使用无modem连接.命名空间System.IO.Ports命名空间中最重用的是SerialPort类.创建SerialPort对象通过创建SerialPort对象,我们可以在程序中控制串口通信的全过程.我们将要用到的SerialPort类的方法:ReadLine():从输入缓冲区读一新行的值,如果没有,会返回NULLWriteLine(string):写入输出缓冲Open():打开一个新的串口连接Close():关闭Code://createaSerialPortobjectSerialPortsp=newSerialPort();默认情况下,DataBits值是8,StopBits是1,通信端口是COM1.这些都可以在下面的属性中重新设置:BaudRate:串口的波特率StopBits:每个字节的停止位数量ReadTimeout:当读操作没有完成时的停止时间.单位,毫秒还有不少其它公共属性,自己查阅MSDN.串口的硬件知识在数据传输的时候,每个字节的数据通过单个的电缆线传输.包包括开始位,数据,结束为.一旦开始位传出,后面就会传数据,可能是5,6,7或8位,就看你的设定了.发送和接收必须设定同样的波特率和数据位数.无猫模式没有Modem模式的电缆只是简单地交叉传送和接收线.同样DTR&DSR,和RTS&CTS也需要交叉.RS232针图这里,我们三条线.互连2和3(一段的2pin连接3pin),连接两端的5pin.[示例程序]主程序如果想使用默认属性,按"SaveStatus"按钮,如果想改变属性按"Property".它会弹出下图:设定好之后,可以通信了.主窗口的代码Code:#regionUsingdirectivesusingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Windows.Forms;usingSystem.IO.Ports;#endregionnamespaceSerialexpample{partialclassForm1:Form{//createinstanceofpropertypage//propertypageisusedtosetvaluesforstopbitsand//baudratePropertyPagepp=newPropertyPage();//createanSerialPortobjectSerialPortsp=newSerialPort();publicForm1(){InitializeComponent();}privatevoidpropertyButton_Click(objectsender,EventArgse){//showpropertydialogpp.ShowDialog();propertyButton.Hide();}privatevoidsendButton_Click(objectsender,EventArgse){try{//writelinetoserialportsp.WriteLine(textBox.Text);//clearthetextboxtextBox.Text="";}catch(System.Exceptionex){baudRatelLabel.Text=ex.Message;}}privatevoidReadButton_Click(objectsender,EventArgse){try{//clearthetextboxtextBox.Text="";//readserialportanddisplayedthedataintextboxtextBox.Text=sp.ReadLine();}catch(System.Exceptionex){baudRatelLabel.Text=ex.Message;}}privatevoidForm1_Load(objectsender,EventAr