summaryrefslogtreecommitdiff
path: root/bsp/acm32/acm32f0x0-nucleo/libraries/HAL_Driver/Inc/HAL_UART_EX.h
blob: ea8a30d081b7fe966f214d24dbd0f7db7bbf277c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/*
  ******************************************************************************
  * @file    HAL_UART_EX.h
  * @version V1.0.0
  * @date    2020
  * @brief   Header file of UART EX HAL module.
  ******************************************************************************
*/
#ifndef __HAL_UART_EX_H__
#define __HAL_UART_EX_H__

#include "ACM32Fxx_HAL.h"

/****************  Bit definition for UART IE register  ***********************/
#define UART_EX_IE_BCNTI                    BIT12
#define UART_EX_IE_LBDI                     BIT11

/****************  Bit definition for UART RIS register  ***********************/
#define UART_EX_RIS_BCNTI                   BIT12
#define UART_EX_RIS_LBDI                    BIT11

/****************  Bit definition for UART BCNT register  ***********************/
#define UART_EX_BCNT_START                   BIT8
#define UART_EX_BCNT_VALUE_POS              (0U)
#define UART_EX_BCNT_VALUE_MASK             (0xFFU)

/****************  Definition of LIN BUS VERSION  ***********************/
#define UART_LIN_V1D3         0    //Lin bus version 1.3
#define UART_LIN_V2DX         1    //Lin bus version 2.0/2.1/2.2

void HAL_UART_LIN_Master_Transmit(UART_HandleTypeDef *huart, uint8_t Lin_Version, uint8_t Lin_Id, uint8_t *pData, uint8_t Size);
void HAL_UART_LIN_Slave_Transmit(UART_HandleTypeDef *huart, uint8_t Lin_Version, uint8_t Lin_Id, uint8_t *pData, uint8_t Size);
uint8_t HAL_UART_LIN_Master_Receive(UART_HandleTypeDef *huart, uint8_t Lin_Version, uint8_t Lin_Id, uint8_t *pData, uint32_t Timeout);
uint8_t HAL_UART_LIN_Slave_Receive(UART_HandleTypeDef *huart, uint8_t Lin_Version, uint8_t *pData, uint32_t Timeout);

#endif