自己用C#写的串口调试助手

为了学习C#串口编程,自己写了一个串口调试助手。功能还不完善。后续有时间再完善。新学习串口的人可以作为参考,有能力的人可以帮忙完善功能。共同提高。
在这里插入图片描述
已完成功能:

  1. 电脑串口的检测。自动完成当前电脑串口的检测。单击串口号三个字,更新串口号
  2. 默认设置为波特率9600,数据位8,停止位1,奇偶校验none,dtr默认高电平
  3. 打开串口成功会显示绿色指示灯。关闭会显示红色指示灯。
  4. 数据接受部分已经完成

未完成部分:

  1. 数据发送部分
  2. 16进制显示数据
  3. 统计接受和发送的字节数
  4. 在打开串口的状态下,拔掉串口线,自动关闭串口

附上代码的网盘链接:https://pan.baidu.com/s/1qSPvEnxhdGcvivWIQcMjZg
提取码:t0ws

以下是用C#串口调试助手的基本代码: ``` using System; using System.IO.Ports; using System.Windows.Forms; namespace SerialPortAssistant { public partial class MainForm : Form { private SerialPort serialPort; public MainForm() { InitializeComponent(); serialPort = new SerialPort(); serialPort.DataReceived += new SerialDataReceivedEventHandler(serialPort_DataReceived); } private void MainForm_Load(object sender, EventArgs e) { string[] portNames = SerialPort.GetPortNames(); foreach (string portName in portNames) { comboBoxPortName.Items.Add(portName); } if (portNames.Length > 0) { comboBoxPortName.SelectedIndex = 0; } } private void buttonOpen_Click(object sender, EventArgs e) { if (serialPort.IsOpen) { serialPort.Close(); } serialPort.PortName = comboBoxPortName.SelectedItem.ToString(); serialPort.BaudRate = int.Parse(comboBoxBaudRate.SelectedItem.ToString()); serialPort.Parity = (Parity)Enum.Parse(typeof(Parity), comboBoxParity.SelectedItem.ToString()); serialPort.DataBits = int.Parse(comboBoxDataBits.SelectedItem.ToString()); serialPort.StopBits = (StopBits)Enum.Parse(typeof(StopBits), comboBoxStopBits.SelectedItem.ToString()); serialPort.Open(); buttonOpen.Enabled = false; buttonClose.Enabled = true; } private void buttonClose_Click(object sender, EventArgs e) { if (serialPort.IsOpen) { serialPort.Close(); } buttonOpen.Enabled = true; buttonClose.Enabled = false; } private void buttonSend_Click(object sender, EventArgs e) { if (serialPort.IsOpen) { string data = textBoxSend.Text; serialPort.Write(data); } } private void serialPort_DataReceived(object sender, SerialDataReceivedEventArgs e) { string data = serialPort.ReadExisting(); this.Invoke(new Action(() => { textBoxReceive.AppendText(data); })); } } } ``` 此程序包括以下功能: 1. 打开和关闭串口 2. 发送数据到串口 3. 接收串口数据并显示在文本框中 你可以通过添加其他控件和功能来扩展它,例如: 1. 添加一个清除接收文本框的按钮 2. 显示串口的状态(开启/关闭) 3. 添加错误处理和异常处理 4. 支持不同的编码格式(例如UTF-8,ASCII等) 5. 支持自定义串口设置 6. 添加一个日志记录功能 7. 等等 以上仅为基本代码,您可以根据自己的需求进行修改和扩展。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值