当前位置: 首页 > news >正文

C++基于libmodbus库实现modbus TCP/RTU通信

今天看到了一个参考项目中用到了modbus库,看着使用很是方便,于是记录一下。后面有时间了或者用到了再详细整理。

参考:基于libmodbus库实现modbus TCP/RTU通信-CSDN博客

一、介绍

1.1库文件包含

1.2最简单的使用

本人在QT6.5下,使用CMake配置好库后,就像下面这样就能连上并发送,还是很简单的。简单测试的不完整代码如下:

……
#include <modbus/modbus.h>
#include <modbus/modbus-tcp.h>
std::shared_ptr<spdlog::logger> logger;MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);uint8_t read_buffer[1024];uint8_t write_buffer[1024] = {0};uint16_t read_buffer_16[3];uint16_t write_buffer_16[1024];modbus_t* p_mb = modbus_new_tcp("192.168.2.138", 5000);  //创建一个modbus_tcp对象modbus_connect(p_mb);modbus_write_bits(p_mb, 0x6789, 5, write_buffer);modbus_read_bits(p_mb, 0x6789, 5, read_buffer);
}
……

http://www.xdnf.cn/news/1164673.html

相关文章:

  • 大模型——上下文工程 (Context Engineering) – 现代 AI 系统的架构基础
  • C# 实现:动态规划解决 0/1 背包问题
  • iOS开发 Swift 速记2:三种集合类型 Array Set Dictionary
  • OCR 身份识别:让身份信息录入场景更高效安全
  • 如何使用终端查看任意Ubuntu的版本信息
  • 用 Three.js 实现 PlayCanvas 风格 PBR 材质教程(第二篇):核心参数与光照模型
  • DBSCAN聚类算法
  • OpenAI Codex CLI与 Google Gemini CLI 比较
  • 关于java8里边Collectors.toMap()的空限制
  • 泛型:C#中的类型抽象艺术
  • Android NDK ffmpeg 音视频开发实战
  • 数据结构 之 【排序】(直接插入排序、希尔排序)
  • 【C++】list的模拟实现
  • 音视频学习(四十二):H264帧间压缩技术
  • 周志华《机器学习导论》第13章 半监督学习
  • [深度学习] 大模型学习3上-模型训练与微调
  • 机器学习初学者理论初解
  • MySQL:表的增删查改
  • 基于VSCode的nRF52840开发环境搭建
  • C++高性能日志库spdlog介绍
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘pywifi’问题
  • boost::asio 中 io_service与线程的关系
  • Netty中CompositeByteBuf 的addComponents方法解析
  • React-useEffect的闭包陷阱(stale closure)
  • CentOS 系统上部署一个简单的 Web 应用程序
  • 关键成功因素法(CSF)深度解析:从战略目标到数据字典
  • AK视频下载工具:免费高效,多平台支持
  • 计算机网络:概述层---计算机网络的性能指标
  • 【c++】leetcode438 找到字符串中所有字母异位词
  • 易语言+懒人精灵/按键中控群控教程(手机、主板机、模拟器通用)