奏奏奏 发表于 2018-8-14 16:55:37

收到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)?!
向各位大佬求助,谢谢!
下面有上传的整个工程代码,不嫌烦的可以帮我看看。

feixiang20 发表于 2018-8-15 00:01:52

是不是没清除中断标志。看看中断回调函数有没有语法错误

huangyanga 发表于 2018-8-15 09:14:41

先确认过滤器是否配置正确

发表于 2018-8-15 09:19:34

看一下CAN是否开启了过滤,先测试全接受,不过滤。

yu0405jie 发表于 2018-8-15 09:26:49

你先测试一下CAN的接收中断函数有没有进去,另外在看看是不是回调函数的定义

jundao721 发表于 2018-8-15 10:34:06

参考例程再检查下配置,再就是更换CAN驱动芯片试试,曾经买到过假货(数据收一部分数据后死机)。

寂寞,点燃一支烟 发表于 2018-8-15 18:24:13

我遇到过得情况 首先 120R的匹配电阻有没有都是可以的,先排查一下硬件的焊接问题
其次:还有问题可以私聊我。1334391942 我有测试代码 以前经常用
1.有CAN调试器最好,不过那个贵一般没有,可以配置为回环模式;测试一下配置
2.看一下中断是否启动,HAL配置完默认中断不开,
3.可以用开发板的代码测试一下,排除代码问题

奏奏奏 发表于 2018-8-15 18:51:50

上传了整个工程文档,能有空帮我看看具体分析代码就最好了

钊钊 发表于 2018-8-15 20:19:16

有监控模块吗?一般是过滤器设置的问题,先配置一个过滤器,其他的全都关掉,然后设置好地址就好了

寂寞,点燃一支烟 发表于 2018-8-19 11:20:27

奏奏奏 发表于 2018-8-15 18:51
上传了整个工程文档,能有空帮我看看具体分析代码就最好了

你不要这样做啊 ,重新建一个CAN工程配置排除一下,建议你工程分开建立文件,我手上没有硬件环境不好测试
页: [1]
查看完整版本: 收到CAN数据不进入CAN接收中断回调函数(补发项目工程文...