uart_test.c.bak

来自「DM642串口的测试代码还有PC机的接受与发送程序」· BAK 代码 · 共 50 行

BAK
50
字号
#define EMIFA_CE2           0x01800010
#define UARTA_BASE_ADDR		0xA0002000
#define UARTB_BASE_ADDR		0xA0004000
#define ORDER				4
#define RBRA					*((unsigned int *)(UARTA_BASE_ADDR+0*ORDER))	
#define THRA					*((unsigned int *)(UARTA_BASE_ADDR+0*ORDER))	
#define IERA					*((unsigned int *)(UARTA_BASE_ADDR+1*ORDER))
#define IIRA					*((unsigned int *)(UARTA_BASE_ADDR+2*ORDER))	
#define FCRA					*((unsigned int *)(UARTA_BASE_ADDR+2*ORDER))	
#define LCRA					*((unsigned int *)(UARTA_BASE_ADDR+3*ORDER))
#define MCRA					*((unsigned int *)(UARTA_BASE_ADDR+4*ORDER))
#define LSRA					*((unsigned int *)(UARTA_BASE_ADDR+5*ORDER))
#define MSRA					*((unsigned int *)(UARTA_BASE_ADDR+6*ORDER))
#define SCRA					*((unsigned int *)(UARTA_BASE_ADDR+7*ORDER))
#define DLLA					*((unsigned int *)(UARTA_BASE_ADDR+0*ORDER))
#define DLMA					*((unsigned int *)(UARTA_BASE_ADDR+1*ORDER))

#define RBRB					*((unsigned int *)(UARTB_BASE_ADDR+0*ORDER))	
#define THRB					*((unsigned int *)(UARTB_BASE_ADDR+0*ORDER))	
#define IERB					*((unsigned int *)(UARTB_BASE_ADDR+1*ORDER))
#define IIRB					*((unsigned int *)(UARTB_BASE_ADDR+2*ORDER))	
#define FCRB					*((unsigned int *)(UARTB_BASE_ADDR+2*ORDER))	
#define LCRB					*((unsigned int *)(UARTB_BASE_ADDR+3*ORDER))
#define MCRB					*((unsigned int *)(UARTB_BASE_ADDR+4*ORDER))
#define LSRB					*((unsigned int *)(UARTB_BASE_ADDR+5*ORDER))
#define MSRB					*((unsigned int *)(UARTB_BASE_ADDR+6*ORDER))
#define SCRB					*((unsigned int *)(UARTB_BASE_ADDR+7*ORDER))
#define DLLB					*((unsigned int *)(UARTB_BASE_ADDR+0*ORDER))
#define DLMB					*((unsigned int *)(UARTB_BASE_ADDR+1*ORDER))

main()
{
    *(int *)EMIFA_CE2=0xffffff23;
    LCRA = 0x80; 
    DLLA = 0x60;    
	DLMA = 0x00;  
    LCRA = 0x03;    
    FCRA = 0x57;
    IERA = 0x00;      
    
    for(;;)
    {  
    	while(LSRA & 0x40 == 0);
    	
	    	THRA=0x0f;
    }        
    
} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?