背景:
硬件工程师给我一块板子,并且和我说,板子上的can通信相关的部分都正常(线序,虚焊这些都没问题);
原理图如图所示:
我拿到板子后,把代码烧录,并且运行;
发现can通信的电机控制器不工作;
我首先怀疑自己代码移植有问题:
1)在老版本代码上添加了can.c相关,也许有问题;
验证方案:
1)使用已经出货的版本的固件,烧录在这块板子上。(如果can通信有问题,那就是硬件导致的);
验证结果:
1)can分析仪没有接收到mcu发送的数据;
2)使用串口打印can工作状态;最初十几包都是“mcu提示发送成功”;接着在HAL_CAN_AddTxMessage()这个函数里出错了
所以这是硬件问题;