【源码开源】C#桌面应用开发:串口调试助手

c#桌面应用开发

1、环境搭建和工程创建:参照番茄定时器项目

工程创建参照

2、界面布局设计

在这里插入图片描述

3、具体功能函数

(1)端口扫描:
    private void btn_com_scan_Click(object sender, EventArgs e){//端口号扫描ReflashPortToComboBox(serialPort1, cb_select_com);}
(2)初始化界面数据设置
    private void Form1_Load(object sender, EventArgs e){//第一次加载的时候,进行端口号扫描ReflashPortToComboBox(serialPort1, cb_select_com);cb_select_com.SelectedItem = "COM1";cb_select_baudrate.SelectedItem = "115200";cb_select_data_bits.SelectedItem = "8";cb_select_check_bit.SelectedItem = "None";cb_select_stop_bit.SelectedItem = "1";btn_open_com.Enabled = true;btn_close_com.Enabled = false;//默认使用 ascii模式rbtn_recv_ascii.Checked = true;rbtn_send_ascii.Checked = true;}
(3)串口接收:
 private void ReceiveData(object sender, SerialDataReceivedEventArgs e){string content = serialPort1.ReadExisting();        //从串口中读取输入流,返回stringShowData(content);}private void ShowData(string text){string receiveText = text;//更新接收数据计数recv_cntr += (UInt32)receiveText.Length;lab_recv_cntr.Text = recv_cntr.ToString();textBox_debug.AppendText("接收到了"+ receiveText.Length.ToString()+ "个数据: "+ text+"\r\n");if (rbtn_recv_hex.Checked){//按HEX模式 展示接收到的内容 byte[] recData = System.Text.Encoding.Default.GetBytes(receiveText);// 将接受到的字符串据转化成数组;  foreach (byte str in recData){textBox_recv.AppendText(string.Format("{0:X2} ", str));}}else{//按ASCII模式 展示接收到的内容textBox_recv.AppendText(text);                   //将收到的字符串追加展示出来}}
(4)按钮事件:
private void btn_open_com_Click(object sender, EventArgs e)
{Int32 ibaudrate = Convert.ToInt32(cb_select_baudrate.SelectedItem.ToString());serialPort1.PortName = cb_select_com.SelectedItem.ToString();serialPort1.BaudRate = ibaudrate;serialPort1.Parity = (System.IO.Ports.Parity)Enum.Parse(typeof(System.IO.Ports.Parity), cb_select_check_bit.Text);serialPort1.StopBits = (System.IO.Ports.StopBits)Enum.Parse(typeof(System.IO.Ports.StopBits), cb_select_stop_bit.Text);serialPort1.DataBits = Convert.ToInt16(cb_select_data_bits.Text);//添加串口事件处理serialPort1.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(ReceiveData);try{serialPort1.Open();btn_open_com.Enabled = false;btn_close_com.Enabled = true;}catch (Exception ex){MessageBox.Show("串口打开失败"+ex, "Error");}

4、完整工程代码开源

源码打包上传在CSDN,本意是不需要使用积分免费下载,如果下载时遇到收积分,联系我私发即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/375162.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

赤壁之战的烽火台 - 观察者模式

“当烽火连三月,家书抵万金;设计模式得其法,千军如一心。” 在波澜壮阔的三国历史长河中,赤壁之战无疑是一场改变乾坤的重要战役。而在这场战役中,一个看似简单却至关重要的系统发挥了巨大作用——烽火台。这个古老的…

基于ssm的图书管理系统的设计与实现

摘 要 在当今信息技术日新月异的时代背景下,图书管理领域正经历着深刻的变革,传统的管理模式已难以适应现代社会的快节奏和高要求,逐渐向数字化、智能化的方向演进。本论文聚焦于这一转变趋势,致力于设计并成功实现一个基于 SSM&…

在HTTP协议中常见的Token类型

在HTTP协议中&#xff0c;常见的Token类型主要有以下几种&#xff1a; Bearer Token&#xff1a;最常见的类型&#xff0c;用于OAuth 2.0认证&#xff0c;通过Authorization头传递&#xff0c;格式为Bearer <token>。更多请阅读&#xff1a;JWK和JWT 学习-CSDN博客 Basi…

【数据结构】09.树与二叉树

一、树的概念与结构 1.1 树的概念 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下的。 根结点&#xff1a;根…

应变与几何方程——弹性力学

变形协调方程 正应变的表达式&#xff1a;切应变的表达&#xff1a; 考虑坐标位移移动造成的增量 应变——考虑物体的变形的剧烈程度 正应变——微元线段长度的变化 剪应变——两微元所夹角度的变化 正应变——拉伸为正&#xff0c;压缩为负 剪应变——夹角减小为正&#x…

删除有序数组中的重复项

26. 删除有序数组中的重复项 - 力扣&#xff08;LeetCode&#xff09; 快慢指针&#xff0c;慢的指针去追赶快的指针&#xff0c;相等时也就是追到时&#xff0c;快指针移动向前 class Solution { public:int removeDuplicates(vector<int>& nums) {int s 1, q 1;i…

sql盲注

文章目录 布尔盲注时间盲注 布尔盲注 介绍&#xff1a;在网页只给你两种回显的时候是用&#xff0c;类似于布尔类型的数据&#xff0c;1表示正确&#xff0c;0表示错误。 特点&#xff1a;思路简单&#xff0c;步骤繁琐且麻烦。 核心函数&#xff1a; length()函数substr()函…

物流智能锁在物流货运智能锁控管理中的应用

一、物流锁控管理的痛点剖析 &#xff08;一&#xff09;货物安全风险高 在传统的物流运输中&#xff0c;常用的机械锁和普通电子锁安全性有限&#xff0c;容易被非法破解或撬开。据不完全统计&#xff0c;每年因货物被盗造成的经济损失高达数十亿。这导致货物在运输途中面临…

前端Canvas入门——怎么用Canvas画一些简单的图案

Canvas作为前端的画图工具&#xff0c;其实用途还是蛮广泛的&#xff0c;但是很多前端学习课程其实都很少涉及到这块内容。 于是乎&#xff0c;就写下这个了。 当然啦&#xff0c;目前还在学习摸索中。 一些实战代码&#xff0c;仅供参考&#xff1a; <canvasid"ctx&…

旅游景区度假村展示型网站如何建设渠道品牌

景区、度假村、境外旅游几乎每天的人流量都非常高&#xff0c;还包括本地附近游等&#xff0c;对景区及度假村等固定高流量场所&#xff0c;品牌和客户赋能都是需要完善的&#xff0c;尤其是信息展示方面&#xff0c;旅游客户了解前往及查看信息等。 通过雨科平台建设景区度假…

C++系列-Vector(一)

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” Vector的介绍及使用 Vector的介绍 当vector构建的参数类型为char类型时&#xff0c;它是和string是极其类似的&#xff0c;但是二者之间也有不同&#xff0c;比如&#xff0c…

旋转矩阵中的易错点

坐标系O1和O2&#xff0c;假设点P在坐标系O1中的坐标是{A1,B1,C1},坐标系O1先沿着y轴旋转-90度&#xff0c;再沿着Z轴旋转45度得到坐标系O2&#xff0c;求该点在坐标系O2中的坐标{A2,B2,C2}。 错误解法&#xff1a; 求出O1到O2的旋转旋转矩阵&#xff1a; 3D Rotation Conve…

Prototype, POC, MVP:区别与比较

在软件开发和产品设计领域&#xff0c;Prototype&#xff08;原型&#xff09;、Proof of Concept&#xff08;概念证明&#xff0c;简称POC&#xff09;和Minimum Viable Product&#xff08;最小可行产品&#xff0c;简称MVP&#xff09;是三个重要的概念。它们各自在项目的不…

在Ubuntu下安装samba实现和Windows系统文件共享

一、安装 apt install -y samba samba-clientSamba is not being run as an AD Domain Controller: Masking samba-ad-dc.service Please ignore the following error about deb-systemd-helper not finding those services. (samba-ad-dc.service masked) Created symlink /et…

Coast Landscape Racing Track(海岸景观赛道游戏场景)

这个包包含一个海岸景观,可用作赛道或第一人称动作游戏。 该场景有一个预先装饰的版本。 包括400多个道具来装饰现场。 墙和地面、skydome和所有纹理的碰撞网格都包括在内。 用于原型制作和游戏测试的完美场景。 纹理大小高达4096x4096 包括简单的海洋和游泳池动画水。 场景使…

树莓派pico入坑笔记,dht11使用及温湿度表制作

目录 关于树莓派pico和circuitpython的更多玩法&#xff0c;请看树莓派pico专栏 用到的库adafruit_dht&#xff0c;需要导入pico才能使用&#xff0c;在这里下载 样例程序 进阶玩法&#xff0c;显示信息的温湿度计 屏幕使用见树莓派pico专栏的ssd1306oled屏幕使用 代码 效…

JavaFx+MySql学生管理系统

前言: 上个月学习了javafx和mysql数据库,于是写了一个学生管理系统,因为上个月在复习并且有一些事情,比较忙,所以没有更新博客了,这个项目页面虽然看着有点简陋了,但是大致内容还是比较简单的,于是现在跟大家分享一下我的学生管理系统,希望对这方面有兴趣的同学提供一些帮助 &a…

在Anaconda环境中安装TensorFlow+启动jupyter notebook

1.打开cmd&#xff0c;输入C:\Users\xy>conda create -n tensorflow python3.7 这是在环境中创建了一个名为tensorflow的环境&#xff0c;具体会显示以下信息&#xff1a; C:\Users\xy>conda create -n tensorflow python3.7 Retrieving notices: ...working... done Co…

昇思25天学习打卡营第23天|K近邻算法实现红酒聚类

学AI还能赢奖品&#xff1f;每天30分钟&#xff0c;25天打通AI任督二脉 (qq.com) K近邻算法实现红酒聚类 本实验主要介绍使用MindSpore在部分wine数据集上进行KNN实验。 1、实验目的 了解KNN的基本概念&#xff1b;了解如何使用MindSpore进行KNN实验。 2、K近邻算法原理介绍…

Python酷库之旅-第三方库Pandas(018)

目录 一、用法精讲 44、pandas.crosstab函数 44-1、语法 44-2、参数 44-3、功能 44-4、返回值 44-5、说明 44-6、用法 44-6-1、数据准备 44-6-2、代码示例 44-6-3、结果输出 45、pandas.cut函数 45-1、语法 45-2、参数 45-3、功能 45-4、返回值 45-5、说明 4…