資源描述:
《uart通信程序_中斷方法》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、UART通信程序中斷實(shí)現(xiàn)方法——發(fā)送中斷與接收中斷聲明:本文著作權(quán)歸電子科技大學(xué)中山學(xué)院嵌入式系統(tǒng)實(shí)驗(yàn)室所有著作人:鄧春健UART通信程序——發(fā)送中斷程序回憶:P297頁使用查詢方式從串口發(fā)送多個(gè)字節(jié)數(shù)據(jù)char*str=“helloworld”;for(i=0;i<=9;i++)UART0_SendByte(str[i]);voidUART0_SendByte(uint8dat){U0THR=dat;while((U0LSR&0x40)==0);}主函數(shù)uint8SEND_STRING[]="HelloWorld!r
2、n";uint8*str;intmain(void){IRQEnable();UART0_Init();UART0_INT_Init();str=SEND_STRING;UART0_SendByte(*str++);while(1);return(0);}通信參數(shù)設(shè)置voidUART0_Init(void){uint16Fdiv;PINSEL0=0x00000005;U0LCR=0x83;Fdiv=(Fpclk/16)/9600;U0DLM=Fdiv/256;U0DLL=Fdiv%256;U0LCR=0x03;}UART中
3、斷設(shè)置voidUART0_INT_Init(void){U0IER=2;U0FCR=1;VICIntSelect=0;VICVectCntl0=0x20
4、6;VICVectAddr0=(int)UART0_ISR;VICIntEnable=1<<6;}UART中斷服務(wù)程序void__irqUART0_ISR(){intint_flag;int_flag=U0IIR&0x0f;if(int_flag==2){if(*str==‘