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);
}
……