接触STM32有一段时间了,也算是简单入了门,但由于一些原因,今天才来写本应该是入门级的按键相关程序,分为扫描模式和中断模式
MCU:STM32F334C8
1.扫描模式
首先配置按键引脚为上拉输入模式,根据原理图按键接PA0,按键没有按下的时候引脚输入为低电平0,按键按下输入高电平1,松开又回到低电平0
然后在死循环中不断读取相应引脚的输入状态,并根据返回结果判断按键是否按下,做出相应处理
下面的代码完成的功能是:按键第一次按下,点亮灯,再按一次,熄灭,重复。
#include "Userkey.h"
u8 flag=0;
void key_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA,ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&GPIO_InitStructure);
}
void key_scanmode(void)
{
key_GPIO