|
Modbus 0.3
Библиотека Modbus для STM
|
Всякое для работы по UART/RS. More...
Topics | |
| Tools for debug RS/UART/TIM | |
| Дефайны для отладки периферии | |
Classes | |
| struct | RS_FlagsTypeDef |
| Struct for flags RS. More... | |
| struct | RS_HandleTypeDef |
| Handle for RS communication. More... | |
Macros | |
| #define | RS_EnableReceive() |
| Функция изменения направления передачи на ПРИЕМ для RS-485. | |
| #define | RS_EnableTransmit() |
| Функция изменения направления передачи на ПЕРЕДАЧУ для RS-485. | |
| #define | RS_MASTER_MODE_START 0x3 |
| Начало режимов мастера (до него - режим слейв) | |
Enumerations | |
| enum | RS_StatusTypeDef { RS_OK = 0x01 , RS_ERR , RS_ABORTED , RS_BUSY , RS_SKIP , RS_TIMEOUT , RS_COLLECT_MSG_ERR , RS_PARSE_MSG_ERR } |
| Enums for respond CMD about RS status. More... | |
| enum | RS_ModeTypeDef { RS_SLAVE_ALWAYS_WAIT = 0x01 , RS_RESERVED = 0x02 , RS_MASTER_REQUEST = 0x03 } |
| Enums for RS Modes. More... | |
| enum | RS_AbortTypeDef { ABORT_TX = 0x01 , ABORT_RX = 0x02 , ABORT_RX_TX = 0x03 , ABORT_RS = 0x04 } |
| Enums for Abort modes. More... | |
Functions | |
| RS_StatusTypeDef | RS_Response (RS_HandleTypeDef *hRS, RS_MsgTypeDef *RS_msg) |
| Пользовательская функция для ответа на запрос по UART. | |
| __weak RS_StatusTypeDef | RS_Response_Callback (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_Parse_Message (RS_HandleTypeDef *hRS, RS_MsgTypeDef *RS_msg, uint8_t *msg_uart_buff) |
| Пользовательская функция для парса сообщения из буфера UART. | |
| RS_StatusTypeDef | RS_Receive_IT (RS_HandleTypeDef *hRS, RS_MsgTypeDef *RS_msg) |
| Начать прием по прерываниям. | |
| RS_StatusTypeDef | RS_Transmit_IT (RS_HandleTypeDef *hRS, RS_MsgTypeDef *RS_msg) |
| Начать передачу по прерываниям. | |
| RS_StatusTypeDef | RS_Init (RS_HandleTypeDef *hRS, UART_HandleTypeDef *huart, TIM_HandleTypeDef *htim, uint8_t *pRS_BufferPtr) |
| Инициалазация структуры RS_HandleTypeDef. | |
| RS_StatusTypeDef | RS_Abort (RS_HandleTypeDef *hRS, RS_AbortTypeDef AbortMode) |
| Отменить прием/передачу RS/UART. | |
| RS_StatusTypeDef | RS_Handle_Receive_Start (RS_HandleTypeDef *hRS, RS_MsgTypeDef *RS_msg) |
| Обработчик для начала приема. | |
| RS_StatusTypeDef | RS_Handle_Transmit_Start (RS_HandleTypeDef *hRS, RS_MsgTypeDef *RS_msg) |
| Обработчик для начала передачи. | |
| RS_StatusTypeDef | RS_UART_TxCpltCallback (RS_HandleTypeDef *hRS) |
| UART TX Callback: коллбек после окончания передачи. | |
| void | RS_UART_Handler (RS_HandleTypeDef *hRS) |
| Обработчик прерывания UART. | |
| void | RS_TIM_Handler (RS_HandleTypeDef *hRS) |
| Обработчик прерывания TIM. | |
| RS_StatusTypeDef | RS_Timeout_Start (RS_HandleTypeDef *hRS) |
| Запуск таймаута приема. | |
| RS_StatusTypeDef | RS_Timeout_Stop (RS_HandleTypeDef *hRS) |
| Остановка таймаута приема. | |
| RS_StatusTypeDef | RS_Timeout_Update (RS_HandleTypeDef *hRS) |
| Обновление (сброс) таймаута приема. | |
Variables | |
| RS_HandleTypeDef | hmodbus1 |
| Default Handle for Modbus. | |
Всякое для работы по UART/RS.
Универсальная библиотека для работы с последовательными протоколами (Modbus, Custom) через UART в режиме прерываний с поддержкой таймаутов.
| #define RS_EnableReceive | ( | ) |
Функция изменения направления передачи на ПРИЕМ для RS-485.
Definition at line 150 of file rs_message.h.
| #define RS_EnableTransmit | ( | ) |
Функция изменения направления передачи на ПЕРЕДАЧУ для RS-485.
Definition at line 153 of file rs_message.h.
| #define RS_MASTER_MODE_START 0x3 |
Начало режимов мастера (до него - режим слейв)
Definition at line 181 of file rs_message.h.
| enum RS_StatusTypeDef |
Enums for respond CMD about RS status.
Definition at line 163 of file rs_message.h.
| enum RS_ModeTypeDef |
Enums for RS Modes.
| Enumerator | |
|---|---|
| RS_SLAVE_ALWAYS_WAIT | Слейв в постоянном ожидании |
| RS_RESERVED | резерв |
| RS_MASTER_REQUEST | Мастер с ручным запросом |
Definition at line 183 of file rs_message.h.
| enum RS_AbortTypeDef |
Enums for Abort modes.
| Enumerator | |
|---|---|
| ABORT_TX | Отменить передачу |
| ABORT_RX | Отменить прием |
| ABORT_RX_TX | Отменить прием и передачу |
| ABORT_RS | Отменить любую работу UART в целом |
Definition at line 192 of file rs_message.h.
| RS_StatusTypeDef RS_Response | ( | RS_HandleTypeDef * | hRS, |
| RS_MsgTypeDef * | RS_msg ) |
| RS_StatusTypeDef RS_Collect_Message | ( | RS_HandleTypeDef * | hRS, |
| RS_MsgTypeDef * | RS_msg, | ||
| uint8_t * | msg_uart_buff ) |
| RS_StatusTypeDef RS_Parse_Message | ( | RS_HandleTypeDef * | hRS, |
| RS_MsgTypeDef * | RS_msg, | ||
| uint8_t * | msg_uart_buff ) |
| RS_StatusTypeDef RS_Receive_IT | ( | RS_HandleTypeDef * | hRS, |
| RS_MsgTypeDef * | RS_msg ) |
Начать прием по прерываниям.
| hRS | Указатель на хендлер RS. |
| RS_msg | Указатель на структуру сообщения. |
Definition at line 43 of file rs_message.c.
| RS_StatusTypeDef RS_Transmit_IT | ( | RS_HandleTypeDef * | hRS, |
| RS_MsgTypeDef * | RS_msg ) |
Начать передачу по прерываниям.
| hRS | Указатель на хендлер RS. |
| RS_msg | Указатель на структуру сообщения. |
Definition at line 91 of file rs_message.c.
| RS_StatusTypeDef RS_Init | ( | RS_HandleTypeDef * | hRS, |
| UART_HandleTypeDef * | huart, | ||
| TIM_HandleTypeDef * | htim, | ||
| uint8_t * | pRS_BufferPtr ) |
Инициалазация структуры RS_HandleTypeDef.
| hRS | Указатель на хендлер RS. |
| suart | Указатель на структуру с настройками UART. |
| stim | Указатель на структуру с настройками таймера. |
| pRS_BufferPtr | Указатель на буффер для приема-передачи по UART. Если он NULL, то поставиться библиотечный буфер. |
Инициализация перефирии и структуры для приема-передачи по RS.
Definition at line 156 of file rs_message.c.
| RS_StatusTypeDef RS_Abort | ( | RS_HandleTypeDef * | hRS, |
| RS_AbortTypeDef | AbortMode ) |
Отменить прием/передачу RS/UART.
| hRS | Указатель на хендлер RS. |
| AbortMode | Выбор, что надо отменить.
|
Отмена работы UART в целом или отмена приема/передачи RS. Также очищается хендл hRS.
Definition at line 193 of file rs_message.c.
| RS_StatusTypeDef RS_Handle_Receive_Start | ( | RS_HandleTypeDef * | hRS, |
| RS_MsgTypeDef * | RS_msg ) |
Обработчик для начала приема.
| hRS | Указатель на хендлер RS. |
| RS_msg | Указатель на структуру сообщения. |
Определяет начинать прием команды/ответа или нет.
Definition at line 237 of file rs_message.c.
| RS_StatusTypeDef RS_Handle_Transmit_Start | ( | RS_HandleTypeDef * | hRS, |
| RS_MsgTypeDef * | RS_msg ) |
Обработчик для начала передачи.
| hRS | Указатель на хендлер RS. |
| RS_msg | Указатель на структуру сообщения. |
Определяет отвечать ли на команду или нет.
Definition at line 269 of file rs_message.c.
| RS_StatusTypeDef RS_UART_TxCpltCallback | ( | RS_HandleTypeDef * | hRS | ) |
UART TX Callback: коллбек после окончания передачи.
| hRS | Указатель на хендлер RS. |
Определяет поведение RS после передачи сообщения.
Definition at line 300 of file rs_message.c.
| void RS_UART_Handler | ( | RS_HandleTypeDef * | hRS | ) |
Обработчик прерывания UART.
| hRS | Указатель на хендлер RS. |
Обрабатывает ошибки если есть и вызывает RS Коллбеки. Добавить вызов этой функции в UARTx_IRQHandler() ВМЕСТО HAL_UART_IRQHandler().
Definition at line 320 of file rs_message.c.
| void RS_TIM_Handler | ( | RS_HandleTypeDef * | hRS | ) |
Обработчик прерывания TIM.
| hRS | Указатель на хендлер RS. |
Попадание сюда = таймаут и перезапуск RS приема Добавить вызов этой функции в TIMx_IRQHandler() ВМЕСТО HAL_TIM_IRQHandler().
Definition at line 433 of file rs_message.c.
| RS_StatusTypeDef RS_Timeout_Start | ( | RS_HandleTypeDef * | hRS | ) |
Запуск таймаута приема.
| hRS | Указатель на хендлер RS. |
Запускает таймер для отсчета времени ожидания следующего байта.
Definition at line 471 of file rs_message.c.
| RS_StatusTypeDef RS_Timeout_Stop | ( | RS_HandleTypeDef * | hRS | ) |
Остановка таймаута приема.
| hRS | Указатель на хендлер RS. |
Останавливает таймер ожидания.
Definition at line 491 of file rs_message.c.
| RS_StatusTypeDef RS_Timeout_Update | ( | RS_HandleTypeDef * | hRS | ) |
Обновление (сброс) таймаута приема.
| hRS | Указатель на хендлер RS. |
Сбрасывает счетчик таймера в 0.
Definition at line 509 of file rs_message.c.
|
extern |