初级会员

- 积分
- 56
- 金钱
- 56
- 注册时间
- 2022-2-26
- 在线时间
- 15 小时
|

楼主 |
发表于 2022-3-26 00:59:40
|
显示全部楼层
问题:为了让它以跑马灯形式亮,我得加个死循环吧,但是加了之后,我再按其他按键,它就跳不出来了,十分头疼
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "key.h"
int main(void)
{
u8 t=0; //给mode赋值
delay_init(); //延时函数初始化
LED_Init(); //初始化与LED连接的硬件接口
KEY_Init(); //初始化与按键连接的硬件接口
while(1)
{
t=KEY_Scan(0); //mode得到键值
if(t==KEY0_PRES)
{
for(;;)
{
GPIO_ResetBits(GPIOA,GPIO_Pin_8); //LED0输出低
GPIO_SetBits(GPIOD,GPIO_Pin_2);//LED1输出高
delay_ms(300);
GPIO_SetBits(GPIOA,GPIO_Pin_8);//LED0输出高
GPIO_ResetBits(GPIOD,GPIO_Pin_2);//LED1输出低
delay_ms(300);
}
}
if(t==KEY1_PRES)
{
for(;;)
{
GPIO_ResetBits(GPIOA,GPIO_Pin_8); //LED0输出低
GPIO_SetBits(GPIOD,GPIO_Pin_2);//LED1输出高
delay_ms(300);
GPIO_SetBits(GPIOA,GPIO_Pin_8);//LED0输出高
GPIO_ResetBits(GPIOD,GPIO_Pin_2);//LED1输出低
delay_ms(300);
}
}
if(t==WKUP_PRES)
{
GPIO_SetBits(GPIOD,GPIO_Pin_2);//LED1输出高
GPIO_SetBits(GPIOA,GPIO_Pin_8);//LED0输出高
}
else
delay_ms(10);
}
}
|
|