用LVGL在小安派SCP4.3上”点灯“

[复制链接]
查看2804 | 回复11 | 2024-5-4 21:59:07 | 显示全部楼层 |阅读模式
之前介绍了如何移植NXP GUI Guider的界面到小安派SCP4.3,接下来学习如何使用LVGL的控件
按照惯例学习一般都会从点灯开始,正好控件中也有个LED,通过它来实现点灯,按键切换LED状态
打开GUI Guider新建一个空界面的工程
微信截图_20240504203949.png
将屏幕背景色改为黑色,然后添加一个LED控件
微信截图_20240504204119.png 微信截图_20240504211144.png
添加的LED默认名称是LED_1
微信截图_20240504204704.png
但这不是LED控件的完整名称,先生成一下代码,在代码中找到LED的真正名称
微信截图_20240504205030.png
选中LED控件后,点击左上角这个图标
微信截图_20240504204220.png
添加一个按键事件
微信截图_20240504212925.png
选择LED

微信截图_20240504204320.png
找到最下面的自定义
微信截图_20240504204516.png
勾选后点击后面的C,然后填入
  1. lv_led_toggle(guider_ui.screen_led_1);
复制代码


微信截图_20240504213152.png
生成代码后按照上一篇帖子的方法把界面移植过去,在main.c的按键处理方法button_process_task中添加lv_event_send(guider_ui.screen_led_1,LV_EVENT_KEY,&press_mode);
微信截图_20240504213657.png
运行效果
WeChat_20240504211507 00_00_00-00_00_30.gif
这个LED控件还有其他的方法可用,例如设置颜色或亮度,接下来实现长按设置颜色的功能
修改按键处理,将长按状态传入
微信截图_20240504215434.png
在events_init.c中修改
  1. uint16_t cur_h = 0;

  2. static void screen_led_1_event_handler (lv_event_t *e)
  3. {
  4.         lv_event_code_t code = lv_event_get_code(e);

  5.         switch (code) {
  6.         case LV_EVENT_KEY:
  7.         {
  8.                 if(*(uint32_t *)(e->param) == 1)
  9.                         lv_led_toggle(guider_ui.screen_led_1);
  10.                 else if(*(uint32_t *)(e->param) == 2)
  11.                 {
  12.                         lv_led_set_color(guider_ui.screen_led_1,lv_color_hsv_to_rgb(cur_h,100,100));
  13.                         cur_h += 60;
  14.                         if(cur_h > 359)
  15.                                 cur_h = 0;
  16.                 }
  17.                 break;
  18.         }
  19.         default:
  20.                 break;
  21.         }
  22. }
复制代码
运行效果
WeChat_20240504215253 00_00_00-00_00_30.gif

回复

使用道具 举报

干簧管 | 2024-5-5 11:24:29 | 显示全部楼层
赞👍
回复

使用道具 举报

iiv | 2024-5-5 11:59:13 | 显示全部楼层
这个很棒的样子
回复 支持 反对

使用道具 举报

1055173307 | 2024-5-5 13:28:09 | 显示全部楼层
学习
回复

使用道具 举报

lvxinjia123 | 2024-5-6 15:25:10 | 显示全部楼层
赞一个
回复

使用道具 举报

wukong50 | 2024-5-24 13:47:56 | 显示全部楼层
感谢分享
回复

使用道具 举报

楚华 | 2024-5-24 16:09:28 | 显示全部楼层
恭喜
回复

使用道具 举报

wurong | 2024-5-27 22:05:15 | 显示全部楼层
大佬啊
回复

使用道具 举报

7788 | 2024-6-7 11:46:02 | 显示全部楼层
666
回复

使用道具 举报

noonezero | 2024-6-21 08:22:49 | 显示全部楼层
完美
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则