Modbus 0.3
Библиотека Modbus для STM
Loading...
Searching...
No Matches
Main API for Modbus Library

Публичные функции библиотеки More...

Collaboration diagram for Main API for Modbus Library:

Topics

 Legacy API
 Старые API функций, сохранённые для обратной совместимости.
 API for Data Access
 API для доступа к данным модбас внутри программы
 API for Master Requests
 API для формирования фрейма-запроса в режиме мастер

Macros

#define MODBUS_MODE_MASTER   1
 Псевдо-enum: Режим мастер
#define MODBUS_MODE_SLAVE   0
 Псевдо-enum: Режим слейв

Functions

HAL_StatusTypeDef MODBUS_FirstInit (RS_HandleTypeDef *hmodbus, UART_HandleTypeDef *huart, TIM_HandleTypeDef *htim)
 Инициализация периферии модбас.
HAL_StatusTypeDef MODBUS_Config (RS_HandleTypeDef *hmodbus, uint8_t ID, uint16_t Timeout, uint8_t master)
 Программная конфигурация модбас.
HAL_StatusTypeDef MODBUS_SlaveStart (RS_HandleTypeDef *hmodbus, RS_MsgTypeDef *modbus_msg)
 Запуск слейв модбас.
HAL_StatusTypeDef MODBUS_MasterRequest (RS_HandleTypeDef *hmodbus, RS_MsgTypeDef *modbus_msg, void(*pClbk)(RS_HandleTypeDef *, RS_MsgTypeDef *))
 Реквест мастера модбас.

Detailed Description

Публичные функции библиотеки

Объединяющий файл для подключения всей функциональности Modbus. Подключает все необходимые модули:

Инструкция по подключению

Для корректной работы надо:

Подключаемые модули:

Структура данных Modbus

Holding/Input Registers:

  • Регистры — 16-битные слова. Доступ к регистрам осуществляется через указатель.
    Таким образом, сами регистры могут представлять собой как массив так и структуру.

Coils:

  • Coils — это биты, упакованные в 16-битные слова. Доступ к коилам осуществляется через указатель.
    Таким образом, сами коилы могут представлять собой как массив так и структуру.

Macro Definition Documentation

◆ MODBUS_MODE_MASTER

#define MODBUS_MODE_MASTER   1

Псевдо-enum: Режим мастер

Definition at line 113 of file modbus.h.

◆ MODBUS_MODE_SLAVE

#define MODBUS_MODE_SLAVE   0

Псевдо-enum: Режим слейв

Definition at line 117 of file modbus.h.

Function Documentation

◆ MODBUS_FirstInit()

HAL_StatusTypeDef MODBUS_FirstInit ( RS_HandleTypeDef * hmodbus,
UART_HandleTypeDef * huart,
TIM_HandleTypeDef * htim )

Инициализация периферии модбас.

Parameters
hmodbusУказатель на хендлер RS
huartУказатель на хендлер UART
htimУказатель на хендлер TIM

Подключает хендлы периферии к hmodbus Конфигурация выставляется по умолчанию из modbus_config.h

Definition at line 42 of file modbus.c.

◆ MODBUS_Config()

HAL_StatusTypeDef MODBUS_Config ( RS_HandleTypeDef * hmodbus,
uint8_t ID,
uint16_t Timeout,
uint8_t master )

Программная конфигурация модбас.

Parameters
hmodbusуказатель на хендлер RS
TimeoutВремя тишины между двумя байтами после которых перезапускается прием
masterРежим мастер (пока не сделан)

Конфигурирует ID, таймаут и режим hmodbus

Definition at line 72 of file modbus.c.

◆ MODBUS_SlaveStart()

HAL_StatusTypeDef MODBUS_SlaveStart ( RS_HandleTypeDef * hmodbus,
RS_MsgTypeDef * modbus_msg )

Запуск слейв модбас.

Parameters
hmodbusУказатель на хендлер RS.
modbus_msgУказатель на структуру сообщения. (NULL чтобы использовать дефолтную)

Конфигурирует ID, таймаут и режим hmodbus

Definition at line 105 of file modbus.c.

◆ MODBUS_MasterRequest()

HAL_StatusTypeDef MODBUS_MasterRequest ( RS_HandleTypeDef * hmodbus,
RS_MsgTypeDef * modbus_msg,
void(* pClbk )(RS_HandleTypeDef *, RS_MsgTypeDef *) )

Реквест мастера модбас.

Parameters
hmodbusУказатель на хендлер RS.
modbus_msgУказатель на структуру сообщения

Конфигурирует ID, таймаут и режим hmodbus

Definition at line 136 of file modbus.c.