C# 串口操作系列(1)

这篇博客介绍了如何在C#中进行串口操作,包括初始化SerialPort对象,设置波特率,添加DataReceived事件处理接收到的数据,以及处理发送和接收的字节计数。文章提供了完整的代码示例,展示了如何创建一个简单的串口调试助手,同时提出了并发操作时可能遇到的问题,预告了下一篇文章将讨论如何避免串口关闭导致的软件死锁。
摘要由CSDN通过智能技术生成

 

我们的开发环境假定为vs2005(虽然我在用vs2010,但避免有些网友用2005,不支持lambda,避免不兼容,就用2005来做例子)

 

一个基本的串口程序先画出界面。例如:

 

这里,波特率就定死几种好了。直接界面上添加2400,4800,9600,19200,38400,57600,115200

comboPortName这里,为了我们的软件能通用所有电脑避免每次查询的效率损失,我们使用微软提供的枚举方式,代码如下:

 

 

  1. string[] ports SerialPort.GetPortNames();  
  2. Array.Sort(ports);  
  3. comboPortName.Items.AddRange(ports); 

 

显然,我们需要定义一个SerialPort对象。添加DataReceived事件响应收到数据,还有一个重点,我们需要记得设置NewLine属性哦。好想有的版本不设置的时候,WriteLine和Write效果一样。

 

所以,我们需要初始化SerialPort对象,例如:

 

  1. //初始化SerialPort对象  
  2. comm.NewLine "/r/n" 
  3. comm.RtsEnable true;//根据实际情况吧。  
  4. //添加事件注册  
  5. comm.DataReceived += comm_DataReceived;

 

 初始化好串口,简单的编写打开,关闭方法,编写界面响应的是否自动换行,如何复位计数器,发送方法。以及数据处理。因为我已经写了完整注视,我就直接贴代码了。

 

 

 

[c-sharp]   view plain copy
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.ComponentModel;  
  4. using System.Data;  
  5. using System.Drawing;  
  6. using System.Linq;  
  7. using System.Text;  
  8. using System.Windows.Forms;  
  9. using System.IO.Ports;  
  10. using System.Text.RegularExpressions;  
  11. namespace SerialportSample  
  12.  
  13.     public partial class SerialportSampleForm Form  
  14.      
  15.         private SerialPort comm new SerialPort();  
  16.         private StringBuilder builder new StringBuilder();//避免在事件处理方法中反复的创建,定义到外面。  
  17.         private
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值