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

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

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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于LPC2131嵌入式系統(tǒng)μCOS-II實(shí)現(xiàn)CAN通訊

          基于LPC2131嵌入式系統(tǒng)μCOS-II實(shí)現(xiàn)CAN通訊

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

          ·數(shù)據(jù)接受模塊

          根據(jù)電路圖1,采用中斷接受的方式來接受數(shù)據(jù),的P0.30設(shè)置為外部中斷3,整個(gè)數(shù)據(jù)接受模塊由數(shù)據(jù)接受函數(shù)void ReceiveData(uint8 *Rt)、中斷處理函數(shù)Can_Exception(void)構(gòu)成。當(dāng)SJA1000接受到CAN總線數(shù)據(jù),通過接收中斷使得產(chǎn)生外部中斷3而使其進(jìn)入中斷處理函數(shù),進(jìn)而對(duì)接受到的數(shù)據(jù)進(jìn)行處理。其中數(shù)據(jù)接受函數(shù)和中斷處理函數(shù)如下:

          void ReceiveData (void)

          {

          uint8 i, err,*Rt;

          OS_ENTER_CRITICAL();

          Rt=(uint8 *)OSMboxPend(OSCANMbox,0,err);

          //通過郵箱接受數(shù)據(jù)

          for (i=0;i13;i++)

          ReceiveData[i]=*Rt++; //將接受到的數(shù)據(jù)存在全局變量中供后續(xù)處理

          OS_EXIT_CRITICAL();

          }

          void Can_Exception(void)

          {

          u

          int8 temp[13],i;

          OS_ENTER_CRITICAL();

          for (i=0;i13;i++)

          temp[i]=ReadCan(16+i); //讀取CAN數(shù)據(jù)

          OSMboxPost(OSCANMbox,(void *)temp); //將

          CAN數(shù)據(jù)以郵箱發(fā)送到接受函數(shù)

          EXTINT=0x08; //清楚ENT3

          VICVectAddr=0; //中斷返回

          OS_EXIT_CRITICAL();

          }

          結(jié)語

          以ARM芯片作為主控制器,CAN總線作為數(shù)據(jù)傳輸方式來進(jìn)行通訊的得到了越來越廣泛的應(yīng)用。同時(shí)的可靠性也成為影響系統(tǒng)性能的關(guān)鍵部分之一。本文以為例,給出了一類微處理器與CAN控制器SJA1000之間的較為通用的硬件連接方法,對(duì)CAN總線進(jìn)行了可靠性設(shè)計(jì),并基于嵌入式實(shí)時(shí)操作系統(tǒng)進(jìn)行了軟件開發(fā),該設(shè)計(jì)現(xiàn)已在工廠車間中的分布式監(jiān)控系統(tǒng)中得到了應(yīng)用,運(yùn)行可靠、穩(wěn)定。


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