12 #ifndef __UART_DEVICE_H__
13 #define __UART_DEVICE_H__
18 #define UART_BUFF_SIZE 256
int32_t UART_devDataReceived(UART_Device_t *dev)
Get the number of bytes received.
Definition: uart_device.c:204
Definition: uart_device.h:34
void(* DisableLoopBack)(void)
Definition: uart_device.h:113
void(* uart_cb_func_t)(UART_Device_Type *dev)
Definition: uart_device.h:21
void(* DisableBreak)(void)
Definition: uart_device.h:111
void(* LineInit)(UART_Dev_LineInitData_t *data)
Definition: uart_device.h:82
void(* SetDataSize)(uint8_t size)
Definition: uart_device.h:102
void(* SetInterruptDelay)(uint8_t delay)
Definition: uart_device.h:114
void(* SetEvenParityBit)(void)
Definition: uart_device.h:104
Definition: uart_device.h:46
int32_t UART_devClearBuffer(UART_Device_t *dev)
Clear data buffer in UART device driver.
Definition: uart_device.c:247
uint8_t(* RxDataReady)(void)
Definition: uart_device.h:101
int32_t UART_devDataPendingTX(UART_Device_t *dev)
Check the number of bytes pending on TX.
Definition: uart_device.c:212
void(* EnableLoopBack)(void)
Definition: uart_device.h:112
UART_Dev_State_t * state
Definition: uart_device.h:118
uint32_t cb_size
Definition: uart_device.h:61
Definition: uart_device.h:33
void(* TxData)(uint8_t data)
Definition: uart_device.h:88
Definition: uart_device.h:36
Definition: uart_device.h:29
void(* DisableRxErrorIRQ)(void)
Definition: uart_device.h:99
uint32_t rx_outptr
Definition: uart_device.h:54
A structure to represent UART device driver.
Definition: uart_device.h:81
char * Name
Definition: uart_device.h:116
int32_t UART_devRegisterCallback(UART_Device_t *dev, uint32_t size, void *cb)
Register a call back function to UART device driver.
Definition: uart_device.c:258
uint8_t tx_init
Definition: uart_device.h:58
Definition: uart_device.h:37
void(* DisableTxIRQ)(void)
Definition: uart_device.h:95
uint8_t(* LineStatus)(void)
Definition: uart_device.h:87
Definition: uart_device.h:38
uint8_t(* TxEmpty)(void)
Definition: uart_device.h:100
void * SFRS
Definition: uart_device.h:119
void(* SetOddParityBit)(void)
Definition: uart_device.h:105
int32_t UART_devSendByte(UART_Device_t *dev, uint8_t *data, uint32_t len)
Send data to UART device.
Definition: uart_device.c:220
A structure to represent UART initialization information.
Definition: uart_device.h:68
uint8_t ParityBit
Definition: uart_device.h:71
const struct UART_Device_t UART_Device_t
A structure to represent UART device driver.
#define UART_BUFF_SIZE
Definition: uart_device.h:18
void(* EnableRxTimeoutIRQ)(void)
Definition: uart_device.h:96
uint32_t tx_outptr
Definition: uart_device.h:56
uint8_t LoopBackEn
Definition: uart_device.h:73
uart_cb_func_t cb
Definition: uart_device.h:62
Definition: uart_device.h:32
int32_t UART_devReceiveByte(UART_Device_t *dev, uint8_t *data, uint32_t len)
Receive data to UART device.
Definition: uart_device.c:231
uint8_t StopBits
Definition: uart_device.h:70
Definition: uart_device.h:28
int32_t UART_devResetDevice(UART_Device_t *dev)
Reset UART device.
Definition: uart_device.c:304
void(* SetStopBit)(uint8_t stop)
Definition: uart_device.h:103
void(* TxFiFoReset)(void)
Definition: uart_device.h:86
void(* Disable)(void)
Definition: uart_device.h:84
void(* EnableTxIRQ)(void)
Definition: uart_device.h:93
uint32_t tx_inptr
Definition: uart_device.h:57
void(* EnableBreak)(void)
Definition: uart_device.h:110
uint32_t buf_size
Definition: uart_device.h:53
uint8_t StickyParityEn
Definition: uart_device.h:75
UART_Dev_Parity_t
Enumeration for UART parity bit.
Definition: uart_device.h:44
void(* DisableRxTimeoutIRQ)(void)
Definition: uart_device.h:97
uint8_t DataSize
Definition: uart_device.h:69
void(* Enable)(void)
Definition: uart_device.h:83
enum IRQn IRQn_Type
The enumeration of Interrupt Number Assignments.
int32_t UART_devCheckError(UART_Device_t *dev)
Check UART device for error.
Definition: uart_device.c:292
void(* EnableRxErrorIRQ)(void)
Definition: uart_device.h:98
IRQn_Type IRQ
Definition: uart_device.h:117
uint16_t * BaudRateMap
Definition: uart_device.h:120
Definition: uart_device.h:45
int32_t UART_devInit(UART_Device_t *dev, UART_devBaudRate_t rate, UART_Dev_LineInitData_t *init)
Initialize UART device.
Definition: uart_device.c:124
uint8_t(* IntStatus)(void)
Definition: uart_device.h:90
void(* EnableRxIRQ)(void)
Definition: uart_device.h:92
void(* EnableParity)(void)
Definition: uart_device.h:106
Definition: uart_device.h:30
uint8_t BreakEn
Definition: uart_device.h:74
void(* DisableParity)(void)
Definition: uart_device.h:107
void(* EnableStickyParity)(void)
Definition: uart_device.h:108
void(* DisableRxIRQ)(void)
Definition: uart_device.h:94
void(* RxFiFoReset)(void)
Definition: uart_device.h:85
A structure to represent UART device state.
Definition: uart_device.h:52
Definition: uart_device.h:27
Definition: uart_device.h:35
uint32_t rx_inptr
Definition: uart_device.h:55
void(* BaudRateDiv)(uint32_t div)
Definition: uart_device.h:91
UART_Device_t * UART_devRequest(const char *name)
Request an UART device.
Definition: uart_device.c:111
void(* DisableStickyParity)(void)
Definition: uart_device.h:109
uint8_t ParityEn
Definition: uart_device.h:72
uint8_t(* RxData)(void)
Definition: uart_device.h:89
Definition: uart_device.h:31
UART_devBaudRate_t
Enumeration for UART baud rate.
Definition: uart_device.h:26