📄 uart.h
字号:
/*************************************************
*
* UART.H
*
* Copyright 2000 Alchemy Semiconductor, Inc.
* All rights reserved.
*
*************************************************/
#ifndef _AU1UART_H
#define _AU1UART_H
#define UART0_BASE 0xB1100000
#define UART1_BASE 0xB1200000
#define UART2_BASE 0xB1300000
#define UART3_BASE 0xB1400000
/*
* UART Register Offsets
*/
#define UART_RXDATA (0x0000)
#define UART_TXDATA (0x0004)
#define UART_INTEN (0x0008)
#define UART_INTCAUSE (0x000C)
#define UART_FIFOCTRL (0x0010)
#define UART_LINECTRL (0x0014)
#define UART_MDMCTRL (0x0018)
#define UART_LINESTAT (0x001C)
#define UART_MDMSTAT (0x0020)
#define UART_CLKDIV (0x0028)
#define UART_ENABLE (0x0100)
#ifndef _ASSEMBLER_
typedef volatile struct
{
UINT32 rxdata;
UINT32 txdata;
UINT32 inten;
UINT32 intcause;
UINT32 fifoctrl;
UINT32 linectrl;
UINT32 mdmctrl;
UINT32 linestat;
UINT32 mdmstat;
UINT32 reserved0;
UINT32 clkdiv;
UINT32 reserved1[53];
UINT32 enable;
} AU1X00_UART;
#endif /* _ASSEMBLER_ */
/*
* Register content definitions
*/
#define UART_INTEN_MIE (1<<3)
#define UART_INTEN_LIE (1<<2)
#define UART_INTEN_TIE (1<<1)
#define UART_INTEN_RIE (1<<0)
#define UART_INTCAUSE_IID (7<<1)
#define UART_INTCAUSE_IP (1<<0)
#define UART_INTCAUSE_IID_MS (0<<1)
#define UART_INTCAUSE_IID_TBA (1<<1)
#define UART_INTCAUSE_IID_RDA (2<<1)
#define UART_INTCAUSE_IID_RLS (3<<1)
#define UART_INTCAUSE_IID_CTO (6<<1)
#define UART_FIFOCTRL_RFT (3<<6)
#define UART_FIFOCTRL_TFT (3<<4)
#define UART_FIFOCTRL_MS (1<<3)
#define UART_FIFOCTRL_TR (1<<2)
#define UART_FIFOCTRL_RR (1<<1)
#define UART_FIFOCTRL_FE (1<<0)
#define UART_FIFOCTRL_RFT_1 (0<<6)
#define UART_FIFOCTRL_RFT_4 (1<<6)
#define UART_FIFOCTRL_RFT_8 (2<<6)
#define UART_FIFOCTRL_RFT_14 (3<<6)
#define UART_FIFOCTRL_TFT_0 (0<<4)
#define UART_FIFOCTRL_TFT_4 (1<<4)
#define UART_FIFOCTRL_TFT_8 (2<<4)
#define UART_FIFOCTRL_TFT_12 (3<<4)
#define UART_LINECTRL_SB (1<<6)
#define UART_LINECTRL_PAR (3<<4)
#define UART_LINECTRL_PE (1<<3)
#define UART_LINECTRL_ST (1<<2)
#define UART_LINECTRL_WLS (3<<0)
#define UART_LINECTRL_PAR_O (0<<4)
#define UART_LINECTRL_PAR_E (1<<4)
#define UART_LINECTRL_PAR_M (2<<4)
#define UART_LINECTRL_PAR_Z (3<<4)
#define UART_LINECTRL_WLS_5 (0<<0)
#define UART_LINECTRL_WLS_6 (1<<0)
#define UART_LINECTRL_WLS_7 (2<<0)
#define UART_LINECTRL_WLS_8 (3<<0)
#define UART_MDMCTRL_LB (1<<4)
#define UART_MDMCTRL_I1 (1<<3)
#define UART_MDMCTRL_I0 (1<<2)
#define UART_MDMCTRL_RT (1<<1)
#define UART_MDMCTRL_DT (1<<0)
#define UART_LINESTAT_RF (1<<7)
#define UART_LINESTAT_TE (1<<6)
#define UART_LINESTAT_TT (1<<5)
#define UART_LINESTAT_BI (1<<4)
#define UART_LINESTAT_FE (1<<3)
#define UART_LINESTAT_PE (1<<2)
#define UART_LINESTAT_OE (1<<1)
#define UART_LINESTAT_DR (1<<0)
#define UART_MDMSTAT_CD (1<<7)
#define UART_MDMSTAT_RI (1<<6)
#define UART_MDMSTAT_DS (1<<5)
#define UART_MDMSTAT_CT (1<<4)
#define UART_MDMSTAT_DD (1<<3)
#define UART_MDMSTAT_TRI (1<<2)
#define UART_MDMSTAT_DR (1<<1)
#define UART_MDMSTAT_DC (1<<0)
#define UART_ENABLE_E (1<<1)
#define UART_ENABLE_CE (1<<0)
#endif /* _AU1UART_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -