1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
I2C往EEPROM里面写数据的时候,应答ACK信号在第九个SCL的时候输出,这句话好模糊啊,是不是说第九个SCL的时候没有输出ACK,那就是丛机不应答呢?万一第九个SCL来得太快了,丛机来不及应答呢?如果丛机应答了ACK,那这个ACK是不是第九个SCL之后就没有了呢?还是说只要主机不去获取SDA线控制权,这个应答都存在呢?
补充内容 (2016-3-21 18:59): 或许我没有说清楚吧,是不是只有在master将数据传完后,然后必须再发送一个SCL(第九个时钟)进入EEPROM,EEPROM才会在SDA输出0(ACK),(PS:我知道此时SDA为读取状态)。如果是这样的话,那ACK是在第九个SCL的上升沿输出呢,还是下降沿输出?ACK有效信号维持多久?半个SCL的时间吗?还是说ACK的输出根本就不要第九个SCL,EEPROM输出的ACK信号只是刚好跟第九个SCL的时间差不多呢? |
|
相关推荐
7个回答
|
|
I2C每发送一个Byte的数据,后面都要跟个应答位,不管是主给从发还是从给主发。也就是一个操作需要9个时钟周期。ACK在第9个SCL的上升沿之前就要发出,保持到下降沿结束。有效信号比半个SCL周期要长。相当于:setup 时间+半个SCL周期+hold 时间。具体的值可以参考I2C的spec文档。
希望能帮到你
最佳答案
|
|
|
|
数据是一个个发送 有应答为和检验应答位 你上网搜一下的时序图 一看就明白
|
|
|
|
时序我看得懂,I2C没有校验位的。I2C是串行通信,我当然知道数据是一位一位的,请不要答非所问。 |
|
|
|
德赢Vwin官网
上面都没有人嘛好像。
|
|
|
|
还是你的回答解决了我的困惑,太谢谢你了。
|
|
|
|
icebreakerNK 发表于 2016-3-20 17:25 还是你的回答解决了我的困惑,谢谢你啦。 |
|
|
|
一般未处理完数据之前从机会拉低CLK,主机等待CLK被释放,直到从机释放CLK(从机处理完成并响应应答),CLK保持高一段时间后再由主机拉低,即产生第九个时钟;
如果使用GPIO模拟I2C,也可以模拟出此功能. |
|
|
|
只有小组成员才能发言,加入小组>>
4013 浏览 0 评论
8600 浏览 0 评论
5988 浏览 0 评论
4150 浏览 1 评论
5222 浏览 0 评论
请问一下qspi mtsr引脚传输一次32bit后引脚不拉低怎么解决?
435浏览 2评论
684浏览 2评论
4810浏览 2评论
最近UJA1023开发遇到问题了,各位大神有谁知道可以替代这颗芯片的
609浏览 1评论
848浏览 1评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 00:46 , Processed in 0.665632 second(s), Total 89, Slave 73 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号