1 /* 2 ****************************************************************************** 3 * @file HAL_UART_EX.h 4 * @version V1.0.0 5 * @date 2020 6 * @brief Header file of UART EX HAL module. 7 ****************************************************************************** 8 */ 9 #ifndef __HAL_UART_EX_H__ 10 #define __HAL_UART_EX_H__ 11 12 #include "ACM32Fxx_HAL.h" 13 14 /**************** Bit definition for UART IE register ***********************/ 15 #define UART_EX_IE_BCNTI BIT12 16 #define UART_EX_IE_LBDI BIT11 17 18 /**************** Bit definition for UART RIS register ***********************/ 19 #define UART_EX_RIS_BCNTI BIT12 20 #define UART_EX_RIS_LBDI BIT11 21 22 /**************** Bit definition for UART BCNT register ***********************/ 23 #define UART_EX_BCNT_START BIT8 24 #define UART_EX_BCNT_VALUE_POS (0U) 25 #define UART_EX_BCNT_VALUE_MASK (0xFFU) 26 27 /**************** Definition of LIN BUS VERSION ***********************/ 28 #define UART_LIN_V1D3 0 //Lin bus version 1.3 29 #define UART_LIN_V2DX 1 //Lin bus version 2.0/2.1/2.2 30 31 void HAL_UART_LIN_Master_Transmit(UART_HandleTypeDef *huart, uint8_t Lin_Version, uint8_t Lin_Id, uint8_t *pData, uint8_t Size); 32 void HAL_UART_LIN_Slave_Transmit(UART_HandleTypeDef *huart, uint8_t Lin_Version, uint8_t Lin_Id, uint8_t *pData, uint8_t Size); 33 uint8_t HAL_UART_LIN_Master_Receive(UART_HandleTypeDef *huart, uint8_t Lin_Version, uint8_t Lin_Id, uint8_t *pData, uint32_t Timeout); 34 uint8_t HAL_UART_LIN_Slave_Receive(UART_HandleTypeDef *huart, uint8_t Lin_Version, uint8_t *pData, uint32_t Timeout); 35 36 #endif 37