今天看到了一個參考項目中用到了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);
}
……