dw怎么导入网站模板/百度一下首页网址百度

dw怎么导入网站模板,百度一下首页网址百度,iknowledge wordpress,广西桂林天气预报15天查询C# WPF 串口通信 安装依赖库 安装依赖库 System.IO.Ports using System.Diagnostics; using System.IO.Ports; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windo…

C# WPF 串口通信

  • 安装依赖库

安装依赖库

  • System.IO.Ports
    在这里插入图片描述
    在这里插入图片描述
using System.Diagnostics;
using System.IO.Ports;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Markup.Localizer;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;namespace GasAlarmFactoryTools
{struct TestInfoData {public string dev_uuid;public string dev_simcard;public string private_data;public string datetime;};/// <summary>/// Interaction logic for MainWindow.xaml/// </summary>public partial class MainWindow : Window{// TODO: 串口相关SerialPort mSerialPort = new SerialPort();private Thread recvThread;long recvTimems = 0;    // 用于计算串口接收完一帧数据int rxLen = 0;  // 串口接收到的数据长度byte[] rxBuff = new byte[128];  // 串口数据接收缓存private List<string> baudrateList = new List<string> {"4800","9600","19200","38400","57600","115200","256000","1000000","2000000","3000000"};public MainWindow(){InitializeComponent();// 获取所有可用串口端口,并添加到comboBoxCOMstring[] ports = System.IO.Ports.SerialPort.GetPortNames();comboBoxComName.ItemsSource = ports;comboBoxComName.SelectedIndex = 0;  // 默认选择索引comboBoxBaudrate.ItemsSource = baudrateList;    // 波特率设置combobox数据源}/// <summary>/// 窗口关闭处理/// </summary>/// <param name="e"></param>protected override void OnClosing(System.ComponentModel.CancelEventArgs e){if (MessageBox.Show("确定要退出吗?", "确认", MessageBoxButton.YesNo) != MessageBoxResult.Yes){// 用户选择“否”,取消关闭e.Cancel = true;}mSerialPort.Close();//mTimer.Dispose();if (recvThread != null){                recvThread.Abort();}base.OnClosing(e);}private void recvTimerCalback(object obj){this.Dispatcher.Invoke(new Action(() =>{// TODO: 处理接收到的数据}));}private void recvThreadTask(){Thread.Sleep(200);try{while (true){Thread.Sleep(1);if (mSerialPort.IsOpen){int datalength = mSerialPort.BytesToRead;if (datalength >= 1){//Console.WriteLine("BytesToRead:" + datalength);for (int i = 0; i < datalength; i++){recvTimems = Environment.TickCount; // 更新串口数据接收时间byte data = (byte)mSerialPort.ReadByte();rxBuff[rxLen++] = data;if (rxBuff.Length == rxLen){rxLen = 0;Array.Clear(rxBuff, 0, rxBuff.Length);Console.WriteLine("Error================" + rxBuff.Length + "\n");}//Console.WriteLine(data.ToString("X2"));}}recvTimerCalback(null);}}}catch (Exception ex){Console.WriteLine(" ----------异常------------");}}private void btnOpenCloseCom_Click(object sender, RoutedEventArgs e){if (mSerialPort.IsOpen){mSerialPort.Close();btnOpenCloseCom.Content = "打开串口";btnOpenCloseCom.Background = Brushes.Red;Console.WriteLine("关闭串口成功");Debug.WriteLine("关闭串口成功");comboBoxComName.IsEnabled = true;comboBoxBaudrate.IsEnabled = true;comboBoxDataBits.IsEnabled = true;comboBoxStopBits.IsEnabled = true;comboBoxParity.IsEnabled = true;comboBoxHandshake.IsEnabled = true;}else{// TODO: 串口默认设置mSerialPort.BaudRate = 4800; // 波特率mSerialPort.DataBits = 8;   // 数据位mSerialPort.StopBits = StopBits.One;    // 停止位mSerialPort.Parity = Parity.None;   // 校验位mSerialPort.Handshake = Handshake.None; // 流控位// mSerialPort.ReadTimeout = 1500; // 读超时// mSerialPort.Encoding = Encoding.UTF8; // 编码方式// mSerialPort.RtsEnable = true;// mSerialPort.DataReceived += SerialPort_DataReceived;Console.WriteLine("baudrate SelectedIndex:" + comboBoxBaudrate.SelectedIndex);Console.WriteLine("baudrate SelectedValue:" + comboBoxBaudrate.SelectedValue);Console.WriteLine("baudrate Text:" + comboBoxBaudrate.Text);// TODO: 串口端口选择mSerialPort.PortName = comboBoxComName.SelectedItem.ToString();// TODO: 设置串口波特率if (comboBoxBaudrate.SelectedIndex < 0){mSerialPort.BaudRate = Convert.ToInt32(comboBoxBaudrate.Text);}else{switch (comboBoxBaudrate.SelectedValue){case "4800":mSerialPort.BaudRate = 4800;break;case "9600":mSerialPort.BaudRate = 9600;break;case "19200":mSerialPort.BaudRate = 19200;break;case "38400":mSerialPort.BaudRate = 38400;break;case "57600":mSerialPort.BaudRate = 57600;break;case "115200":mSerialPort.BaudRate = 115200;break;case "256000":mSerialPort.BaudRate = 256000;break;case "1000000":mSerialPort.BaudRate = 1000000;break;case "2000000":mSerialPort.BaudRate = 2000000;break;case "3000000":mSerialPort.BaudRate = 3000000;break;default:MessageBox.Show("波特率设置有误!");break;}}// TODO: 串口数据位设置switch (comboBoxDataBits.SelectedIndex){case 0:mSerialPort.DataBits = 5;break;case 1:mSerialPort.DataBits = 6;break;case 2:mSerialPort.DataBits = 7;break;case 3:mSerialPort.DataBits = 8;break;default:mSerialPort.DataBits = 8;break;}// TODO: 串口停止位设置switch (comboBoxStopBits.SelectedIndex){case 0:mSerialPort.StopBits = StopBits.One;break;case 1:mSerialPort.StopBits = StopBits.OnePointFive;break;case 2:mSerialPort.StopBits = StopBits.Two;break;default:mSerialPort.StopBits = StopBits.One;break;}// TODO: 串口校验位设置switch (comboBoxParity.SelectedIndex){case 0:mSerialPort.Parity = Parity.None;   // 无校验Console.WriteLine("无校验");break;case 1:mSerialPort.Parity = Parity.Odd;   // 奇校验Console.WriteLine("奇校验");break;case 2:mSerialPort.Parity = Parity.Even;   // 偶校验Console.WriteLine("偶校验");break;case 3:mSerialPort.Parity = Parity.Mark;   // 校验位1Console.WriteLine("校验位1");break;case 4:mSerialPort.Parity = Parity.Space;   // 校验位0Console.WriteLine("校验位0");break;default:mSerialPort.Parity = Parity.None;   // 无校验break;}// TODO: 串口流控位设置switch (comboBoxHandshake.SelectedIndex){case 0:mSerialPort.Handshake = Handshake.None;break;case 1:mSerialPort.Handshake = Handshake.XOnXOff;                        break;case 2:mSerialPort.Handshake = Handshake.RequestToSend;break;case 3:mSerialPort.Handshake = Handshake.RequestToSendXOnXOff;break;default:mSerialPort.Handshake = Handshake.None;break;}// TODO: 尝试打开串口try {mSerialPort.Open();btnOpenCloseCom.Content = "关闭串口";btnOpenCloseCom.Background = Brushes.Green;}catch (Exception ex) {MessageBox.Show(ex.Message.ToString());}}}}
}
// TODO: 串口写入数据  3个参数(buf, offset, len);
mSerialPort.Write(new byte[] { 0xAA, 0x00, 0x08, 0x00, 0xB2, 0x55 }, 0, 6);

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

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

