久久人妻精品人妻视频五月天一区二区三区,,自慰午夜喷水久久久av国产成人a视频高在线,,欧美日韩免费专区在线97精品国产手机

  • <cite id="cwywg"></cite>
    <button id="cwywg"></button>
  • <button id="cwywg"><source id="cwywg"></source></button>
    <button id="cwywg"><tbody id="cwywg"></tbody></button>
  • <button id="cwywg"></button>
  • 
    
  • logo logo
    • BANNER
    • BANNER
    • BANNER
    您的位置 : 首頁(yè) > 新聞資訊 > 技術(shù)支持
    AVR USART接收中斷程序
    發(fā)布者:江蘇瑞易通電子科技有限公司 人氣:626 發(fā)布日期:2021-04-23 10:10:40

    使用AVR的USART進(jìn)行自發(fā)自收(將發(fā)送引腳RXD短接到接收引腳TXD),發(fā)出數(shù)據(jù):0,1,2。。。數(shù)據(jù),能接收到自己發(fā)出的數(shù)據(jù):0,1,2。。。使用LED作出簡(jiǎn)單指示。 
    USART自發(fā)自收,使用PB口的LED指示接收到的數(shù)據(jù),觀察是否與發(fā)送的數(shù)據(jù)一致。

    #include

    #define DISP_PORT PORTB

    #define DISP_DDR  DDRB


    /*

    程序功能:初始化UART為:8位,9.6K,接收中斷

    注意事項(xiàng):基于7.3728M晶振  

    程序名稱:UART初始化程序

    */

    void uart0_init (void)

    {

        UCSRB = 0x00;   //disable while setting baud rate

        UCSRA = 0x00;   //U2X = 0,不加倍數(shù)率

        UCSRC = 0x86;   //固定的

        /*  設(shè)置幀格式 : 8 個(gè)數(shù)據(jù)位 , 2 個(gè)停止位 */

        //UCSRC = (1<

        UBRRL = 47;     //set baud rate lo,波特率為9.6K   

        //UBRRL=(fosc/16/(baud+1))%256; fosc是晶振,baud為波特率

        UBRRH = 0x00;   //set baud rate hi

        UCSRB = 0x98;   //接收中斷允許,接收緩沖自動(dòng)清空,接收允許  

    }

    /*程序名稱:UART接收中斷服務(wù)程序*/

    #pragma interrupt_handler uart0_rx_isr:12

    void uart0_rx_isr(void)

    {

      DISP_PORT = UDR;//顯示接收到的數(shù)據(jù)

                      //如:接收到"1",顯示0X31

    //delay50ms(1);

    }


    void mcu_init(void)

    {

        CLI(); 

        uart0_init();

        MCUCR = 0x00;

        GICR  = 0x00;

        TIMSK = 0x00;   //timer interrupt sources

        SEI();          //re-enable interrupts

    }

    void main()

    {

        uint8 counter=0;


        mcu_init();


        DISP_DDR=0xFF;


        while(1)

        {

            UDR=counter++;          //發(fā)送數(shù)據(jù),數(shù)據(jù)為變量counter

            while(!(UCSRA&0x40));   //等待發(fā)送結(jié)束

             //Bit 6 – TXC: USART  發(fā)送結(jié)束

    //發(fā)送移位緩沖器中的數(shù)據(jù)被送出,且當(dāng)發(fā)送緩沖器 (UDR) 為空時(shí)

    //TXC 置位。執(zhí)行發(fā)送結(jié)束中斷時(shí) TXC 標(biāo)志自動(dòng)清零,

    //也可以通過寫 1 進(jìn)行清除操作。

            UCSRA|=0x40;            //清除發(fā)送結(jié)束標(biāo)志位 

            delay50ms(4);

        }

    }



    返回新聞列表