OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子新作:阿波罗STM32F767&F429&探索者STM32F4开发板&赶快来下载资料哦。

查看: 316|回复: 11

stm8s 的四种开漏模式输出有什么区别啊

[复制链接]

  离线 

13

主题

71

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2017-8-16
在线时间
35 小时
发表于 2017-10-24 18:33:39 | 显示全部楼层 |阅读模式
10金钱
stm8s 的四种开漏模式输出有什么区别啊?具体应该怎么用?如果要用来做下图的按键检测的话,应该怎么对IO初始化,应该是要用开漏输出来做,小弟萌新一枚,望大佬帮助一下
希望有开漏输出的例子和怎么读取输入,实现双向IO,用同一个IO既可以输入,又可以输出。

按键原理图

按键原理图

四种开漏模式

四种开漏模式

最佳答案

查看完整内容[请看2#楼]

如果开漏输出,输出低电平,你上拉电阻,是拉不到到高电平的 只能开漏输出,输出1的时候,你上拉电阻,才可以是高电平。 所以,输出口的状态,实际上,自己是可以控制的。 也就不需要读了,如果你实在是要读,那就读IDR了
回复

使用道具 举报

  离线 

485

主题

8万

帖子

30

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
118299
金钱
118299
注册时间
2010-12-1
在线时间
923 小时
发表于 2017-10-24 18:33:40 | 显示全部楼层
liruikun 发表于 2017-10-31 08:51
那我如果外接上拉电阻就可以输出高电平了,一样是不用翻转直接读取,也可以读到输入高电平吗?原子哥

如果开漏输出,输出低电平,你上拉电阻,是拉不到到高电平的
只能开漏输出,输出1的时候,你上拉电阻,才可以是高电平。

所以,输出口的状态,实际上,自己是可以控制的。
也就不需要读了,如果你实在是要读,那就读IDR了
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
微信公众平台:正点原子   点击扫码添加
回复

使用道具 举报

  在线 

24

主题

519

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1539
金钱
1539
注册时间
2015-11-14
在线时间
208 小时
发表于 2017-10-29 11:49:02 | 显示全部楼层
首先是分为两种,那就是快速和慢速,也就是IO翻转得摆率,然后这两种分别输出低电平和高阻态,这样就是4种了
回复

使用道具 举报

  离线 

13

主题

71

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2017-8-16
在线时间
35 小时
 楼主| 发表于 2017-10-29 23:18:11 | 显示全部楼层
Electronic 发表于 2017-10-29 11:49
首先是分为两种,那就是快速和慢速,也就是IO翻转得摆率,然后这两种分别输出低电平和高阻态,这样就是4种 ...

嗯  那如果我设置成开漏输出高阻态且外加上拉电阻的话,再直接读取该IO口输入可以吗?
回复

使用道具 举报

  离线 

13

主题

71

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2017-8-16
在线时间
35 小时
 楼主| 发表于 2017-10-29 23:19:25 | 显示全部楼层
Electronic 发表于 2017-10-29 11:49
首先是分为两种,那就是快速和慢速,也就是IO翻转得摆率,然后这两种分别输出低电平和高阻态,这样就是4种 ...

比如pc2被设置成开漏输出高阻态,那我直接用GPIO_Readinput()函数读取输入可以吗
回复

使用道具 举报

  离线 

485

主题

8万

帖子

30

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
118299
金钱
118299
注册时间
2010-12-1
在线时间
923 小时
发表于 2017-10-30 01:28:27 | 显示全部楼层
liruikun 发表于 2017-10-29 23:18
嗯  那如果我设置成开漏输出高阻态且外加上拉电阻的话,再直接读取该IO口输入可以吗?

设置输入模式,如果你想读IO状态。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
微信公众平台:正点原子   点击扫码添加
回复

使用道具 举报

  离线 

13

主题

71

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2017-8-16
在线时间
35 小时
 楼主| 发表于 2017-10-30 08:44:09 | 显示全部楼层
正点原子 发表于 2017-10-30 01:28
设置输入模式,如果你想读IO状态。

意思就是我设置成开漏输出的话,如果想在读IO状态,那我还要再把开漏输出模式翻转成输入模式吗?但是我看网上说开漏输出的话是可以做双向IO的,如果是的话那不就不用翻转了吗,原子哥?
回复

使用道具 举报

  在线 

24

主题

519

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1539
金钱
1539
注册时间
2015-11-14
在线时间
208 小时
发表于 2017-10-30 13:54:53 | 显示全部楼层
liruikun 发表于 2017-10-30 08:44
意思就是我设置成开漏输出的话,如果想在读IO状态,那我还要再把开漏输出模式翻转成输入模式吗?但是我看 ...

开漏输出不需要的,STM8一般是有上拉电阻的,除了PB4和PB5之外,你不开启上拉,开漏就是高阻阻态
回复

使用道具 举报

  离线 

13

主题

71

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2017-8-16
在线时间
35 小时
 楼主| 发表于 2017-10-30 21:14:00 | 显示全部楼层
Electronic 发表于 2017-10-30 13:54
开漏输出不需要的,STM8一般是有上拉电阻的,除了PB4和PB5之外,你不开启上拉,开漏就是高阻阻态

好吧  我知道了
回复

使用道具 举报

  离线 

485

主题

8万

帖子

30

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
118299
金钱
118299
注册时间
2010-12-1
在线时间
923 小时
发表于 2017-10-31 00:57:34 | 显示全部楼层
liruikun 发表于 2017-10-30 08:44
意思就是我设置成开漏输出的话,如果想在读IO状态,那我还要再把开漏输出模式翻转成输入模式吗?但是我看 ...

不需要,你开漏输出,直接读IO也可以读到。
但是假设你开漏输出,输出低电平,你外部怎么折腾,也折腾不出高电平
你还读什么读,自己都知道。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
微信公众平台:正点原子   点击扫码添加
回复

使用道具 举报

  离线 

13

主题

71

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2017-8-16
在线时间
35 小时
 楼主| 发表于 2017-10-31 08:51:02 | 显示全部楼层
正点原子 发表于 2017-10-31 00:57
不需要,你开漏输出,直接读IO也可以读到。
但是假设你开漏输出,输出低电平,你外部怎么折腾,也折腾不 ...

那我如果外接上拉电阻就可以输出高电平了,一样是不用翻转直接读取,也可以读到输入高电平吗?原子哥
回复

使用道具 举报

  离线 

13

主题

71

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2017-8-16
在线时间
35 小时
 楼主| 发表于 2017-11-1 08:49:14 | 显示全部楼层
正点原子 发表于 2017-11-1 00:27
如果开漏输出,输出低电平,你上拉电阻,是拉不到到高电平的
只能开漏输出,输出1的时候,你上拉电阻, ...

好的  我知道了 谢谢原子哥
回复

使用道具 举报

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

本版积分规则




QQ|联系我们|手机版|官方淘宝店|新浪微博|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2017-12-16 17:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表
/* */