免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

ESP32-P4驅(qū)動(dòng)LVGL實(shí)現(xiàn)HDMI高清顯示:從硬件設(shè)計(jì)到內(nèi)存優(yōu)化全解析

ESP32-P4驅(qū)動(dòng)LVGL實(shí)現(xiàn)HDMI高清顯示:從硬件設(shè)計(jì)到內(nèi)存優(yōu)化全解析 簡(jiǎn)介本資源是基于ESP32-P4-NANO開發(fā)板實(shí)現(xiàn)LVGL圖形界面HDMI輸出的完整嵌入式項(xiàng)目方案面向嵌入式開發(fā)者、IoT硬件工程師及LVGL進(jìn)階學(xué)習(xí)者解決高性能MCU驅(qū)動(dòng)高清顯示終端的核心難題。項(xiàng)目采用LT8912芯片完成MIPI-to-HDMI信號(hào)轉(zhuǎn)換配套SDK配置sdkconfig、CMake構(gòu)建系統(tǒng)CMakeLists.txt、LVGL底層適配代碼lcd_lvgl.c/h、主應(yīng)用邏輯main.c及分區(qū)與組件配置文件partitions.csv、idf_component.yml共11個(gè)精簡(jiǎn)文件總大小僅47KB涵蓋驅(qū)動(dòng)層、圖形庫集成與顯示控制全鏈路。已有92人學(xué)習(xí)下載資源結(jié)構(gòu)清晰、模塊職責(zé)明確assets目錄預(yù)留圖標(biāo)資源位config.h與lcd_lvgl.h封裝硬件抽象main.c實(shí)現(xiàn)LVGL對(duì)象創(chuàng)建與刷新調(diào)度yml和csv保障ESP-IDF工程兼容性。讀者可直接復(fù)用該輕量級(jí)框架快速驗(yàn)證ESP32-P4在HDMI顯示場(chǎng)景下的圖形性能與外設(shè)協(xié)同能力。1. 項(xiàng)目緣起為什么要在ESP32-P4上折騰LVGL和HDMI最近在搗鼓一個(gè)需要大屏顯示的嵌入式項(xiàng)目手頭正好有樂鑫新出的ESP32-P4開發(fā)板。這玩意兒性能是真不錯(cuò)雙核400MHz的RISC-V還帶個(gè)單精度FPU跑個(gè)圖形界面按理說綽綽有余。但問題來了傳統(tǒng)的SPI屏或者8080并口屏分辨率上不去刷新率也慢顯示效果總感覺差那么點(diǎn)意思。我就琢磨著能不能用它的MIPI DSI或者RGB接口再接個(gè)芯片轉(zhuǎn)成HDMI直接輸出到家里的顯示器或者電視上這樣調(diào)試UI、展示效果都方便太多了。這個(gè)想法一冒出來我就去搜了一圈發(fā)現(xiàn)網(wǎng)上關(guān)于ESP32-P4 LVGL HDMI的資料非常零散。有討論LVGL移植卡死的有問HDMI電路怎么設(shè)計(jì)的還有在糾結(jié)VSCode環(huán)境怎么搭的。看來不少朋友都踩在類似的坑里。所以我決定把這次從零開始讓LVGL在ESP32-P4上通過HDMI流暢跑起來的完整過程記錄下來。這不僅僅是一個(gè)簡(jiǎn)單的“點(diǎn)燈”教程更會(huì)深入到顯示驅(qū)動(dòng)框架的適配、LVGL的內(nèi)存與性能優(yōu)化、以及硬件設(shè)計(jì)上的關(guān)鍵細(xì)節(jié)。無論你是想做個(gè)酷炫的儀表盤、智能家居中控還是單純想挑戰(zhàn)一下嵌入式高清圖形輸出這篇內(nèi)容應(yīng)該都能給你提供一條清晰的路徑。2. 硬件選型與核心電路設(shè)計(jì)要點(diǎn)要讓ESP32-P4輸出HDMI信號(hào)光靠它自己是做不到的。它沒有原生的HDMI控制器必須通過其高速數(shù)字顯示接口通常是RGB或MIPI DSI外接一個(gè)“橋接芯片”來完成轉(zhuǎn)換。這是整個(gè)項(xiàng)目的硬件基石選錯(cuò)了芯片或者畫錯(cuò)了電路后面軟件寫得再漂亮也是白搭。2.1 橋接芯片的選擇LT8918B vs. ITE IT66121市面上常用的RGB轉(zhuǎn)HDMI芯片不少我重點(diǎn)對(duì)比了兩款龍訊的LT8918B和聯(lián)陽的ITE IT66121。這兩顆芯片在開源項(xiàng)目和商用產(chǎn)品中都挺常見。LT8918B的優(yōu)勢(shì)在于它相對(duì)“傻瓜式”。它支持24位RGB888輸入最高分辨率能到1920x108060Hz而且內(nèi)置了EDID擴(kuò)展顯示標(biāo)識(shí)數(shù)據(jù)管理。EDID簡(jiǎn)單理解就是顯示器告訴主機(jī)“我能支持什么分辨率”的一種通信協(xié)議。LT8918B能模擬一個(gè)EDID這樣即使你還沒接顯示器ESP32-P4的驅(qū)動(dòng)也會(huì)認(rèn)為有一個(gè)1080p的顯示器已經(jīng)接好了方便前期調(diào)試。它的配置可以通過I2C也可以直接通過芯片上的幾個(gè)引腳電平來設(shè)定基本參數(shù)對(duì)于快速驗(yàn)證非常友好。ITE IT66121則更專業(yè)一些。它同樣支持1080p但色彩深度、音頻嵌入等高級(jí)特性支持得更完善。不過它的配置幾乎完全依賴I2C你需要在上電后通過程序?qū)懸淮蠖鸭拇嫫鱽沓跏蓟`活性高但初期調(diào)通的門檻也略高。對(duì)于大多數(shù)LVGL應(yīng)用場(chǎng)景1080p60Hz的24位色深已經(jīng)非常富裕了??紤]到快速驗(yàn)證和社區(qū)資料在樹莓派等平臺(tái)的應(yīng)用筆記較多我最終選擇了LT8918B。它的原理圖在芯片數(shù)據(jù)手冊(cè)里給得比較清楚照著畫不容易出錯(cuò)。注意購買LT8918B模塊時(shí)要確認(rèn)其輸入接口是RGB888 24位并行接口并且電平是3.3V與ESP32-P4 IO口電平匹配。有些模塊是為5V單片機(jī)設(shè)計(jì)的直接連接可能會(huì)損壞ESP32-P4。2.2 關(guān)鍵電路連接與PCB布局陷阱連接ESP32-P4和LT8918B核心是RGB數(shù)據(jù)線、行場(chǎng)同步時(shí)鐘線以及I2C配置線。ESP32-P4的IO矩陣非常靈活理論上很多GPIO都可以復(fù)用為L(zhǎng)CD接口信號(hào)但我們必須參考樂鑫的官方指南選擇支持LCD功能的IO否則性能會(huì)不穩(wěn)定。以下是一個(gè)基于ESP32-P4 DevKitC V1原理圖的參考連接方案具體引腳請(qǐng)以你的板子為準(zhǔn)ESP32-P4 信號(hào)GPIO 引腳 (示例)LT8918B 信號(hào)說明LCD_DATA0GPIO 1B0藍(lán)色數(shù)據(jù)位0LCD_DATA1GPIO 2B1藍(lán)色數(shù)據(jù)位1LCD_DATA2GPIO 3B2藍(lán)色數(shù)據(jù)位2LCD_DATA3GPIO 4B3藍(lán)色數(shù)據(jù)位3LCD_DATA4GPIO 5B4藍(lán)色數(shù)據(jù)位4LCD_DATA5GPIO 6B5藍(lán)色數(shù)據(jù)位5LCD_DATA6GPIO 7B6藍(lán)色數(shù)據(jù)位6LCD_DATA7GPIO 8B7藍(lán)色數(shù)據(jù)位7LCD_DATA8GPIO 9G0綠色數(shù)據(jù)位0LCD_DATA9GPIO 10G1以此類推...LCD_DATA10GPIO 11G2LCD_DATA11GPIO 12G3LCD_DATA12GPIO 13G4LCD_DATA13GPIO 14G5LCD_DATA14GPIO 15G6LCD_DATA15GPIO 16G7LCD_DATA16GPIO 17R0紅色數(shù)據(jù)位0LCD_DATA17GPIO 18R1.........總共需要24根數(shù)據(jù)線LCD_HSYNCGPIO 47HSYNC行同步信號(hào)LCD_VSYNCGPIO 48VSYNC場(chǎng)同步信號(hào)LCD_PCLKGPIO 0PCLK像素時(shí)鐘LCD_DEGPIO 45DE數(shù)據(jù)使能信號(hào)部分模式需要I2C_SCLGPIO 39SCL配置I2C時(shí)鐘I2C_SDAGPIO 40SDA配置I2C數(shù)據(jù)PCB布局上的坑等長(zhǎng)要求RGB的24根數(shù)據(jù)線盡量保持長(zhǎng)度一致。雖然對(duì)于1080p60Hz像素時(shí)鐘約148.5MHz來說要求不像高速DDR內(nèi)存那么嚴(yán)苛但明顯的長(zhǎng)度差異會(huì)導(dǎo)致顏色錯(cuò)位比如紅色和藍(lán)色數(shù)據(jù)沒對(duì)齊畫面會(huì)偏色。建議分組做等長(zhǎng)比如所有B0-B7一組長(zhǎng)度差控制在幾個(gè)毫米內(nèi)。時(shí)鐘線隔離PCLK、HSYNC、VSYNC這些時(shí)鐘和控制信號(hào)最好與數(shù)據(jù)線稍微遠(yuǎn)離或者被地線隔開減少串?dāng)_。電源去耦LT8918B的模擬電源AVDD和數(shù)字電源DVDD一定要用磁珠或0歐電阻分開并在每個(gè)電源引腳附近放置一個(gè)0.1uF和一個(gè)10uF的電容盡可能靠近芯片引腳。這是芯片穩(wěn)定工作的生命線。HDMI輸出端ESD保護(hù)HDMI接口是熱插拔的必須添加ESD靜電保護(hù)二極管否則一個(gè)靜電就可能打壞昂貴的芯片。如果不想自己畫板市面上有一些現(xiàn)成的“ESP32-P4 RGB轉(zhuǎn)HDMI”模塊它們已經(jīng)做好了底板和電平轉(zhuǎn)換直接用排線連接即可能省去很多硬件調(diào)試的麻煩。3. 軟件開發(fā)環(huán)境搭建與ESP-IDF配置硬件準(zhǔn)備就緒后我們進(jìn)入軟件部分。樂鑫為ESP32系列提供了強(qiáng)大的ESP-IDF開發(fā)框架我們的顯示驅(qū)動(dòng)和LVGL都將基于它來構(gòu)建。3.1 安裝ESP-IDF與VSCode插件首先確保你的電腦上安裝了ESP-IDF v5.1或更高版本ESP32-P4需要較新的版本支持。樂鑫官方推薦使用VSCode ESP-IDF插件這是目前最順手的開發(fā)方式。安裝VSCode從官網(wǎng)下載安裝。安裝ESP-IDF插件在VSCode擴(kuò)展商店搜索“Espressif IDF”安裝由樂鑫官方發(fā)布的那一個(gè)。通過插件安裝ESP-IDF安裝完插件后按F1打開命令面板輸入“ESP-IDF: Configure ESP-IDF extension”選擇“Advanced”模式。在安裝器界面選擇ESP-IDF的版本如v5.1.2然后選擇安裝路徑。插件會(huì)自動(dòng)下載安裝工具鏈、ESP-IDF框架和所有必要的組件。這個(gè)過程會(huì)下載大量文件請(qǐng)保持網(wǎng)絡(luò)通暢。3.2 創(chuàng)建項(xiàng)目與配置LCD驅(qū)動(dòng)安裝完成后我們創(chuàng)建一個(gè)新項(xiàng)目在VSCode中按F1輸入“ESP-IDF: Show Examples Projects”。不要直接復(fù)制例程我們選擇“Create project using template”然后選一個(gè)空項(xiàng)目模板這樣更干凈。為項(xiàng)目命名例如esp32p4_lvgl_hdmi并選擇保存位置。接下來是核心步驟配置LCD驅(qū)動(dòng)。ESP-IDF內(nèi)置了esp_lcd組件它是一個(gè)顯示控制器的抽象層我們的任務(wù)就是為L(zhǎng)T8918B或你選的橋接芯片實(shí)現(xiàn)一個(gè)“面板驅(qū)動(dòng)”panel driver并告訴esp_lcd如何初始化它。關(guān)鍵配置 (sdkconfig)通過idf.py menuconfig或 VSCode插件界面打開配置菜單Component config - LCD Peripheral Control啟用LCD peripheral control driver。Component config - LCD Peripheral Control - LCD panel IO color space選擇RGB888因?yàn)槲覀冇玫氖?4位色。Component config - LVGL這里先不急著配置LVGL等驅(qū)動(dòng)調(diào)通再加。編寫面板驅(qū)動(dòng) (lcd_panel_io_lt8918b.c/h)這是一個(gè)自定義組件。你需要?jiǎng)?chuàng)建一個(gè)components文件夾在里面新建lcd_panel_io_lt8918b組件。核心是實(shí)現(xiàn)一個(gè)esp_lcd_panel_io_handle_t。這個(gè)驅(qū)動(dòng)的核心任務(wù)有兩個(gè)初始化LT8918B芯片通過I2C寫入一系列寄存器設(shè)置輸入格式RGB888、輸出分辨率如1920x1080、時(shí)序參數(shù)等。這些寄存器值需要嚴(yán)格參照LT8918B的數(shù)據(jù)手冊(cè)。一個(gè)常見的坑是時(shí)序參數(shù)算錯(cuò)導(dǎo)致畫面抖動(dòng)、撕裂或根本不出圖。HSYNC、VSYNC、PCLK的極性是高電平有效還是低電平有效也必須和ESP32-P4 LCD控制器配置的一致。提供傳輸函數(shù)實(shí)現(xiàn)一個(gè)tx_param函數(shù)用于接收來自上層esp_lcd的像素?cái)?shù)據(jù)并通過ESP32-P4的LCD控制器硬件以DMA方式高速發(fā)送到RGB總線上。這里貼一段初始化的偽代碼邏輯展示關(guān)鍵步驟// lcd_panel_io_lt8918b.c #include “driver/i2c.h” #include “esp_lcd_panel_io.h” static esp_err_t lcd_panel_io_lt8918b_init(esp_lcd_panel_io_handle_t *io_handle, const esp_lcd_panel_io_config_t *io_config) { // 1. 初始化I2C主機(jī)用于配置LT8918B i2c_config_t conf { .mode I2C_MODE_MASTER, .sda_io_num I2C_SDA_PIN, .scl_io_num I2C_SCL_PIN, .sda_pullup_en GPIO_PULLUP_ENABLE, .scl_pullup_en GPIO_PULLUP_ENABLE, .master.clk_speed 400000, // 400kHz }; i2c_param_config(I2C_NUM_0, conf); i2c_driver_install(I2C_NUM_0, conf.mode, 0, 0, 0); // 2. 通過I2C配置LT8918B寄存器 // 這是最核心也是最容易出錯(cuò)的部分必須對(duì)照數(shù)據(jù)手冊(cè) uint8_t init_cmds[] { 0x98, 0x03, // 示例設(shè)置輸入為RGB888 0x9A, 0x1E, // 示例設(shè)置輸出為HDMI模式 0xA2, 0x00, // 示例設(shè)置分辨率相關(guān)參數(shù) // ... 更多寄存器配置可能多達(dá)幾十個(gè) }; for(int i 0; i sizeof(init_cmds); i 2) { i2c_cmd_handle_t cmd i2c_cmd_link_create(); i2c_master_start(cmd); i2c_master_write_byte(cmd, (LT8918B_I2C_ADDR 1) | I2C_MASTER_WRITE, true); i2c_master_write_byte(cmd, init_cmds[i], true); // 寄存器地址 i2c_master_write_byte(cmd, init_cmds[i1], true); // 寄存器值 i2c_master_stop(cmd); esp_err_t ret i2c_master_cmd_begin(I2C_NUM_0, cmd, 1000 / portTICK_PERIOD_MS); i2c_cmd_link_delete(cmd); if (ret ! ESP_OK) { ESP_LOGE(TAG, “I2C write failed at command %d”, i/2); return ret; } } // 3. 創(chuàng)建并返回 esp_lcd_panel_io_handle_t // 這部分需要調(diào)用 esp_lcd_new_panel_io_xxx 系列API將我們實(shí)現(xiàn)的傳輸函數(shù)掛載上去 // ... return ESP_OK; }調(diào)試這個(gè)階段一個(gè)邏輯分析儀或者示波器是必不可少的。你需要確認(rèn)I2C通信是否成功寄存器是否寫入正確。RGB總線上是否有像素時(shí)鐘PCLK輸出頻率是否正確~148.5MHz for 1080p60HSYNC和VSYNC的波形和極性是否正確4. LVGL移植與深度內(nèi)存優(yōu)化策略當(dāng)你的HDMI顯示器能正確顯示測(cè)試顏色比如全屏紅色、綠色后就可以請(qǐng)出主角LVGL了。LVGL是一個(gè)資源消耗小、功能強(qiáng)大的嵌入式圖形庫但要想在ESP32-P4上流暢運(yùn)行尤其是驅(qū)動(dòng)1080p這樣的大分辨率必須進(jìn)行精細(xì)化的內(nèi)存配置。4.1 集成LVGL到ESP-IDF項(xiàng)目ESP-IDF v5.x已經(jīng)將LVGL作為官方組件收錄集成非常簡(jiǎn)單在項(xiàng)目目錄下打開終端或使用VSCode的ESP-IDF終端運(yùn)行idf.py add-dependency lvgl。這會(huì)將LVGL組件添加到你的dependencies中。再次運(yùn)行idf.py menuconfig。進(jìn)入Component config - LVGL。啟用LVGL graphics library。在LVGL configuration子菜單中進(jìn)行關(guān)鍵配置Color depth: 設(shè)置為 32 (ARGB8888) 或 24 (RGB888)。為了更好的性能和兼容性特別是透明度處理我推薦使用32位。Size of memory pool (kB): 這是給LVGL內(nèi)部對(duì)象如按鈕、標(biāo)簽等分配的內(nèi)存。1080p界面元素多建議設(shè)置大一些比如128kB。Default display buffer size: 這是性能的關(guān)鍵它決定了LVGL一次渲染多少像素到內(nèi)存中。對(duì)于1080p約207萬像素如果一次性分配整個(gè)屏幕的緩沖區(qū)需要1920 * 1080 * 4 bytes ≈ 7.9 MB這幾乎耗盡了ESP32-P4的片內(nèi)SRAM通常8MB會(huì)導(dǎo)致內(nèi)存不足而崩潰。4.2 解決“卡死”與內(nèi)存瓶頸雙緩沖與局部渲染網(wǎng)上很多“esp32p4 lvgl 卡死”的問題根源幾乎都是內(nèi)存配置不當(dāng)。這里提供兩種核心優(yōu)化策略策略一使用雙緩沖Double Buffering并減小緩沖區(qū)大小這是最常用且有效的方法。我們不分配整個(gè)屏幕的緩沖區(qū)而是分配兩塊較小的緩沖區(qū)比如屏幕高度的1/10。LVGL會(huì)交替使用這兩塊緩沖區(qū)進(jìn)行渲染和發(fā)送通過DMA實(shí)現(xiàn)流暢的動(dòng)畫。在lv_conf.h通常位于components/lvgl下或main.c中配置// 定義兩個(gè)緩沖區(qū)每個(gè)大小為屏幕寬 * 40 行 * 4字節(jié) #define BUF_HEIGHT 40 static lv_color_t buf1[DISP_HOR_RES * BUF_HEIGHT]; static lv_color_t buf2[DISP_HOR_RES * BUF_HEIGHT]; // 在顯示驅(qū)動(dòng)初始化后注冊(cè)顯示緩沖區(qū) static lv_disp_draw_buf_t draw_buf; lv_disp_draw_buf_init(draw_buf, buf1, buf2, DISP_HOR_RES * BUF_HEIGHT); static lv_disp_drv_t disp_drv; lv_disp_drv_init(disp_drv); disp_drv.hor_res 1920; disp_drv.ver_res 1080; disp_drv.draw_buf draw_buf; disp_drv.flush_cb my_flush_callback; // 你的刷新函數(shù) lv_disp_t * disp lv_disp_drv_register(disp_drv);BUF_HEIGHT需要權(quán)衡。太小如10會(huì)導(dǎo)致LVGL頻繁調(diào)用flush_cb增加CPU開銷太大如200則占用內(nèi)存過多。經(jīng)過實(shí)測(cè)對(duì)于ESP32-P440到80是一個(gè)比較甜點(diǎn)的范圍能在內(nèi)存占用和流暢度間取得平衡。策略二啟用LVGL的局部渲染Partial Update在lv_conf.h中確保LV_USE_PARTIAL_UPDATE被啟用。這告訴LVGL你的flush_cb函數(shù)可以只刷新屏幕上發(fā)生變化的一小塊區(qū)域而不是整個(gè)屏幕。這能極大減少需要傳輸?shù)臄?shù)據(jù)量。在flush_cb函數(shù)中你需要根據(jù)傳入的area參數(shù)定義了臟矩形區(qū)域只將這一塊區(qū)域的像素?cái)?shù)據(jù)通過LCD驅(qū)動(dòng)發(fā)送出去。策略三使用外部PSRAM如果板載ESP32-P4支持連接外部PSRAM如8MB SPI PSRAM。你可以將LVGL的顯示緩沖區(qū)甚至整個(gè)內(nèi)存池都放到PSRAM中。在menuconfig中啟用SPIRAM支持然后在代碼中使用heap_caps_malloc(size, MALLOC_CAP_SPIRAM)來分配PSRAM內(nèi)存。但要注意PSRAM的訪問速度遠(yuǎn)慢于內(nèi)部SRAM頻繁讀寫會(huì)影響幀率。一個(gè)折中方案是將雙緩沖的一塊放在內(nèi)部SRAM用于LVGL快速渲染另一塊放在PSRAM用于DMA發(fā)送或者將不常變化的大塊圖像資源放在PSRAM。4.3 顯示驅(qū)動(dòng)對(duì)接與刷新函數(shù)實(shí)現(xiàn)現(xiàn)在我們需要將LVGL和前面寫好的LCD驅(qū)動(dòng)連接起來。核心是實(shí)現(xiàn)my_flush_callback函數(shù)。這個(gè)函數(shù)的作用是當(dāng)LVGL渲染好一塊區(qū)域或整個(gè)緩沖區(qū)后調(diào)用此函數(shù)你需要將這塊內(nèi)存中的像素?cái)?shù)據(jù)通過ESP32-P4的LCD控制器發(fā)送到LT8918B。static void my_flush_callback(lv_disp_drv_t * disp_drv, const lv_area_t * area, lv_color_t * color_p) { // area: 定義了需要刷新的屏幕區(qū)域 (x1, y1, x2, y2) // color_p: 指向LVGL渲染好的像素?cái)?shù)據(jù)緩沖區(qū)的指針 int offset 0; // 計(jì)算發(fā)送的起始位置和大小 // 這里需要根據(jù)你的LCD驅(qū)動(dòng)API來寫 // 假設(shè)我們有一個(gè)函數(shù) lcd_write_frame_buffer(x, y, w, h, data) lcd_write_frame_buffer(area-x1, area-y1, lv_area_get_width(area), lv_area_get_height(area), (uint8_t *)color_p); // 必須調(diào)用 lv_disp_flush_ready 來通知LVGL刷新完成 lv_disp_flush_ready(disp_drv); }lcd_write_frame_buffer這個(gè)函數(shù)就需要調(diào)用你之前實(shí)現(xiàn)的esp_lcd_panel_io_tx_param或類似的底層API將color_p指向的數(shù)據(jù)通過DMA搬運(yùn)到LCD外設(shè)。ESP-IDF的esp_lcd組件通常提供了esp_lcd_panel_draw_bitmap函數(shù)它封裝了這部分復(fù)雜邏輯你只需要調(diào)用它并傳入?yún)^(qū)域坐標(biāo)和顏色數(shù)據(jù)即可。5. 實(shí)戰(zhàn)構(gòu)建一個(gè)流暢的儀表盤并排查典型問題理論配置完成我們來實(shí)際創(chuàng)建一個(gè)LVGL界面并看看如何解決運(yùn)行中出現(xiàn)的典型問題。我們以創(chuàng)建一個(gè)汽車儀表盤為例。5.1 使用SquareLine Studio快速設(shè)計(jì)UI手動(dòng)用代碼創(chuàng)建復(fù)雜UI非常耗時(shí)。強(qiáng)烈推薦使用SquareLine Studio或LVGL官方在線模擬器進(jìn)行可視化設(shè)計(jì)。這里以SquareLine Studio為例下載安裝SquareLine Studio創(chuàng)建一個(gè)新項(xiàng)目顯示分辨率設(shè)置為1920x1080。從左側(cè)控件庫拖拽一個(gè)Arc弧形作為轉(zhuǎn)速表一個(gè)Label標(biāo)簽顯示速度數(shù)字一個(gè)Bar進(jìn)度條作為油量指示再添加一些Line線和Label做裝飾。調(diào)整它們的樣式顏色、漸變、陰影、字體大小對(duì)于1080p字體需要調(diào)得很大比如72號(hào)。為控件設(shè)置合適的ID如rpm_arc,speed_label。設(shè)計(jì)完成后點(diǎn)擊“Export”選擇“Export as a project for ESP-IDF”。它會(huì)生成一個(gè)包含所有UI初始化代碼和資源文件的文件夾。將生成的ui.c、ui.h以及可能用到的圖片字體文件拷貝到你的ESP-IDF項(xiàng)目的main目錄下。在main.c中包含ui.h并在初始化LVGL后調(diào)用ui_init()函數(shù)。5.2 動(dòng)態(tài)更新數(shù)據(jù)與動(dòng)畫儀表盤需要?jiǎng)討B(tài)更新。我們?cè)谥餮h(huán)中模擬數(shù)據(jù)變化void update_dashboard(void) { static int speed 0; static int rpm 0; // 模擬數(shù)據(jù)變化 speed (speed 1) % 240; rpm (rpm 50) % 8000; // 更新UI控件 // 注意在非LVGL線程如定時(shí)器回調(diào)中操作UI對(duì)象需要使用 lv_async_call 或加鎖 lv_arc_set_value(ui_rpm_arc, rpm); lv_label_set_text_fmt(ui_speed_label, “%d”, speed); lv_bar_set_value(ui_fuel_bar, 70, LV_ANIM_ON); // 油量設(shè)置為70%帶動(dòng)畫效果 } // 在主循環(huán)或一個(gè)定時(shí)器任務(wù)中調(diào)用 update_dashboardLVGL的動(dòng)畫系統(tǒng)非常強(qiáng)大。你可以通過lv_anim_t結(jié)構(gòu)體為任何對(duì)象的屬性如角度、顏色、坐標(biāo)創(chuàng)建平滑的動(dòng)畫這能讓你的儀表盤看起來更生動(dòng)。5.3 典型問題排查畫面撕裂、閃爍與控件無響應(yīng)問題1畫面撕裂Screen Tearing現(xiàn)象畫面中間出現(xiàn)一條水平線上下兩部分圖像錯(cuò)位。原因這是雙緩沖同步問題。當(dāng)LVGL正在向“后臺(tái)緩沖區(qū)”渲染下一幀時(shí)DMA正在從“前臺(tái)緩沖區(qū)”讀取數(shù)據(jù)發(fā)送到屏幕。如果DMA發(fā)送速度慢于LVGL渲染速度或者緩沖區(qū)交換時(shí)機(jī)不對(duì)就會(huì)發(fā)生撕裂。解決確保使用雙緩沖如4.2節(jié)所述。在flush_cb中等待DMA完成在調(diào)用lcd_write_frame_buffer啟動(dòng)DMA后不要立即調(diào)用lv_disp_flush_ready。應(yīng)該等待一個(gè)DMA傳輸完成的中斷或回調(diào)在那個(gè)回調(diào)函數(shù)里再調(diào)用lv_disp_flush_ready。ESP-IDF的LCD驅(qū)動(dòng)API通常提供了回調(diào)函數(shù)參數(shù)。調(diào)整緩沖區(qū)大小適當(dāng)增加BUF_HEIGHT減少LVGL調(diào)用flush_cb的頻率給DMA更充裕的傳輸時(shí)間。問題2畫面閃爍現(xiàn)象整個(gè)屏幕或局部區(qū)域快速明暗變化。原因通常是內(nèi)存數(shù)據(jù)競(jìng)爭(zhēng)或緩沖區(qū)清除不當(dāng)。如果只有一個(gè)緩沖區(qū)LVGL渲染新內(nèi)容時(shí)會(huì)直接覆蓋正在顯示的數(shù)據(jù)導(dǎo)致閃爍。也可能是flush_cb函數(shù)里清屏邏輯有問題。解決必須使用雙緩沖。在flush_cb中發(fā)送數(shù)據(jù)前不要手動(dòng)填充背景色。LVGL已經(jīng)渲染了完整內(nèi)容。檢查是否在別的地方如初始化時(shí)有全屏填充顏色的操作干擾了正常顯示。問題3LVGL控件無響應(yīng)如Switch按下不變化現(xiàn)象點(diǎn)擊按鈕、滑動(dòng)開關(guān)沒反應(yīng)。原因輸入設(shè)備未注冊(cè)LVGL不知道有點(diǎn)擊事件發(fā)生。你需要初始化一個(gè)輸入設(shè)備如觸摸屏或按鍵并注冊(cè)到LVGL。事件回調(diào)未正確設(shè)置即使輸入設(shè)備注冊(cè)了也需要為控件添加LV_EVENT_CLICKED等事件回調(diào)函數(shù)。內(nèi)存不足導(dǎo)致LVGL任務(wù)卡死這是最隱蔽的原因。如果LVGL內(nèi)部任務(wù)因?yàn)閮?nèi)存分配失敗而掛起整個(gè)UI都會(huì)失去響應(yīng)。打開LV_USE_LOG并設(shè)置級(jí)別為L(zhǎng)V_LOG_LEVEL_WARN或LV_LOG_LEVEL_ERROR查看串口輸出。解決// 示例初始化一個(gè)模擬按鍵作為輸入設(shè)備用于測(cè)試 static void keypad_read(lv_indev_drv_t * drv, lv_indev_data_t * data) { // 這里讀取你的真實(shí)按鍵或觸摸屏狀態(tài) bool is_pressed false; // 假設(shè)讀取按鍵狀態(tài) if(is_pressed) { >ESP_LOGI(“MEM”, “Internal Free: %d, Largest Block: %d”, heap_caps_get_free_size(MALLOC_CAP_INTERNAL), heap_caps_get_largest_free_block(MALLOC_CAP_INTERNAL));觀察內(nèi)存是否被持續(xù)消耗警惕內(nèi)存碎片和泄漏。CPU占用率使用idf.py monitor查看各個(gè)任務(wù)的CPU占用情況。如果lv_timer_handler任務(wù)占用率長(zhǎng)期過高如80%說明UI過于復(fù)雜或刷新太頻繁需要優(yōu)化。6.4 關(guān)于音頻Windows 10 HDMI音頻的啟示雖然本項(xiàng)目聚焦視頻輸出但熱詞中提到了“windows10 hdmi 音頻”。這提醒我們HDMI是音視頻一體傳輸?shù)?。LT8918B這類芯片也支持將I2S音頻數(shù)據(jù)嵌入到HDMI信號(hào)中。如果你的項(xiàng)目需要聲音比如做一個(gè)帶音效的智能中控ESP32-P4的I2S外設(shè)可以輸出音頻數(shù)據(jù)到橋接芯片的相應(yīng)引腳。這需要在初始化LT8918B時(shí)額外配置其音頻相關(guān)寄存器并設(shè)置ESP32-P4的I2S主模式將音頻數(shù)據(jù)流與視頻幀同步發(fā)送。這是一個(gè)更高級(jí)的話題但硬件連接上已經(jīng)預(yù)留了可能性。從一塊性能強(qiáng)大的ESP32-P4開發(fā)板到最終在HDMI顯示器上流暢運(yùn)行著酷炫的LVGL界面這個(gè)過程就像在微控制器上搭建一座通往高清世界的橋梁。它考驗(yàn)的不僅是編程能力更是對(duì)硬件時(shí)序、內(nèi)存管理、系統(tǒng)調(diào)度的綜合理解。最深的體會(huì)是嵌入式高清圖形開發(fā)“內(nèi)存”是命門“時(shí)序”是靈魂。分配好每一KB的SRAM和PSRAM理解每一個(gè)同步信號(hào)的前后沿是項(xiàng)目成功的關(guān)鍵。當(dāng)看到自己設(shè)計(jì)的UI在1080p大屏上絲滑滾動(dòng)、動(dòng)畫流暢時(shí)那種成就感遠(yuǎn)超點(diǎn)亮一塊小小的TFT屏。這個(gè)框架已經(jīng)搭好接下來你可以盡情發(fā)揮創(chuàng)意去構(gòu)建屬于你自己的大屏嵌入式應(yīng)用了。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
综合久久综合| 色色a| 青青草原爱爱网| 十一月婷婷激情四射| 日韩久久色| 草草女人亚洲| 五月丁香六月| 婷婷亚洲综合| 婷婷综合网站| 色五月大| 91成人性爱视频| 丁香六月婷婷综合激情欧美| www一起操在线观看| 激情深爱五月天| ji'qi'luan'ren'lun| 啊V视频在线观看| 97 A I色色| 久久激情视频| 99黄色在线视频精品熟女| 99热国品| 99精品在线| 丁香六月色婷婷| 热这里只有精| 五五月丁香花激情综合网| 亚洲人成网站999综合| 丁香五月影院| 9久久精品| 狠狠草在线观看| 精品无码色| 伊人五月婷婷| 色v综合网| 色六月 婷婷| 婷婷色色五月天| 99热碰碰| 激情婷婷丁香五月天| 丁香五月激情综合啪啪| 色色色色色色色色色色色色色色,网站| 婷婷五月丁香综合亚洲| 国产成人网址| 五月丁香六月激情综合啪啪| 五月丁香在线精品| 色六月视频| 丁香久久AV| 97色色视频| 久久这里只有精品热在99| 6080av| 天天插天天狠| 情情五月天色| 人人爱国产| 婷婷五月天激情综合深爱| 伊人婷婷青青cao| 九九综舍久久| 99九九精品| 国产免费一区二区三区三州老师F1F1.CC| 中文字幕高清av| 色综合视频在线| 久久婷婷五月天| 色婷婷www| 狠狠色婷婷777| 五月婷婷激情| 久热婷婷| 夜夜干天天干| 天天日天天肏天天奸| 99热碰碰热| 久久久香港| 色在线免费观看| 4399啪啪视频| 久热精彩视频98| 超碰A V在线| 秋霞网在线免费基地五月婷婷丁香| 婷婷五月天激情四射| 久99视频| 欧美五月婷婷综合| 婷婷五月精品中文字幕| 电影蜘蛛女| 色色色在线播放| 我爱婷婷五月天综合88| 亚洲激情综合| 丁香五月影院| 婷婷久久婷婷色五月| 婷婷伊人75| 亚洲成人av在线| 亚洲欧美婷婷五月色综合| 亚洲欧美婷婷五月色综合| 日本色婷婷| 午夜美女人啪最红院| Va另类视频| 日日舔夜夜操| 五月色综合| 99久久婷婷国产综合| 成人日韩欧美| 91久久久久久久久久| 激情久久五月天| 开心丁五月| 亚洲狠狠操| 综合性爱网| 99热这里只有精品22| 夜夜爽77777妓女免费下载| 婷婷五月天VI| 久久99热这里只有| 玖玖99免费视频| 国产超碰在线| 538任你爽| 情情五月天色| 另类激情中文| 午夜爱爱网站| 青青草原福利在线| 欧美经典片免费观看大全| 丁香狠狠| 激情人妻综合| 九九色黄色| 91在线日| 五月天婷婷色| 91seAV| 综合AV在线| 九九操综合网| 欧洲色区| 婷婷五月天777| 人妻精品一区二区三区| 丁香激情综合| 天天综合色综合| 五月色丁香| 无码少妇高潮喷水A片免费| 色婷婷色综合| 五月天色裸体视频| 97色干在线观看| 欧美在线看| 开心五月婷| 99综合视频| 丁香婷婷激情六月五月开心| 色呦精品| 伊人婷婷五月| 欧美顶级少妇做爰HD| 婷婷五月天影院| 婷婷五月激情视频在线| 亚洲182在线观看| 青青热视频| 激情五月婷| 蜜臀av 粉嫩av 懂色av | 思思久久久婷婷| 精品婷婷五| 色在线99| 五月天激情图片| 五月色丁香婷婷综合| 一區四區歐美日韓| 99精品国产在热久久| 亚洲综合无码| 亚州操人在线视频| 天天日日人| 久碰婷婷视频| 精品激情| 婷婷久久五月天| 金桔一区二区ab地址| 影音先锋一区二区三区| 人人草成人视频| 日本五月婷| 婷婷久久综合久| 综合AV在线| 91 九色 入口| 婷婷精品| 亚洲爱爱无码婷婷色五月| 六月丁香五月婷婷| 五月丁香伊人网| 伊人狠狠操| 777精品久无码人妻蜜桃| 色欲婷婷五月天| 另类激情五月| 九九九九九无码| 开心五月深爱五月| 四月婷婷丁香| 秋霞A V毛片| av九九| 激情综合5| 99热这里只有精品66| 欧美成性色| 婷婷五月影院| 婷婷五月天综合久久| 淫荡A片| 日日干天天射| 天天肏天天爽夜夜爽| 色在线免费观看| 操骚货在线| 成人一级片| 91美女被操| 婷婷亚洲综合| 激情五月天综合| 久操福利| 97人人操人人插| 狠狠干五月丁香综合网| 色婷婷基地| 99国产精品久久久久久久久久久| 九九99久久| 久久人人九九| 五月激情婷婷偷拍| 激情五月色婷婷| 激情影院免费视频婷婷五月天| 婷婷色狠狠| 激情图片婷婷丁香五月| 六月色五月天天婷婷| 成片免费观看大全| 五月天激情网站| 青草激情综合| 高清无码 一区 二区 三区| WWW、日本色丁香、co m| 337p大胆噜噜噜噜噜91Av| 思思精品视频| 久久婷婷丁香| 婷婷丁香在线播放| 天天免费成年人视频| 综合 蜜月 婷婷| 天天干天天日天天操| 天天日日爽| 九九色人| 久久99精品日本| 色婷婷基地 | 五月婷婷激情日本| 99热在线这里| 色婷婷激情视频| AV在线大香蕉| 99热精品10| 变态 另类 在线 | 色婷婷人人| 日日色综合| 一本色道久久综合狠狠躁小说| 成人精品一区二区三区四区五区| 91久久99久久91熟女精品| 影音先锋五月天婷婷丁香在线观看| 国产精品电影| 色色色干| 中文AV在线播放| 99色最新在线视频网站| 婷婷五月激情欧美大胆视频| 99亚洲综合| 伊人超碰| 超碰碰碰碰| 99久久五月丁香野外| 丁香情色五月| 五月丁香婷婷五月色| 激情五月久久| 久久久久9| 综激情网| 亚洲AV免费在线| 伊人五月综合网| 色天天综合成人网| www夜夜操com| 天天噜| 99热只有这里才是精品| 五月激情婷婷女| 亚洲丁香五月深爱五月| 另类综合激情| 色五月色综合| 亚洲色情在线| 超碰爱爱爱| 激情五月,激情综合网| renre人人操国产超碰在线 | 五月天激情小说网| 五月激情综合网| 色婷婷视频在线| 91九色丨国产丨爆乳| 婷婷五月丁香六月| www.五月婷婷| 99精品在线观看| 激情综合五月天| 天天日天天爽夜夜爽| 9久热| 亚洲六月婷婷| 久久久精品免费啪啪国| 五月天堂色色| 欧美内射AA| 婷婷亚洲天堂| 亚洲五月天狠狠| 色播丁香婷婷五月激情| 天天综合五月天| 婷婷五月综合网| 99色网站| 国产精品99久久久久久久女警| 国产成人片| 年轻的妺妺伦理HD中文| 色综合99色| 五月婷中文娱乐综合| 91碰九色| 成人va在线观看视频| 亚州欧美国产久精国产99综合视频| 色婷婷中文字母五月丁香| 热久久77777| 99性爱精品| 五月天成人免费视频| 婷婷99中文字幕| 五月婷色| 激情文学第四色婷婷丁香五月| 9 1超碰九色| 99热成人精品| 五月激情综合网| 成人av免费观看| 开心四月婷婷在线色播播| 五月情综合| 伊人五月成人| 天天日天天爽| 九九www| 99re热视频这里只有综合亚洲| 五月天天天操天天爽夜夜操| 99热这里只有精品免费| 丰满女老板BD高清A片| 91/九色黑人| 97碰碰视频在线观看| 五月天婷婷自拍图片在线观看| 五月综合缴情网| 色域五月婷婷丁香| 9久热在线视频| 五月婷婷狠狠干| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 五月天无码| 五月综合激情视频| 丁香啪啪| 狠狠色综合网| 丁香五月激情综合| 欧美黄色一级| 丁香五月婷婷图片综合| 碰碰女| 欧美日本一区二区三区| 成人看片网站| 久久婷婷色| 亚洲狠狠狠| 人妻久久久久久久 | 国产69久久久欧美黑人A片| 婷婷色六月| 婷婷大美在线| 婷婷亚洲天堂| 大香蕉av在线| 成人网址在线观看| 天天激情站| 99热九九九九| 五月丁香婷婷中文网| 五月婷婷六月丁香综合| 色综合香蕉| 少妇人妻凹凸视频| 亚洲熟妇AV乱码在线观看| 好看的国产精品| 亚洲欧美999| 人妻日日日| 天搞天天天天天| 综合色影院| 另类图片五月天激情| 国产寻花在线| 风流少妇A片一区二区蜜桃| 成人片在线播放| 五月天婷综合| 五月天播播| 丁香色影院| 五月天狠狠草| 色约约视频一区二区三区四区五区| 婷婷97狠狠干| 99视频内射三四| 欧亚洲在线高清视频| 丁香激情网| 99热天堂| 99天堂网| 丁香婷婷五月天色综合| 六月丁香啪啪| 无码激情精品色婷婷久久久久| 色婷久久| 丁香五月在线视频黑人| 亚洲五月天婷婷综合| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 国产白丝在线一区| 亚洲综合色色色| 色噜噜婷婷| 久久性爱视频网站| 六月婷婷日| 国产精品天天狠天天看| 色欲天天综合| 伊人网碰碰| 99自拍视频网站| 天堂中文国产| 全网最新网黄大秀直播高清,主播国产录屏在线 | 久青青久| AⅤ网站在线看| 五月婷婷精品无在线| 懂色av粉嫩AV蜜臀AV| 色五月婷婷内射| 操婷婷基地| 91成人电影| 综合大香蕉| 色五月婷婷中文字幕| 99成人网站| 久久婷婷五月天激情新地址| 夜夜撸日日操| 狠狠色婷婷7| 亚洲经典三级| 影音先锋偷偷色男人站| 六月色日韩| 成人免费黄色短视频| 色五月婷婷久久| 欧美色图天堂网色| 最新高清无码专区| 丁香五月激情综合| 六月婷婷色五月| 婷婷不卡基地| 涩涩涩五月天| 99亚州综合精品成人网| 久去色色| 色五月天丁香婷婷色| 激情五月丁香五月| 丁香九月婷婷色| 99热国内精品| 就爱日五月天| 伊人婷婷五月天| se影音资源在线观看| 久久九九99| 超碰在线免费观看日韩| 欧美日韩91| 欧美天天干天天草| www.zbzhongsen.com| 久久se 综合网| 蜜桃人妻无码AV天堂三区| 97色碰碰公开视频| 色婷婷精品| 久久女人天堂| av超碰在线| av九九| 丁香激情婷婷网| 久久伦乱| 六月丁香婷婷综合影院| 欧美成人AAA片一区国产精品| 五月天开心婷婷激情网站| 五月婷婷激情刺激| 五月丁香久久网| 丁香婷婷激情网站| 丁香色五月 97干| 五月婷婷官网色| 97丁香五月天| wWwCom夜操wwW| 成人网页在线观看| 免费色婷婷| 99无码视频| 婷婷五月丁香啪啪| 天天做天天爱天天玩| 色播五月丁香婷婷| 激情五月开心五月在线视频| 超碰在线免费| 五月激情网站| 99re在线视频| 成人网在线视频| 亚洲天堂制| 精品久久久久成人码免费动漫| 色婷婷狠狠爱| 亚洲综合久| 五月天婷婷乱论小说| 五月丁香狠狠地噜噜噜噜| 99 热| 色婷婷av在线| 91viP在线看| 免费播放片大片| 91久草五月天婷婷| 人人妻人人澡人人爽| 碰碰碰97国产| 91狼友视频在线观看| 97在线观看| 无码人妻少妇色欲AV一区二区| 久久曰曰| 色九区| 97资源欧美日韩大香蕉超碰一区| 99热天堂| 亚洲99综合| 91九色国产在线| 狠狠色丁香久久| 色情开心五月| 日韩性视频| 二色AV| 亚洲成人免费电影| 二人电影免费版在线观看| 91人妻人人做人碰人人爽九色| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 久久婷婷五月天| 色婷婷导航| 99热在线播放| 性爱激情综合网| 婷婷成人小说综合| 五月色天情| 亚洲久久激情| 亚洲丁香花色| 日韩免费视频| 久久久久视剧HD| 日本人妻操| 日本WWW九九九| 久热 91| 99在线观看视频免费| 26uuu美女三级视频| 呦呦v线| 亚洲激情精品| 国产免费一区二区三州老师F1F1| 精品人妻久久久久久| 成AV人片一区二区三区久久| 亚洲欧洲美女在线观| 久久久精品99| 五月婷婷色播视频| 五月天婷婷中文字幕在线播放| 五月婷婷六月丁香综合在线| 丁香五月六月综合激情| 狠狠婷婷色| aaaa.黄| 婷婷五月av| 天天色,天天操,天天射| 亚洲天堂啪啪| 丁香狠狠干| 日本WWW九九九| 97色色综合| 黄网在线免费| 日韩不卡DvD| 亚州视频九九99| 婷婷五月天激情小说| 五月婷婷六月丁香综合在线| 97成人视频| 久久99久久久久久| 五月丁香欧美在线| 天天日日夜夜| 五月激情射| 婷婷色五月亚洲| 五月激情在线| 成人综合视频网址| www色色com| 五月天婷婷中文字幕在线播放| 久久婷婷五月天激情四射| 男女啪啪做爰高潮无遮挡| 综合网网欲色| 婷婷激情啪啪| 丁香五月天社区| 4399欧美另类视频| 婷婷久久欧美| 超碰精品手机在线| 激情五月天婷婷丁香| 人人摸人人干| 这里只有精品日韩精品| 婷婷天堂综合| 欧美操逼天堂| 99热这里只有精品3| 九九热免费视频| 日本99在线视频| 99热这里只有在线| 777影视理论片大全在线观看| 六月丁香色色色| 99色免费视频| 狠狠爱青青草| 人人干人人操人人摸人人做| 久热这里| 五月五婷婷网| 99久久婷婷国产综合精品草原| 免费观看日韩成人av| 亚洲狠狠婷婷综合久久久| 97婷婷色| 日韩ac不卡无码| 五月丁香婷婷深深爱| 久久人人添人人爽添人人片αV | 婷婷丁香五月高清| 丁香五月综合网| 国产阿姨日皮艹逼内射视频| 天天日夜夜| AAA久久| 五月天操逼网| 久久婷婷成人| 成人短视频在线观看| 亚洲热视频| 97超碰9久热婷婷热| 色六月视频| 丁香五月之久操视频| 伊人成人宗合网| 99re在线播放| 婷婷五月天论坛| 国产黄色在线观看| 五月丁香六月花| 91呦呦呦| 综合久久99| 免费成片在线观看| 亚洲婷婷五月天| 另类国产区| 亚洲一区二区无遮挡A片| 97久久五月丁香婷婷| 狠狠综合网| 99日逼视频| 99热碰碰热| 中文字幕永久免费| 九九香蕉网| 天天狠狠插| 九九99久久精品| 天天天天做夜夜夜夜做| 综合精品啪啪| 99人妻碰碰碰久久久久禁片| 色综合久久五月| 成人无码精品1区2区3区免费看| 26UUU精品一区二区Com| 狠狠色丁香婷婷| 色婷婷97| WWW、日本色丁香、co m| 亚洲深喉AV| 深爱激情丁香五月| 色婷婷在线播放| 五月丁香啪| 五月丁香婷婷激激激综合网色播| 婷丁香五月天| 色情综合网| 色综合综合网| 棕合影院色色| 麻豆AV一区二区三区| 欧美激情综合色综合| 色蜜婷婷| 成人综合网站| 99热日| 秋霞午夜理论| 婷婷伊人綜合| 婷婷综合| 丁香五月综合| 人色五月天婷婷| 日本在线视频看se99| 五月丁香久久综合| 不卡影院午夜理论片| 色欲久久久久久综合网综合网| 五月天婷婷小说| 婷婷五月六月激情| 日韩成人精品中文字幕| 久久女伦| 日日夜夜狠狠| 色5月丁香婷婷| 九九热这里有精品23| 久久182| 久久五月天婷婷| 综合色播| 五月丁香伊人网| 99自拍网| 日本在线wwww| 青青久在线视频免费观看| 亚洲五月丁香六月婷婷| 婷婷五月天激情视频| 色色色国产| 拍色综合| 乱精品一区字幕二区| 激情亚洲婷婷| 这里只有精品视频99| 九九综合久久丁香婷婷,开心激情综合网| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 五月婷啪啪| 香港九九六区八区99| 337p大胆噜噜噜噜噜91Av| 成人丁香| 五月丁香激情婷婷| 26uuu亚洲色| 99色色爰| 日本色婷婷| 99精品97| 99啊精典免费视频| 3DAV亚洲香蕉久久 一区二区| 色色亚洲| 97干在线视频| 丁香五月天啪啪| 色婷婷A| 五月婷婷在线视频观看| 婷婷丁香五月高清| 久久99成人性爱高清视频| 激情小说五月丁香在线视频观看视频 | 只有精品在线观看| 大香蕉久操| 大香蕉伊人99| 色琪琪一综合久久激情五月视频| 色色色婷婷| 亚洲成人中文字幕| 午夜九九九九九九| 色爱综合五月| 色五月中文字幕| 免费成人中文字幕| 视频在线免费观看欧洲乱码| www九月婷婷| 九一九九黄色| 激情性爱网站| 九九综合网色全集| 婷婷九月亚洲| 亚洲av免费在线| 久久网日本| 丁香五月综合| 五月天激情小说婷婷| 99久久丝| 五月天色综合服务平台| 我要射综合| 色丁香婷婷| 欧美成人色婷婷| 久久五月天婷婷| 99性爱视频| 免费观看亚洲AV片| 天天日夜夜| 专区无日本视频高清8| 婷婷最新地址| 五月丁香六月婷婷综合| 五月丁香激情四射| 丁香五月婷婷少妇| 婷婷五月色亚洲| 99精品性爱| 九九综合九九| 精品夜夜澡人妻无码AV| 丁香五月激情五月| 91丁香五月| 深爱五月婷婷开心中文字幕| 色婷婷五月天综合网| 亚洲中文乱字字幕在线永久| 婷婷五月丁香综合| 国产FREESEXVIDEOS性中国| 9久热精品在线视频| 九月婷婷综合在线| 中文字幕不卡+婷婷五月| 亚洲五月天综合色| 这里只有精品免费视频在线观看 | 天天日,天天插| 亚洲精品V天堂中文字幕| 国产精品黑丝| www.久久| 天天天天天久久久久久| 久久婷婷综| 亚洲深喉aV| 精品久久婷婷| 久久五月婷综合网| 婷婷五月综合体验看| 9久久精品| www.婷婷五月天,com| 日本久久婷| 国产婷婷色综合AV蜜臀AV | 操91综合网| 人人操99| 天天综合中文| 欧美搡BBBBB摔BBBBB| 婷婷五月激情综合啪啪| 久久视频这里都是精品| 色五月大| 婷婷五月丁香基| 色五月婷婷基地| 五月丁香花免费视频| 日本精品99| Caoub青青超碰| 激情综合婷婷五月| 婷婷五月色惰| 99热草草| 婷婷久久国产视频| 久草A片| 99热亚州综合| 午夜不卡成人一区二区| 久草婷婷| 五月 激情视频| 青青草原99热| 日韩成人无码| 丁香五月婷婷激情小说| 丁香综合婷婷五月天| 色五月激情五月| 精品久久99码| 亚洲人妻Av| 国产精品A片在线| 激情五月天之六月婷婷| 天天操婷婷| 操日视频| 26uuu成人网| 日韩野外 无套| 五月丁香六月激情综合啪啪| 五月丁香啪啪综合| 丁香五月日韩| 天天插天天插| 91精品啪| 99色视频在线| 在线综合91| 可以免费看AV网站| 无码成人播放器| 久色姿源| 婷婷成人基地| 五月天成人伊人| 婷婷在线视频| 99成人网站| www.色婷婷| 狠狠艹狠狠艹| 99这里有精品视频| 思恩热国产视频右线观看| 99热国产精品| 久久婷婷色| 99性视频| 午夜色色色极品视频| 久久这里有精品| 99久久精彩视频。| 91久久久久久久| se色99| 香蕉久久国产AV一区二区| 国产永久一二一起草| 色婷网| 热久久成人| 国产精品涩涩涩视频网站| 五月社区丁香| 丁香五月综合网| 天天夜夜爽| 婷婷丁香色性爱| 一级二级色大片| 丁香五月六月综合激情| 网色99| 99国产er热视频| 夜精品无码A片一区二区蜜桃 | 伊人啪啪网| 六月丁香狠狠爱| 激情五月婷| 精品99这里有| 成人在线观看精品| 色情五月停停丁香| 99人人操人人爱久久久| 综合色五月| 婷婷五月天伦理| 思思热99er| 色婷六月| 综合综合色色| 91九色白丝| 五月天丁香| 国产1区2区3区在线观| http:色情日本com| 狠狠xx| 久久婷婷婷| 91色婷婷综合久久中文字幕二区| 五月综合亚洲婷婷| 亚洲无码激情| 激情五月天综合网| 五月天精品综合| 激情图片婷婷| AA片在线观看视频在线播放| 免费在线观看欧美激情xx小视频| 伊人干综合| 大香焦啪啪啪| 色5月婷婷色| 颜射 精品性爱av| 操逼国产91| 五月丁香| 五月开心网| 久久杏爱视频| 中文在线成人| 国产午夜精品AV一区二区麻豆| 天堂草在线看www| 婷婷大香蕉| 丁香五月色激情| 深爱激情丁香| 色婷婷五月天视频网站| 丁香五月 综合| 久久影视婷婷五月| 男女啪啪做爰高潮无遮挡| 人妻精品一区二区三区| 激情精品久久| 啪啪99| 91狼友视频在线观看| 丁香五月天堂网| 狠狠色丁香久久婷婷综合五月| 久久人人九九| 一区二区乱视频码| 国产精品18久久久| 香蕉婷婷色五月| www.lingjunshare.com| 激情图片亚洲| 久久婷婷内射| 大大香蕉综合在线| 成人精品视频99在线观看免费| 精品99在线观看| 婷婷香五月综合激情| 激情婷婷丁香五月天小说| 色五月大香蕉婷婷| 人人爽网| 婷色五月| 99色热| 激情綜合網址| 五月婷婷六月开心| 天天插夜夜爽| 人人玩人人橾| 99精品自拍| 1024成人在线观看| 亚洲视频另类| 91蝌蚪窝视频在线| 国产精品色色| 色色色色色色网| 99欧州偷拍视频| 婷婷在线激情| 激情五月天在线视频| 成年人99热| 爱草视频在线观看| 噜综合| 伊人91| 9久久精品| 亚洲成人网在线观看| 99久久.www| 五月婷婷97| 99caobi| 超碰免费电影| 大香人妻| 久久国产高潮白浆免费观看99| 丁香五月婷婷啪啪视频| 超碰日韩人妻在线| 亚洲成人在线观看av| 国产午夜伦鲁鲁| 97热91| 九月激情婷婷丁香| 清纯唯美 激情四射| 亚洲欧洲另类图片| 五月丁香色停停啪啪啪| 九久九精品| 97碰碰免费.视频| 三日本无码| 影音先锋AV男人站| 五月婷综合| 在线看黄色| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 婷婷天堂伊人| 色吊丝av中文字幕| 国内久久亭亭| 色噜噜夜夜夜综合网| 97资源碰碰| 99热只有精品在线播放| 婷婷色色综合激情| 99爱免费在线视频| 色婷婷社区| 天天爱天天狠天天透| 久99久热| 大香蕉五月天婷婷| 国产精品色情AAAAA片软件| 亚洲狠狠丁香婷婷香蕉| 狠狠色噜噜色狠狠狠综合色 | 99热8| 丰满老熟妇BBBBB搡BBB| 日韩99无码| 操人精品| 婷婷五月激情综合| 在线色五月婷婷| 这里只有精品网站| 婷婷涩涩五月天| 日本色婷婷| 丁香花大香蕉婷婷综合| 91丨九色丨老农村| 久久久18| 亚洲99手机免费看视频 | 日韩野外 无套| 99亚洲精美视频在线观看| 九九色综合| 色婷婷六月精品| 婷婷情爱五月天6| 99热这里只有精品青草| 青青久久五月| 色碰碰| 天天综合天天玩夜夜玩天天玩夜夜玩 | 婷婷五月色天| 99热草草| 狠狠操综合| 青青草视频福利| 超碰com| 爱久久小说下载网| 色天使色婷婷| 99热这里只有精品33| 丁香成人五月天| 免费黄色片子| 性爱激情小说AV五月丁香花| 天天舔天天插天天爱| 久久性爱视频这里只有精品 | 精品久久久久成人码免费动漫| 亚洲五月天色色| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 91久久婷婷| 天天色综合综合| 97色婷| 日韩AV在线免费| 成人色五月天婷婷| 高清无码视频网址| 99成人| 欧美三级欧美一级| 天天爽天天干天天| 色999五月色| 久久婷视频| 五月色精品| 五月婷婷激情网| 色欲婷婷五月天丁香| 噜噜噜噜在线| 夜夜撸夜夜骑| 99热综合色图| 人人草人人视| 屁股翘好撅高迎合跪趴| 97色色婷婷| 日本色婷婷| 骚逼视频一区2区| 色婷婷久久综合久色| www.henhenl| 婷婷五月欧美| www.minyis.com【JT】币址百万U预算可预付QQ2101460746 | 91丨九色丨熟女丰满| 天天色官网| 欧洲色区| 婷婷色五月噜噜| 91人人操人人| 日本久久精品18| 终合激情网| 五月久久综合| 婷婷综合成人五月天| 久久久久久人妻| 亚洲无码播放| 久久看婷婷| 71在线精品视频一区| 色婷婷丁香五月天| 九九一区| 成人欧美Va| 精品亚洲国产成AV人片传媒| 五月天婷亚洲天综合网综合| 婷婷久久大香蕉| 91色逼| 大香蕉婷婷久久| 小骚穴电影| 天天爱天天操| 久久婷婷亚洲无码一起| 天天婷婷综合亚洲亚洲| 91超级碰人人操| 激情五月视频在线婷婷| 欧美高潮9| 婷婷丁香五月高清| 9l视频自拍九色9l黑人| 欧美成人精品一区二区| 色综色网| 99视频热| 一区中文字幕电影| 丁香桃色网| 色玖玖玖| 色玖玖综合网| 色色色欧美| 婷婷五月激情网| 26uuu美女三级视频| 亚洲视频在线观看| 国产性色蜜乳| 婷婷成人av| 狠狠色综合网站久久久久| www久久久久久| 超碰国产在线观看| 99热日韩| 超碰免费人人| 99精品视频在线| 久久成人亚洲欧美电影| 婷婷六月丁香欧美视频在线| 丁香五月天婷婷91| 亚洲操逼片| 丁香五月天欧美成人| 欧美在线| 婷婷精品综合| 五月天丁香成人| 亚洲综合激情五月久久| 狠狠草婷婷| 色色97丁香婷婷五月天| 深爱激情五月天| 91ncom.色| 成人无码髙潮喷水A片| 情涩婷婷五月天| 色噜噜五月丁香婷婷| 久久性视频| 99爱欧美| 伊人激情网| 亚洲国产成人在线| 99成人网站| 亚洲视频在线网| 中文字幕永久免费| 天天日天天摸天天| 色爱综合五月| 激情六月综合| 一本综合丁香日日狠狠色| 综合五月丁香六月婷婷| 成人片在线播放| 五月丁香无码视频| www.91九色| 无码人妻丰满熟妇奶水区码| 五月天天天色| 综合激情五月四射婷婷| 天天综合天综合久久网| 超碰免费成人| 五月天激情婷婷小说| 色五月婷婷操逼| 51精品国自产在线| 久久综合影院| 岛国资源网| 色女人久久| 欧美性猛交99久久久久99按摩| 一丁香五月天月AV| 婷婷五月天无码视频| 欧美伊人9| 亚洲精品久久久久久久久久吃药| 天天日夜夜爽| 五月丁香亚洲五月| 色婷婷成人网| www.色欲丁香婷婷| 五月天综合| 日日噜噜夜夜狠狠久久丁香五月| 国产夫妻操逼内射视频| 久久hd| 国产精女同一区二区三区久| 久久六月天| 26UUU精品一区二区| 久久视频婷婷视频| 久久五月激情综合| 亚洲成人网址在线观看| 另类图片五月天| 亚洲碰碰碰| 97五月天婷婷| 日日噜噜久久婷婷五月天| 一起草无码| 色婷婷yy久| 思思久久99热只有频精品66| 武则天精品久久| 欧美婷婷成人| 日本成人小说婷婷六月| 亚洲99激情| 欧美日韩999| 久久婷婷丁香视频网| 欧美日韩国产一二区| 熟妇人妻中文字幕无码老熟妇| 狠狠综合久久| 九九热视频在线观看| 无月播播激情在线观看视频| 婷婷五月免费观看| 九九热这里只有精品首页| 五月丁香六月综合基地| 激情久久综合网| 五月天另类小说久久小说网| 国产无遮挡又黄又爽免费网站| 丁香六月欧美| 91色久| 日韩久热| 色婷婷激情| 久久人人妻| 99爱视频在线| 色婷婷丁香五月在线观看| 国产资源91在线| 丁香五月欧美色综合| 亚洲免费综合一区| 国产精品成人AV在线观看春天| 久久亚洲婷婷| 伊人婷婷五月天| 九九无码| 天天爽天天爽| 国产成人精品一区二区三区视频| 婷婷丁香六月| 九九色热| 人妻体体内射精一区二区| 日本色婷婷| 国产精品a无线| 亚洲精品久久久无码| 极品人妻VIDEOSSS人妻| 92久久精品一区二区| 裸睡玩奶头(高H)| 色偷偷AV亚洲男人的天堂| 激情五月综合网| 被强行糟蹋的女人A片| 激情五月婷婷| 99在线视频。| 99色视| 大香蕉中文| 久久丁香五月天| 99免费热在线精品| 99热这里只有精品亚洲| 秋霞电影理论| 91人人人人人| 久久婷婷亚洲| 天天综合网91| 色爱亚洲| 国产精产国品一二三在观看| 国外亚洲成AV人片在线观看| 五月美女婷婷风骚| 大香蕉久久久久久久久| 亚洲Av成人在线观看| 色五月婷婷综合在线| 色婷婷久久| 五月丁香AV、伊人业余、性色熟妇| 人妻 性久久久久久| 婷婷五月天开心网| 综合久久97| 99免费在线视频| www九九免费视频| 九月久久婷婷| 五月丁欧美| 嫩BBB槡BBBB搡BBBB视频| 丁香五月成人av| 婷婷亚洲综合| 中国丰满熟女A片免费观| 99热免费18| 久久久8| 婷婷六月中文字幕| 色五月播五月| 激情婷婷五月| 1024人妻无码中文字幕| 91精品婷婷国产综合| 玖玖在线资源视频| 亚亚州久久高潮| 伊人激情影院| 字母不卡码人逼| 日本九九九九| 久狠日av| 9久久精品| 99在线视频网址在线观看| 六月婷婷久久| 亚洲综合视频一下| 天天色粽合合合合合合合| 大香蕉啪啪网| 婷婷色色丁香| 这里只精品| 播五月开心婷婷欧美综合| 亚洲AV免费在线| 婷婷99丁香| 婷婷六月激情啪啪| 七七九色| 日本在线观看99| 伊人91| 亚洲va欧美va天堂v国产综合| 五月丁香综合激情| 888久久久| 婷婷五月天另类视频| 久久人人九| 五月婷婷影视| 亚洲五月天色| 99热这里是精品| 97超碰免费超级在线观看| 欧美色久| 欧美VA在线| 中文毛片无遮挡高潮免费| 五月婷婷中文字幕| 亚洲激情.com| 无码激情AAAAA片-区区| 99操久久| 久久99网| 五月伊人91| 99在线观看精彩视频| 日韩成人电影在线播放| 色色综合网。| 丁香伊人综合| 人妻操逼视频| 色五月天丁香婷婷| 精品成人a v无码内射| 无码免费人妻A片AAA毛片西瓜| 色999五月色| 99免费视频| 五月婷久久综合| 五月丁香六月停停| 久操热| 操人91| 久久网日本| 婷五月天六| jiqingliuyuetian| 天天干人人奸97| 五月丁香六月婷婷中文版| 99热在线播放| 五月天久久久| 色丁香久久| 色五月超碰| 99九九视频| 九九性爱网| 99热这里只有精品在线观看| 久久综合五月情| 我要射综合| 日韩精品一区二区三区,四区,五区视频| 精品视频这里只有精品| 色五月婷婷中文字幕| 亚洲AV人人操| 玖玖综合色| 超碰成人电影| 亚洲人妻av| 色色色五月婷婷| 九九热在线99| a色色片| 99亚洲天堂| 免费精品66| AA片在线观看视频在线播放 | 丁香五月AV综合激情| 爽tv | 国语精品探花| 国产性爱色|