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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#ifndef UART_H__
#define UART_H__
/*-----------------use for RH850_D1M1A --------------------*/
#include "r_typedefs.h"
/***************************************************************/
/***************************************************************/
typedef enum
{
UART_RLIN30 = 0U,
UART_RLIN31,
UART_RLIN32,
UART_RLIN33,
UART_RLIN_MAX,
} UART_Channel_en_t;
typedef void (*UART_Confirm)(void);
typedef void (*UART_Read_Msg)(uint16_t u16UARTData);
typedef struct
{
uint32_t u32UARTChEn; /*通道是否使能*/
uint32_t u32UARTbps; /*通道实际波特率*/
UART_Confirm pfnUARTConfirmCallBack;
UART_Read_Msg pfnUARTReadMsgCallBack;
} UART_Channel_Config_st_t;
/****************************************************************/
extern void UART_CH0_TX_ISR(void);
extern void UART_CH1_TX_ISR(void);
extern void UART_CH2_TX_ISR(void);
extern void UART_CH3_TX_ISR(void);
extern void UART_CH0_RX_ISR(void);
extern void UART_CH1_RX_ISR(void);
extern void UART_CH2_RX_ISR(void);
extern void UART_CH3_RX_ISR(void);
extern uint8_t UART_Ch0_Get_TX_Busy_Flag(void);
extern uint8_t UART_Ch1_Get_TX_Busy_Flag(void);
extern uint8_t UART_Ch2_Get_TX_Busy_Flag(void);
extern uint8_t UART_Ch3_Get_TX_Busy_Flag(void);
extern void UART_Ch0_Send_Multiple_Byte(uint8_t *Data, uint8_t Len);
extern void UART_Ch1_Send_Multiple_Byte(uint8_t *Data, uint8_t Len);
extern void UART_Ch2_Send_Multiple_Byte(uint8_t *Data, uint8_t Len);
extern void UART_Ch3_Send_Multiple_Byte(uint8_t *Data, uint8_t Len);
/*首次上30和每次唤醒时调用*/
extern uint32_t UART_Init(UART_Channel_en_t enUARTCh, UART_Channel_Config_st_t *penUARTCfg);
/*休眠时调用*/
//extern void UART_Sleep_Init(UART_Channel_en_t enUARTCh);
extern void UART_Sleep_Init(void);
/******************************************************/
/******************************************************/
/******************************************************/
extern void Uart_ConfigOperationMode(void);
extern unsigned char Uart_GetRxLevel(void);
extern void Uart_ClearRxFullFlag(void);
extern void Uart_SetBaudrate(unsigned long xBaudrate_u32);
extern void Uart_SetRxGpio(void);
extern void Uart_SetTxGpio(void);
extern void Uart_EnableRx(void);
extern void Uart_DisableRx(void);
extern void TJA1021_Enable(unsigned char state);
extern void Uart_EnableTx(void);
extern void Uart_ClearAllErrorFlag(void);
extern void Uart_SetData(unsigned char xBuffer_pu8);
extern unsigned short Uart_GetData(void);
extern void Uart_DisableReceiveIsrReq(void);
extern void Uart_EnableReceiveIsrReq(void);
extern void Uart_DisableTxInterrupt(void);
#endif