Chinaunix首页 | 论坛 | 博客
  • 博客访问: 121069
  • 博文数量: 31
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 361
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-11 15:38
文章分类

全部博文(31)

文章存档

2008年(31)

我的朋友

分类:

2008-03-11 19:41:53

这是我做的一个串口通信的总结,串口通信的方法有很多,我用的是以下这种。
组件:SerialPort
头文件:using System.IO.Ports;
使用:
serialPort1 = new SerialPort(); //建立对象

serialPort1.PortName = "COM1";  //端口号
serialPort1.BaudRate = 57600;   //比特率
serialPort1.Parity = Parity.None;//奇偶校验
serialPort1.StopBits = StopBits.One;//停止位
serialPort1.ReadTimeout = 1000; //读超时,即在1000内未读到数据就引起超时异常
 
serialPort1.Open();//端口打开
 
发送(字节流):serialPort1.Write(dataSend, 0, num); //dataSend为发送数据(byte)指针,num为数据个数。
 
接收(字节流):常采用事件驱动(消息机制的实现)接收,即将接收处理函数的注册给系统,当串口收到数据时候,系统调用接收处理函数。
 
serialPort1.DataReceived += new SerialDataReceivedEventHandler(serialPort1_DataReceived);//过程注册
 
 private static void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
           
            int num = serialPort1.BytesToRead; //获取缓冲数据个数
            byte[] data = new byte[num];
            serialPort1.Read(data, 0, num);  //读数
            Encapsule(data); //数据处理
        }
 
 serialPort1.close();//关闭串口   
 
阅读(5104) | 评论(6) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-07-23 11:36:25

你好,能给我一份吗,谢谢! yyb9385@126.com

chinaunix网友2008-09-14 11:01:19

大哥帮忙发我一份吧谢谢!! 油箱:hoxidong@126.com

chinaunix网友2008-09-13 18:38:27

大哥帮忙发我一份吧谢谢!! 油箱:haitao_kang@163.com

chinaunix网友2008-08-25 11:34:48

把你的例子发给我一份吧,谢谢liang0616#126.com

chinaunix网友2008-03-23 22:38:01

朋友,你好,我也是个学生,对你的c#中的串口通信很有需要,可否给我把源代码都给我,非常感谢!!! 我的邮箱是:wubin709@163.com,拜托了! 不好意思,大错邮箱了