这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 板卡试用 » 【换取逻辑分析仪】LVGL触控按钮点灯

共6条 1/1 1 跳转至

【换取逻辑分析仪】LVGL触控按钮点灯

助工
2025-04-07 22:44:00   被打赏 18 分(兑奖)     打赏

1、简介

在学习LVGL应用开发过程中,为UI控件定制用户响应事件是经常遇到的。以下使用纯代码的方式创建屏幕触控开关,当用户按下触控按钮后,完成板载LED小灯的点亮、关闭。

2、开发环境、所用开发板

MDK Keil,STM32L4-discovery

aa9a6f271e023eeb762092a2a6631b88.jpg

3、代码说明

3.1 LED点亮按钮控件btn

static void lv_btn_on(void)
{
	lv_obj_t* btn = lv_btn_create(lv_scr_act());//创建按键对象
	lv_obj_set_pos(btn, 60, 60-10);             //按键坐标
	lv_obj_set_size(btn, 120, 50);
	lv_obj_t* label = lv_label_create(btn);
	lv_label_set_text(label, "LED_ON");
	lv_obj_center(label);

	lv_obj_set_style_bg_color(btn, lv_color_hex(0xFF0000), LV_STATE_PRESSED);  //按键按下后UI控件颜色改变
	lv_obj_add_event_cb(btn, LED_ON_event_cb,LV_EVENT_CLICKED, NULL);//为btn注册点击事件
}

为btn点击事件创建回调函数

static void LED_ON_event_cb(lv_event_t * event)
{
	HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13,GPIO_PIN_RESET);//点亮LED
}

3.2 LED关闭按钮控件btn

按钮控件btn创建与点亮控件基本相同,但回调函数是LED_OFF_event_cb

static void lv_btn_off(void)
{
	lv_obj_t* btn = lv_btn_create(lv_scr_act());
	lv_obj_set_pos(btn, 60, 130+10);
	lv_obj_set_size(btn, 120, 50);
	lv_obj_t* label = lv_label_create(btn);
	lv_label_set_text(label, "LED_OFF");
	lv_obj_center(label);

	lv_obj_set_style_bg_color(btn, lv_color_hex(0x00FF00), LV_STATE_PRESSED);  
	lv_obj_add_event_cb(btn, LED_OFF_event_cb,LV_EVENT_CLICKED, NULL);
}

为btn点击事件创建回调函数

static void LED_OFF_event_cb(lv_event_t * event)
{
	HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13,GPIO_PIN_SET);  //关闭LED
}

3.3 lv控件初始化

	lv_init();//lvgl控件初始化
	lv_port_disp_init();//显示设备初始化
	lv_port_indev_init();//触控设备初始化
	lv_btn_on();//点灯控件初始化
	lv_btn_off();

4、运行效果

可以看到当触控按钮按下后,点灯、关灯操作得到执行

screenshots.gif




关键词: LVGL触控点灯    

高工
2025-04-14 15:19:50     打赏
2楼

对于LVGL 创建button 对象的及对应的按下事件处理有参考代码借鉴了。


专家
2025-04-15 08:40:55     打赏
3楼

这个开发板下LVGL的搭建过程?


专家
2025-04-15 08:41:22     打赏
4楼

直接在例程的基础上改的吗?


助工
2025-04-18 08:37:27     打赏
5楼

内容较为基础,希望多分享一点较为复杂的LVGL应用


专家
2025-04-18 09:21:51     打赏
6楼

这样看可以用来做智能家居啦。


共6条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]