用C#编写一个串口助手接收温湿度、烟雾浓度传感器数据(cc2530)

本文主要是介绍用C#编写一个串口助手接收温湿度、烟雾浓度传感器数据(cc2530),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

C#做一个串口调试助手

新建工程

选择visual c#---->窗体应用程序

界面设计:拖拽一个textbox(文本框)控件、两个label(标签)控件、三个button(按钮)控件、两个combobox(组合框)控件。选中combobox(组合框)控件在右下方属性中找到items点开集合输入你的波特率数值。

修改label、button属性中的Text,输入你想要的内容,调整Textbox。

 

获取电脑上的串口号需要用到serialPort控件,直接从工具箱中拖拽过来。

.界面都做好后就开始敲代码了

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;//头文件namespace WindowsFormsApp1
{public partial class Form1 : Form{public Form1(){InitializeComponent();CheckForIllegalCrossThreadCalls = false;serialPort1.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);serialPort1.Encoding = Encoding.GetEncoding("GB2312");System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;}/// /数据接收部分private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)//接收函数  SerialDataReceivedEventArgs写错,导致错误,谨记{try{string recive_data;recive_data = serialPort1.ReadExisting();textBox1.AppendText(recive_data);textBox1.AppendText("\r\n");}catch { }}private void comboBox1_SelectedIndexChanged(object sender, EventArgs e){}private void Form1_Load(object sender, EventArgs e){}/// //搜索串口部分private void button1_Click(object sender, EventArgs e){SearchAnAddSerialToComboBox(serialPort1, comboBox1);}private void SearchAnAddSerialToComboBox(SerialPort MyPort, ComboBox MyBox)//搜索串口函数{ //将可用的串口号添加到ComboBoxstring[] NmberOfport = new string[20];//最多容纳20个,太多会卡,影响效率string MidString1;//中间数组,用于缓存MyBox.Items.Clear();//清空combobox的内容for (int i = 1; i < 20; i++){try //核心是靠try和catch 完成遍历{MidString1 = "COM" + i.ToString();  //把串口名字赋给MidString1MyPort.PortName = MidString1;       //把MidString1赋给 MyPort.PortName MyPort.Open();                      //如果失败,后面代码不执行??NmberOfport[i - 1] = MidString1;    //依次把MidString1的字符赋给NmberOfportMyBox.Items.Add(MidString1);        //打开成功,添加到下列列表MyPort.Close();                     //关闭MyBox.Text = NmberOfport[i - 1];    //显示最后扫描成功那个串口}catch { };}}/// 打开串口部分private void button2_Click(object sender, EventArgs e){if (button2.Text == "打开串口")//为0时,表示关闭,此时可以进行打开操作{try{serialPort1.PortName = comboBox1.Text;//获取端口号serialPort1.BaudRate = Convert.ToInt32(comboBox2.Text);//设置波特率serialPort1.Open();//打开串口button2.Text = " 关闭串口";}catch{MessageBox.Show("串口打开错误");}}else  //为1时,表示开启,此时可以进行关闭操作{try{serialPort1.Close();//关闭串口button2.Text = "打开串口";//置位为0,表示状态为关闭}catch { }}}/// <summary>/// /清空显示部分/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button3_Click(object sender, EventArgs e){textBox1.Clear();}}
}

以下是程序源码自取

http://链接:https://pan.baidu.com/s/13H5UBFEz_AW8k8Dpzu4BNA?pwd=hxy6  提取码:hxy6

这篇关于用C#编写一个串口助手接收温湿度、烟雾浓度传感器数据(cc2530)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/656274

相关文章

C#中DrawCurve的用法小结

《C#中DrawCurve的用法小结》本文主要介绍了C#中DrawCurve的用法小结,通常用于绘制一条平滑的曲线通过一系列给定的点,具有一定的参考价值,感兴趣的可以了解一下... 目录1. 如何使用 DrawCurve 方法(不带弯曲程度)2. 如何使用 DrawCurve 方法(带弯曲程度)3.使用Dr

SpringValidation数据校验之约束注解与分组校验方式

《SpringValidation数据校验之约束注解与分组校验方式》本文将深入探讨SpringValidation的核心功能,帮助开发者掌握约束注解的使用技巧和分组校验的高级应用,从而构建更加健壮和可... 目录引言一、Spring Validation基础架构1.1 jsR-380标准与Spring整合1

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

SpringBatch数据写入实现

《SpringBatch数据写入实现》SpringBatch通过ItemWriter接口及其丰富的实现,提供了强大的数据写入能力,本文主要介绍了SpringBatch数据写入实现,具有一定的参考价值,... 目录python引言一、ItemWriter核心概念二、数据库写入实现三、文件写入实现四、多目标写入

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用

Mysql如何将数据按照年月分组的统计

《Mysql如何将数据按照年月分组的统计》:本文主要介绍Mysql如何将数据按照年月分组的统计方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql将数据按照年月分组的统计要的效果方案总结Mysql将数据按照年月分组的统计要的效果方案① 使用 DA

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

详解C#如何提取PDF文档中的图片

《详解C#如何提取PDF文档中的图片》提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使用,下面我们就来看看如何使用C#通过代码从PDF文档中提取图片吧... 当 PDF 文件中包含有价值的图片,如艺术画作、设计素材、报告图表等,提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使