OpenEdv-开源电子网

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

跑马灯 上拉下拉都亮

[复制链接]

1

主题

3

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2016-7-24
在线时间
2 小时
发表于 2016-7-24 15:54:12 | 显示全部楼层 |阅读模式
1金钱
新手一个   跑马灯实验里 配置io口味推挽输出模式  并且为上拉。我实际操作过程中没有人为去写io口的高低,我只是初始化了io口 ,然后一个空的while(1);
这种情况下 io口不应该输出高么   因为内部上拉电阻。然而现象是灯泡亮。并且我改为下拉和无上下拉 小灯泡均亮。
然后今天看蜂鸣器视频 视频里的io口初始化时下拉 解释的就是下拉会保证io口一开始为低,npn三极管不导通,蜂鸣器不响。
那么,问题来了  为什么跑马灯里面上拉下拉 小灯泡都是亮的???
新手 求指点。

最佳答案

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

STM32的GPIO在你设定是推挽输出时,可是你没有设定是高还是低,所以内部电路没有接上拉MOS电路也没有接下拉MOS电路,这时输入引脚是浮空输入状态,这时引脚会产生不稳定的寄生电压,这个电压可能是VDD,也可能是GND,最大可能是在VCC-GND之间的一个电压,所以这时LED上就有VCC到这个电压的压差产生的很小的电流流过,就是你这个实验中把LED点亮了,这个LED亮是点亮了因该是微亮的,不可能是GPIO设置成低电平那样亮吧?我分析是这样 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

13

主题

611

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1929
金钱
1929
注册时间
2014-10-6
在线时间
625 小时
发表于 2016-7-24 15:54:13 | 显示全部楼层
本帖最后由 烟酒不沾 于 2016-7-24 17:04 编辑

STM32的GPIO在你设定是推挽输出时,可是你没有设定是高还是低,所以内部电路没有接上拉MOS电路也没有接下拉MOS电路,这时输入引脚是浮空输入状态,这时引脚会产生不稳定的寄生电压,这个电压可能是VDD,也可能是GND,最大可能是在VCC-GND之间的一个电压,所以这时LED上就有VCC到这个电压的压差产生的很小的电流流过,就是你这个实验中把LED点亮了,这个LED亮是点亮了因该是微亮的,不可能是GPIO设置成低电平那样亮吧?我分析是这样情况,希望能帮你理解,同时你测试对比一下亮度!
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2016-7-24
在线时间
2 小时
 楼主| 发表于 2016-7-24 15:55:45 | 显示全部楼层
lbj别来捣乱!!!
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2016-7-24
在线时间
2 小时
 楼主| 发表于 2016-7-24 17:43:32 | 显示全部楼层
烟酒不沾 发表于 2016-7-24 16:52
STM32的GPIO在你设定是推挽输出时,可是你没有设定是高还是低,所以内部电路没有接上拉MOS电路也没有接下拉 ...

也就是说虽然io口初始化函数里写了 上拉下拉但实际上是不起作用的。对比了一下貌似亮度一样额。。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-27 20:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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