打印
[STM32H7]

H7硬件I2C不能重复start?

[复制链接]
34|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Pulitzer|  楼主 | 2025-6-18 07:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想做一次连续读写,中间发一个重复Start信号,I2C总是卡死不走了。

使用特权

评论回复
沙发
Clyde011| | 2025-6-18 07:26 | 只看该作者
有时候I2C总线挂死了,得软复位。

使用特权

评论回复
板凳
公羊子丹| | 2025-6-18 07:27 | 只看该作者
H7的I2C不能用HAL模拟start,得用LL库或寄存器。

使用特权

评论回复
地板
周半梅| | 2025-6-18 07:27 | 只看该作者
有时候是状态机没走完就重复start,会报错。

使用特权

评论回复
5
帛灿灿| | 2025-6-18 07:28 | 只看该作者
用scope看波形,看看实际发了几次start。

使用特权

评论回复
6
童雨竹| | 2025-6-18 07:29 | 只看该作者
主从切换的时候要不要reset一下I2C。

使用特权

评论回复
7
万图| | 2025-6-18 07:30 | 只看该作者
看下是不是软件BUG导致写完没收ACK。

使用特权

评论回复
8
Wordsworth| | 2025-6-18 07:30 | 只看该作者
HAL_I2C_Master_Seq_函数可以做重复start。

使用特权

评论回复
9
Bblythe| | 2025-6-18 07:31 | 只看该作者
H7的I2C比F4严格,要写对流程图。

使用特权

评论回复
10
Pulitzer|  楼主 | 2025-6-18 07:32 | 只看该作者
我之前是一直用模拟I2C,稳定。

使用特权

评论回复
11
Uriah| | 2025-6-18 07:33 | 只看该作者
你有没有设定自动end?自动的话就不能再start了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

99

主题

5038

帖子

0

粉丝