1. 摘要
本文档主要用来介绍如何通过PWM控制屏幕背光,通过PWM占空比达到控制背光的目的
2. 准备工作
可正常运行的屏幕显示程序
屏幕背光调节范围20-100%,20k PWM频率
3. 实施
不管是采用那种GUI框架开发,我们一般都需要对屏幕背光做控制,背光的控制是通用的,例如我们在emwin工程和TouchGFX工程下,都是采用同一套背光可控制逻辑和代码,背光的最低亮度根据自己的实际应用做限制,例如我的工程是25%-100%背光可调节。以STM32H743控制800*480的显示屏为例,使用TIM2的一个通道产生PWM来控制屏幕背光。要清除TIM作为PWM运行的控制和几个计算以及寄存器的配置。
4. 代码实现
首先我们需要对外有一个初始化接口,有一个改变占空比的接口,
void BSP_BL_Init(void)
{
/* Compute the prescaler value to have TIM1 counter clock equal to 20000000 Hz */
uhPrescalerValue = (uint32_t)(SystemCoreClock / (2*20000000)) - 1;
TimHandle.Instance = TIMx;
TimHandle.Init.Prescaler = uhPrescalerValue;
TimHandle.Init.Period =