[STM32F1]

开漏输出双向IO电平的问题

[复制链接]
1259|6
手机看帖
扫描二维码
随时随地手机跟帖
kevicki|  楼主 | 2017-7-24 12:12 | 显示全部楼层 |阅读模式
如图,3.3v接了一个1k电阻,然后接了一个发光二极管,之后LED端链接入STM32F103C8T6的PA8管脚,PA8配置为开漏输出

电路目的实现输出控制LED灯亮灭,同时可以通过将在外部将LED端对地短路,在MCU内部检测,实现双向IO。

问题:
1、在MCU输出逻辑高时,用万用表测量LED端的电压为1.2v,按道理在MCU开漏输出逻辑高时为高阻态,LED端的电压不应该是3.3V吗?
2、在MCU内部读取此时的输入值,却是0,按照Datasheet描述,IO低电平为0.8v max,为何1.2v的电压MCU就判断为0呢??

求助一下各位。多谢了~~

原理图

原理图
sc1884| | 2017-7-24 15:40 | 显示全部楼层
等大神

使用特权

评论回复
mmuuss586| | 2017-7-24 19:41 | 显示全部楼层
漏极开路,你要输出高电平,外部要加上拉的;

使用特权

评论回复
fengfeng的恒| | 2017-8-4 17:24 | 显示全部楼层
1.发光二极管也会有压降的,刚好这个压降2V左右摆了;
2.你设置的是输出模式,读输入时读不到什么的。

使用特权

评论回复
稳稳の幸福| | 2017-8-4 20:22 | 显示全部楼层
有电流流过LED。。。分压了。

使用特权

评论回复
kevicki|  楼主 | 2017-8-12 09:43 | 显示全部楼层
fengfeng的恒 发表于 2017-8-4 17:24
1.发光二极管也会有压降的,刚好这个压降2V左右摆了;
2.你设置的是输出模式,读输入时读不到什么的。 ...

开漏输出是可以读取IDR寄存器,实现双向IO的功能的,STM8开漏是可以这么用的。

问题跟上面几位说的差不多,经查,LED确实会有电流反向流过造成分压。

使用特权

评论回复
gx_huang| | 2017-8-12 11:01 | 显示全部楼层
什么是LED端的电压?
要么二端的电压,要么某一端对地的电压,总要说清楚呀。
万用表也是有内阻的,电压档一般10M内阻。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

158

帖子

0

粉丝