基本信息
源码名称:基于飞思卡尔MC9s单片机的CAN通信代码
源码大小:0.28M
文件格式:.zip
开发语言:C/C++
更新时间:2020-07-21
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍
使用按键控制can接口收发数据

 void MSCANInit(void)
{

  char sj,p;
  char t_seg1, t_seg2;
  
   CAN0CTL1 = 0x80;
  if (!CAN0CTL0&0x01)
                        
    CAN0CTL0 =0x01;    // 使能MSCAN初始化状态     
                           
  while (!CAN0CTL1&0x01)   // 等待MSCAN进入初始化状态
    ;    
  sj = (SJW-1)<<6;
  p = (BRP-1);
  
 // CAN0BTR0=0x40;                      
  CAN0BTR0 = (sj|p);    // 配置MSCAN波特率 0x82
  
  t_seg1 = (TSEG1-1);
  t_seg2 = (TSEG2-1)<<4;
  

  CAN0BTR1 = (t_seg1 | t_seg2);    // 配置时间段   0x25
  
                                                         
  CAN0IDMR0 = 0xFF;      // 关闭所有标识符滤波器     
  CAN0IDMR1 = 0xFF;
  CAN0IDMR2 = 0xFF;
  CAN0IDMR3 = 0xFF;
  CAN0IDMR4 = 0xFF;
  CAN0IDMR5 = 0xFF;
  CAN0IDMR6 = 0xFF;
  CAN0IDMR7 = 0xFF;
  
  
  CAN0CTL1 = 0x80;    //使能MSCAN,选择外部晶振为MSCAN时钟源
  
   CAN0CTL0 = 0x00;     //使能MSCAN正常运行模式
  
  while(CAN0CTL1&0x01)    // 等待MSCAN进入正常运行模式
    ;   
 
 while(!(CAN0CTL0&0x10))   // 等待MSCAN与CAN总线同步
    ;
    
}