From a8f0ccc6c74fb3224b36cea8757c5484e47d77a6 Mon Sep 17 00:00:00 2001 From: helei Date: Sat, 22 Aug 2026 10:19:07 +0800 Subject: [PATCH] =?UTF-8?q?V1.5:=20=E5=8E=BB=E6=8E=89OLED=E9=98=B2?= =?UTF-8?q?=E7=83=A7=E5=B1=8F=E5=B7=A6=E5=8F=B3=E5=81=8F=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HardWare/SYSINIT/app_loop.c | 38 +++++++++---------- V1.5/STM32F103_App1/README.md | 1 - V1.5/鐗堟湰璇存槑.md | 1 + 3 files changed, 19 insertions(+), 21 deletions(-) diff --git a/V1.5/STM32F103_App1/HardWare/SYSINIT/app_loop.c b/V1.5/STM32F103_App1/HardWare/SYSINIT/app_loop.c index fcea955..6d1859d 100644 --- a/V1.5/STM32F103_App1/HardWare/SYSINIT/app_loop.c +++ b/V1.5/STM32F103_App1/HardWare/SYSINIT/app_loop.c @@ -245,8 +245,6 @@ void app_oled_presched_tick(void) static void oled_home_refresh(uint32_t up_ms) { char buf[24]; - /* 防烧屏:每 10s 换一档水平偏移(0/2/4px) */ - uint8_t xoff = (uint8_t)((HAL_GetTick() / 10000u) % 3u) * 2u; if (g_net_mqtt_ready) { /*---- 已联网界面 ----*/ @@ -257,19 +255,19 @@ static void oled_home_refresh(uint32_t up_ms) (unsigned)(mins / 1440u), (unsigned)((mins % 1440u) / 60u), (unsigned)(mins % 60u)); - oled_locate(0, 0); oled_xoff(xoff); oled_print_line(buf); + oled_locate(0, 0); oled_print_line(buf); /* R1/R2: 电能参数 */ if (hlw8032_online()) { snprintf(buf, sizeof(buf), "%.1fV %.2fA", (double)hlw8032_get_voltage_v(), (double)hlw8032_get_current_a()); - oled_locate(1, 0); oled_xoff(xoff); oled_print_line(buf); + oled_locate(1, 0); oled_print_line(buf); snprintf(buf, sizeof(buf), "%.1fW %.2fkWh", (double)hlw8032_get_power_w(), (double)hlw8032_get_energy_kwh()); - oled_locate(2, 0); oled_xoff(xoff); oled_print_line(buf); + oled_locate(2, 0); oled_print_line(buf); } else { - oled_locate(1, 0); oled_xoff(xoff); oled_print_line("计量芯片离线"); - oled_locate(2, 0); oled_xoff(xoff); oled_print_line(""); + oled_locate(1, 0); oled_print_line("计量芯片离线"); + oled_locate(2, 0); oled_print_line(""); } /* R3: 带秤模式显示重量(读不到显示原因),无秤模式显示开关状态 */ @@ -289,34 +287,34 @@ static void oled_home_refresh(uint32_t up_ms) } snprintf(buf, sizeof(buf), "重量:%s", reason); } - oled_locate(3, 0); oled_xoff(xoff); oled_print_line(buf); + oled_locate(3, 0); oled_print_line(buf); } else { snprintf(buf, sizeof(buf), "开关:%s%s%s%s", MqttInfoStr.Relay_State[1] ? "开" : "关", MqttInfoStr.Relay_State[2] ? "开" : "关", MqttInfoStr.Relay_State[3] ? "开" : "关", MqttInfoStr.Relay_State[4] ? "开" : "关"); - oled_locate(3, 0); oled_xoff(xoff); oled_print_line(buf); + oled_locate(3, 0); oled_print_line(buf); } } else { /*---- 未联网界面:联网进度 ----*/ net_ui_phase_t ph = g_net_ui_phase; - oled_locate(0, 0); oled_xoff(xoff); oled_print_line("断网"); + oled_locate(0, 0); oled_print_line("断网"); if (ph == NET_UI_WIFI_FIXED || ph == NET_UI_WIFI_SMART || NET_GetActiveBackend() == NET_BACKEND_WIFI) { if (ph == NET_UI_WIFI_FIXED) { - oled_locate(1, 0); oled_xoff(xoff); oled_print_line("WiFi固定模式"); - oled_locate(2, 0); oled_xoff(xoff); oled_print_line("正在搜索热点"); + oled_locate(1, 0); oled_print_line("WiFi固定模式"); + oled_locate(2, 0); oled_print_line("正在搜索热点"); } else if (ph == NET_UI_WIFI_SMART) { - oled_locate(1, 0); oled_xoff(xoff); oled_print_line("智能配网"); - oled_locate(2, 0); oled_xoff(xoff); oled_print_line("请打开APP广播"); + oled_locate(1, 0); oled_print_line("智能配网"); + oled_locate(2, 0); oled_print_line("请打开APP广播"); } else { - oled_locate(1, 0); oled_xoff(xoff); oled_print_line("WiFi模式"); - oled_locate(2, 0); oled_xoff(xoff); oled_print_line("初始化中..."); + oled_locate(1, 0); oled_print_line("WiFi模式"); + oled_locate(2, 0); oled_print_line("初始化中..."); } snprintf(buf, sizeof(buf), "剩余 %ds", g_net_ui_countdown); - oled_locate(3, 0); oled_xoff(xoff); oled_print_line(g_net_ui_countdown > 0 ? buf : ""); + oled_locate(3, 0); oled_print_line(g_net_ui_countdown > 0 ? buf : ""); } else { /* 4G 进度:显示最近完成的阶段 */ const char *step = "初始化中"; @@ -329,9 +327,9 @@ static void oled_home_refresh(uint32_t up_ms) case NET_UI_4G_NOSIM: step = "无SIM卡!"; break; default: break; } - oled_locate(1, 0); oled_xoff(xoff); oled_print_line("正在等待4G联网"); - oled_locate(2, 0); oled_xoff(xoff); oled_print_line(step); - oled_locate(3, 0); oled_xoff(xoff); oled_print_line(""); + oled_locate(1, 0); oled_print_line("正在等待4G联网"); + oled_locate(2, 0); oled_print_line(step); + oled_locate(3, 0); oled_print_line(""); } } } diff --git a/V1.5/STM32F103_App1/README.md b/V1.5/STM32F103_App1/README.md index d84481f..e5fa4b3 100644 --- a/V1.5/STM32F103_App1/README.md +++ b/V1.5/STM32F103_App1/README.md @@ -126,7 +126,6 @@ - 瀛楃涓茬洿鎺ュ啓涓枃锛堝伐绋嬫簮鏂囦欢鍗 GBK 缂栫爜锛屽瓧搴 IC 鎸 GB2312 鍦板潃鎹㈢畻鍙栧瓧妯★級 - **宸茶仈缃戠晫闈**锛坰ys_task 姣 1s 鍒锋柊锛夛細绗 0 琛 缃戠粶 + 杩愯鏃堕棿锛坄WiFi 00:02:35`锛屽ぉ:鏃:鍒嗭級锛岀 1 琛 鐢靛帇/鐢垫祦锛岀 2 琛 鍔熺巼/鐢佃兘锛堣閲忚姱鐗囩绾挎椂鏄剧ず"璁¢噺鑺墖绂荤嚎"锛夛紝绗 3 琛 缁х數鍣ㄧ姸鎬佷腑鏂囷紙`寮鍏:寮寮鍏冲叧`锛 - **鏈仈缃戠晫闈**锛氬彧鏄剧ず鑱旂綉杩涘害锛屼笉鏄剧ず鐢佃兘/寮鍏斥斺4G 妯″紡鏄剧ず"姝e湪绛夊緟4G鑱旂綉"+ 鏈杩戝畬鎴愰樁娈碉紙妯″潡澶嶄綅鎴愬姛/AT鎸囦护鎴愬姛/SIM鍗℃娴嬫垚鍔/闄勭潃缃戠粶鎴愬姛/杩炴帴鏈嶅姟鍣ㄤ腑/鏃燬IM鍗★紝鐘舵佺敱 `g_net_ui_phase` 浠 air780e.c 鍚勯樁娈垫洿鏂帮級锛沇iFi 鍥哄畾鐑偣鏄剧ず"WiFi鍥哄畾妯″紡 姝e湪鎼滅储鐑偣"+鍊掕鏃讹紝SmartConfig 鏄剧ず"鏅鸿兘閰嶇綉 璇锋墦寮APP骞挎挱"+鍊掕鏃讹紙鍊掕鏃剁敱 esp_wait_countdown 鍐欏叆 `g_net_ui_countdown`锛 -- **闃茬儳灞**锛氭瘡 10s 鍐呭鏁翠綋鍙崇Щ 0/2/4px 杞崲 - 寮鏈烘杩庨〉鎸変骇鍝佹ā寮忔樉绀烘爣棰橈紙甯︾Г=`鏅鸿兘姘翠骇鎶曟枡鏈篳锛屾棤绉=`缁х數鍣ㄦ帶鍒剁粓绔痐锛+ `V1.5.0 RTOS`锛4G 闃诲寤洪摼鏈熼棿鐢 bg_delay 閽╁瓙姣 500ms 鍒疯繘搴﹂〉锛堣皟搴﹀櫒鍚姩鍓 sys_task 鏈繍琛岋紝鏇句竴鐩村崱鍦ㄦ杩庨〉锛 ## 鍙岄氶亾缃戠粶锛4G 浼樺厛锛學iFi 鍏滃簳锛 diff --git a/V1.5/鐗堟湰璇存槑.md b/V1.5/鐗堟湰璇存槑.md index 13a9f2f..546326f 100644 --- a/V1.5/鐗堟湰璇存槑.md +++ b/V1.5/鐗堟湰璇存槑.md @@ -179,3 +179,4 @@ - OLED 甯︾Г妯″紡绗 3 琛屾敼鏄剧ず閲嶉噺锛坄閲嶉噺:xx.xKG`锛夛紝璇讳笉鍒版椂鏄剧ず鍘熷洜 锛堟棤搴旂瓟/甯х煭/CRC閿/绉ゅ紓甯稿抚/绔欏彿涓嶇锛夛紱鏃犵Г妯″紡浠嶆樉绀哄紑鍏崇姸鎬 - 鏂數棰勮鏃 OLED 鍏虫樉绀猴紙0xAE 榛戝睆锛岀渷鐢+閬垮厤娈嬪奖锛 +- 鍘绘帀 OLED 闃茬儳灞忓乏鍙冲亸绉伙紙鏂數宸插叧灞忥紝鍋忕Щ鎰忎箟涓嶅ぇ锛