📄 uartv2.c
字号:
#define UART_BASE_ADDR 0x400200
#define RBR *((int *)(UART_BASE_ADDR+0))
#define THR *((int *)(UART_BASE_ADDR+0))
#define IER *((int *)(UART_BASE_ADDR+1))
#define IIR *((int *)(UART_BASE_ADDR+2))
#define FCR *((int *)(UART_BASE_ADDR+2))
#define LCR *((int *)(UART_BASE_ADDR+3))
#define MCR *((int *)(UART_BASE_ADDR+4))
#define LSR *((int *)(UART_BASE_ADDR+5))
#define MSR *((int *)(UART_BASE_ADDR+6))
#define SCR *((int *)(UART_BASE_ADDR+7))
#define DLL *((int *)(UART_BASE_ADDR+0))
#define DLM *((int *)(UART_BASE_ADDR+1))
void TMCR_reset( void );
void CLK_init( void );
void EMIF_init(void);
main()
{
TMCR_reset();
CLK_init();
EMIF_init();
LCR = 0x80;
DLL = 0x03;
DLM = 0x00;
LCR = 0x03;
FCR = 0x01;
MCR = 0x20;
IER = 0x00;
for(;;)
{
while(LSR & 0x40 == 0);
THR = 0X55;
}
}
void EMIF_init(void)
{
ioport unsigned int *ce21 =(unsigned int *)0x809;
*ce21 = 0x1fff;
}
void CLK_init( void )
{
ioport unsigned int *clkmd;
clkmd=(unsigned int *)0x1c00;
*clkmd = 0x2033;
}
void TMCR_reset( void )
{
ioport unsigned int *TMCR_MGS3=(unsigned int *)0x07FE;
ioport unsigned int *TMCR_MM =(unsigned int *)0x07FF;
*TMCR_MGS3 =0x510;
*TMCR_MM =0x000;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -