在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 改進(jìn)利用串口的FIFO接收數(shù)據(jù)

            改進(jìn)利用串口的FIFO接收數(shù)據(jù)

            作者: 時間:2016-11-20 來源:網(wǎng)絡(luò) 收藏
            1. /****************************************************************************
            2. #*名稱:UART_Initt
            3. #*功能:初始化UART0中斷以及中斷向量表的配置
            4. #*入口參數(shù):無
            5. #*出口參數(shù):無
            6. #****************************************************************************/
            7. voidUART_Init(void)
            8. {
            9. uint16Fdiv;
            10. U0LCR=0x83;//相關(guān)校驗(yàn)位、數(shù)據(jù)長度等的設(shè)置,DLAB=1,可設(shè)置波特率
            11. Fdiv=(Fpclk/16)/BAUD;
            12. U0DLM=Fdiv/256;
            13. U0DLL=Fdiv%256;
            14. U0LCR=0X03;
            15. U0IER=0X01;//只使能接收中斷
            16. U0FCR=0x81;//使能發(fā)送和接收的FIFO,8字節(jié)觸發(fā)
            17. IRQEnable();//使能IRQ中斷(這一步注意,下午調(diào)試了好久,唉)
            18. VICIntSelect=0x00000000;//設(shè)置所有通道為IRQ中斷
            19. VICVectCntl0=0x20|6;//UART0通道分配到IRQslot0,優(yōu)先級最高
            20. VICVectAddr0=(uint32)UART0_IRQ;//設(shè)置UART0中斷程序地址
            21. VICIntEnable=0x40;//使能UART0中斷
            22. }
            23. void__irqUART0_IRQ(void)
            24. {
            25. intcount;
            26. switch(U0IIR&0x0F)
            27. {
            28. case0x02://產(chǎn)生發(fā)送中斷
            29. break;
            30. case0x04://FIFO接收數(shù)據(jù)到達(dá)8個字節(jié)
            31. for(count=0;count<8;count++)
            32. {
            33. Recive_Buffer[UART0Count++]=U0RBR;//保存接收到的數(shù)據(jù)
            34. }
            35. rcv_new=1;//標(biāo)志接收到新的數(shù)據(jù)
            36. break;
            37. case0x0c://FIF0中至少有一個數(shù)據(jù),而且在3.5到4.5個字符時間內(nèi)無數(shù)據(jù)進(jìn)(可判斷數(shù)據(jù)接收完畢)
            38. while((U0LSR&0x01)==0x01)
            39. {
            40. Recive_Buffer[UART0Count++]=U0RBR;
            41. }
            42. rcv_new=1;//標(biāo)志接收到新的數(shù)據(jù)
            43. break;
            44. default:
            45. break;
            46. }
            47. VICVectAddr=0x00;//結(jié)束中斷
            48. }


            關(guān)鍵詞: 串口FIFO接收數(shù)

            評論


            技術(shù)專區(qū)

            關(guān)閉