龙芯1b(LS1B200)使用LVGL7.0.1组件的滑杆控件控制三色RGB灯的亮度
需求:通过三个滑杆,分别控制RGB三色灯的红绿蓝颜色。并显示0-100%的滑动数值
在这里我们使用LVGL库的滑杆 (lv_slider)组件来控制数值,并绑定回调事件,在回调事件中控制RGB灯的颜色与标签数值的显示。
龙芯1b开发板使用LVGL的滑杆控制三色RGB灯的亮度-CSDN直播
lv_obj_t * rslider,* gslider,* bslider;/*回调事件*/
void led_slider(lv_obj_t * obj, lv_event_t event)
{volatile int value = (int)(lv_slider_get_value(obj) * 2.55);//将设置范围0-255映射为0-100if (obj == rslider)//判断滑块对象{RGB(value,0,0);//滑块范围为0-100 RGB为0-255lv_label_set_text_fmt(rlabel, "%d %%", lv_slider_get_value(obj));}else if(obj == gslider){RGB(0,value,0);//滑块范围为0-100 RGB为0-255lv_label_set_text_fmt(glabel, "%d %%", lv_slider_get_value(obj));}else if(obj == bslider){RGB(0,0,value);//滑块范围为0-100 RGB为0-255lv_label_set_text_fmt(blabel, "%d %%", lv_slider_get_value(obj));}}/* Initialize the slider */
void init_ui_slider()
{/*创建的滑杆对象,父对象为第一个标签页,若是无父对象lv_tabview_get_tab(tabview,0)可修改为lv_scr_act()*/rslider = lv_slider_create(lv_tabview_get_tab(tabview,0), NULL);gslider = lv_slider_create(lv_tabview_get_tab(tabview,0), NULL);bslider = lv_slider_create(lv_tabview_get_tab(tabview,0), NULL);lv_obj_align(rslider, NULL, LV_ALIGN_CENTER, 0, -80);//设置位置lv_slider_set_value(rslider,0,0);//设置默认值lv_slider_set_range(rslider,0,100);//设置范围lv_obj_set_event_cb(rslider, led_slider);//回调事件lv_slider_set_type(rslider,LV_SLIDER_TYPE_NORMAL);//设置滑杆类型//label 标签用于显示文字rlabel = lv_label_create(lv_tabview_get_tab(tabview,0), NULL);lv_obj_align(rlabel, rslider, LV_ALIGN_OUT_RIGHT_MID, 10, 0);lv_label_set_text(rlabel, "0");lv_obj_align(gslider, NULL, LV_ALIGN_CENTER, 0, 0);lv_slider_set_value(gslider,0,0);//设置默认值lv_slider_set_range(gslider,0,100);//设置范围lv_obj_set_event_cb(gslider, led_slider);//回调事件lv_slider_set_type(gslider,LV_SLIDER_TYPE_NORMAL);//labelglabel = lv_label_create(lv_tabview_get_tab(tabview,0), NULL);lv_obj_align(glabel, gslider, LV_ALIGN_OUT_RIGHT_MID, 10, 0);lv_label_set_text(glabel, "0");lv_obj_align(bslider, NULL, LV_ALIGN_CENTER, 0, 80);lv_slider_set_value(bslider,0,0);//设置默认值lv_slider_set_range(bslider,0,100);//设置范围lv_obj_set_event_cb(bslider, led_slider);//回调事件lv_slider_set_type(bslider,LV_SLIDER_TYPE_NORMAL);//labelblabel = lv_label_create(lv_tabview_get_tab(tabview,0), NULL);lv_obj_align(blabel, bslider, LV_ALIGN_OUT_RIGHT_MID, 10, 0);lv_label_set_text(blabel, "0");}
龙芯1b(LS1B200)使用LVGL7.0.1组件的滑杆控件控制三色RGB灯的亮度相关推荐
- Asp.net2.0动态加载用户控件的三种方法
方法一: 直接拖放的用户控件 <!--这是某个aspx页--> ..... <%@ Register Src="TestControl.ascx" TagName ...
- 龙芯1b(LS1B200)使用LVGL7.0.1组件 使用中文的坑
问题 龙芯1b(LS1B200),使用LVGL库.无法正常显示中文字体问题. 问题查找 1.查看配置文件lvgl-7.0.1\lv_conf.h 在文件中发现龙芯已经帮助我们使用宏定义配置好了中文字库 ...
- 龙芯1b(LS1B200)使用LVGL7.0.1组件的初次体验
由比赛入坑龙芯1b(LS1B200),需要对板上驱动进行开发,使用LVGL库来做UI界面控制驱动. 网上资料难以查找,在本文中记录学习. 实现效果: 使用LVGL库的基本步骤: 1.硬件和需求设置LV ...
- 龙芯1b(LS1B200)使用LVGL7.0.1组件 按钮矩阵 实现简易计算器
需求:通过按钮点击实现加减乘除的简易计算器. 1.我们使用矩阵按钮(lv_btnmatrix)快速创建布局,文本框(lv_textarea)显示结果. 2.在按钮回调中将点击结果加入文本框上显示. 矩 ...
- 【龙芯1B】:74HC595数码管或74HC138数码管程序开发
学习目标:解决龙芯1B:74HC595或74HC138数码管显示问题 首先我们要知道数码管的原理:以74HC595为例,74HC595是具有三态输出功能(即具有高电平.低电平和高阻抗三种输出状态)的门 ...
- 【龙芯1B】:有源蜂鸣器例程
前言 大家对龙芯1B200有任何问题都可以私信我,大家的关注才是我不断更新的动力. 可能私信不能很及时的回,大家稍微谅解一下,看到立马就回. 一.蜂鸣器介绍 这里简单的介绍一下大家众所周知的蜂鸣器,蜂 ...
- 【国产之光】:龙芯1B(嵌入式方向)
自从嵌入式1B的出产,我就开始了解了,毕竟是嵌入式方向的工程师,不管什么岗位都爱国,不过的确国产的一出自然想去看看国产之光,也希望祖国芯片事业越来越好.(作为一名博主当然说这些就像说废话)那么我们开始 ...
- 【龙芯1B】:龙芯1B200字号修改程序(基于龙芯1B200)
嵌入式芯片与系统设计竞赛开发板 项目场景: 由于龙芯的资料很少,于是想普及一下龙芯1B的字号修改例程.希望对大家有所帮助,如有不妥之处,可联系博主!一切的资源都是为了传播学习,让大家都能学会,这才 ...
- 【龙芯1B】:LCD显示图片文字背景色前景色、小创语音控制lcd显示、数码管倒计时
项目场景: 闲来无事,写了几个关于嵌入式技能大赛的任务.希望对大家有所帮助.本文开发板由百科荣创的龙芯1b开发板支持,关于嵌入式技能大赛的开发板. LCD显示图片&文字&背景 ...
最新文章
- stackoverflow上一个最会举例子的专家
- 【linux】printf在终端打印彩色hello world
- Asp.Net页面执行流程分析
- Django 出现 “multiple primary key defined”报错
- atcoder 076
- 前端学习(3124):react-hello-react之对props进行限制
- LeetCode 1020. 飞地的数量(图的BFS/DFS)
- 【实践】推荐召回体系化建设与排序优化实践(附PPT下载链接)
- 3.5用户访问使用HTTPS
- VC添加皮肤――SkinMagic msvcrtd.dll_本地测试
- 全网首发:github已经设置了令牌token,为什么还要验证用户密码
- LaTeX常用符号与语法
- 苹果iPod设计及商业操作内幕
- ActiveX控件概述
- 兄弟HL4150cdn恢复出厂设置_兄弟打印机恢复出厂设置
- Swift - URL转码解码
- 人力资源管理:理论与实务第七章
- “剑指Offer”数据结构篇:java实现
- 请收起你的善良,越是心地善良的女人,通常命越差
- VS2019与fluter通过MethodChannel进行双向通信(原创)