uart_fifo.c

来自「S3C2410底层keil版--UART」· C语言 代码 · 共 53 行

C
53
字号
#include "2410lib.h"
#include "head.h"


void  __irq uart0_int(void)
{
     INT8 c;
     if(rSUBSRCPND&BIT_SUB_TXD0)
	 {
	    c=uart_getch();
		uart_printf("%c",c);
		uart_printf("\n TX is OK \n");
		rSUBSRCPND=BIT_SUB_TXD0	;
	  }

	 if(rSUBSRCPND&BIT_SUB_RXD0)
	 {
	     while((rUFSTAT0 & 0xf)!=0)
		{ 
		    c=uart_getch();
		    uart_printf("%c",c);
		 }
	     uart_printf("\n RX is OK \n");
	    rSUBSRCPND=BIT_SUB_RXD0	;
	 }
     ClearPending(BIT_UART0);
}

init_uart()
{
       rSRCPND = rSRCPND;           					// clear all interrupt
       rINTPND = rINTPND;           					// clear all interrupt
  	   pISR_UART0=(INT32)uart0_int;

    	rSRCPND = BIT_UART0 ;							//to clear the previous pending states
    	rINTPND = BIT_UART0 ;

		
        rINTMSK =~BIT_UART0;

		rINTSUBMSK = ~(BIT_SUB_TXD0|BIT_SUB_RXD0);
//		rINTSUBMSK = ~(BIT_SUB_RXD0);
}


void uart0_fifo_int()
{
	init_uart();

    while(1);
        
}

⌨️ 快捷键说明

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