<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 以51單片機為例,一個簡單的串口通信協(xié)議C程序

          以51單片機為例,一個簡單的串口通信協(xié)議C程序

          作者: 時間:2016-09-16 來源:網(wǎng)絡(luò) 收藏

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

          本文引用地址:http://www.ex-cimer.com/article/201609/297026.htm

            文件說明:以單片機為例,一個簡單的協(xié)議C程序,

            協(xié)議以0XAA開頭,以0XCC,0X33,0XC3,0X3C結(jié)尾,數(shù)據(jù)長度不一定

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

            #define uchar unsigned char

            #define uint unsigned int

            bit RXAAOK; //接收到0XAA開頭標志

            bit RXFRMOK; //接收一幀完整數(shù)據(jù)標

            //接收中斷中如果是完整一條數(shù)據(jù)置位,主函數(shù)中

            //處理完畢清零

            uchar RXBUF[32]; //接收緩存

            uchar RX_P; //數(shù)據(jù)個數(shù)

            void UARTO_ISR() interrupt 4 //接收中斷,不同處理器可能是不同的函數(shù)聲明

            {

            uchar i; //用處提取接收緩沖器的字符

            if(RI)

            { i=SBUF; //提取字符

            RI=0;

            if(RXFRMOK==0) //判斷是否接收到起始字符0XAA

            { if(RXAAOK) //如果接收到0XAA,繼續(xù)接收后面的字符

            { RXBUF[RX_P]=i; //字符存入數(shù)組

            if((RX_P>3)&&(RXBUF[RX_P-3]==0xcc)

            &&(RXBUF[RX_P-2]==0x33)&&(RXBUF[RX_P-1]==0xc3)

            &&(RXBUF[RX_P]==0x3c) ) //判斷是是否接收完畢一幀數(shù)據(jù)

            { RXFRMOK=1; //如果接收完成,置位RXFRMOK;

            RXAAOK=0; //清零開始標志位RXAAOK

            }

            RX_P++; //接收計數(shù)器加一

            }

            if(!RXAAOK&&(i==0xaa))

            {RXAAOK=1;

            RX_P=0;

            }

            }

            }

            }

            void main() //主程序

            {

            while(1)

            {

            if(RXFRMOK)

            {

            if(RXBUF[0]==0X78)

            {//加入自己的處理函數(shù)即可

            }

            if(RXBUF[0]==0X7C)

            {//加入自己的處理函數(shù)即可

            }

            RXBUFMOK=0; //處理完畢,清除消息

            }

            }

            }



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

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();