|
RCM — ESP32 Room Controller
WT32-ETH01 firmware
|
Modbus RTU master: опрос slave 7, регистр 1000, публикация в MQTT. More...
#include "modbus_app.h"#include <stdbool.h>#include <stdio.h>#include "driver/uart.h"#include "esp_check.h"#include "esp_err.h"#include "esp_log.h"#include "freertos/FreeRTOS.h"#include "freertos/task.h"#include "mbcontroller.h"#include "mqtt_app.h"Go to the source code of this file.
Macros | |
| #define | MB_UART_PORT UART_NUM_1 |
| UART для RS485. | |
| #define | MB_UART_TXD_GPIO 17 |
| Пины RS485-трансивера | |
| #define | MB_UART_RXD_GPIO 5 |
| #define | MB_UART_RTS_GPIO 33 |
| #define | MB_UART_BAUD_RATE 9600 |
| Параметры линии: 9600 8N1. | |
| #define | MB_SLAVE_ADDR 7 |
| Адрес Modbus-устройства на шине | |
| #define | MB_HOLD_REG_ADDR 1000 |
| Адрес holding-регистра | |
| #define | MB_CMD_READ_HOLDING_REGISTER 3 |
| Код функции Modbus: Read Holding Registers (0x03) | |
| #define | MB_POLL_INTERVAL_MS 5000 |
| Интервал опроса, мс | |
Functions | |
| static esp_err_t | modbus_master_init (void) |
| Инициализация Modbus RTU master на UART с режимом RS485. | |
| static void | modbus_poll_task (void *arg) |
| Задача периодического чтения регистра 1000 и публикации в MQTT. | |
| esp_err_t | modbus_app_start (void) |
| Инициализирует Modbus master и запускает задачу опроса шины. | |
Variables | |
| static const char * | TAG = "modbus_app" |
| static void * | s_master_handle |
Modbus RTU master: опрос slave 7, регистр 1000, публикация в MQTT.
Definition in file modbus_app.c.
| #define MB_CMD_READ_HOLDING_REGISTER 3 |
Код функции Modbus: Read Holding Registers (0x03)
Definition at line 40 of file modbus_app.c.
| #define MB_HOLD_REG_ADDR 1000 |
Адрес holding-регистра
Definition at line 37 of file modbus_app.c.
Referenced by modbus_poll_task().
| #define MB_POLL_INTERVAL_MS 5000 |
| #define MB_SLAVE_ADDR 7 |
Адрес Modbus-устройства на шине
Definition at line 34 of file modbus_app.c.
Referenced by modbus_master_init(), and modbus_poll_task().
| #define MB_UART_BAUD_RATE 9600 |
Параметры линии: 9600 8N1.
Definition at line 31 of file modbus_app.c.
Referenced by modbus_master_init().
| #define MB_UART_PORT UART_NUM_1 |
| #define MB_UART_RTS_GPIO 33 |
Definition at line 28 of file modbus_app.c.
Referenced by modbus_master_init().
| #define MB_UART_RXD_GPIO 5 |
Definition at line 27 of file modbus_app.c.
Referenced by modbus_master_init().
| #define MB_UART_TXD_GPIO 17 |
Пины RS485-трансивера
Definition at line 26 of file modbus_app.c.
Referenced by modbus_master_init().
| esp_err_t modbus_app_start | ( | void | ) |
Инициализирует Modbus master и запускает задачу опроса шины.
Definition at line 121 of file modbus_app.c.
References modbus_master_init(), modbus_poll_task(), and TAG.
Referenced by app_main().
|
static |
Инициализация Modbus RTU master на UART с режимом RS485.
Definition at line 50 of file modbus_app.c.
References MB_SLAVE_ADDR, MB_UART_BAUD_RATE, MB_UART_PORT, MB_UART_RTS_GPIO, MB_UART_RXD_GPIO, MB_UART_TXD_GPIO, s_master_handle, and TAG.
Referenced by modbus_app_start().
|
static |
Задача периодического чтения регистра 1000 и публикации в MQTT.
Definition at line 86 of file modbus_app.c.
References MB_HOLD_REG_ADDR, MB_POLL_INTERVAL_MS, MB_SLAVE_ADDR, mqtt_app_get_client_id(), mqtt_app_publish(), and TAG.
Referenced by modbus_app_start().
|
static |
Definition at line 45 of file modbus_app.c.
Referenced by modbus_master_init().
|
static |
Definition at line 20 of file modbus_app.c.
Referenced by modbus_app_start(), modbus_master_init(), and modbus_poll_task().