原同学 发表于 2017-9-18 20:29:51

STM32F072的硬件I2C为什么总是返回NACK

问题已解决,把连续读取改为一个byte读取一次即可
上一帖的问题经隔壁坛友提示,发现地址错了,遂改程序,仍然不行。
又根据坛友意见,换为STM32F072C8测试。
今天拿到逻辑分析仪,挂上去一看,瞬间明白,这回地址没发错,器件也正常应答,然而STM32就是读数据返回时候回了个NACK!!!
注明一下:我是让他连续读四个寄存器

程序很简单,就是读寄存器,然而为啥STM32就是回复NACK呢?


MrJiu 发表于 2017-9-19 09:26:47

因为STM的硬件I2C很坑呀!!!:lol:lol:lol

废鱼 发表于 2017-9-19 10:10:28

楼主最好发一下你的读取过程,和配置。我测试L151、407系列硬件中断读取正常。

原同学 发表于 2017-9-20 18:44:21

安 发表于 2017-9-19 10:10
楼主最好发一下你的读取过程,和配置。我测试L151、407系列硬件中断读取正常。 ...

详细代码及工程是开源的,见 http://github.com/XAS-712/MZY7-ZeroWatchProject

聚东风 发表于 2020-8-11 09:29:10

我也被坑了...我一直以为是从机的问题....结果一看,示波器显示是对的....
页: [1]
查看完整版本: STM32F072的硬件I2C为什么总是返回NACK