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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > PIC18FXX8單片機(jī)通用同步異步收發(fā)器的接口電路和C源代碼

          PIC18FXX8單片機(jī)通用同步異步收發(fā)器的接口電路和C源代碼

          作者: 時間:2012-06-01 來源:網(wǎng)絡(luò) 收藏

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

          voidinterrupt low_priorityLOW_ISR()/* 低優(yōu)先級中斷子程序 */
          {
          if(RCIF==1)/* RS232接收中斷 */
          {
          RCIF=0;/* 清中斷標(biāo)志 */
          receive232[receive_count]=RCREG;/* 接收數(shù)據(jù)并存儲 */
          send232[receive_count]=RCREG; /* 接收數(shù)據(jù)存放到發(fā)送緩沖數(shù)組 */
          receive_count++;/* 接收計數(shù)器加1 */
          if(receive_count>7)/* 如果已經(jīng)接收到8個數(shù)據(jù) */
          {
          receive_count=0;/* 接收計數(shù)器清0 */
          SciReceiveFlag=1;/* 置接收到8個數(shù)據(jù)標(biāo)志 */
          }
          }
          elseif((0!=Send_Mode)(TXIF==1))/* 中斷發(fā)送數(shù)據(jù)方式且為發(fā)送中斷 */
          {
          if(send_count>7)/* 已經(jīng)發(fā)送完8個數(shù) */
          {
          TXEN=0;/* 發(fā)送不使能 */
          return;
          }
          else
          {
          send_count++;/* 發(fā)送計數(shù)器加1 */
          TXREG=*pointer++;/* 發(fā)送當(dāng)前應(yīng)發(fā)送數(shù)據(jù),發(fā)送指針加1 */
          }
          }
          }

          main() /* 主程序 */
          {
          INTCON=0x00;/* 關(guān)總中斷 */
          ADCON1=0X07;/* 設(shè)置數(shù)字輸入輸出口,不用作模擬口 */
          PIE1=0;/* PIE1 的中斷不使能 */
          PIE2=0;/* PIE2 的中斷不使能 */
          PIE3=0;/* PIE3 的中斷不使能 */
          Send_Mode=1;/* Send_Mode不為0,中斷方式發(fā)送數(shù)據(jù);
          Send_Mode =0,非中斷方式發(fā)送數(shù)據(jù) */
          sciinitial();/* 串行通訊初始化子程序 */
          IPEN=1;/* 使能中斷高低優(yōu)先級 */
          INTCON=INTCON|0xc0;/* 開總中斷、開外圍中斷 */
          while(1)
          {
          if(1==SciReceiveFlag)/* 是否接收到8個通信數(shù)據(jù) */
          {
          SciReceiveFlag=0;/* 清接收到8個通信數(shù)據(jù)標(biāo)志 */
          if(0!=Send_Mode) /* Send_Mode不為0,中斷方式發(fā)送 */
          {
          send_count=0;/* 發(fā)送數(shù)據(jù)計數(shù)清0 */
          pointer=send232[0];/* 發(fā)送指針指向發(fā)送數(shù)據(jù)數(shù)組首地址 */
          TXREG=*pointer++;/* 發(fā)送第一個數(shù)據(jù)后,將發(fā)送指針加1 */
          TXEN=1;/* 使能發(fā)送 */
          }
          else /* Send_Mode =0,非中斷方式發(fā)送數(shù)據(jù) */
          {
          pointer=send232[0];/* 發(fā)送指針指向發(fā)送數(shù)據(jù)數(shù)組首地址 */
          for(i=0;i8;i++)
          {
          TXREG=*pointer++;/* 發(fā)送數(shù)據(jù)后,將發(fā)送指針加1 */
          while(1)/* 等待發(fā)送完成 */
          {
          if(TXIF==1)break;/* 等待發(fā)送完成 */
          }
          }
          }
          }
          }
          }

          DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY



          上一頁 1 2 3 下一頁

          評論


          相關(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); })();