This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我在产品设计时遇到一个问题,我的设置是这样的:
程序设置片上CAN设备为eCAN,,
使能邮箱0(发送),邮箱16(接收),邮箱17(接收),16邮箱ID为0x3,17邮箱ID为0x350,
使能16,17的接收中断,此外还设置了SCI,接收触发中断。
邮箱16和邮箱17的数据指令分别对应两段不同的数据读取程序,当接收到上位机发送的指令以后,触发can接收中断,判别协议里的指令,将数据计算以后结果通过SCI发送给FPGA,FPGA接收数据结束,将FPGA内的数据打包通过SCI发送给DSP DSP通过SCI接收中断接收数据,FPGA数据打包后调用邮箱0发送数据给上位机。
问题现象:上电发送can指令 产品接收数据后只能进入17邮箱,进不去16邮箱,在17邮箱处理程序打断点,能进入断点,此时查看17邮箱的数据为上位机本应该发送给16邮箱的,16邮箱是乱码数据(我认为是乱码),4套产品只有1个产品有问题,其他产品正常。
尝试:保持邮箱不变,改变邮箱ID 其他的任何两个组合(只要不是0x3/0x350)均正常,保持ID不变,更改邮箱号试过【7,8】、【3,4】、【17、18】、【16、31】均正常,实在不清楚到底哪里有问题.
你好,这个问题比较奇怪了。根据你的描述,4套产品有3套是正常的,那么基本可以排除软件设置问题。
有没有检测过4个产品在做同样的通讯的时候,CAN引脚上的波形是否都正常?或者说,ID设置为0x3/0x350时,出问题的那块芯片引脚上的电平跟其他3块都一样吗?