OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7616|回复: 11

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

[复制链接]

14

主题

76

帖子

0

精华

初级会员

Rank: 2

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

按键原理图

按键原理图

四种开漏模式

四种开漏模式

最佳答案

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

如果开漏输出,输出低电平,你上拉电阻,是拉不到到高电平的 只能开漏输出,输出1的时候,你上拉电阻,才可以是高电平。 所以,输出口的状态,实际上,自己是可以控制的。 也就不需要读了,如果你实在是要读,那就读IDR了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

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

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

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

使用道具 举报

32

主题

881

帖子

0

精华

论坛元老

Rank: 8Rank: 8

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

使用道具 举报

14

主题

76

帖子

0

精华

初级会员

Rank: 2

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

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

使用道具 举报

14

主题

76

帖子

0

精华

初级会员

Rank: 2

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

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

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

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

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

使用道具 举报

14

主题

76

帖子

0

精华

初级会员

Rank: 2

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

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

使用道具 举报

32

主题

881

帖子

0

精华

论坛元老

Rank: 8Rank: 8

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

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

使用道具 举报

14

主题

76

帖子

0

精华

初级会员

Rank: 2

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

好吧  我知道了
回复

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

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

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

使用道具 举报

14

主题

76

帖子

0

精华

初级会员

Rank: 2

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

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

使用道具 举报

14

主题

76

帖子

0

精华

初级会员

Rank: 2

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

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

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-6-16 21:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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