[STM8]

STM8 做硬件I2C的时候,CLK被拉低的问题请教

[复制链接]
3461|9
手机看帖
扫描二维码
随时随地手机跟帖
videocloud|  楼主 | 2016-5-19 11:42 | 显示全部楼层 |阅读模式
本帖最后由 videocloud 于 2016-5-19 11:46 编辑

    场景是 从机使用STM8的硬件IIC,主机使用模拟IIC, 主机读取从机的数据,但是从第二个字节开始(就是主机真正开始读取的时候),SCL奇怪的被拉低了。
如果不使能从机的iic功能, SCL信号就是正常。
   通讯过程也是不正常的, 平均读取5次,有三次进入写入状态,还是二次正确。  第二个字节被拉低的图片

SCL第二个字节被拉低

SCL第二个字节被拉低


从机的iic功能禁止后,显示正常的照片 QQ图片20160519113251.jpg

xmshao| | 2016-5-19 15:51 | 显示全部楼层
应该说就是没正常工作吧。参考下附件代码中的流程。

STM8S-i2c.rar

151.13 KB

使用特权

评论回复
PIGYONG801| | 2016-5-19 17:08 | 显示全部楼层
主机要多等一下,这个不是SPI直接来的

使用特权

评论回复
PIGYONG801| | 2016-5-19 17:09 | 显示全部楼层
从波形上看,你的电路不标准

使用特权

评论回复
huangcunxiake| | 2016-5-20 10:48 | 显示全部楼层
上下拉电阻那个怎么处理的?

使用特权

评论回复
稳稳の幸福| | 2016-5-20 15:55 | 显示全部楼层
应该是上拉电阻没有选配正确。可以参考这个帖子,我刚发的。
https://bbs.21ic.com/icview-1594356-1-1.html

使用特权

评论回复
500days| | 2016-5-20 20:47 | 显示全部楼层
有没有加上拉电阻呢?

使用特权

评论回复
f781831| | 2017-6-20 15:05 | 显示全部楼层
500days 发表于 2016-5-20 20:47
有没有加上拉电阻呢?

有的 现在改小了 还是没能改善状况

使用特权

评论回复
范寿铭| | 2017-6-24 08:04 | 显示全部楼层
从图上来看应该是电平打架,主机输出高电平 从机输出低电平

使用特权

评论回复
Jay_1989| | 2017-6-28 16:55 | 显示全部楼层
波形图上看 你的master输出的SCL 不论"1/0"都像是master GPIO驱动的, 先确定master送出的SCL 只有低电平是master驱动的(实际SCL高应该是上拉电阻拉上去的, SCL的上升沿不会这么陡).

然后再确定slave端在第一Byte结束后有没有stretch SCL。 如果slave在第一Byte结束后 stretch了SCL, 而你的master是软件模拟的应该不会有SCL同步的功能。 Master会继续发送第2byte, slave实际一直拉SCL为低。 这种情况两端都在驱动SCL, master驱动能力强的话 就可能会出现楼主的情况。

使用特权

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

本版积分规则

4

主题

24

帖子

0

粉丝