对STM32的CAN1模块的总结

博主在将CAN1模块从STM32 F107转移至F105过程中遇到初始化模式无法进入正常模式的问题,通过逐行调试和硬件检查,发现初始化代码中一处细节错误导致CAN1无法正常工作。最终,通过对比他人代码找到问题所在并成功解决。同时,博主呼吁论坛里的技术人员在遇到他人提问时能够给予帮助。
摘要由CSDN通过智能技术生成

从12月中旬到现在一直都在调试板子,把F107上的CAN1(PD0,PD1)转移到F105上的CAN1(PB8,

PB9),本来以为会是很简单的进行重映射就行了,但是生活处处是

充满“惊喜”啊!

在进行了重映射后发现CAN进不了中断,很郁闷!仔细检查了两个端点CAN的连接口后发现是没错的,但还是进

不了中断。那只能进行单步调试了,最后发现是在CAN的初始化模式成功后要进入正常模式时失败了,CAN的处理工

程是:

初始化模式:设置CAN_MCR 寄存器的INRQ 位为’1’ ,请求bxCAN进入初始化模式,然后等待硬件对CAN_MSR

 寄存器的INAK 位置’1’ 来进行确认。当bxCAN处于初始化模式时,禁止报文的接收和发送,并且CANTX引脚输出隐

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值