stm32F407的 CAN 中断疑问

2019-07-21 04:52发布

在配置CAN的中断的时候
void NVIC_Config_CAN(void)
{
  NVIC_InitTypeDef  NVIC_InitStructure;

#ifdef  USE_CAN1 
  NVIC_InitStructure.NVIC_IRQChannel = CAN1_RX0_IRQn;
#else  /* USE_CAN2 */
  NVIC_InitStructure.NVIC_IRQChannel = CAN2_RX0_IRQn;
#endif /* USE_CAN1 */

  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);
}

其中  NVIC_InitStructure.NVIC_IRQChannel = CAN1_RX0_IRQn;,
 NVIC_IRQChannel  有四个可选取值
  CAN1_TX_IRQn                                    
  CAN1_RX0_IRQn                                 
  CAN1_RX1_IRQn           
  CAN1_SCE_IRQn  

其中设置成
    CAN1_RX0_IRQn   和设置成                              
  CAN1_RX1_IRQn    有什么区别

  CAN1_SCE_IRQn是什么中断
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
一通无阻
2019-07-21 08:10
这个问题其实很简单,这个在STM32中文参考手册上就有介绍啊。
 CAN1_TX_IRQn        发送中断                              
   CAN1_RX0_IRQn    FIFO0中断                    
   CAN1_RX1_IRQn      FIFO0中断      
   CAN1_SCE_IRQn   错误和状态变化中断
而  FIFO0中断和  FIFO1中断的不同就看你把数据放在了那个邮箱里。你使用的是那个FIFO就使能哪个中断。

建议啊:以后遇到问题就去看芯片的参考手册。

一周热门 更多>