你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32U3评测】移植TouchGFX之五pwm设节屏幕亮度

[复制链接]
lugl 发布时间:2025-5-25 14:04

【前言】

在前面几篇中,我驱动好了GT911以及pwm外设,这一篇将分享如何在TouchGFX界面来调节屏幕的亮度。

【硬件】

开发板:NUCLEO STM32U385开发板。

屏幕:ST7789+GT911电容触摸屏。

【开发环境】

1、stm32cubeMX

2、TouchGFX Designer

3、keil 3.57

【实现步骤】

1、在TouchGFX Designer界面添加标题以及一个TouchGFX的图标。

2、添加一个texArea,并创建一个buffer:

image.png

3、添加一个slider控件,并选择合适的景以及滑块大小,数值范围为0-100:

image.png

4、添加slider的滑动数据变化的事件,触发的虚拟函数为setBackLight

image.png

保存并生成工程:

【代码实现】

1、重新生成工程后,在screenView.cpp中添加setBackLight实现代码:

void screenView::setBackLight(int value)
{
    //value 为 0 ~ 100 需要转换为 0 ~ 500
  int pwmVal = value * 5;
  __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3, pwmVal);
    Unicode::snprintf(textLightBuffer,10,"%d",value);
    textLight.invalidate();
}

代码中使用__HAL_TIM_SetCompare来动态设置pwm的占空比,而pwm输出信号是接到LCD的背光的控制脚,从而实现对屏幕亮度的动态改变。

并在添加头文件:

image.png

编译后,下载到开发板便可以动态的设置LCD屏的亮度了。

【效果如下:

setLight.gif

收藏 评论0 发布时间:2025-5-25 14:04

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版