[MM32软件] 【MM32 eMiniBoard测评报告】+花样流水灯

[复制链接]
 楼主| gaoyang9992006 发表于 2020-4-21 12:51 | 显示全部楼层 |阅读模式
本演示采用了4个按键的操作,与LED点亮操作。
软件上采用了函数指针。通过函数指针指向不同的4个花样流水灯子函数
在按键触发后改变指针指向。

  1. #include "delay.h"
  2. #include "sys.h"
  3. #include "led.h"
  4. #include "key.h"

  5. typedef void (*BL)(void);
  6. static volatile BL BLINK = NULL;

  7. /********************************************************************************************************
  8. **函数信息 :main(void)                       
  9. **功能描述 :
  10. **输入参数 :无
  11. **输出参数 :无
  12. ********************************************************************************************************/
  13. int main(void)
  14. {
  15.     u8 t=0;
  16.    
  17.     delay_init();       
  18.     LED_Init();                                                //初始化与LED连接的硬件接口
  19.     KEY_Init();                                                //初始化与按键连接的硬件接口
  20.                 BLINK=(BL)LED_Blink0; //给指针指向一个全部灭灯函数,防止跑飞。
  21.     while(1)
  22.     {
  23.                 t=KEY_Scan(0);                                //得到键值
  24.                 BLINK();
  25.                 switch(t)
  26.                 {                                 
  27.                 case KEY1_PRES:         //K1默认悬空,按下后连接高电平,初始化配置要设置为输入带下拉电阻
  28.                                 LED_Blink0();
  29.                                 BLINK=(BL)LED_Blink1;  
  30.                                 break;
  31.                 case KEY2_PRES:
  32.                                 LED_Blink0();
  33.                                 BLINK=(BL)LED_Blink2;
  34.                                 break;
  35.                 case KEY3_PRES:       
  36.                                 LED_Blink0();                       
  37.                                 BLINK=(BL)LED_Blink3;
  38.                                 break;
  39.                 case KEY4_PRES:
  40.                                 LED_Blink0();                       
  41.                                 BLINK=(BL)LED_Blink4;
  42.                                 break;
  43.                 }

  44.                 }
  45. }





 楼主| gaoyang9992006 发表于 2020-4-21 12:53 | 显示全部楼层
K1对应逐个点亮逐个熄灭
K2对应两边点亮中间点亮,两边熄灭,中间熄灭
K3对应全部点亮,全部熄灭
K4对应8421码
以上四种在没有按键事件情况下一直在当前模式循环,直到结束该轮循环后存在按键被按下为止。
 楼主| gaoyang9992006 发表于 2020-4-21 12:55 | 显示全部楼层
BlinkLED.zip (540.62 KB, 下载次数: 15)
工程奉上。大家感兴趣的可以看看。
天灵灵地灵灵 发表于 2020-4-22 13:13 | 显示全部楼层
操作 独秀。
米多0036 发表于 2020-4-22 22:40 | 显示全部楼层
感兴趣
paotangsan 发表于 2020-5-9 17:18 | 显示全部楼层
非常感谢楼主分享
renzheshengui 发表于 2020-5-9 17:19 | 显示全部楼层
想想就很好看
wakayi 发表于 2020-5-9 17:20 | 显示全部楼层
哦哦  通过按键电量不同的灯
wowu 发表于 2020-5-9 17:21 | 显示全部楼层
要是灯多了怎么弄呢
xiaoqizi 发表于 2020-5-9 17:21 | 显示全部楼层
非常感谢楼主分享
gejigeji521 发表于 2020-5-21 21:25 | 显示全部楼层
太好了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:如果你觉得我的分享或者答复还可以,请给我点赞,谢谢。

2046

主题

16356

帖子

221

粉丝
快速回复 在线客服 返回列表 返回顶部
个人签名:如果你觉得我的分享或者答复还可以,请给我点赞,谢谢。

2046

主题

16356

帖子

221

粉丝
快速回复 在线客服 返回列表 返回顶部