OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3020|回复: 2

STM32F407进入不了CAN中断

[复制链接]

8

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
116
金钱
116
注册时间
2019-3-14
在线时间
24 小时
发表于 2020-8-18 15:07:56 | 显示全部楼层 |阅读模式
1金钱
我在原子哥的历程上修改,想用两块STM32F4进行 CAN通信,一块用按键发送数据帧,已经搞定,用CAN分析仪可以检测出来;我想让另一块板子接收到CAN信号时触发中断,在中断里面读取数据,但是用按键发送消息后她并没有反应,还望大佬们看看

CAN接收中断.zip

4.55 MB, 下载次数: 24

这是另一块板子的程序,不知道哪里有问题

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165508
金钱
165508
注册时间
2010-12-1
在线时间
2115 小时
发表于 2020-8-20 02:52:58 | 显示全部楼层
回复

使用道具 举报

13

主题

271

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
5387
金钱
5387
注册时间
2017-8-14
在线时间
248 小时
发表于 2020-9-9 09:41:48 | 显示全部楼层
先 打开 CAN的中断
    CAN_ITConfig(CAN1,CAN_IT_FMP0,ENABLE);  // 启动 CAN1_RX0_IRQn
                //与这个 NVIC_InitStructure.NVIC_IRQChannel=CAN1_RX0_IRQn;对应

在在 中断中调用:

extern "C" void CAN1_RX0_IRQHandler(void)//CAN1 FIFO0
{
//STM32有2个3级深度的接收缓冲区:FIFO0和FIFO1
//如果是来自FIFO0的接收中断,则用CAN1_RX0_IRQn中断来处理。
//YXCAN1_EXT_ReceiveMsg(&YXRcvCAN_Msg,0);
#if(Def_CANY1Y2W0>0)       
        cCW.RcvCANMsg(1,0);
#endif //#if(Def_CANY1Y2W0>0)       
}
#if(Def_CANY1Y2W0==2)
extern "C" void CAN2_RX1_IRQHandler(void)//CAN2 FIFO1
{
        //YXCAN2_EXT_ReceiveMsg(&YXRcvCAN_Msg,0);       
       
                                        cCW.RcvCANMsg(2,0);                       
                            
};
#endif       
详细资料扣扣群204408503自行下载
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-17 10:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表