使用C#及Visual Studio 2019写一个简单的串口助手

本文介绍了如何使用Visual Studio 2019创建一个简单的Windows窗体应用,该应用是一个串口助手。通过步骤讲解,包括创建项目、设置工程、添加控件和编写事件程序,帮助初学者了解如何实现串口通信的基本功能。
摘要由CSDN通过智能技术生成

使用C#及Visual Studio 2019写一个简单的串口助手(萌新笔记)

简单介绍

在下是位大四的电子专业的学生,考虑到嵌入式上位机的重要性,所以学习一下用C#写上位机,这也是我全靠看网上各位前辈的帖子和资料,才完成的,感谢各位前辈大佬!
首先,确定一下功能,正常的数据收发、十六进制收发、添加回车换行、自动发送,这些是经常会用到的功能。

在这里插入图片描述

设计过程

犹豫再三还是从头开始吧,毕竟可能大家也和我一样,目前都是小白。
1.创建项目,及工程(我用的是Visual Studio 2019)选择windows 窗体应用;
在这里插入图片描述
2. 设置项目名、保存路径、还有框架,框架这里我选择的是.NET XXX 4.6.1因为后面程序设计完成,打包成.exe文件时,还需要用到这里的框架,最后点击创建;
在这里插入图片描述
3.创建项目完成后,进入工程管理器,左边白色部分就是Form编辑窗口;
在这里插入图片描述
4. 点击打开视图–》》工具箱,左边栏就出现了,各控件列表,这就是我们做上位机最基本的部分,点开公共控件、容器等就可以看到我们常用到的各个组件了;在这里插入图片描述
在这里插入图片描述
5. 从工具箱中拖出Button等控件,并用鼠标点击选中,界面右下角则显示出其属性;在这里插入图片描述
6. 现在添加我们需要的控件,从工具箱中
拖出4个GroupBox 分别将属性中的Text改为串口设置、定时发送、发送数据、接收数据。GroupBox 控件是将其它的控件放入其中,形成一个控件组。
拖出6个Label分别Text设置为: 串口号:、波特率:、数据位:、停止位:、奇偶校验: 、时间;
拖出5个ComboBox,分别将name(属性窗口往上拉就可以找到)设置为cbxCOMPort、cbxBaudRate、cbxDataBits、cbxStopBits、cbxParity;
拖出2个RadioButton,Text分别设置为:字符显示、HEX显示
name分别设置为rbnChar、rbnHex Checked分别为:True、False(将这2个放在同一个GroupBox中,RadioButton控件只能被选中一个)
拖出4个Button,Text分别设置为检测串口、打开串口、发送数据、清除数据,name分别设置为btnCheckCom、btnOpenCom、btnSendData、btnClearData
拖出3个CheckBox,Text分别设置为HEX发送、回车换行、自动发送;
拖出一个NumericUpDown;
拖出2个TextBox,name分别设置为tbxRecvData、tbxSendData,接收的ReadOnly属性设置为True。点击框上面的黑色小三角,选中MultiLine可任意伸缩大小。属性中的Font可修改字体大小等,ScrollBars设置为Both可垂直、水平拉伸信息;
拖出一个StatusStrip;
拖出2个Timer;
点击Form1面板上边沿部分,选中面板,在属性中BackColor可修改背景颜色,AcceptButton设置为btnSendData,在窗体上回车关联到发送数据按钮,Text可修改左上方名称,Icon可设置图标;
在这里插入图片描述
7. 双击控件可跳转到事件程序中,外框架搭好了,接下来就是写程序,完善其功能。
在Form1.cs中添加using System.IO.Ports;
using System.Text.RegularExpressions;//正则表达式,加入命名空间。

  1. 程序源码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO.Ports;
using System.Text.RegularExpressions;//正则表达式

namespace uart_app
{
   
    public partial class Form1 : Form
    {
   
        SerialPort sp = null;
        bool isOpen = false;
        bool isSetProperty = false;
        public Form1()
        {
   
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
   
            this.MaximizeBox = false;
            this.MaximumSize = this.Size;
            this.MinimumSize = this.Size;

            for (int i = 0; i < 20; i++)
            {
   
                cbxCOMPort.Items.Add("COM" + (i + 1).ToString());
            }
            cbxCOMPort.SelectedIndex = 0;

            cbxBaudRate.Items.Add("1200");
            cbxBaudRate.Items.Add("2400");
            cbxBaudRate.Items.Add("4800");
            cbxBaudRate.Items.Add("9600");
            cbxBaudRate.Items.Add("19200");
            cbxBaudRate.Items.Add("38400");
            cbxBaudRate.Items.Add("115200");
            cbxBaudRate.SelectedIndex = 6;

            cbxStopBits.Items.Add("0");
            cbxStopBits.Items.Add("1");
            cbxStopBits.Items.Add("1.5");
            cbxStopBits.Items.Add("2");
            cbxStopBits.SelectedIndex = 1;

            cbxParity.Items.Add("无");
            cbxParity.Items.Add("奇校验");
            cbxParity.Items.Add("偶校验");
            cbxParity.SelectedIndex = 0;

            cbxDataBits.Items.Add("8");
            cbxDataBits.Items.Add(
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值