在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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簡(jiǎn)單的串口通信程序

            AVR簡(jiǎn)單的串口通信程序

            作者: 時(shí)間:2016-11-18 來(lái)源:網(wǎng)絡(luò) 收藏
            本例子是學(xué)習(xí)AVR串口通信時(shí)候編寫(xiě)的一個(gè)簡(jiǎn)單的串口通信的程序,運(yùn)行的時(shí)候先向串口發(fā)送一個(gè)數(shù)據(jù)0x12,然后等待接收,當(dāng)PC機(jī)發(fā)送一個(gè)數(shù)據(jù)到單片機(jī),單片機(jī)就對(duì)這個(gè)數(shù)據(jù)進(jìn)行加1處理,然后發(fā)回到PC機(jī)顯示。以下是串口通信時(shí)候的界面和串口通信的源程序。

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

            /***********************************************/

            /************AVR USART串口調(diào)試****************/

            /************ClimberWin 2008.6.29**************/

            /*CPU:ATMEGA32L 4MHZ 外部晶振(熔斷位需要先配置好外部晶振)*/

            /*說(shuō)明:AVR串口是通過(guò)UDR發(fā)送出去的,類(lèi)似于51單片機(jī)的SBUF*/

            /*程序功能:能夠通過(guò)串行數(shù)據(jù)發(fā)送給PC機(jī)0x12數(shù)據(jù),接收上位機(jī)數(shù)據(jù)并且+1后發(fā)送回上位機(jī)*/

            #include <avr/io.h> //AVR I/O口定義頭文件

            #include // 延時(shí)頭文件調(diào)用

            #include interrupt.h> // 中斷頭文件調(diào)用

            #define uchar unsigned char

            //引腳定義

            #define AVR_RXD 0 //PD0 RXD

            #define AVR_TXD 1 //PD1 TXD

            //常量定義

            #define BAUDRATE 9600 //波特率定義

            uchar UART_MID; //定義一個(gè)緩存區(qū)數(shù)據(jù)臨時(shí)存儲(chǔ)地址

            /*******************串口接收中斷服務(wù)程序*************************/

            SIGNAL(SIG_USART_RECV) //串口中斷服務(wù)程序

            {

            UART_MID=UDR; // 從緩沖器中讀取數(shù)據(jù)到UART_MID,臨時(shí)存放

            UDR=UART_MID+1; //+1后發(fā)送回去數(shù)據(jù)

            }

            /****************************************************************/

            void init_USART(void)//USART 初始化

            {

            //USART 9600 8, n,1 PC上位機(jī)軟件(超級(jí)終端等)也要設(shè)成同樣的設(shè)置才能通訊

            UCSRC = (1<

            //異步,8位數(shù)據(jù),無(wú)奇偶校驗(yàn),一個(gè)停止位,無(wú)倍速

            // UBRR=(F_CPU/BAUDRATE/16-1)

            UBRRL= (F_CPU/BAUDRATE/16-1)%256;

            UBRRH= (F_CPU/BAUDRATE/16-1)/256;

            UCSRA = 0x00; //工作在異步正常模式下 U2X=0

            UCSRB = (1<

            //使能接收中斷,使能接收,使能發(fā)送

            }

            int main(void)

            {

            DDRD =(1<

            PORTD =0xFF;

            init_USART(); //初始化串口

            UDR=0X12; //向串口發(fā)送數(shù)據(jù)

            sei(); //中斷使能(avr/interrupt.h 中調(diào)用)

            while (1)

            {

            //等待接收,接收后跳轉(zhuǎn)到中斷程序

            }

            }



            關(guān)鍵詞: AVR串口通

            評(píng)論


            技術(shù)專(zhuān)區(qū)

            關(guān)閉