如图,我用的是正点原子精英版的实验例程,我想改成按下KEY1,蜂鸣器响同时LED0闪烁;按下KEY0,LED1亮,LED0灭,蜂鸣器不响。但是我这个功能不能实现,就是按下KEY1,LED0不会闪烁,只会按一下灭,按一下亮;第二种的话就是使LED1闪烁,但是会陷入死循环。现在发出来的例程是死循环的。求各位大佬帮忙指点下哈。
#include "sys.h"
#include "usart.h"
#include "delay.h"
#include "led.h"
#include "beep.h"
#include "key.h"
//ALIENTEK精英STM32F103开发板 实验3
//按键输入 实验
//技术支持:www.openedv.com
//广州市星翼电子科技有限公司
int main(void)
{
u8 key;
Stm32_Clock_Init(9); //系统时钟设置
delay_init(72); //延时初始化
LED_Init(); //初始化与LED连接的硬件接口
BEEP_Init(); //初始化蜂鸣器端口
KEY_Init(); //初始化与按键连接的硬件接口
LED0=0; //先点亮红灯
while(1)
{
key=KEY_Scan(0); //得到键值
if(key)
{
switch(key)
{
case KEY1_PRES:
while(1)
{
BEEP = 1;
LED0 =~ LED0;
delay_ms(300);
}
case KEY0_PRES:
LED1 = 0;
LED0 = 1;
BEEP = 0;
break;
}
}
else delay_ms(10);
}
}
一周热门 更多>