#include "key.h"
#include "led.h"
void delay(uint32_t); //声明有参数延时函数;
int main(void)
{
int a=0;
uint32_t keynum;
/* 初始化板载LED指示灯 */
LED_Init();
/* 初始化板载按键为GPIO模式(非中断) */
SZ_STM32_KEYInit();
/* Infinite loop 主循环 */
/* 按键按下时为低电平,如果按键按下则改变指示灯状态 */
while (1)
{
/* 按键按下时为低电平,如果按键按下则改变指示灯状态 */
keynum = SZ_STM32_KEYScan();
while(keynum == 2)
{
a++;
}
//keynum = SZ_STM32_KEYScan();
while (a%2==1)
{
GPIO_ResetBits(GPIOD,GPIO_Pin_2);//第一灯亮
delay(800000);
GPIO_SetBits(GPIOD,GPIO_Pin_2); //第一灯灭
delay(800000);
GPIO_ResetBits(GPIOD,GPIO_Pin_3); //第二灯亮
delay(800000);
GPIO_SetBits(GPIOD,GPIO_Pin_3); //第二灯灭
delay(800000);
GPIO_ResetBits(GPIOD,GPIO_Pin_4); //第三灯亮
delay(800000);
GPIO_SetBits(GPIOD,GPIO_Pin_4); //第三灯灭
delay(800000);
GPIO_ResetBits(GPIOD,GPIO_Pin_7); //第四灯亮
delay(800000);
GPIO_SetBits(GPIOD,GPIO_Pin_7); //第四灯灭
delay(800000);
while (a%2==0)
{
break;
}
}
/* 等待按键释放 */
while(keynum == SZ_STM32_KEYScan());
/* 按键释放延迟去抖 */
delay(150000);
}
}
你的延时函数没有初始化