收到CAN数据不进入CAN接收中断回调函数(补发项目工程文...
本帖最后由 奏奏奏 于 2018-8-16 17:56 编辑CAN的波特率是1M
测试CAN总线上负载电阻是60欧,按规定CAN总线上一头一尾各并联一个120欧电阻
而且CAN的两根线都是用TJA1050T收发器连接的
我按照协议发CAN的数据给CAN节点,例如我对CAN地址是03的节点发数据:01 00
然后
发现居然有时候不进去 CAN接收中断回调函数 void HAL_CAN_RxCpltCallback(CAN_HandleTypeDef* hcan)?!
向各位大佬求助,谢谢!
下面有上传的整个工程代码,不嫌烦的可以帮我看看。
是不是没清除中断标志。看看中断回调函数有没有语法错误 先确认过滤器是否配置正确 看一下CAN是否开启了过滤,先测试全接受,不过滤。 你先测试一下CAN的接收中断函数有没有进去,另外在看看是不是回调函数的定义 参考例程再检查下配置,再就是更换CAN驱动芯片试试,曾经买到过假货(数据收一部分数据后死机)。 我遇到过得情况 首先 120R的匹配电阻有没有都是可以的,先排查一下硬件的焊接问题
其次:还有问题可以私聊我。1334391942 我有测试代码 以前经常用
1.有CAN调试器最好,不过那个贵一般没有,可以配置为回环模式;测试一下配置
2.看一下中断是否启动,HAL配置完默认中断不开,
3.可以用开发板的代码测试一下,排除代码问题 上传了整个工程文档,能有空帮我看看具体分析代码就最好了
有监控模块吗?一般是过滤器设置的问题,先配置一个过滤器,其他的全都关掉,然后设置好地址就好了 奏奏奏 发表于 2018-8-15 18:51
上传了整个工程文档,能有空帮我看看具体分析代码就最好了
你不要这样做啊 ,重新建一个CAN工程配置排除一下,建议你工程分开建立文件,我手上没有硬件环境不好测试
页:
[1]