【MM32 eMiniBoard测评报告】+花样流水灯
本演示采用了4个按键的操作,与LED点亮操作。软件上采用了函数指针。通过函数指针指向不同的4个花样流水灯子函数
在按键触发后改变指针指向。
#include "delay.h"
#include "sys.h"
#include "led.h"
#include "key.h"
typedef void (*BL)(void);
static volatile BL BLINK = NULL;
/********************************************************************************************************
**函数信息 :main(void)
**功能描述 :
**输入参数 :无
**输出参数 :无
********************************************************************************************************/
int main(void)
{
u8 t=0;
delay_init();
LED_Init(); //初始化与LED连接的硬件接口
KEY_Init(); //初始化与按键连接的硬件接口
BLINK=(BL)LED_Blink0; //给指针指向一个全部灭灯函数,防止跑飞。
while(1)
{
t=KEY_Scan(0); //得到键值
BLINK();
switch(t)
{
case KEY1_PRES: //K1默认悬空,按下后连接高电平,初始化配置要设置为输入带下拉电阻
LED_Blink0();
BLINK=(BL)LED_Blink1;
break;
case KEY2_PRES:
LED_Blink0();
BLINK=(BL)LED_Blink2;
break;
case KEY3_PRES:
LED_Blink0();
BLINK=(BL)LED_Blink3;
break;
case KEY4_PRES:
LED_Blink0();
BLINK=(BL)LED_Blink4;
break;
}
}
}
K1对应逐个点亮逐个熄灭
K2对应两边点亮中间点亮,两边熄灭,中间熄灭
K3对应全部点亮,全部熄灭
K4对应8421码
以上四种在没有按键事件情况下一直在当前模式循环,直到结束该轮循环后存在按键被按下为止。
工程奉上。大家感兴趣的可以看看。
操作 独秀。 感兴趣 非常感谢楼主分享 想想就很好看 哦哦通过按键电量不同的灯 要是灯多了怎么弄呢 非常感谢楼主分享 太好了。
页:
[1]