uart_int.c

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

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



void  __irq uart0_int(void)
{
     INT8U c;
//	  uart_printf("\n TX is OK \n");
     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)
	 {
	     
		 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
  	  

		
    	rSRCPND = BIT_UART0 ;				//to clear the previous pending states
    	rINTPND = BIT_UART0 ;
		rINTMSK =~BIT_UART0;
		
       
	    pISR_UART0=(INT32)uart0_int;
//		rINTSUBMSK = ~(BIT_SUB_RXD0);
		rINTSUBMSK = ~(BIT_SUB_TXD0|BIT_SUB_RXD0);
}


void uart0_int_test()
{
// uart_printf("123");
  init_uart();

//	 uart_printf("123");
    while(1);
	    
}

⌨️ 快捷键说明

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