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

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

  fltEnRegAddr = (unsigned int *)(&C1FEN1);

  /* 将ID按规定分配到相关的寄存器中*/

  if(exide==1) { //扩展帧的ID

  eid15_0 = (identifier & 0xFFFF);

  eid17_16= (identifier>>16) & 0x3;

  sid10_0 = (identifier>>18) & 0x7FF;

  *sidRegAddr=(sid10_0)<<5 + 0x8 + eid17_16;

  *(sidRegAddr+2)= eid15_0;

  }else{ //标准帧的ID

  sid10_0 = (identifier & 0x7FF);

  *sidRegAddr=(sid10_0)<<5;

  *(sidRegAddr+2)=0;

  }

  *bufPntRegAddr = (bufPnt << (4*(n&3))); // 写缓冲指针寄存器CiBUFPNTn内容*maskSelRegAddr = (maskSel << (2*(n&7))); // 确定关连屏蔽寄存器

  CiFMSKSELn *fltEnRegAddr = (0x1 << n); //使能第n个滤波器

  C1CTRL1bits.WIN=0; //恢复寄存器地址选择位

  }

  /*

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

关键词: CAN TJA1054 dsPIC33FJ128MC506

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

或用微信扫描左侧二维码

相关文章

查看电脑版