📄 uart_irda.h
字号:
//*********************************************************************\\
// company: COMMIT Incorporated \\
// department: HW \\
// author: LiYuan \\
// version: 1.0 \\
// create date: 09/12/2005 \\
// release date: \\
// final revise date: \\
// reviser: \\
// file descript: \\
//*********************************************************************\\
//registers define
static unsigned int UART_Base_Addr[3] = {0xfffb0000,0xfffb0800,0xfffb9800};
#define UART_DLL_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x00)
#define UART_RHR_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x00)
#define UART_THR_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x00)
#define UART_DLH_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x04)
#define UART_IER_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x04)
#define UART_IIR_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x08)
#define UART_FCR_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x08)
#define UART_EFR_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x08)
#define UART_LCR_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x0c)
#define UART_MCR_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x10)
#define UART_XON1_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x10)
#define UART_ADDR1_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x10)
#define UART_LSR_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x14)
#define UART_XON2_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x14)
#define UART_ADDR2_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x14)
#define UART_MSR_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x18)
#define UART_TCR_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x18)
#define UART_XOFF1_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x18)
#define UART_TLR_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x1c)
#define UART_SPR_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x1c)
#define UART_XOFF2_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x1c)
#define UART_MDR1_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x20)
#define UART_MDR2_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x24)
#define UART_SFLSR_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x28)
#define UART_TXFLL_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x28)
#define UART_RESUME_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x2c)
#define UART_TXFLH_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x2c)
#define UART_SFREGL_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x30)
#define UART_RXFLL_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x30)
#define UART_SFREGH_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x34)
#define UART_RXFLH_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x34)
#define UART_UASR_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x38)
#define UART_BLR_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x38)
#define UART_ACREG_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x3c)
#define UART_SCR_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x40)
#define UART_SSR_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x44)
#define UART_EBLR_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x48)
#define UART_MVR_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x50)
#define UART_SYSC_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x54)
#define UART_SYSS_REG(x) *(volatile unsigned char *)(UART_Base_Addr[x] + 0x58)
//UART configuration parameters define
#define UART1 0
#define UART2 1
#define UART3 2
#define CHAR_LEN_5BITS 5
#define CHAR_LEN_6BITS 6
#define CHAR_LEN_7BITS 7
#define CHAR_LEN_8BITS 8
#define STOP_BIT_1 1
#define STOP_BIT_1P5OR2 2
#define PARITY_NO 0
#define PARITY_ODD 1
#define PARITY_EVEN 2
#define PARITY_FORCED_0 3
#define PARITY_FORCED_1 4
//UART baud rate
#define BAUD_RATE_300 1
#define BAUD_RATE_600 2
#define BAUD_RATE_1200 3
#define BAUD_RATE_2400 4
#define BAUD_RATE_4800 5
#define BAUD_RATE_9600 6
#define BAUD_RATE_14400 7
#define BAUD_RATE_19200 8
#define BAUD_RATE_28800 9
#define BAUD_RATE_38400 10
#define BAUD_RATE_57600 11
#define BAUD_RATE_115200 12
#define BAUD_RATE_230400 13
#define BAUD_RATE_460800 14
#define BAUD_RATE_921600 15
#define BAUD_RATE_1834200 16
#define BAUD_RATE_3686400 17
#define UART_AUTO_BAUD_OFF 0
#define UART_AUTO_BAUD_ON 1
#define UART_FIFO_OFF 0
#define UART_FIFO_ON 1
#define UART_DMA_OFF 0
#define UART_DMA_ON 1
#define UART_FLOW_CTRL_OFF 0
#define UART_FLOW_CTRL_SW 1
#define UART_FLOW_CTRL_AUTO 2
static int FIFO_status;
static int DMA_status;
//fuctions declaration
void UART_Initialize(int);
void UART_IOMultiplex(int);
void UART_Open(int);
void UART_Close(int dev);
void UART_Configure(int);
void UART_CharLenConfigure(int, int);
void UART_StopBitConfigure(int, int);
void UART_ParityConfigure(int, int);
void UART_BaudRateConfigure(int, int, int);
void UART_FIFOConfigure(int, int);
void UART_DMAConfigure(int, int);
void UART_FlowCtrlConfigure(int, int);
void UART_Transmit(int, char *);
char *UART_Receive(int);
void UART_Printf(int, char *, ...);
int UART_GetNum(int);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -