[STM8] STM8S I2C作从机 怎么让总线一直忙

[复制链接]
5600|7
 楼主| q119227313 发表于 2012-8-2 12:01 | 显示全部楼层 |阅读模式
当从机接收完毕主机数据后。。。从机处理数据 等处理完毕后 传送给主机。
从机处理数据这段时间内 我不想让主机来读处理结果。


我想到的方法是让I2C总线一直忙 等我处理结束后再释放总线。


请教 怎样在从机总编程让总线忙 。
IJK 发表于 2012-8-2 12:33 | 显示全部楼层
可以用这个简单的办法:在从机处理数据这段时间内,I2C从机把I2C_SCL拉低。
当I2C总线上有多个从机时,这个方法有一定的问题。

其实,在从机处理数据这段时间内 让主机来读数据也没关系的,因为从机没有ACK主机读数据会失败。
 楼主| q119227313 发表于 2012-8-2 14:10 | 显示全部楼层
本帖最后由 q119227313 于 2012-8-2 14:11 编辑

2# IJK
我问的就是怎样让scl线保持低电平;我用的是物理I2C 在控制寄存器中没看见控制SCL线的位
IJK 发表于 2012-8-2 14:29 | 显示全部楼层
可以设置为普通GPIO,然后输出低电平即可。
 楼主| q119227313 发表于 2012-8-2 19:55 | 显示全部楼层
4# IJK 我用的是物理I2C 怎么改变为普通I/O
IJK 发表于 2012-8-3 09:43 | 显示全部楼层
4# IJK 我用的是物理I2C 怎么改变为普通I/O
q119227313 发表于 2012-8-2 19:55


复位后,不对I2C进行初始化,就是作为普通I/O用了。
在对I2C进行初始化并使用后,对I2C模块进行复位,并切断I2C模块的时钟后,应该又可以作为普通I/O用。

评分

参与人数 1威望 +1 收起 理由
q119227313 + 1 谢谢您的热心回复 。

查看全部评分

normanwang 发表于 2012-8-3 10:33 | 显示全部楼层
LZ好像是做楼宇对讲吗,
yang521sq 发表于 2013-6-11 22:33 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

13

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部