你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F303 CAN初始化异常 hal库

[复制链接]
焱羽天渊 提问时间:2023-8-18 14:44 / 未解决
STM32F303RCT6 CAN初始化时钟卡在下图示超时状态,造成初始化异常!恳请大佬们帮忙解惑解惑,谢谢!!stm32f3xx_hal_can.c line 269

can配置如下所示:

image.png
收藏 评论5 发布时间:2023-8-18 14:44

举报

5个回答
butterflyspring 回答时间:2023-8-21 10:32:09
看看外部怎么连接的,通常CAN_RX是要拉高的。一般接CAN 收发器的话就问题不大。
xmshao 回答时间:2023-8-21 11:48:35
呵呵 这个问题我之前也碰到过。不知是不是开发板放久了还是这么回事,


即使回环模式下,也总出现CAN启动失败。  


后来 我把那个超时值 CAN_TIMEOUT_VALUE  改大了,原来是10,我改成30就OK了。


我们的库里一般默认使用10。你可以调整这个值试试。


另外检查下是不是硬件有问题,比方焊接、供电什么的。
焱羽天渊 回答时间:2023-8-22 08:10:00

xmshao 发表于 2023-8-21 11:48
呵呵 这个问题我之前也碰到过。不知是不是开发板放久了还是这么回事,</p>
<p>

感谢解答!我把超时检测的错误返回关了,while循环直至while ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U)条件不满足,但一直停留在循环里面;

焱羽天渊 回答时间:2023-8-22 08:16:33

butterflyspring 发表于 2023-8-21 10:32
看看外部怎么连接的,通常CAN_RX是要拉高的。一般接CAN 收发器的话就问题不大。 ...

感谢大佬百忙之中前解答!电路是直接接收发器的,TX与RX都是高电平

butterflyspring 回答时间:2023-8-22 14:27:42
你的代码如果是stm32f3xx_hal_can.c 中的初始化函数的话,那么和我看到的库中文件不一样,也少了一些内容。建议升级一下库的版本。 这边随便配置了一下,初始化都正常,唯一发现和你截图代码不同。

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版