隔了好久才写这第二篇,期间重感冒,身体难受大约十天,今天重新写,又踩了好多的坑。
1:首先,按键实验是GPIO口的另一应用,上一次的跑马灯实验是将GPIO口作为输出,此次按键实验是将GPIO口作为输入。
和跑马灯实验实验一样,要启用GPIO口,第一步要做的就是使能GPIO所在的时钟总线,具体库函数操作为:RCC_APB2PeriphClockCmd(GPIOA,ENABLE);
2:接下来说说GPIO作为输入时和输入的不同:
(1):首先需要了解按键是低电平有效还是高电平有效,因为此处需要配置GPIO口的输入模式。大家都知道GPIO口有四种输入模式,四种输出模式(具体请看我的第一篇笔记)。我使用的是STM32F103C8T6,按键s2为低电平有效,故,此处配置输出模式时应为上拉输入模式,即GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;
注:关于为什么低电平有效就用上拉输入,这里多讲几句。
首先,上拉电阻是为了保证在没有信号输入的时候,IO口保持高电平,若按键为低电平有效,则没有信号的时候,IO应呈现高电平,所以,此处应设置为上拉输入。
同理,下拉电阻是为了保证在没有信号输入的时候,IO口保持低电平,若按键为高电平有效,则没有信号的时候,IO应呈现低电平。
然后再配置一下IO口引脚,初始化PA0即可。作为输入时,不需要配置速度。
<