相关文章

如何选取合适的 NewRatio 值来优化 JVM 的垃圾回收策略

目录 一、垃圾回收模型简介 &#xff08;一&#xff09;新生代&#xff08;Young Generation&#xff09; &#xff08;二&#xff09;老年代&#xff08;Old Generation&#xff09; &#xff08;三&#xff09;NewRatio 的作用与影响 &#xff08;四&#xff09;图解&am…

Element Plus中的树组件的具体用法(持续更新!)

const defaultProps {//子树为节点对象的childrenchildren: children,//节点标签为节点对象的name属性label: name, } 属性 以下是树组件中的常用属性以及作用&#xff1a; data&#xff1a;展示的数据&#xff08;数据源&#xff09; show-checkbox&#xff1a;节点是否可…

第十一届蓝桥杯单片机国赛

什么&#xff1f;4T模拟赛和省赛做起来轻轻松松&#xff1f;不妨来挑战一下第十一届国赛&#xff0c;这一届的国赛居然没考超声波、串口通信&#xff01;只要你正确地理解了题目的意思&#xff0c;规避出题人挖的坑&#xff0c;拿个国一轻轻松松。 附件&#xff1a;第十一届蓝桥…

【Linux docker】关于docker启动出错的解决方法。

无论遇到什么docker启动不了的问题 就是 查看docker状态sytemctl status docker查看docker日志sudo journalctl -u docker.service查看docker三个配置文件&#xff08;可能是配置的时候格式错误&#xff09;&#xff1a;/etc/docker/daemon.json&#xff08;如果存在&#xf…

怎么实现: 大语言模型微调案例

怎么实现: 大语言模型微调案例 目录 怎么实现: 大语言模型微调案例输入一个反常识的问题:首都在北京天安门之后对输出模型进行测试:首都在北京天安门微调代码:测试微调模型代码:微调输出模型结构输出模型参数大小对比Qwen 2.5_0.5:53MB输出模型:951MB 是一样的,没有进行…

rdiff-backup备份

目录 1. 服务器备份知识点 1.1 备份策略 1.2 备份步骤和宝塔面板简介 1.3 CentOS7重要目录 2. 备份工具 2.1 tar -g 备份演示 2. rsync 备份演示 3. rdiff-backup 备份演示 4. 差异和优缺点 3. rdiff-backup安装和使用 3.1 备份命令rdiff-backup 3.2 恢复命令--…

Spring(七)AOP-代理模式

目录 代理模式 一 静态代理 一、核心作用 二、使用场景 二 动态代理 一、核心作用 二、使用场景 具体实现&#xff1a;&#xff08;初始&#xff09; 具体实现&#xff1a;&#xff08;改进&#xff09; 一、核心业务逻辑 1. 接口 MathCalculator 2. 实现类 MathCa…

BGP分解实验·21——BGP选路原则之本地优先级

当使用BGP路径属性——本地优先级&#xff0c;进行路由优选时&#xff0c;优选“本地优先级”数值较大的那个。&#xff08;eBGP之间更新不携带这个属性&#xff09; 实验拓扑如下&#xff1a; 在未实现本地优先级策略前&#xff0c;先在各个BGP之间配置完成基本连接。 R1的基…

【redis】应用场景:共享会话和手机验证码

文章目录 共享会话实现思路 手机验证码实现思路伪代码实现生成验证码验证验证码 共享会话 实现思路 如果每个应用服务器&#xff0c;维护自己的会话数据&#xff0c;此时彼此之间胡共享&#xff0c;用户请求访问到不同的服务器上&#xff0c;就可能会出现一些不能正确处理的情…

通义万相 2.1 + 蓝耘算力,AI 视频生成的梦幻组合

在这个科技日新月异的时代&#xff0c;人工智能不断刷新着我们对世界的认知。一次偶然的机会&#xff0c;我借助北京蓝耘科技股份有限公司提供的算力支持&#xff0c;踏上了使用通义万相 2.1 进行 AI 视频生成的奇妙之旅。 目录 1.1初遇蓝耘科技&#xff1a; 1.2通义万相 2.1…

【Go万字洗髓经】Golang内存模型与内存分配管理

本文目录 1. 操作系统中的虚拟内存分页与进程管理虚拟内存与内存隔离 2. Golang中的内存模型内存分配流程内存单元mspan线程缓存mcache中心缓存mcentral全局堆缓存mheapheapArena空闲页索引pageAlloc 3. Go对象分配mallocgc函数tiny对象分配内存 4.结合GMP模型来看内存模型tiny…

33.HarmonyOS NEXT NumberBox 步进器高级技巧与性能优化

HarmonyOS NEXT NumberBox 步进器高级技巧与性能优化 一、高级交互设计 1. 组件联动控制 // 与Slider双向绑定 State value: number 50Slider({value: this.value,onChange: (v) > this.value v })NumberBox({value: this.value,onChange: (v) > this.value v })2. …

关于ModbusTCP/RTU协议转Ethernet/IP(CIP)协议的方案

IGT-DSER智能网关模块支持西门子、倍福(BECKHOFF)、罗克韦尔AB&#xff0c;以及三菱、欧姆龙等各种品牌的PLC之间通讯&#xff0c;支持Ethernet/IP(CIP)、Profinet(S7)&#xff0c;以及FINS、MC等工业自动化常用协议&#xff0c;同时也支持PLC与Modbus协议的工业机器人、智能仪…

【FreeRTOS】FreeRTOS操作系统在嵌入式单片机上裸机移植

目录 一 RTOS概述 二 FreeRTOS移植 三 FreeRTOS使用 四 附录 一 RTOS概述 先了解一些基础概念&#xff0c;以下内容摘自FreeRTOS官网&#xff08;FreeRTOS™ - FreeRTOS™&#xff09;&#xff1a; 【1】RTOS基础知识 实时操作系统 (RTOS) 是一种体积小巧、确定性强的计算机…

文件包含漏洞第一关

一、什么是文件包含漏洞 1.文件包含漏洞概述 和SQL注入等攻击方式一样&#xff0c;文件包含漏洞也是一种注入型漏洞&#xff0c;其本质就是输入一段用户能够控制的脚本或者代码&#xff0c;并让服务端执行。 什么叫包含呢&#xff1f;以PHP为例&#xff0c;我们常常把可重复使…

瑞芯微RK3576(1)-硬件设计

过年期间&#xff0c;趁着放假时间做了一款3576的核心板 方案是2G DDR432G emmc 引出所有IO口 关于接口方面&#xff0c;考虑了一段时间&#xff0c;最终决定使用BTB的模式&#xff0c;主要是能够出更多的IO&#xff0c;方便拆卸&#xff0c;最让我担心的是BTB的位置问题 为了…

Java 大视界 -- Java 大数据在智能医疗药品研发数据分析与决策支持中的应用(126)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…

JWT的学习

1、HTTP无状态及解决方案 HTTP一种是无状态的协议&#xff0c;每次请求都是一次独立的请求&#xff0c;一次交互之后就是陌生人。 以CSDN为例&#xff0c;先登录一次&#xff0c;然后浏览器退出&#xff0c;这个时候在进入CSDN&#xff0c;按理说服务器是不知道你已经登陆了&…

SpringBoot基础Kafka示例

这里将生产者和消费者放在一个应用中 使用的Boot3.4.3 引入Kafka依赖 <dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId> </dependency>yml配置 spring:application:name: kafka-1#kafka…

API调试工具的无解困境:白名单、动态IP与平台设计问题

引言 你是否曾经在开发中遇到过这样的尴尬情形&#xff1a;你打开了平台的API调试工具&#xff0c;准备一番操作&#xff0c;结果却发现根本无法连接到平台&#xff1f;别急&#xff0c;问题出在调试工具本身。今天我们要吐槽的就是那些神奇的开放平台API调试工具&#xff0c;…