菜鸟:按键GPIO模式的选择

2019-03-23 19:18发布

discovery.jpg 野火.jpg

看《零死角玩转stm32》中关于按键实验分析中看到,按键 GPIO端口应该如何进行配置?
火哥说两种方案:

8DXLD9I_%SYK%CX}$U0ZC1H.jpg

火哥用的第一种,所以初始化函数是:
void Key_GPIO_Config(void)
{
        GPIO_InitTypeDef GPIO_InitStructure;
       
        /*开启按键端口(PE5)的时钟*/
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);       
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;        
        GPIO_Init(GPIOE, &GPIO_InitStructure);
}
我用的开发板是STM32VLDISCOVERY,按键的硬件电路是第一个图,模式选为GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; 就不行了,我改成GPIO_Mode_IN_FLOATING就好了。请问GPIO_Mode_IPU这种模式为什么在STM32VLDISCOVERY上不行?? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
chunyang
1楼-- · 2019-03-24 05:10
/ 最上面的那个图因为存在下拉电阻,IO必须配置为高阻输入态即所谓的“浮空”,配置成弱上拉型会有问题,下面的两个图可以配置成弱上拉态也可以配置成高阻输入态。
dayup
2楼-- · 2019-03-24 07:41
 精彩回答 2  元偷偷看……

一周热门 更多>