打印
[PIC32/SAM]

PIC32MK CAN2初始化卡死

[复制链接]
7924|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 chenxiaolang 于 2021-9-12 15:02 编辑

用PIC32MK1024MCM100做一个电机控制项目,用了两路CAN:CAN1和CAN2,两者配置一致,如下图


多次测试发现,CAN1可以正常工作,CAN2一直卡在初始化最后一步,如下图

最后两句代码其实是:
CFD2CONbits.REQOP = 0x000;                 // 请求CAN FD混合模式
while(CFD2CONbits.OPMOD != 0x000);     // 等待配置完成

查看手册,CFD2CON的REQOP是模式请求,OPMOD是模式状态,Harmony生成的代码也是按规格标志的流程操作的,并且和CAN1的代码一样,但就是卡死。



使用特权

评论回复
沙发
lss1330| | 2021-11-2 22:06 | 只看该作者
本帖最后由 lss1330 于 2021-11-2 22:14 编辑

楼主问题解决了吗,是不是PMD5寄存器的29位没有设为0,如果没有设为0,CAN2模块的时钟将不会使能,所以while循环等不到CAN模块初始化完成,变成死等

使用特权

评论回复
板凳
chenjun89| | 2021-11-3 08:20 | 只看该作者
一楼应该是对的,是不是时钟没有使能。

使用特权

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

本版积分规则

15

主题

48

帖子

4

粉丝