在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > AVR單片機(jī)atmega16串口中斷接收和發(fā)送程序

            AVR單片機(jī)atmega16串口中斷接收和發(fā)送程序

            作者: 時(shí)間:2016-11-13 來源:網(wǎng)絡(luò) 收藏
            // Target : M16

            // Crystal: 8.0000Mhz
            //AVR單片機(jī)atmega16串口中斷接收和發(fā)送程序。接收到字符后再發(fā)送出去
            #include
            #include
            unsigned char com_in_buf[1];
            void port_init(void)
            {
            PORTA = 0xFF;
            DDRA = 0xFF;
            PORTB = 0x00;
            DDRB = 0x00;
            PORTC = 0x00;
            DDRC = 0x00;
            PORTD = 0x00;
            DDRD = 0x00;
            }

            本文引用地址:http://www.biyoush.com/article/201611/316518.htm

            //UART0 initialize
            // desired baud rate: 9600
            // actual: baud rate:9615 (0.2%)
            // char size: 8 bit
            // parity: Disabled
            void uart0_init(void)
            {
            UCSRB = 0x00; //disable while setting baud rate
            UCSRA = 0x00;
            UCSRC = BIT(URSEL) | 0x06;
            UBRRL = 0x33; //set baud rate lo
            UBRRH = 0x00; //set baud rate hi
            UCSRB = 0x98;
            }

            void send_data(unsigned char back)
            {
            while( !( UCSRA & (1< UDR=back;
            }

            #pragma interrupt_handler uart0_rx_isr:12
            void uart0_rx_isr(void)
            {
            //uart has received a character in UDR
            com_in_buf[0]=UDR;
            send_data(com_in_buf[0]);
            }

            //call this routine to initialize all peripherals
            void init_devices(void)
            {
            //stop errant interrupts until set up
            CLI(); //disable all interrupts
            port_init();
            uart0_init();

            MCUCR = 0x00;
            GICR = 0x00;
            TIMSK = 0x00; //timer interrupt sources
            SEI(); //re-enable interrupts
            //all peripherals are now initialized
            }

            void main(void)
            {
            char j;
            init_devices();
            while(1)
            {
            for(j=1;j<100;j++)
            ;
            }
            }



            評(píng)論


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

            關(guān)閉