OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2324|回复: 4

can1和can2中断收发

[复制链接]

37

主题

142

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
278
金钱
278
注册时间
2016-9-13
在线时间
73 小时
发表于 2018-6-21 12:29:01 | 显示全部楼层 |阅读模式
10金钱
请问:这是一个can1和can2互相收发的程序,在主函数中发送,在中断里接收,然后通过串口2发送出来。之前调试没问题的,但是现在调试不出来了,调试发现不进接收中断,但是查看配置,感觉中断的配置没有问题,所以现在卡死了,不知道为什么了。希望能获得你的帮助



STM32F107_2can_rx_tx_uart2.rar (1.21 MB, 下载次数: 47)

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

37

主题

142

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
278
金钱
278
注册时间
2016-9-13
在线时间
73 小时
 楼主| 发表于 2018-6-21 13:00:48 | 显示全部楼层
芯片是107的,can1和can2用vp230芯片
回复

使用道具 举报

37

主题

142

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
278
金钱
278
注册时间
2016-9-13
在线时间
73 小时
 楼主| 发表于 2018-6-21 14:17:52 | 显示全部楼层
CAN_Transmit()调试发现这个函数的返回值是4,也就是没有空闲邮箱,怎么设置出来空闲邮箱呢?
回复

使用道具 举报

19

主题

246

帖子

0

精华

高级会员

Rank: 4

积分
608
金钱
608
注册时间
2017-9-21
在线时间
171 小时
发表于 2018-6-21 16:41:19 | 显示全部楼层
伊森亨特 发表于 2018-6-21 14:17
CAN_Transmit()调试发现这个函数的返回值是4,也就是没有空闲邮箱,怎么设置出来空闲邮箱呢?

没有空闲邮箱是因为你设定了自动重发,但是又发送不成功就占了邮箱了,你如果软件没有问题,可能是线路不正常,导致发送不成功
回复

使用道具 举报

37

主题

142

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
278
金钱
278
注册时间
2016-9-13
在线时间
73 小时
 楼主| 发表于 2018-6-21 17:24:09 | 显示全部楼层
哆啦A萌 发表于 2018-6-21 16:41
没有空闲邮箱是因为你设定了自动重发,但是又发送不成功就占了邮箱了,你如果软件没有问题,可能是线路不 ...

这样啊,我在网上搜了个帖子说是把CAN_InitStructure.CAN_ABOM = DISABLE;这个改成enable就好了,但是也没啥用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-26 03:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表