8-ESP8266 SDK开发基础入门篇--编写串口上位机软件
https://www.cnblogs.com/yangfengwu/p/11087558.html
咱用这个编写 ,版本都无所谓哈,只要自己有就可以,不同版本怎么打开
https://www.cnblogs.com/aliflycoris/p/8005955.html
C#API https://docs.microsoft.com/zh-cn/dotnet/api/?view=netframework-4.0
放几个文本显示
放个下拉框,用来选择串口号
各复制出来
把串口拖上来
做一个功能,软件启动的时候把电脑上所有的串口号显示到
string[] ports = System.IO.Ports.SerialPort.GetPortNames();//获取电脑上可用串口号
看一下控件的ID
comboBox1.Items.AddRange(ports);//给comboBox1添加数据
comboBox1.SelectedIndex = comboBox1.Items.Count > ? : -;//如果里面有数据,显示第0个
如果电脑上有可用串口,会显示
现在控制串口打开和关闭,,,,,,,改改按钮显示的哈,,,
让它默认显示打开
忘了...先设置下有可选择的波特率
写上常用的
9600
4800
1200
设置下默认显示的
if (button1.Text == "打开")//如果按钮显示的是打开
{
try//防止意外错误
{
serialPort1.PortName = comboBox1.Text;//得到comboBox1显示的串口内容
serialPort1.BaudRate = Convert.ToInt32(comboBox2.Text);//得到comboBox2显示的波特率内容
serialPort1.Open();//打开串口
button1.Text = "关闭";//按钮显示关闭
}
catch (Exception)
{
MessageBox.Show("打开失败", "提示!");//对话框显示打开失败
}
}
else//要关闭串口
{
try//预防串口有问题了,实际上已经关了
{
serialPort1.Close();//关闭串口
}
catch (Exception)
{
}
button1.Text = "打开";//按钮显示打开
}
现在优化一个地方
就是串口本来连接着电脑,然后拔下来了,或者重新来了个串口,咱检测下串口热插拔,然后重新更新下显示
https://blog.csdn.net/woshidaniu/article/details/44044093
开始上菜了哈,,
protected override void WndProc(ref Message m)
{
if (m.Msg == 0x0219)//设备改变
{
if (m.WParam.ToInt32() == 0x8004)//usb串口拔出
{
string[] ports = System.IO.Ports.SerialPort.GetPortNames();//重新获取串口
comboBox1.Items.Clear();
comboBox1.Items.AddRange(ports);
if (button1.Text == "关闭")//咱打开过一个串口
{
if (!serialPort1.IsOpen)//咱打开的那个关闭了,说明拔插的是咱打开的
{
button1.Text = "打开";
serialPort1.Dispose();//释放掉原先的串口资源
comboBox1.SelectedIndex = comboBox1.Items.Count > ? : -;//显示获取的第一个串口号
}
else//热插拔不是咱打开的那个
{
comboBox1.Text = PortNameCopy;//默认显示的是咱打开的那个串口号
}
}
else//没有打开过
{
comboBox1.SelectedIndex = comboBox1.Items.Count > ? : -;//显示获取的第一个串口号
}
}
else if (m.WParam.ToInt32() == 0x8000)//usb串口连接上
{
string[] ports = System.IO.Ports.SerialPort.GetPortNames();//重新获取串口
comboBox1.Items.Clear();
comboBox1.Items.AddRange(ports);
if (button1.Text == "关闭")//咱打开过一个串口
{
comboBox1.Text = PortNameCopy;//默认显示的是咱打开的那个串口号
}
else
{
comboBox1.SelectedIndex = comboBox1.Items.Count > ? : -;//显示获取的第一个串口号
}
}
}
base.WndProc(ref m);
}
这个是系统自带的函数
关于那些值,,,我是自己监控的....
现在大家自己测试热插拔哈
写的够多的了...放到下一节接着写
https://www.cnblogs.com/yangfengwu/p/11087618.html
8-ESP8266 SDK开发基础入门篇--编写串口上位机软件的更多相关文章
- 9-ESP8266 SDK开发基础入门篇--编写串口上位机软件
https://www.cnblogs.com/yangfengwu/p/11087613.html 页面修改成这样子 现在看串口发送数据 点击点亮 发送0xaa 0x55 0 ...
- 26-ESP8266 SDK开发基础入门篇--编写WIFI模块 SmartConfig/Airkiss 一键配网
https://www.cnblogs.com/yangfengwu/p/11427504.html SmartConfig/Airkiss 配网需要APP/微信公众号,这节大家先使用我做好的APP/ ...
- 29-ESP8266 SDK开发基础入门篇--编写TCP 客户端程序(Lwip RAW模式,非RTOS版,精简入门)
https://www.cnblogs.com/yangfengwu/p/11456667.html 由于上一节的源码长时间以后会自动断开,所以再做这一版非RTOS版的,咱直接用lua源码里面别人写的 ...
- 28-ESP8266 SDK开发基础入门篇--编写wifi模块TCP 客户端程序(官方API版,非RTOS版)
https://www.cnblogs.com/yangfengwu/p/11432795.html 注:这节实现的功能是WIFI模块作为TCP 客户端,连接咱的TCP服务器,然后实现透传 本来想着做 ...
- 27-ESP8266 SDK开发基础入门篇--编写Android SmartConfig一键配网程序
style="font-size: 18pt;">https://www.cnblogs.com/yangfengwu/p/11429007.html https://wik ...
- 22-ESP8266 SDK开发基础入门篇--编写Android TCP客户端 , 连接和断开
https://www.cnblogs.com/yangfengwu/p/11192618.html 有些很细致的东西参考这篇 https://www.cnblogs.com/yangfengwu ...
- 23-ESP8266 SDK开发基础入门篇--编写Android TCP客户端 , 加入消息处理
https://www.cnblogs.com/yangfengwu/p/11203546.html 先做接收消息 然后接着 public class MainActivity extends App ...
- 1-ESP8266 SDK开发基础入门篇--开发环境搭建
因为今天终于做好了自己的另一块工控板,所以我就开始写基础公开篇的内容,希望自己小小的努力能够帮到大家 自己做的另一块板子 https://www.cnblogs.com/yangfengwu/cate ...
- 25-ESP8266 SDK开发基础入门篇--控制WIFI连接路由器
https://www.cnblogs.com/yangfengwu/p/11324411.html 说个事情,现在SDK的版本已经出到3.0了,但是我还是使用2.0 如果只是为了学习研究 选择3 ...
随机推荐
- Java学习:运算符的使用与注意事项
运算符的使用与注意事项 四则运算当中的加号“+”有常见的三种用法: 对于数值来,那就是加法. 对于字符char类型来说,在计算之前,char会被提升成为int,然后再计算.char类型字符,和int类 ...
- Xgboost GPU配置
眼残cmake版本配错了搞了半天,简单记录一下,老规矩,参考一下官方的文档. git clone --recursive https://github.com/dmlc/xgboost cd xgbo ...
- https相关知识总结
从园子里看到很多讲解不错的文章,将链接放到这里,备忘 浅析数字证书:https://www.cnblogs.com/hyddd/archive/2009/01/07/1371292.html
- Python与Golang对比
一:前言 刚看了一篇软文,说什么“才华是改变人生最有效的途径”,反正呢,大体就是科技进步,要想一直在车上,就得不断的学习,刚好最近也准备学习Golang,最近火的不能在火了吧,刚好也有些Python基 ...
- JavaWeb第三天--JavaScript
JavaScript 1. JavaScript概述 1.1 JavaScript是什么?有什么作用? HTML:就是用来写网页的.(人的身体) CSS:就是用来美化页面的.(人的衣服) JavaSc ...
- 08-Vuex
Vuex 一.简介 ① 是什么:是一个状态管理工具,存放项目组件中的公共数据 二.使用语法 ① 语法 -1. 创建 Vuex 实例 const store = new Vuex.Store({ sta ...
- iOS 视图调用
init-初始化程序 viewDidLoad-加载视图 viewWillAppear-UIViewController对象的视图即将加入窗口时调用: viewDidApper-UIViewContro ...
- JDK安全证书的一个错误消息 No subject alternative names present的解决办法
我使用Java消费某网站一个Restful API时,遇到这个错误: 21:31:16.383 [main] DEBUG org.springframework.web.client.RestTemp ...
- mysql 查询当天数据
查询当天数据 select * from tab where FROM_UNIXTIME(fabutime, '%Y%m%d') = 20121217; mysql TO_DAYS(date) 函 ...
- Servlet入门和HTTP。
Servlet: 1.概念:Servlet:server applet ,运行在服务器端的小程序. 浏览器在访问服务器的动态资源时,访问的是具有逻辑性的Java代码(Java类),而这里的Jav ...