OpenEdv-开源电子网

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

关于F1的开漏输出模式 有疑问

[复制链接]

14

主题

76

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2017-8-16
在线时间
37 小时
发表于 2017-10-24 23:56:16 | 显示全部楼层 |阅读模式
10金钱
如果我配置成开漏输出,外部已有接上拉电阻,那么当我输出高点平时,同时我要读取PC5输入程序上 那样写是对的吗?我看网上说只有输出高电平时才能读取输入,那是不是我输出低电平就不能读取到输入了?还有我在配置成开漏输出的同时如果还能读取输入是不是就是双向io口了。原子哥麻烦指教一下。
微信截图_20171024234708.png

最佳答案

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

IO口设置为开漏输出,并且配置输出寄存器为高,这种情况下可以当输入用; 其他情况下,你配置为输出模式,读的话读到的是输出电平
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

21

主题

84

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
374
金钱
374
注册时间
2016-6-8
在线时间
79 小时
发表于 2017-10-24 23:56:17 | 显示全部楼层
IO口设置为开漏输出,并且配置输出寄存器为高,这种情况下可以当输入用;
其他情况下,你配置为输出模式,读的话读到的是输出电平
回复

使用道具 举报

14

主题

76

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2017-8-16
在线时间
37 小时
 楼主| 发表于 2017-10-25 11:14:47 | 显示全部楼层
我叫做大熙熙 发表于 2017-10-25 10:11
IO口设置为开漏输出,并且配置输出寄存器为高,这种情况下可以当输入用;
其他情况下,你配置为输出模式, ...

IO口设置为开漏输出,并且配置输出寄存器为高,这种情况下可以当输入用;那比如我这样,GPIO.MODE=out——od(开漏), 然后设为高 GPIO_SETBITS(), 再GPIO_READINput()这样可以读到某个IO的数据吗?
回复

使用道具 举报

21

主题

84

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
374
金钱
374
注册时间
2016-6-8
在线时间
79 小时
发表于 2017-10-26 09:45:06 | 显示全部楼层
liruikun 发表于 2017-10-25 11:14
IO口设置为开漏输出,并且配置输出寄存器为高,这种情况下可以当输入用;那比如我这样,GPIO.MODE=out— ...

可以的
回复

使用道具 举报

84

主题

766

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2775
金钱
2775
注册时间
2015-6-1
在线时间
394 小时
发表于 2017-10-26 10:24:16 | 显示全部楼层
liruikun 发表于 2017-10-25 11:14
IO口设置为开漏输出,并且配置输出寄存器为高,这种情况下可以当输入用;那比如我这样,GPIO.MODE=out— ...

请问一下,你做这个实验意思是不是这意思?:用同一个IO口,一会当成输入用,一会当成输出用。通过更换ResetBits和SetBits实现?
还有这么个用法什么情况下会用的到呢?我没想到场景。
自在随心
回复

使用道具 举报

12

主题

330

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2294
金钱
2294
注册时间
2016-5-21
在线时间
954 小时
发表于 2017-10-26 10:55:59 | 显示全部楼层
yuzeyuan1 发表于 2017-10-26 10:24
请问一下,你做这个实验意思是不是这意思?:用同一个IO口,一会当成输入用,一会当成输出用。通过更换Re ...

IIC就是这样子设置,可以输出,可以输入
回复

使用道具 举报

14

主题

76

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2017-8-16
在线时间
37 小时
 楼主| 发表于 2017-10-27 08:43:53 | 显示全部楼层

好的 谢谢了 那开漏输出模式如果外接上拉电阻的话 还能输出低电平么  经过上拉电阻不会被拉高么,那不是只有高电平了
回复

使用道具 举报

14

主题

76

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2017-8-16
在线时间
37 小时
 楼主| 发表于 2017-10-27 08:46:57 | 显示全部楼层
yuzeyuan1 发表于 2017-10-26 10:24
请问一下,你做这个实验意思是不是这意思?:用同一个IO口,一会当成输入用,一会当成输出用。通过更换Re ...

有一些检测电路 要用到啊  比如我现在3个IO口检测6个按键 如果有这个模式的话 当我切换不同IO口输出的话  就不用再换成输入模式啦
回复

使用道具 举报

14

主题

76

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2017-8-16
在线时间
37 小时
 楼主| 发表于 2017-10-27 08:48:06 | 显示全部楼层
xxssl 发表于 2017-10-26 10:55
IIC就是这样子设置,可以输出,可以输入

嗯  是不是一定要置管脚为高电平  才能读取输入啊
回复

使用道具 举报

12

主题

330

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2294
金钱
2294
注册时间
2016-5-21
在线时间
954 小时
发表于 2017-10-27 12:00:59 | 显示全部楼层
liruikun 发表于 2017-10-27 08:48
嗯  是不是一定要置管脚为高电平  才能读取输入啊

开漏电路决定了可以输入输出,设置自身高电平,然后读输入的电平。
解释:
1、如果外部是高电平,自身的就是高电平,所以读取的就是高电平;
2、如果外部是低电平,会把自身的高电平拉低,所以读到的是低电平。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 21:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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