uartv2.c

来自「ti公司tms320vc5509的uart程序」· C语言 代码 · 共 59 行

C
59
字号
#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 + =
减小字号Ctrl + -
显示快捷键?