⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uart_irda.h

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 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 + -