摘要:
浮点数转十六进制 1 QString strFloat = ui.float_six1->text(); 2 float f = strFloat.toFloat(); 3 int i = *((int *)&f); 4 QString float_str = QString("%1").arg(i
阅读全文
posted @ 2024-03-12 14:11
一杯清酒邀明月
阅读(919)
推荐(0)
摘要:
核心:使用C++的memcpy()函数。 QByteArray转化为float数组 1 QByteArray testArraySe; 2 float testArrayRe[10]; 3 memcpy(&testArrayRe, testArraySe, sizeof(testArrayRe));
阅读全文
posted @ 2024-03-12 14:11
一杯清酒邀明月
阅读(299)
推荐(0)
摘要:
在C++中,将一个quint16(即无符号16位整数)拆分成高字节和低字节可以通过位运算来完成。quint16通常是通过Qt的数据类型quint16来表示的。 以下是一个示例代码,演示如何将quint16拆分成高低字节: 1 #include <QtGlobal> 2 #include <iostr
阅读全文
posted @ 2024-03-12 09:41
一杯清酒邀明月
阅读(725)
推荐(0)
摘要:
1、int转QString quint8转QString 1 quint8 k = 77; 2 QString str_1; 3 str_1 = QString::number(k, 10); 4 qDebug() << str_1; // "77" 5 QString str_2 = QStrin
阅读全文
posted @ 2024-03-11 19:30
一杯清酒邀明月
阅读(660)
推荐(0)
摘要:
1.QString存储十六进制内容 我要发送的十六进制内容是 01 05 04 01 00将其储存在QString字符串中 1 QString str; 2 str = "0105040100"; 2.核心语句 将两位的字符串转换为16进制的Int型数字,然后通过强制类型转换成char类型的字符。(
阅读全文
posted @ 2024-03-11 19:27
一杯清酒邀明月
阅读(1208)
推荐(0)
摘要:
今天照常使用ChatGPT来帮忙码代码,结果发现发出去的消息完全没有反应,即不给我处理,也没有抱任何的错误,按浏览器刷新,看起来很正常,可以查看历史对话,但是再次尝试还是一样的没反应。 开始还以为是账号被封了,但是经过研究分析,发现出现这个问题的原因,应该是点击了登录后顶部的弹窗邀请,[加入alph
阅读全文
posted @ 2024-03-11 13:45
一杯清酒邀明月
阅读(2336)
推荐(0)
摘要:
问题复现 1.给ChatGPT发送消息没有任何反应 2.浏览器开发者工具发现很多如下错误 解决办法 方法一:清除浏览器缓存 清除浏览器缓存这个方法适合新手,也是最简单的办法,清除浏览器缓存后重新登录账号即可恢复正常使用。 方法二:清除浏览器本地缓存数据 这个方法比较专业,适合开发人员使用,以Chro
阅读全文
posted @ 2024-03-11 13:43
一杯清酒邀明月
阅读(1745)
推荐(0)
摘要:
本文主要目的是为了写一个简单的ModbusTCP服务器-客户端程序而记录的知识点,里面包含了编程所需要的必要背景知识和协议解析流程图。 Modbus基本数据类型 Modbus有四种基本数据类型: 离散量输入:客户端只能读取它,由服务器提供,占1个比特位,可以传输现实中的开关量输入,比如接近开关的通断
阅读全文
posted @ 2024-03-09 16:34
一杯清酒邀明月
阅读(1006)
推荐(2)
摘要:
之前发表的Modbus通讯程序使用了QT自带的Modbus库,由于QT自带库的数据响应使用的是信号和槽来实现的,所以在一些读写频率较高的场景下,会引发很多异常问题,此篇文章使用C语言写的第三方Modbus库来实现modbus通讯。 经程序运行测试,调用该库进行modbus通讯完虐QT自带mosbus
阅读全文
posted @ 2024-03-09 15:38
一杯清酒邀明月
阅读(5127)
推荐(1)
摘要:
前言 Modbus在工业控制中的应用非常多,由于其免费使用加上一定的历史环境,Modbus在PLC上的通讯应用非常多,本文主要介绍Mosbus TCP master(主站)的实现。 一、关于Modbus Modbus是由MODICON公司开发的一种工业现场总线协议标准,随后施耐德推出了基于TCP/I
阅读全文
posted @ 2024-03-09 15:32
一杯清酒邀明月
阅读(3500)
推荐(0)
摘要:
一、编写缘由1.发现问题 最近项目上要把之前的modbus RTU改为TCP形式,因此之前的modbus通讯线程得重构,一开始当然是使用Qt自带的QModbusTcpClient类,很快就重构好线程,读取数据没有问题,但是只要一发送写数据请求,整个tcp连接就会断开,做了很多尝试,排除了从站的问题,
阅读全文
posted @ 2024-03-09 15:27
一杯清酒邀明月
阅读(1282)
推荐(0)
摘要:
ModbusTCP与ModbusUDP的报文格式是一样的,它们之间的区别其实就是TCP与UDP的区别,因此下面就针对ModbusTCP的协议进行分析,ModbusTCP与ModbusRtu(ModbusASCII)之间的区别如下图: 从上图可以看出,ModbusTCP在Modbus串行通信的基础上,
阅读全文
posted @ 2024-03-09 15:22
一杯清酒邀明月
阅读(4321)
推荐(0)
摘要:
一.基本简介 在使用QT的弹窗提示时,习惯使用 QMessageBox::information QMessageBox::question QMessageBox::warning QMessageBox::critical 一般对于按钮,是使用系统提供的默认按钮 例如:QMessageBox::
阅读全文
posted @ 2024-03-06 13:39
一杯清酒邀明月
阅读(612)
推荐(0)
摘要:
效果 思路 1 // 创建一个question弹出对话框,添加两个按钮:Yes和No 2 QMessageBox *box = new QMessageBox(QMessageBox::Question, "提示", "确认删除''的信息吗?", QMessageBox::Yes | QMessag
阅读全文
posted @ 2024-03-06 11:05
一杯清酒邀明月
阅读(1336)
推荐(0)
摘要:
释放vector内存的方法有多种,具体取决于使用vector的方式以及释放内存的目的。下面列举几种常见的释放vector内存的方法: 1、清空vector 调用vector的clear()方法可以清空vector中的元素,但是并不会释放vector所占用的内存空间。这意味着,如果之后还需要往vect
阅读全文
posted @ 2024-03-05 18:37
一杯清酒邀明月
阅读(1759)
推荐(0)
摘要:
原因 在处理大数据时,发现QVector直接用clear后台查看程序所占用的内存并没有下降 QVector数据清理 1 QVector<int>example_vec; 2 example_vec.clear(); QVector内存清理 1 QVector<int>example_vec; 2 e
阅读全文
posted @ 2024-03-05 18:32
一杯清酒邀明月
阅读(998)
推荐(0)
摘要:
1、为什么需要主动释放vector内存 vector其中一个特点:内存空间只会增长,不会减小,援引C++ Primer:为了支持快速的随机访问,vector容器的元素以连续方式存放,每一个元素都紧挨着前一个元素存储。设想一下,当vector添加一个元素时,为了满足连续存放这个特性,都需要重新分配空间
阅读全文
posted @ 2024-03-05 18:30
一杯清酒邀明月
阅读(1545)
推荐(1)
摘要:
ui->chart->setChart(chart); 按照上面的写法,每次setChart之后内存都会变大。 改成下面的写法,就没有内存变大的情况了 1 QChart* chart = new QChart(); 2 QChart* oldChart = ui->chart_2->chart();
阅读全文
posted @ 2024-03-05 16:38
一杯清酒邀明月
阅读(225)
推荐(0)
摘要:
关闭Qt Creator实时编译提示插件即可解决帮助 -> 关于插件 -> C++ -> 取消ClangCodeModel -> 重启Qt Creator
阅读全文
posted @ 2024-03-05 15:54
一杯清酒邀明月
阅读(315)
推荐(0)
摘要:
项目场景: 提示:这里简述项目相关背景: 例如:项目场景:QModbusTcpClient 通信 问题描述 提示:这里描述项目中遇到的问题: QModbusTcpClient 连接后,稍微停一段时间,就会出现QModbusDevice::UnconnectedState 原因分析: 提示:这里填写问
阅读全文
posted @ 2024-03-04 19:02
一杯清酒邀明月
阅读(947)
推荐(0)