基于正点原子STM32F103精英版开发板
硬件部分:KEY0接PE4,KEY1接PE3,KEY2接PA0
其中KEY0和1是低电平有效,KEY2是高电平有效
软件部分,在key.c文件中定义两个函数key_Init 和 key_Scan函数
key_Init中:
- 使能GPIOA,GPIOE口
- 初始化GPIO`
void key_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOE,ENABLE);
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;//key0和key1设置上拉输入
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_3|GPIO_Pin_4;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOE,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPD;//key2设置下拉输入
GPIO_InitStructure