按键电路分析:
引脚为输入模式,连接到高阻态接地,按键按下,电源通过按键流向大地,引脚没有电流,低电平,按键未按下,电流通过引脚流向大地,有电流,高电平。
上拉电阻:增强驱动能力;下拉电阻:降低 驱动能力
330欧姆电阻连接LED,LED通过最大电流为10mA,3300mV电源-300mVLED压降 3000mV/10mA = 300欧姆,临界值危险,增加30欧姆稳当
/*使能A引脚时钟*/
RCC_AHB1PeriphClockCmd( RCC_AHB1Periph_GPIOA, ENABLE);
/* 配置端口A第0根引脚为输入模式 */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //第0根引脚
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; //配置为输入模式
//GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; //控制IO引脚的最大工作速度,工作速度越大,功耗就越高,但是性能也越高
//GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; //不需要上下拉电阻
GPIO_Init(GPIOA, &GPIO_InitStructure);
/*库函数读取引脚电平,判断按键状态*/
while()
{
if(RESET == GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0))
{
/*按键按下,实现逻辑代码*/
}
}