【源码开源】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.mzph.cn/diannao/45361.shtml

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

相关文章

安装失败,已为系统安装 Microsoft Edge Webview2 Runtime

在使用微软的webview2的时候,有时候会出现如下错误提示: 解决方案: 1、打开电脑“控制面板”,找到Microsoft Edge Webview2 Runtime 2、鼠标右键点击,“更改”,按电脑指示操作执行。 3、再次安装Microsoft…

CV每日论文--2024.7.12

1、LLaVA-NeXT-Interleave: Tackling Multi-image, Video, and 3D in Large Multimodal Models 中文标题:LLaVA-NeXT-Interleave:处理大型多模态模型中的多图像、视频和 3D 简介:视觉指令调整在增强大型多模态模型(LMMs)的能力方面取得了显著…

事务码 BP DYNPRO_NOT_FOUND

事务码 BP DYNPRO_NOT_FOUND 使用事务 BP 时,模块 PBO_START_SUBSCREEN 中 SAPLBUSS 中的转储 DYNPRO_NOT_FOUND 目录 问题 双击查看详细信息时发生错误DYNPRO_NOT_FOUND 解决方案 执行事务码BUSP 重新生成屏幕 参考链接: 1621119

2w才学到的交易策略,Anzo Capital今天免费分享

花费了2w学费才学到的外汇交易策略,Anzo Capital今天免费分享!那就是使用交易价格行动和利润区策略,在实施价格行动利润区策略时,关键步骤一定要严格执行,下面是操作的关键步骤: 1. 定义趋势:首…

获取网页logo图标

怎么获取网页logo图标的URL链接 第一种方法: 最常用的方法(适用于90%的站点)是,直接在访问网址首页链接后加上上/favicon.ico,例如: https://www.baidu.com/favicon.ico 第二种方法: 按F12&…

【逆向基础】十二、工具分享之Process Explorer

一、简介 Process Explorer是一款出色的进程资源管理器。在调试运行window系统中的程序软件时,使用Process Explorer可以通过工整的UI界面,让我们快速了解软件的进程信息,挂载的动态库等;可以帮助我们快速定位分析的方向&#xf…

python如何结束程序运行

方法1:采用sys.exit(0),正常终止程序,从图中可以看到,程序终止后shell运行不受影响。 方法2:采用os._exit(0)关闭整个shell,从图中看到,调用sys._exit(0)后整个shell都重启了(RESTAR…

30.ROM-IP核的调用

(1)ROM IP核简介: ROM是只读存储器,是一种只能读出事先锁存的固态半导体存储器。其特性是一旦存储资料就无法再将之改变或删除,并且资料也不会因为电源关闭而消失。(掉电不丢失) FPGA使用内部RA…

上讯信息 InforCube运维管理审计系统 RepeatSend 前台RCE漏洞复现

0x01 产品简介 上讯信息的InforCube运维管理审计系统(InforCube OMA)是一款新一代运维安全审计产品,旨在全面提升企业IT运维管理水平,通过细粒度授权、全过程操作记录及控制、全方位操作审计等功能,实现运维过程的“事…

USB PD SINK协议取电芯片不同品牌介绍对比-在选择PD SINK 协议芯片时,用户需要综合考虑各方面的因素,包括工作耐压、稳定性、兼容性等

PD SINK协议芯片是现代通信技术中的一项重要技术,它起着连接不同系统的桥梁作用。协议芯片内部集成了各种不同的通信协议,如蓝牙、Wi-Fi、以太网等,使不同设备之间的通信变得更加简单和高效。协议芯片推动了信息通信技术的发展。在过去&#…

Windows下查看某个端口被某个应用占用

1、打开命令窗口(以管理员身份运行) ​​​​​​​​​​ 2、查找所有运行的端口 输入所有命令:当前命令可以查看当前电脑的全部端口使用情况 netstat -ano3、查看被占用端口对应的 PID(这里以8000端口为例) netstat -ano|findstr &qu…

博物馆地图导航系统:高精度地图引擎与AR/VR融合,实现博物馆数字化转型

在人民日益追求精神文化的时代下,博物馆作为传承与展示人类文明的璀璨殿堂,其重要性不言而喻。然而,随着博物馆规模的不断扩大和藏品种类的日益丰富,游客在享受知识盛宴的同时,也面临着“迷路”与“错过”的困扰。博物…

一周涨8K star!RAG技术迎来大升级,速度关注

之前我们聊到过RAG,它是目前非常常用的增强大模型能力的技术,通过检索增强生成(RAG),大型语言模型能够从外部知识源检索信息,从而回答涉及私有或未见文档的问题。 今天我们分享一个开源项目,它…

【MybatisPlus】QueryWapper和LambdaQueryWrapper的区别

【MybatisPlus】QueryWapper和LambdaQueryWrapper的区别 (一)MyBatisPlus的条件查询构造器QueryWrapperLambdaQueryWrapper优缺点使用场景 (二)Lambda的概念(三)QueryWrapper如何进化成LambdaQueryWrapper的…

Python爬虫之路(2):爬天气情况

hello hello~ ,这里是绝命Coding——老白~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页:绝命Coding-CSDN博客 &a…

5G RedCap调查报告

一、5G RedCap技术背景 5G RedCap(Reduced Capability缩写,轻量化5G),是3GPP标准化组织定义下的5G裁剪版本,是5G面向中高速率连接场景的物联网技术,它的能力介于5G NR(含eMBB和uRLLC)和LPWA(如LTE-M和NR-IoT)之间,如图1所示,是5G-A(5G Advanced)的关键技术之一。…

WAV 和 FLAC 哪个音质好?常见音频格式又如何转换?

音频文件的格式种类繁多,每种格式都有其独特的优势和应用场景。其中,WAV 和 FLAC 作为两种常见的无损音频格式,备受音频发烧友和专业人士的青睐。它们不仅能够保留原始录音的全部细节,还为听众提供了近乎 CD 品质的听觉体验。然而…

昇思25天学习打卡营第13天|基于MindNLP+MusicGen生成自己的个性化音乐

关于MindNLP MindNLP是一个依赖昇思MindSpore向上生长的NLP(自然语言处理)框架,旨在利用MindSpore的优势特性,如函数式融合编程、动态图功能、数据处理引擎等,致力于提供高效、易用的NLP解决方案。通过全面拥抱Huggin…

QT实现自定义带有提示信息的透明环形进度条

1. 概述 做界面开发的童鞋可能都会遇到这样的需求,就是有一些界面点击了之后比较耗时的操作,需要界面给出一个环形进度条的进度反馈信息. 如何来实现这样的需求呢,话不多说,上效果 透明进度条 2. 代码实现 waitfeedbackprogressba…

从业务架构到应用架构技术剖析

从业务架构到应用架构 4A架构理论,一个企业级架构框架,将企业架构(EA)划分为四大核心领域,每个领域都聚焦于组织的不同维度。该理论提供了一种结构化的设计和理解企业运作方式的方法,确保技术解决方案能…