c#上位机开发(三)——简易串口发送数据
今天主要写一个串口数据发送的应用程序,只专门用来发送数据,具体效果图如下
1.功能要求
发送数据,数据由下拉框进行选择,然后点击按钮进行发送
2.功能实现
(1)上位机界面实现
界面看起来很简单,可以自己怎么喜欢怎么放置,主要有3个组件:
label显示“数据”二字
下拉框用于选择要发送的数据(主要为了体现使用下拉框)
按钮点击发送数据操作
重点是串口加入,设置串口的属性,如图需要在组件中拖串口组件到窗体中,还需要设置串口的属性,串口名称,波特率等等。。。
(2)后端代码实现
主要是分为2点
下拉框中元素的添加和串口发送
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;namespace SerialPort
{public partial class Form1 : Form{public Form1(){InitializeComponent();}//窗口创建初始化函数private void Form1_Load(object sender, EventArgs e){String str;//用来临时存储I大写的十六进制格式字符串for (int i = 0; i < 256; i++)//256个{str = i.ToString("x").ToUpper();//ToString("x")是将数字转换为16进制字符串,ToUpper()是将字符串所有字母转换为大写if (str.Length == 1)str = "0" + str;//如果是一位的比如0xA,此时为了对齐,在数据前加一个字符“0”(0x0A)comboBox1.Items.Add("0x" + str);//统一添加0x}comboBox1.Text = "0x00";//初试值}private void button1_Click(object sender, EventArgs e){String data = comboBox1.Text;//存储当前下拉框的内容String convertdata = data.Substring(2, 2);//获取要发送的数据后两位byte[] buffer = new byte[1];//用来存储数据buffer[0] = Convert.ToByte(convertdata, 16);//将字符串转化为byte型变量try//防止出错{serialPort1.Open();//打开串口serialPort1.Write(buffer, 0, 1);//发送数据serialPort1.Close();//关闭串口}catch//如果出错执行以下代码{if (serialPort1.IsOpen)//如果事先端口就已经打开了就关闭端口serialPort1.Close();MessageBox.Show("端口错误", "错误");}}}
}
附一下代码下载链接
serialport
c#上位机开发(三)——简易串口发送数据相关推荐
- 【C#上位机(简单实现串口发送)】
1.窗体函数 private void Form1CommSend_Load(object sender, EventArgs e) {//对数据下拉框进行初始化string str;for (int ...
- 新手入门上位机开发 C#语言:PC串口发送数据
题目概述: VS2017开发环境 PC串口发送数据 编程: namespace _004_7_28 { public partial class Form1 : Form {public Form1( ...
- qt connect函数_Qt 串口上位机开发Rice 上位机 学习开发
前几天分享了一个使用C#开发的串口上位机,那么今天教你如何100行QT代码实现一个串口上位机.如果你学习过C++,那么使用QT开发软件,就不是什么大问题了,QT很多时候使用在linux上.所以使用QT ...
- C#上位机开发串口通信编程——倒计时器开发
C#上位机开发串口通信编程--倒计时器开发 一.介绍 这是我按照B站上的一个上位机开发视频教程开发的倒计时器开发,本来只有开始计时功能,没有停止计时功能,停止计时功能后面我自己添加了. 视频网址:C# ...
- 安捷伦万用表--Agilent34401A数字万用表串口发送数据只上位机使用说明
Agilent34401A数字万用表串口发送数据使用说明 安捷伦34410A万用表可以通过背后的RS232接口与电脑连接,进行串口通信. 仪表的串口有两种工作方式,一种是交互模式–既能接收命令,又能发 ...
- Matlab上位机开发(一) —— 了解上位机
1. 上位机的作用 在嵌入式项目开发中,无论是单片机项目.嵌入式Linux项目.FPGA项目,上位机始终是一个很重要的部分,主要用于: 数据显示(波形.温度等) 用户控制(LED,继电器等) 文件传输 ...
- python上位机开发实例-python上位机
广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 若python上位机接受到的字符为"1',则print出ok,如果字符是 ...
- Matlab上位机开发
Matlab上位机开发 1 了解上位机 1.1 上位机的作用 1.2 常用上位机开发方式 1.2.1 Windows上位机(基于串口通信) 1.2.2 Android上位机(基于网络通信) 1.3 教 ...
- 485通信原理_上位机开发之单片机通信实践
经常会有一些学员会问到上位机与单片机之间通信的问题,而我们经常会讲上位机与PLC之间通信,那么其实对上位机开发来说,不管是和PLC通信,还是和单片机通信,通信原理都是一样的.PLC的本质就是单片机,在 ...
最新文章
- sudo 密码超时时间
- goodFeaturesToTrack函数
- JOptionPane提示框的一些常用方法
- powerbuilder提示不是下拉窗口_为什么过去状态管理不是问题?
- python 文件读写(追加、覆盖)
- 【设计模式系列】行为型之策略模式
- vi 编辑意外中断处理办法
- table中的td表示table data(表格数据),tr表示table row(表格行),th表示table head(表格头)
- freemarker mysql 生成bean_基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(v6.6.6版)...
- mysql 高级查询总结_MySQL高级查询
- iOS 之NSOperation(一)
- 高等代数——大学高等代数课程创新教材(丘维声)——1.3笔记+习题
- b 站视频下载神器合集,支持电脑和手机端
- 三级管输入输出特性曲线的分析
- 哪个软件能代替斐讯路由_斐讯路由app下载-斐讯路由app安卓版下载v7.2.0-聚侠网...
- MATLAB 多项式计算
- 华为起诉三星是中国企业改头换面的开始
- PHP在大型网站开发
- 服务器一直生成lpk.dll文件
- Mybatis学习记录(四)——Mybatis实现模糊查询的三种方法