linux解决笔记本pwm背光,担心PWM调光屏幕闪瞎眼?联想这些ThinkPad笔记本要注意...

拼 命 加 载 中 ...

不论是LCD还是OLED屏幕,除了色彩、亮度、色温等问题会影响用户观感之外,调光方式也是影响用户体验的一个重要方面,低频PWM调光就不讨用户喜欢,敏感点的用户会觉得PWM调光屏幕能闪瞎眼。这个问题不仅在手机中存在,在笔记本上也一样是个问题。如果玩家对低频PWM调光很敏感,那就要注意下联想ThinkPad

T480系列、T580系列、X380及最新的工作站P52s系列了,这些笔记本中就有使用低频PWM调光的。

6a33a401feea5fe92e135e5ceae6402c.png

Notebookcheck网站不仅是笔记本评测的权威参考网站之一,他们的屏幕测试其实更值得参考,因为他们会注意很多评测中不太注意的屏幕调光方式。今天他们就发了一篇有关联想ThinkPad笔记本屏幕PWM调光的文章,他们测试了多款ThinkPad笔记本型号,他们使用的调光方式如下所示:

699e5813a97f87192b7e236ffb301c65.png

从ThinkPad T480到T480s、从X380

Yoga再到T580以及P52s工作站系列,不论分辨率是1080p、2K还是4K,联想这些笔记本大部分都使用PWM调光,只有T480

1920x1080p版、T480s 2560x1440版例外。

PWM本身不是问题,不过联想的问题在于使用的多是低频PWM,与其他笔记本大都在0-50%亮度下才使用低频PWM调光不同,联想是在0-99%亮度下都使用PWM调光,频率大部分在1000Hz上下,只有ThinkPad

P52s 1920x1080版是21550Hz高频。

PWM调光对每个人的影响也不同,Notbookcheck网站也提到了这个问题,有些人可能不会注意到笔记本屏幕的频闪问题,所以这里的介绍只是给一些对频闪敏感的用户参考。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个示例的MSP432的PWM配置的pwm.h和pwm.c文件: pwm.h: ```c #ifndef PWM_H #define PWM_H #include <stdint.h> // 定义PWM结构体 typedef struct { uint32_t pwmPeriod; // PWM周期 uint32_t dutyCycle; // 占空比 } PWMConfig; // 初始化PWM模块 void PWM_init(void); // 配置PWM参数 void PWM_config(uint32_t period, uint32_t duty); // 启动PWM输出 void PWM_start(void); // 停止PWM输出 void PWM_stop(void); #endif /* PWM_H */ ``` pwm.c: ```c #include "pwm.h" #include "msp.h" void PWM_init(void) { // 配置Timer_A模块 TIMER_A0->CTL = TIMER_A_CTL_SSEL__SMCLK | TIMER_A_CTL_MC__UP; TIMER_A0->CCTL[1] = TIMER_A_CCTLN_OUTMOD_7; } void PWM_config(uint32_t period, uint32_t duty) { // 配置PWM周期和占空比 TIMER_A0->CCR[0] = period - 1; TIMER_A0->CCR[1] = (duty * period) / 100 - 1; } void PWM_start(void) { // 启动Timer_A模块 TIMER_A0->CTL |= TIMER_A_CTL_CLR; } void PWM_stop(void) { // 停止Timer_A模块 TIMER_A0->CTL &= ~TIMER_A_CTL_MC_MASK; } ``` 这个示例代码使用了MSP432的Timer_A模块来实现PWM功能。在pwm.c文件中,通过配置Timer_A模块的寄存器来初始化、配置、启动和停止PWM输出。 PWM_init函数用于初始化Timer_A模块,将时钟源设置为SMCLK(系统主时钟)并配置为向上计数模式。 PWM_config函数用于配置PWM的周期和占空比。传入的period参数表示PWM的周期,duty参数表示占空比。根据传入的参数,计算得到CCR[0]和CCR[1]寄存器的值,从而设置PWM的周期和占空比。 PWM_start函数用于启动PWM输出,在启动前先清除计数器。 PWM_stop函数用于停止PWM输出,将Timer_A模块的计数器停止。 请注意,这只是一个示例文件,具体的实现可能会因芯片型号、开发环境和应用需求而有所差异。在使用时,请根据具体的硬件平台和开发工具进行适当的修改和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值