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

  作者:山东省科学院自动化研究所 张云 李明强 庄汝科 时间:2009-03-04来源:电子产品世界

  ECAN接收和发射缓冲区的设置

  DMA(直接存储器访问)方式是外设SFR与RAM间进行数据复制的非常高效的机制,dsPIC33FJ128MC506的ECAN模块支持DMA传输,共有8个DMA通道可供选择。在此我们选用0和2通道分别作为ECAN1的发射和接收。初始化语句如下:

  DMA0通道初始化为ECAN1发射:

  void dma0init(void)

  {

  DMACS0=0; //清DMA控制器状态位

  DMA0CON=0x2020; //DMA为外设间接寻址模式,支持从DMA读,并写到外设

  DMA0PAD=0x0442; //DMA0PAD下载为ECAN1发射寄存器的地址

  DMA0CNT=0x0007; //传输计数寄存器为8

  DMA0REQ=0x0046; //DMA外设REQ编号选择位

  DMA0STA= __builtin_dmaoffset(ecan1msgBuf); //DMA起始地址位

  DMA0CONbits.CHEN=1;

  }

1 2 3 4 5 6 7 8 9 10 11 12 13 14

关键词: CAN TJA1054 dsPIC33FJ128MC506

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版