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

STM32 IIC踩过的坑

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

6 o6 s. T  H: a, e3 `3 H
1.png

& @8 q- }7 G, M' b" |4 p
看到读取成功之后,SDA信号没有被正确拉高,电平大概只有一半。
/ s  O( q% d6 ^. e: {9 k0 V
* s  w, y! n7 e, ~9 M2 \5 A& K
再次读取,主机设置读模式时,从机会发送NACK,会将电平拉高。这样第三次读取时,SDA和SCL数据信号线都是高电平。
0 A+ z5 ]* K+ K4 J4 W+ G
注意:当第一次读取完毕,SDA没有被完全拉高是,直接将VCC接入SDA脚,SDA仍然不能恢复电平最高,应该是IT8563WE的问题。

+ G/ |, S* }; s5 v
临时解决办法:
# S2 p+ g* X7 J$ b3 _" o( p. b) a& q
读取成功后,再次读取,在主机设置读模式时,从机会发送NACK,会将电平拉高
& s6 R# x4 x& j9 }; I  g
2.png
7 S/ n2 ~- l) \5 Q* q3 `
过一段时间再次修改找到根本原因

) l& t$ n8 X: s7 g$ [$ q
读取最后一个字节应该是NACk的回包

  s/ ?7 d! P. ~, ?
3.png

; W. e/ U! e9 \& y  }* e: V
原来代码
* D' ~/ Q/ H' K+ L/ u. H( ]" q2 |
4.png
修改之后

9 R2 e: W- [- M* ]4 j" |
5.png
读过程

2 Y& k+ U% P6 g, W9 t- I" c' t3 _
6.png
波形图,发送NACK后,再发送STOP,电平恢复高电平
. ?0 J: b- k- G% S$ \; h( L4 S
7.png

: ^/ v$ S; g5 U' a1 J
收藏 评论0 发布时间:2020-9-9 16:46

举报

0个回答

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版