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

STM32 IIC踩过的坑

[复制链接]
STMCU-管管 发布时间:2020-9-9 16:46
读取IT8563WE时,读取第一次正确,第二次错误,第三次正确,第四次错误。。。。。。

1 g2 A: @) F. ?. U( [1 q
1.png

$ {% ~+ Z6 R6 k; o
看到读取成功之后,SDA信号没有被正确拉高,电平大概只有一半。, F4 @6 F  s. q' w; P# D7 Y. y* s
/ ~) w  Y) p7 \
再次读取,主机设置读模式时,从机会发送NACK,会将电平拉高。这样第三次读取时,SDA和SCL数据信号线都是高电平。
) N7 h+ b$ p/ S
注意:当第一次读取完毕,SDA没有被完全拉高是,直接将VCC接入SDA脚,SDA仍然不能恢复电平最高,应该是IT8563WE的问题。

# M. I7 E( r- c3 t4 T
临时解决办法:
$ Z& \/ v1 f$ T. ]2 x* m; P
读取成功后,再次读取,在主机设置读模式时,从机会发送NACK,会将电平拉高
8 `& B. l. k; W7 T, ~4 f
2.png
  O1 f5 {6 X& s% x0 J/ v
过一段时间再次修改找到根本原因
- Q  R, @% M$ b/ M7 V8 k* b
读取最后一个字节应该是NACk的回包
, t% C: Y2 Y6 O, s
3.png
3 I" A6 g* V8 Y$ r; j3 C  G
原来代码

* M8 n& p/ g7 u
4.png
修改之后

* D9 B$ w: d" [2 H. N" {
5.png
读过程
1 B$ S% ]: }) W0 q
6.png
波形图,发送NACK后,再发送STOP,电平恢复高电平
) ~4 x1 E9 c# @# b
7.png
; `  s. [: S: S4 g* }8 [9 X3 r
赞 收藏 评论0 发布时间:2020-9-9 16:46

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版