打印
[ZLG-MCU]

CAN 错误中断只能进去一次

[复制链接]
1790|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wangshi|  楼主 | 2011-11-30 21:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
CAN, ic, go, pi, ni
我使用的是片上驱动,初始化函数如下

void CAN_Initial()
{
(*rom)->pCANAPI->init_can(&CanApiClkInitTable[0]);
    NVIC_EnableIRQ(CAN_IRQn);
NVIC_SetPriority(CAN_IRQn, 1);
    (*rom)->pCANAPI->config_calb((CAN_CALLBACKS *)&callbacks);
    msg_obj.mask = 0x00L;                                             /*不屏蔽任何ID*/
    msg_obj.dlc = 8;
msg_obj.mode_id = 0x123L;
msg_obj.msgobj = 0x05;
msg_obj_RX.msgobj = 0x0;
msg_obj_RX.mode_id = CAN_MSGOBJ_STD | CAN_MSGOBJ_DAT | 0x00;   //
msg_obj_RX.mask = 0;
(*rom)->pCANAPI->config_rxmsgobj(&msg_obj_RX);  
}


错误中断回调函数如下
void CAN_error(uint32_t error_info)
{


  if(error_info&CAN_ERROR_PASS)
   {Indicator_light_Mode_Change(1,1);}


  if(error_info&CAN_ERROR_WARN)
  {Indicator_light_Mode_Change(1,2);CAN_ERR_Count = 96;}


  if(error_info&CAN_ERROR_BOFF)
  {Indicator_light_Mode_Change(1,3);CAN_Initial();CAN_ERR_Count = 128;}


  if(error_info&CAN_ERROR_ACK)
  {Indicator_light_Mode_Change(1,4);}


return ;
}

每种错误只能进入中断一次,之后再出错也没有用,不会进入中断,这是什么原因呢,该怎么解决?


相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

110

帖子

1

粉丝