From 581515df447b73e805bcca6d0efbdf7bf54b5637 Mon Sep 17 00:00:00 2001 From: kicer Date: Sun, 25 Jan 2026 10:17:02 +0800 Subject: [PATCH] =?UTF-8?q?=E8=83=8C=E5=85=89=E4=BA=AE=E5=BA=A6=E5=8F=AF?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/rom/app.py | 5 +---- src/rom/display.py | 20 +++++++++++++++----- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/rom/app.py b/src/rom/app.py index db7a983..942a1f6 100644 --- a/src/rom/app.py +++ b/src/rom/app.py @@ -187,9 +187,6 @@ async def animation_task(): # 每轮清理一次内存 gc.collect() - if current_frame == frame_count: - # gc.collect() - print(f"Memory: {gc.mem_free()}") frame += 1 @@ -204,7 +201,7 @@ async def animation_task(): def start(): # 初始化液晶屏 - display.init_display() + display.init_display(config.get("bl_mode") != "gpio") display.brightness(int(config.get("brightness", 10))) display.show_jpg("/rom/www/images/T1.jpg", 80, 80) gc.collect() diff --git a/src/rom/display.py b/src/rom/display.py index 136d355..1afd4cb 100644 --- a/src/rom/display.py +++ b/src/rom/display.py @@ -30,7 +30,7 @@ class Display: self._brightness = 80 # 默认亮度80% self._initialized = True - def init_display(self): + def init_display(self, bl_pwm=True): """初始化液晶屏""" try: from machine import PWM, SPI, Pin @@ -46,7 +46,10 @@ class Display: ) # 初始化PWM背光控制 - self._backlight = PWM(Pin(5), freq=1000) + if bl_pwm: + self._backlight = PWM(Pin(5), freq=1000) + else: + self._backlight = Pin(5, Pin.OUT) self.brightness(self._brightness) # 初始化并清屏 @@ -81,9 +84,16 @@ class Display: def brightness(self, _brightness=-1): """设置背光亮度 (0-100)""" if _brightness >= 0 and _brightness <= 100: - # 将0-100范围映射到0-1023 (PWM占空比) - duty = int(1023 * (100 - _brightness) / 100) - self._backlight.duty(duty) + from machine import PWM + if type(self._backlight) == PWM: # pwm设备 + # 将0-100范围映射到0-1023 (PWM占空比) + duty = int(1023 * (100 - _brightness) / 100) + self._backlight.duty(duty) + elif _brightness == 0: # 关闭背光 + self._backlight.on() + else: # 打开背光 + self._backlight.off() + _brightness = 100 self._brightness = _brightness return self._brightness