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