与上一章一样嵌入式学习(STM32F103)-如何实现灯泡来回闪烁,我们做好前面的操作后,首先需要 一、先使能IO口时钟调用函数RCC_APB2PeriphClockCmd, 二、初始化IO口。调用GPIO INIT()函数,三、操作IO口,高低电平进行输出。
首先编写key.c的文件
通过go to查看定义后,写入代码。
编写扫描按键KEY_Scan的代码:
u8 KEY_Scan(u8 mode)
{
static u8 key_up=1;//按键按松开标志
if(mode)key_up=1; //支持连按
if(key_up&&(KEY0==0||KEY1==0||WK_UP==1))
{
delay_ms(10);//去抖动
key_up=0;
if(KEY0==0)return KEY0_PRES;
else if(KEY1==0)return KEY1_PRES;
else if(WK_UP==1)return WKUP_PRES;
}else if(KEY0==1&&KEY1==1&&WK_UP==0)key_up=1;
return 0;// 无按键按下
}
为了看是否有没有按下,并且按的是KEY几,
main.c的代码: