[PIC32/SAM] PIC32MK CAN2初始化卡死

[复制链接]
9600|2
 楼主| chenxiaolang 发表于 2021-9-12 15:00 | 显示全部楼层 |阅读模式
本帖最后由 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

粉丝
快速回复 在线客服 返回列表 返回顶部