• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 基于dsPIC33FJ128MC506的CAN通信(07-100)

    基于dsPIC33FJ128MC506的CAN通信(07-100)

    ——
    作者:山東省科學(xué)院自動化研究所 張云 李明強 莊汝科 時間:2009-03-04 來源:電子產(chǎn)品世界 收藏

      C1CTRL1bits.REQOP=4;

    本文引用地址:http://www.czjhyjcfj.com/article/92042.htm

      while(C1CTRL1bits.OPMODE!=4); //請求進入配置模式

      ecan1ClkInit(); //調(diào)用波特率設(shè)置函數(shù)

      C1FCTRLbits.DMABS=0b000; //在DMA RAM 中設(shè)置4個報文緩沖

      ecan1WriteRxAcptFilter(1,0x36,0,2,0); //配置接過收濾寄存器

      /*配置接收屏蔽寄存器,要注意的是,這里設(shè)為“1”的位是非屏蔽位,設(shè)為“0”的位為屏蔽位。這里的0x7FF將會對標(biāo)準(zhǔn)幀ID的每一位都進行檢查是否對應(yīng)的過濾器相匹配*/

      ecan1WriteRxAcptMask(0,0x7ff,0);

      C1CTRL1bits.REQOP=0;

      while(C1CTRL1bits.OPMODE!=0); //進入正常模式

      /*以下語句設(shè)置報文的發(fā)射接收控制*/

      C1RXFUL1=C1RXFUL2=C1RXOVF1=C1RXOVF2=0x0000;

      C1TR01CONbits.TXEN0=1; /*E1的0緩沖器為發(fā)射緩沖 */

      C1TR01CONbits.TXEN1=0; /* ECAN1的1緩沖器為接收緩沖 */

      C1TR01CONbits.TX0PRI=0b11; /* 發(fā)射緩沖的優(yōu)先級*/

      }

      數(shù)據(jù)的發(fā)射和接收

      寫報文ID

      下面的函數(shù)將一個報文ID寫到ECAN1的發(fā)射緩沖區(qū),其中各個參數(shù)代表的含義如下:

      /*buf -> 發(fā)射寄存器號

      txIdentifier ->發(fā)射報文的ID

      ide -> "0" 報文為標(biāo)準(zhǔn)幀

      "1" 報文為擴展幀

      remoteTransmit -> "0" 報文為正常報文

      "1" 報文為遠(yuǎn)程報文 */

      void ecan1WriteTxMsgBufId(unsigned int buf, long txIdentifier, unsigned int ide, unsigned int remoteTransmit)

      {



    關(guān)鍵詞: CAN TJA1054 dsPIC33FJ128MC506

    評論


    相關(guān)推薦

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

    關(guān)閉
    主站蜘蛛池模板: 新竹县| 洛南县| 绵竹市| 永仁县| 咸宁市| 新乐市| 兖州市| 西昌市| 宁南县| 略阳县| 阿图什市| 晋州市| 冷水江市| 罗定市| 定远县| 离岛区| 霍邱县| 房产| 辉南县| 丰镇市| 临桂县| 镇赉县| 新田县| 甘泉县| 文化| 乌拉特中旗| 青龙| 上饶市| 苍梧县| 睢宁县| 夏河县| 福安市| 乃东县| 上蔡县| 南岸区| 辽宁省| 都昌县| 松江区| 麻阳| 越西县| 开封县|