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

          新聞中心

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

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

          ——
          作者:山東省科學(xué)院自動(dòng)化研究所 張?jiān)?李明強(qiáng) 莊汝科 時(shí)間:2009-03-04 來(lái)源:電子產(chǎn)品世界 收藏

            DMA2通道初始化為E1接收:

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

            void dma2init(void)

            {

            DMACS0=0; //清DMA控制器狀態(tài)位

            DMA2CON=0x0020; //DM為外設(shè)間接尋址模式,支持從DMA寫,并讀到外設(shè)

            DMA2PAD=0x0440; //DMA0PAD下載為E1接收寄存器的地址

            DMA2CNT=0x0007; //傳輸計(jì)數(shù)寄存器為8

            DMA2REQ=0x0022; //DMA外設(shè)REQ編號(hào)選擇位

            DMA2STA= __builtin_dmaoffset(&ecan1msgBuf[2][0]); //DMA起始地址位

            DMA2CONbits.CHEN=1;

            }

            上面程序中的“DMA0STA= __builtin_dmaoffset(ecan1msgBuf);”和“ DMA2STA= __builtin_dmaoffset(&ecan1msgBuf[2][0]); ”分別指明了DMA的起始地址位為ecan1msgBuf和(&ecan1msgBuf[2][0],ecan1msgBuf是一個(gè)兩維數(shù)組,在相關(guān)頭文件中定義,其語(yǔ)句為:

            E1緩沖器的設(shè)置:

            #define ECAN1_MSG_BUF_LENGTH 4 //長(zhǎng)度為4個(gè)字

            //緩沖區(qū)為二維數(shù)據(jù)

            typedef unsigned int ECAN1MSGBUF [ECAN1_MSG_BUF_LENGTH][8];

            //數(shù)組位于DMA空間

            extern ECAN1MSGBUF ecan1msgBuf __attribute__((space(dma)));



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

          評(píng)論


          技術(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); })();