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条回答
txmsszd
1楼-- · 2019-07-21 05:19
f407的PAL头文件中有这个 定义和解释。
你在MDK中右键一下就会找到那个参数的定义和解释。
正点原子
2楼-- · 2019-07-21 07:26
帮顶......
一通无阻
3楼-- · 2019-07-21 08:10
这个问题其实很简单,这个在STM32中文参考手册上就有介绍啊。
 CAN1_TX_IRQn        发送中断                              
   CAN1_RX0_IRQn    FIFO0中断                    
   CAN1_RX1_IRQn      FIFO0中断      
   CAN1_SCE_IRQn   错误和状态变化中断
而  FIFO0中断和  FIFO1中断的不同就看你把数据放在了那个邮箱里。你使用的是那个FIFO就使能哪个中断。

建议啊:以后遇到问题就去看芯片的参考手册。
wang12zhe
4楼-- · 2019-07-21 10:01
回复【3楼】一通无阻:
---------------------------------
受教了,
一通无阻
5楼-- · 2019-07-21 14:59
 精彩回答 2  元偷偷看……

一周热门 更多>