c# 简单的串口通信 新手篇

博主自学C#并成功开发一款串口调试工具,具备串口参数设置、数据收发、HEX显示、定时发送及文件保存等功能。在VS2017环境下,通过界面设计与代码实现,满足个人嵌入式项目调试需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近自己闲着 自学了C# ,本人不是搞软件的 ,搞嵌入式的 ,经常要用串口调试工具来调试 ,有时候还要处理一些数据但是市面上的不能满足我的要求 ,正好一个项目需要学习C#,借此机会来开发一个串口  ,说不定对我也有用!

话不多说先看看成果!

串口调试工具 功能:

   通过串口设置设置相应的参数  ,串口检测  检测插上的串口号 ,发送与接收数据,HEX显示 ,定时发送,文件保存。

1.在vs2017 菜单栏点击 文件  -> 新建项目, 创建c#下的 windows窗体应用:

在窗体上添加四个  “GroupBox”控件 ,分别将窗体分为“串口设置”,“数据接收”,“数据发送”,”文件操作“。

添加若干个"Label”和"ComboBOX”   ,添加两个" RodioButton  " 给字符与HEX  选择,添加若干个 “Button” 

发送与接收 添加 TextBox 控件。

不说了上代码!

设置一下标志位与 Form1 初始化。

串口检测 界面初始化

  •  

  private void SetPortProperty () //  设置串口名
        {
            sp = new SerialPort();
            sp.PortName = cbxComPort.Text.Trim();                //设置串口名
            sp.BaudRate = Convert.ToInt32(cbxBaudRate.Text.Trim());  //设置串口波特率
            float f = Convert.ToSingle(cbxStopBits.Text.Trim());     //设置停止位
            if(f==0)
            {
                sp.StopBits = StopBits.None;
            }
            else if(f==1)
            {
                sp.StopBits = StopBits.One;
            }
            else if(f==1.5)
            {
                sp.StopBits = StopBits.OnePointFive;
            }
            else if (f == 2)
            {
                sp.StopBits = StopBits.Two;
            }
            else
            {
                sp.StopBits = StopBits.One;
            }


            sp.DataBits = Convert.ToInt16(cbxDataBits.Text.Trim()); //设置数据位

            string s = cbxParity.Text.Trim();                //设置奇偶校验
            if (s.CompareTo("无") == 0)
            {
                sp.Parity = Parity.None;
            }
            else if (s.CompareTo("奇校验") == 0)
            {
                sp.Parity = Parity.Odd;
            }
            else if (s.CompareTo("偶校验") == 0)
            {
                sp.Parity = Parity.Even;
            }
            else
            {
                sp.Parity = Parity.None;
            }

            sp.ReadTimeout = -1;     //  设置超时读取时间
            sp.RtsEnable = true;

            // 定义Data Received 事件 ,  当串口收到数据后触发事件
            sp.DataReceived += new SerialDataReceivedEventHandler(sp_DataReceived);
            if (rbnHex.Checked)
            {
                isHex = true;
            }
            else
            {
                isHex = false;
            }

           

        }

上面3图  发送 数据      清除数据   打开文件

发送文件

定时发送

需要完整代码  私信  。

上面代码都是自己写的如果那里有不足之处还请多多指教   ,如果觉得对你有帮助就关注一下。

下载链接 : https://download.youkuaiyun.com/download/misslxy/12608949  解压密码私信

评论 434
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值