日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51 串口中斷發(fā)送程序

          51 串口中斷發(fā)送程序

          作者: 時間:2016-11-11 來源:網(wǎng)絡(luò) 收藏
          假設(shè)要發(fā)送一組數(shù)據(jù)Send[10]
          一般采用查詢發(fā)送(循環(huán)發(fā)送)方式:
          unsignedcharSend[10];//發(fā)送量
          unsignedchari;//循環(huán)量
          for(i=0;i<10;i++)
          {
          SBUF=Send[i];//發(fā)送
          while(TI==0);//等待發(fā)送完成
          TI=0;//清標志
          }

          采用中斷發(fā)送方式:
          unsignedcharSend[10];//發(fā)送量
          unsignedcharnum;//發(fā)送數(shù)據(jù)量
          unsignedchar*p;//發(fā)送用指針

          //發(fā)送時:
          num=10;//定義發(fā)送數(shù)據(jù)量
          p=&Send;//取首地址
          SBUF=*p;//發(fā)送第一個數(shù)據(jù),啟動發(fā)送中斷
          //中斷代碼:
          voidComInt()interrupt4
          {
          if(RI)RI=0;//接收中斷略;

          if(TI)//發(fā)送中斷處理
          {
          TI=0;//清標志
          num--;//計數(shù)減1
          p++;//指針加1
          if(num>0)SBUF=*p;//數(shù)據(jù)繼續(xù)發(fā)送至全部發(fā)完
          }
          }

          中斷發(fā)送優(yōu)點:省去循環(huán)等待時間,以上面例子為例,9600bps時查詢發(fā)送約占用單片機10ms多,而中斷發(fā)送只占單片機幾十微秒(單片機速度越快,占用時間越少)。
          中斷發(fā)送缺點:代碼稍復(fù)雜,發(fā)送過程不易控制。


          關(guān)鍵詞: 51串口中斷發(fā)送程

          評論


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

          關(guān)閉