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

[复制链接]
1829|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

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