[应用相关] STM8S的GPIO如何做成双向IO,如访问DS1302等,或模拟I2C?版主指点

[复制链接]
6461|9
 楼主| dami 发表于 2008-12-9 21:04 | 显示全部楼层 |阅读模式
STM8S的GPIO如何做成双向IO,如访问DS1302等,或模拟I2C
STM8S的IO设置有方向,我写时设置输出,读时是否要设置为输入?
还是只要设置为开路输出就可以读写?请版主指点.

香水城 发表于 2008-12-9 21:54 | 显示全部楼层

设置为开路输出并外加上拉

 楼主| dami 发表于 2008-12-10 16:05 | 显示全部楼层

如果GPIO设置为开路输出并外加上拉,先前输出为0是否读出老

如果GPIO设置为开路输出并外加上拉,先前输出为0是否会读IO时老是为0?
香水城 发表于 2008-12-10 16:19 | 显示全部楼层

GPIO设置为开路输出并外加上拉,这条线上的所有信号是线与

因为是线与,先前输出为0肯定是始终读出0。

只有输出1,才有可能在外部其它电路输出0时读出0。
香水城 发表于 2008-12-10 17:16 | 显示全部楼层

需要3.3V就上拉3.3V,需要5V就上拉5V

_crystal_ 发表于 2008-12-10 17:22 | 显示全部楼层

怎么读出来的全是1呢?

我怎么读出来的全是1呢?
香水城 发表于 2008-12-10 17:52 | 显示全部楼层

发送方发送的全是1,当然接收方读出来的全是1!

只有发送方发送0,接收方才能收到0。当然如果发送方发送太快,接收方有可能会没有收到。

请用示波器看看线上的实际波形。
_crystal_ 发表于 2008-12-10 18:14 | 显示全部楼层

好的,我再试试看
 楼主| dami 发表于 2008-12-11 23:13 | 显示全部楼层

STM8S的GPIO如何做成双向IO,要这样.

STM8S的GPIO如何做成双向IO,要设置为开路输出,读时要先输出高电平(就是输出1),如果输出0就被开漏输出拉在低电平不能变化!

您需要登录后才可以回帖 登录 | 注册

本版积分规则

66

主题

1084

帖子

6

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