数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 2832|回复: 10

[other] GPIO管脚为什么一直是1呢?

[复制链接]
发表于 2020-8-17 12:26:33 | 显示全部楼层
你的程序中连续两次定义中应加入一次GPIO_Init()指令,否则只是初始化了PE2。另外,是否因为PE2设置为上拉模式,导致PE2始终是高电平,所以PE1也始终是高电平?
回复 支持 反对

使用道具 举报

发表于 2020-8-17 16:20:46 | 显示全部楼层
Mark_sheng 发表于 2020-8-17 14:18
即使我在PE1和PE2之后分别加入GPIO_Init(),PE2可以控制高低电平,是读PE1时始终显示高电平,PE1读不到低 ...

      我的理解,你是将PE1连接到PE2,通过读取PE1的状态判断PE2的状态,这样电路中的BLCK_1和LOCK_1不是就连通了?而且PE2为低电平时,R80、R250都相当于直接跨接在3.3V电源和地之间,造成无畏消耗,这不合理。因此可能是由于PE2与LOCK_1之间还有其他电阻,造成LOCK_1点的电位在PE2为低时不为0,且高于单片机io口判断电位高或低的参考值,所以读取PE1的状态始终是高电位。
        为什么不直接在程序中读取PE2的状态?或者设置一个标志,PE2输出高,标志赋值1,PE2输出低,标志赋值0。
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-8-24 06:21 , Processed in 0.078000 second(s), 9 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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