1、C#编写串口助手

1、C#基本操作步骤。

①新建项目:

VS---新建---项目---选择C#下面的Windows窗口应用程序,输入项目"名称"、选择保存"位置",点确定。

②添加按钮(添加button控件):

工具箱窗口选择"button"---拖动到"Form1.cs[设计]","button"的属性窗口,

"name"是button的唯一名称标识,"text"是button上显示的文本信息。

③添加处理函数(添加button控件事件处理函数):

双击设计窗口的"button",自动添加“button1_Click”函数,光标移动到代码输入位置,

添加代码语句"MessageBox.Show("hello world");"。

④执行并生成执行文件(调试及运行):

调试菜单----启动调试F5(或者开始执行不调试ctrl+F5),可以观察到项目的执行情况。

生成菜单---生成解决方案,项目保存路径找到bin---debug里面有"xxxxxx.exe",双击即可看到项目的执行情况。


2、C#编写串口助手。

①创建Windows窗口应用程序。

文件---新建---项目,选择Visual C#,选择Windows窗体应用chen程序,名称:项目名称"serial commcommunication",位置:保存项目的路径,解决方案:创建新的解决方案(添加到解决方案),解决方案名称:自动生成与项目名称相同,框架:.NET Framework 4.7,默认勾选为解决方案创建目录,点击确定。

Program.cs是默认生成的C#文件,里面的程序是默认生成的。

Form1.cs是自动生成的窗体,双击可以看见窗体,在窗体右键---查看代码,可以看到同名Form1.cs的C#文件。

②创建窗体的界面。

Form1窗体添加三个GroupBox控件,Text分别设置为:串口设置、接收数据、发送数据。

Form1窗体添加五个Lable控件,Text分别设置为:串口号:、波特率:、停止位:、奇偶校验:、数据位:。

Form1窗体添加五个ComoBox控件,Name分别设置为:cbxCOMPort、cbxBaudRate、cbxStopBits、cbxParity、cbxDataBits。

Form1窗体添加两个RadioButton控件,Text分别设置为:字符显示、HEX显示,Name分别设置为:rbnChar、rbnHex,

        Checked分别为:True、False。

Form1窗体添加四个Button控件,Text分别设置为:检测串口、打开串口、清空数据、发送数据,

        Name分别设置为:btnCheckCom、btnOpenCom、btnClearData、btnSendData。

Form1窗体添加两个TextBox控件,Name分别设置为:tbxRecvData、tbxSendData,接收的ReadOnly属性设置为True。

Fomr1窗体的AcceptButton属性设置为btnSendData,在窗体上回车关联到发送数据按钮。

③代码编写。

  • 加入命名空间:

using System.IO.Ports;    //添加命名空间System.IO.Ports,因为要用到串口类

  • 定义四个变量:

SerialPort sp = null;    //申明一个串口类

bool isOpen = false;    //打开串口的标志

bool isSetProperty = false;    //属性设置的标志

bool isHex = false;    //十六进制显示的标志

  • 自动生成Form1的构造函数:

public Form1()

{

    InitializeComponent();    //所有零件初始化

}

  • Form1的加载函数:

private void Form1_Load(object sender, EventArgs e)

{

    this.MaximizeBox = false;    //窗口的最大化按钮失能

    this.MaximumSize = this.Size;    //窗口的最大尺寸为当前尺寸

    this.MinimumSize = this.Size;     //窗口的最小尺寸为当前尺寸

    //博客后面的函数都需要添加在此

}

  • 添加串口号:

for(int i=0;i<10;i++)

{

    cbxCOMPort.Items.Add("COM"+(i+1).ToString());    //ComboBox的Items属性的Add方法,可以添加条目

}

cbxCOMPort.SelectedIndex = 0;    //串口号选择的索引为0,即COM1

  • 添加波特率:

cbxBaudRate.Items.Add("1200");    //cbxBaudRaud的Items属性的Add方法,可以添加条目

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 = 5;    //波特率选择的索引为5,即38400波特率

  • 添加停止位:

cbxStopBits.Items.Add("0");    //cbxStopBits的Items属性的Add方法,可以添加条目

cbxStopBits.Items.Add("1");

cbxStopBits.Items.Add("1.5");

cbxStopBits.Items.Add("2");

cbxStopBits.SelectedIndex = 0;    //停止位选择的索引为0,即0位停止

  • 添加奇偶校验:

cbxParity.Items.Add("无");    //cbxParity的Items属性的Add方法,可以添加条目

cbxParity.Items.Add("奇校验");

cbxParity.Items.Add("偶校验");

cbxParity.SelectedIndex = 0;    //校验选择的索引为0,即无校验

  • 添加数据位:

cbxDataBits.Items.Add("8");    //cbxDataBits的Items属性的Add方法,可以添加条目

cbxDataBits.Items.Add("7");

cbxDataBits.Items.Add("6");

cbxDataBits.Items.Add("5");

cbxDataBits.SelectedIndex = 0;    //数据位选择的索引为0,即8位数据

  • 显示类型:

rbnChar.Checked = true;    //rbnChar选中

  • 检测可用串口:

private void btnCheckCom_Click(object sender, EventArgs e)

{

    bool comExistence = false;    //有无可用串口标志位

    cbxCOMPort.Items.Clear();    //清除当前串口号中的所有串口名称

    for(int i=0;i<10;i++)

    {

        try

        {

      &nb

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值