Бета добавление новых кодов исключения Улучшение механики ответа с задержкой, когда время ответа определяется пользователем, а не в прерывании сразу
42 lines
1.8 KiB
C
42 lines
1.8 KiB
C
/**
|
|
*******************************************************************************
|
|
* @file modbus_slave.h
|
|
* @brief Главный заголовочный файл Modbus библиотеки
|
|
*******************************************************************************
|
|
@addtogroup MODBUS_SLAVE Modbus slave funtions
|
|
@ingroup MODBUS_CMD_PROCESS_FUNCTIONS
|
|
@brief Функции для работы в режиме Slave
|
|
*******************************************************************************
|
|
* @details
|
|
Модуль реализации Modbus в режиме слейв
|
|
******************************************************************************/
|
|
#ifndef __MODBUS_SLAVE_H_
|
|
#define __MODBUS_SLAVE_H_
|
|
#include "rs_message.h"
|
|
#ifdef MODBUS_ENABLE_SLAVE
|
|
|
|
|
|
/**
|
|
* @addtogroup MODBUS_SLAVE
|
|
* @{
|
|
*/
|
|
|
|
/* Ответить позже, не в прерывании */
|
|
HAL_StatusTypeDef MB_Slave_ResponseLater(RS_HandleTypeDef *hmodbus, uint8_t ResponseCode);
|
|
/* Ответить на запрос */
|
|
HAL_StatusTypeDef MB_Slave_SendResponse(RS_HandleTypeDef *hmodbus, uint8_t ResponseCode, MB_ExceptionTypeDef error);
|
|
/* Ответ на сообщение в режиме слейва */
|
|
RS_StatusTypeDef MB_Slave_Response(RS_HandleTypeDef *hmodbus, RS_MsgTypeDef *modbus_msg);
|
|
/* Сбор сообщения в буфер UART в режиме слейв (фрейм слейва из msg -> uart) */
|
|
RS_StatusTypeDef MB_Slave_Collect_Message(RS_HandleTypeDef *hmodbus, RS_MsgTypeDef *modbus_msg, uint8_t *modbus_uart_buff);
|
|
/* Парс сообщения в режиме слейв (фрейм мастера из uart -> msg) */
|
|
RS_StatusTypeDef MB_Slave_Parse_Message(RS_HandleTypeDef *hmodbus, RS_MsgTypeDef *modbus_msg, uint8_t *modbus_uart_buff);
|
|
|
|
/** MODBUS_SLAVE
|
|
* @}
|
|
*/
|
|
|
|
|
|
#endif //MODBUS_ENABLE_SLAVE
|
|
#endif //__MODBUS_SLAVE_H_
|