摘要: 今天用Qt实现一个可以通过modbus对线圈寄存器--读写单个寄存器和多个寄存器,离散寄存器--读单个和多个寄存器,保持寄存器--读写单个寄存器和多个寄存器,输入寄存器--读单个和多个寄存器的功能,大概是这么个效果,ui设计好了 用单例模式设计了一个ModbusMaster的类用于连接从站设备以及对 阅读全文
posted @ 2026-02-05 20:29 dd_l 阅读(1) 评论(0) 推荐(0)
摘要: 1、function封装lambda表达式,本来lambda表达式是个匿名函数,通过function可以给lambda赋名 <int(int)>表示返回值为int,传入的参数为int,且这里的&不能改为=,因为第一步fatoral是空的,当执行到fatoral=[&fatoral](int n){} 阅读全文
posted @ 2026-02-05 10:58 dd_l 阅读(1) 评论(0) 推荐(0)
摘要: 1、原子操作:在线程中保护某个数据不被多个线程共享修改,保证在一个线程结束后才能被另一个线程使用 比如count++会先读取,后进行++,最后再放回寄存器,在这个过程如果有其他线程参与就会混乱 atomic count_atomic(0); 定义count_atomic变量为原子变量不被多线程影响, 阅读全文
posted @ 2026-02-04 12:44 dd_l 阅读(8) 评论(0) 推荐(0)
摘要: 实现了modbus在VS上的环境配置,首先将modbus在github上下载下来"libmodbus.org" 下载好了到这个路径下 然后双击运行configure.js进行环境配置,如果双击不行再打开cmd转到当前目录下运行这个命令--cscript configure.js 配置好了会出现一个. 阅读全文
posted @ 2026-02-03 11:34 dd_l 阅读(2) 评论(0) 推荐(0)
摘要: 具体功能码 一般用RTU模式进行开发,接下来实现一个示例:读取设备地址为3的从设备B的线圈状态寄存器,线圈地址为19到55(37个地址) 主站发送的请求包格式为--"设备地址+功能码+寄存器起始地址(高位+低位)+寄存器数量(高位+低位)+CRC校验位" 设备地址为0X03,功能码为0X01,寄存器 阅读全文
posted @ 2026-02-01 16:53 dd_l 阅读(10) 评论(0) 推荐(0)
摘要: modbus是将一个A能同时连接多个B的一种协议,支持RS232(全双工)和RS485串口(半双工) 协议内容一般是"设备地址域+功能码+数据+校验位" 进行调试模拟时需要3个设备 一个是vspd(用于建立两个串口之间的连接,比如COM3和COM4),一个是Modbus Poll(主站模拟),最后一 阅读全文
posted @ 2026-01-31 21:50 dd_l 阅读(9) 评论(0) 推荐(0)
摘要: 当我们调用百度的图像识别OCR时,把百度的官方代码粘过来一般是能直接用的 点击查看代码 #include <stdio.h> #include <iostream> #include <string.h> #include <curl/curl.h> #include <json/json.h> # 阅读全文
posted @ 2026-01-14 09:22 dd_l 阅读(14) 评论(0) 推荐(0)
摘要: 当在用VS写Qt项目时,在ui界面上有些中文可能会变成乱码,我认为是UTF-8编码的问题 解决:vs工具栏中打开"工具",之后选择"自定义",后选择"命令框",菜单栏处选择"文件",后点击"添加命令" 然后在"添加命令"对话框中"类别"中选文件,"命令"中选"高级保存选项",添加好了关闭就行了 之后 阅读全文
posted @ 2026-01-03 18:20 dd_l 阅读(23) 评论(0) 推荐(0)