44 if((hmodbus == NULL) || (huart == NULL))
80 if((ID < 1) || (ID > 247))
142 if(modbus_msg == NULL)
155 hmodbus->
pCallback = (void (*)(
void*,
void*))(pClbk);
#define MODBUS_TIMEOUT
Таймаут в тиках таймера
#define MODBUS_DEVICE_ID
Адрес устройства в сети Modbus.
void MB_DeviceInentificationInit(void)
Инициализация идентификаторов.
void MB_DiagnosticsInit(void)
Инициализация диагностических счетчиков
HAL_StatusTypeDef MODBUS_MasterRequest(RS_HandleTypeDef *hmodbus, RS_MsgTypeDef *modbus_msg, void(*pClbk)(RS_HandleTypeDef *, RS_MsgTypeDef *))
Реквест мастера модбас.
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_FirstInit(RS_HandleTypeDef *hmodbus, UART_HandleTypeDef *huart, TIM_HandleTypeDef *htim)
Инициализация периферии модбас.
RS_StatusTypeDef MB_Master_Collect_Message(RS_HandleTypeDef *hmodbus, RS_MsgTypeDef *modbus_msg, uint8_t *modbus_uart_buff)
Сбор сообщения в буфер UART в режиме мастер (фрейм мастера из msg -> uart).
RS_StatusTypeDef MB_Master_Parse_Message(RS_HandleTypeDef *hmodbus, RS_MsgTypeDef *modbus_msg, uint8_t *modbus_uart_buff)
Парс сообщения в режиме мастер (фрейм слейва из uart -> msg).
RS_MsgTypeDef MODBUS_MSG
Default Message Struct for Modbus.
RS_StatusTypeDef MB_Slave_Collect_Message(RS_HandleTypeDef *hmodbus, RS_MsgTypeDef *modbus_msg, uint8_t *modbus_uart_buff)
Сбор сообщения в буфер UART в режиме слейв (фрейм слейва из msg -> uart).
RS_StatusTypeDef MB_Slave_Response(RS_HandleTypeDef *hmodbus, RS_MsgTypeDef *modbus_msg)
Ответ на сообщение в режиме слейва.
RS_StatusTypeDef MB_Slave_Parse_Message(RS_HandleTypeDef *hmodbus, RS_MsgTypeDef *modbus_msg, uint8_t *modbus_uart_buff)
Парс сообщения в режиме слейв (фрейм мастера из uart -> msg).
RS_StatusTypeDef RS_Receive_IT(RS_HandleTypeDef *hRS, RS_MsgTypeDef *RS_msg)
Начать прием по прерываниям.
RS_StatusTypeDef RS_Collect_Message(RS_HandleTypeDef *hRS, RS_MsgTypeDef *RS_msg, uint8_t *msg_uart_buff)
Пользовательская функция для сбора сообщения в буфер UART.
RS_StatusTypeDef RS_Transmit_IT(RS_HandleTypeDef *hRS, RS_MsgTypeDef *RS_msg)
Начать передачу по прерываниям.
RS_StatusTypeDef RS_Parse_Message(RS_HandleTypeDef *hRS, RS_MsgTypeDef *RS_msg, uint8_t *msg_uart_buff)
Пользовательская функция для парса сообщения из буфера UART.
RS_StatusTypeDef
Enums for respond CMD about RS status.
RS_StatusTypeDef RS_Response(RS_HandleTypeDef *hRS, RS_MsgTypeDef *RS_msg)
Пользовательская функция для ответа на запрос по UART.
#define RS_MASTER_MODE_START
Начало режимов мастера (до него - режим слейв)
RS_StatusTypeDef RS_Init(RS_HandleTypeDef *hRS, UART_HandleTypeDef *huart, TIM_HandleTypeDef *htim, uint8_t *pRS_BufferPtr)
Инициалазация структуры RS_HandleTypeDef.
RS_HandleTypeDef hmodbus1
Default Handle for Modbus.
#define RS_EnableReceive()
Функция изменения направления передачи на ПРИЕМ для RS-485.
@ RS_MASTER_REQUEST
Мастер с ручным запросом
@ RS_SLAVE_ALWAYS_WAIT
Слейв в постоянном ожидании
static void MB_DefaultCallback(RS_HandleTypeDef *hmodbus, RS_MsgTypeDef *modbus_msg)
Coils & Registers.
Главный заголовочный файл Modbus библиотеки
Структура со всеми регистрами и коилами модбас
unsigned RS_Busy
1 - RS занят, 0 - RS свободен
Handle for RS communication.
void(* pCallback)(void *, void *)
Указатель на коллбек: принят ответ в режиме мастер
RS_FlagsTypeDef f
Флаги для контроля приема/передачи
RS_ModeTypeDef sRS_Mode
Настройка: слейв/мастер RS_ModeTypeDef.
RS_StatusTypeDef RS_STATUS
Статус RS.
uint16_t sRS_Timeout
Настройка: Таймаут в тиках таймера
Structure for modbus messsage.