在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

    
    
    <address id="vxupu"><td id="vxupu"></td></address>

      <pre id="vxupu"><small id="vxupu"></small></pre>
      <dfn id="vxupu"></dfn>
      <div id="vxupu"><small id="vxupu"></small></div>
    1. 新聞中心

      EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC單片機(jī)通用同步異步收發(fā)器的編程應(yīng)用

      PIC單片機(jī)通用同步異步收發(fā)器的編程應(yīng)用

      作者: 時(shí)間:2011-12-28 來源:網(wǎng)絡(luò) 收藏

      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++;/* 接收計(jì)數(shù)器加1 */
      if(receive_count>7)/* 如果已經(jīng)接收到8個(gè)數(shù)據(jù) */
      {
      receive_count=0;/* 接收計(jì)數(shù)器清0 */
      SciReceiveFlag=1;/* 置接收到8個(gè)數(shù)據(jù)標(biāo)志 */
      }
      }
      elseif((0!=Send_Mode)(TXIF==1))/* 中斷發(fā)送數(shù)據(jù)方式且為發(fā)送中斷 */
      {
      if(send_count>7)/* 已經(jīng)發(fā)送完8個(gè)數(shù) */
      {
      TXEN=0;/* 發(fā)送不使能 */
      return;
      }
      else
      {
      send_count++;/* 發(fā)送計(jì)數(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個(gè)通信數(shù)據(jù) */
      {
      SciReceiveFlag=0;/* 清接收到8個(gè)通信數(shù)據(jù)標(biāo)志 */
      if(0!=Send_Mode) /* Send_Mode不為0,中斷方式發(fā)送 */
      {
      send_count=0;/* 發(fā)送數(shù)據(jù)計(jì)數(shù)清0 */
      pointer=send232[0];/* 發(fā)送指針指向發(fā)送數(shù)據(jù)數(shù)組首地址 */
      TXREG=*pointer++;/* 發(fā)送第一個(gè)數(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ā)送完成 */
      }
      }
      }
      }
      }
      }


      上一頁 1 2 3 下一頁

      關(guān)鍵詞: PIC18FXX8 串行通信

      評論


      相關(guān)推薦

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

      關(guān)閉