日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(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)化全解析 簡介本資源是基于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è)精簡文件總大小僅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顯示場景下的圖形性能與外設(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)境怎么搭的??磥聿簧倥笥讯疾仍陬愃频目永铩K晕覜Q定把這次從零開始讓LVGL在ESP32-P4上通過HDMI流暢跑起來的完整過程記錄下來。這不僅僅是一個(gè)簡單的“點(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簡單理解就是顯示器告訴主機(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)用場景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ù)線、行場同步時(shí)鐘線以及I2C配置線。ESP32-P4的IO矩陣非常靈活理論上很多GPIO都可以復(fù)用為LCD接口信號(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場同步信號(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布局上的坑等長要求RGB的24根數(shù)據(jù)線盡量保持長度一致。雖然對(duì)于1080p60Hz像素時(shí)鐘約148.5MHz來說要求不像高速DDR內(nèi)存那么嚴(yán)苛但明顯的長度差異會(huì)導(dǎo)致顏色錯(cuò)位比如紅色和藍(lán)色數(shù)據(jù)沒對(duì)齊畫面會(huì)偏色。建議分組做等長比如所有B0-B7一組長度差控制在幾個(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ù)就是為LT8918B或你選的橋接芯片實(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顯示器能正確顯示測試顏色比如全屏紅色、綠色后就可以請(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作為官方組件收錄集成非常簡單在項(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í)測對(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ù)競爭或緩沖區(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í)別為LV_LOG_LEVEL_WARN或LV_LOG_LEVEL_ERROR查看串口輸出。解決// 示例初始化一個(gè)模擬按鍵作為輸入設(shè)備用于測試 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ù)占用率長期過高如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
返回資訊列表
国模少妇一区二区三区| 青青草原av| 中文字幕一区二区三区视频播放| 99re这里只有| 日本一级不卡一二区| 中文字幕 人妻不满 在线视频| 91久久| 国产欧美第五页| 日韩操逼性鲍| 天天干夜夜鈤| 夜夜嗨一区| 欧美亚洲影视| 婷婷香蕉| 中文字幕免费看大片| 少妇九九九九| 女生自91网站| 久久最新视频免费观看| 中文字幕 码 自拍 视频 区| 国产高清吃奶免费视频网站| 91亚州| 欧美最婬乱婬爆婬牲视频| 伊人网在线视频| 精品精品精品| 97天天爽| 人妻久热在线| 亚洲色性情三级| 99亚洲天堂| 丁香六月激情| 日韩在线性爱免费视频| 极品尤物女神在线观看| 精品国产精品一区二区| 亚洲1区2区三区高清中文字幕| 亚洲综合第一页| 亚洲丝袜在线观看| 免费精品无码一级毛片牛牛影视| 综合 亚洲 欧美| 97国产精品久久久久| 九草九九九| 亚洲视频二区| 亚洲第一男人天堂| 在线αⅴ| 特级特黄一级毛片免费| 丁香五月偷拍| 午夜天堂精品久久久久91| 欧美人人AAA| 日韩三级天堂在线观看| www网站黄| 婷婷精品| 99热导航| av东京热男人的天堂| 伊人aaa| 久久精品国产久精国产| 啊啊啊网站| 狠狠色五月亚洲91| 91av一区二区在线观看| 黄片不用下载在线观看| 色婷婷久久| 中文字幕在线观看AV| 久久女人视频| 99只有精品| 丝袜高跟澳门91视频| 亚洲欧美91√| 超碰免费人妻在线| 中文字幕乱在线伦视频中文字幕乱码在线 | 操淫穴亚洲五月丁香 | 日本熟妇人妻一区二区三区| 欧美狠狠| 欧美日产国产在线成人第一区| 久久一区二区高清免费| 亚洲欧美国产日本一区二区三区| 91色鬼| 九九人妻| 久久午夜色播影院免费高清| 无色无码| 亚洲综合99999| 使劲用力艹少妇视频一区二区 | 日韩高潮一区| 亚洲限制级| 色哟哟AV| 久久久一区二区三区三州| 亚洲囯产精品女人久久久| 国产欧美在线观看免费观看| 国内毛片免费h片在线| 大香交伊人网| 伊人国产AV| 日韩一级欧美一级国产一级台湾| 综合久久久久久久综合网| 少妇一线天久久久久久| 黑人与人妻| 超碰97护士| 国产最火爆久久国产网站网站| 午夜啪啪片| 亚洲欧美精品一区天堂久久| 亚洲情色综合网| 韩国一级做a久久久久| 亚洲精品成人激情在线| 男人的天堂在线| 日韩免费在线观看不卡| 成人婷婷丁香| 国产91丝袜在线播放蜜月| 亚洲人成网站7777| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 天天做天天爱| 日韩日韩日韩-国产乱码精品一区二区| 欧美色另类| 最新中文字幕在线亚洲| 欧美综合网1| 久久尹人大香焦视| 九九九九九九九精品视频| 久久熟女久| 人人玩人人添人人澡免费| 六月天婷婷| 综合网亚洲1| 国产极品99热在线播放69| 97玖玖人妻| 免费视频97| 97人人草| AV中文字幕三四五| 色丁香五月婷婷| 老司机午夜精品福利视频一区二区| 一本色道综合久久欧美| 九九精品美女高溯喷水 | 手机看片1024你懂的国产| 中文字幕91综合| 78超碰| 九九热九九| 欧美性视频二区三区| 日韩AV无码中文一区二区| 人人澡人人爽人人精品| 国产高清视频无码在线| 欧州激情视频在线一区二区| 国产中出内射一区二区| 天天色怡春院| 欧美一级A片在线看视频性色| 97自拍一区| 色情乱伦AV| 国产情色在线| 极品色社| 国产二区三区免费视频| 日韩78m视频| 一级性爱aaaa| 一区二区中文| 久久欧美1卡2卡3| 97碰| 2017大香蕉国产精品久久| 国产人妖视频一区在线观看| 91精品国产91久久久久久久久久久久| 少妇3P性爱自拍| 国产精品久久久午夜夜伦鲁鲁| 天天躁日日躁AAAXX| V A在线| www.久久最新地址| 亚洲h片在线免费观看| 99爱爱| 看看日B真人视频| 狠狠操狠狠操操| 国产精品99久久久www| 长长久久曰曰夜夜成人网| 国模私拍一区二区三区神乳| 一起草欧美| 中出20p| 91九九九小逼| 91ise欧美| 素人伊尹大香蕉免费下载视频| 中文一区二区三区影院| 国产91乱伦| 精品视频日日夜夜| 99久久久无码国产精品性啊聊| 麻豆激情综合| 好舒服视频| 男人的天堂2019AV| 美女黄页| 综合97| 欧美成人精品一区二区三区| 不卡人妻少妇精品毛片一区23区视频| 伊人五月天婷婷| 日本大香蕉综合网| 色97综合中文字幕| 国产精品久久久啊| 亚洲男人天堂网站| 黄片免费久久久久久久| 91成人精品在线播放| 强奸乱亚洲| 夜夜嗨视频| 成年在线视频日本亚洲在线视频区精品江靖宇公司 | 老女人综合网| 天天综合香 ld视频| 永久免费发布性爱网| 亚洲精品99999| 国产丰满少妇久久久精品影院| 奇米狠999| 97干97色| 日本一二三免费久久| 亚洲情色1区| 国产精品老师| 熟女五十路一区二区三| 国产美女激情| 亚洲日本成人动漫| 天堂8在线新版官网| 五码视频在线观看| 亚洲欧洲综合| 亚洲天堂一二| 91九久| 激情综合五月| 免费看片黄| 亚洲a色| 亚洲资源吧| 亚洲影视高清三级-草1024榴社区入口-品爱AV| 丁香五月天婷婷姐| 在线另类| 91狠狠色丁香婷婷综合久久| 高跟丝袜AV专区国产| 欧美日本中字另类在线| 国产成久久综合片| 亚洲乱色熟女一区| 日韩三级在线观看网站| 精品国产嫩穴视频| 欧美色道啊| 91原创在线观看| 97人人射| av在线观看不卡网站| 九九黄色视频在线观看| 97硬碰| 91女日逼| 欧美成人精品A片免费一区99| 中文字幕97| 91劲爆| 国产成人自拍视频在线| 超碰久草| 日本黄页视频在线观看| 国内精品久久久久影院亚洲| 欧亚性爱视频免费看| 伊人女女资源在线观看| 色欧美天天| 国产熟女免费观看久久| 天天干天天拍| 亚洲 另类 丝袜 自拍 动漫| 久久97视频| 欧亚无码视频| 欧美顶级黄色大片免费| 国产亚洲一黄| 九九九九九九九九九九九九九九九女| 欧美第五页| 一中国女人毛片水真多| 欧美色性爱| 天天综合网国产| 亚洲国产中文字幕| 色综合加勒比| 99爱久久视频频| 9 1超碰九色| 亚瑟国产精品久久无码| 婷婷五月天成人| 老司机午夜福利视频一区二区| 天堂亚洲精品| 亚洲精品乱码久久久久久蜜桃麻豆| 青草视频在线看看看看看看看看看| m欧洲一级午老| 久久精品熟妇丰满人妻99| 手机在线观看不卡无码av| 99国产精品免费| 日本淫乱女一区二区三区视频| 欧美成人午夜免费福利785| 啊啊啊不要嗯嗯在线观看| 国产精品盗摄 偷窥盗摄| 天天添天天干电影| 色九九综合| 999精品国产高清一区二区| 操逼视频亚洲| 激情婷婷五月天| 天天综合网国产| 日韩亚洲精品一区二区| 国产精品久久| 91国产在线精品| 欧美日韩高潮喷水91| 五月天婷婷欧美三区| 美女高潮视频91| 亚洲欧美色图小说| 歐美一級亂黃99在綫精品| 大香蕉在线视频重口味毛片在线| 秋霞怕怕片| 9热9热综合网| 夜夜天天噜狠狠爱2021| 精精夜夜| 上海一级黄片| 伦理第一页| 97免费免费视频网| 亚洲 欧美 手机在线观看| 欧美九九九| 宅男91视频在线播放| 日韩无码精品综合久久| 丝袜视频网国产90| 日韩国产品视频中文字| 99久久精品无码一区二区| 成人九九| 久久久免费懂色| 丁香五月影院| jk白丝没脱就开始啪啪| 97色操| 国产不卡中文字幕免费avi| 国产精品成人无码av| 亚洲无992tv| 看看日B真人视频| 久久国产对白激情浪潮 | 91内射| 我爱操| 亚洲怡春院| 中文字日本乱码| 欧美精品四区| 日韩中文字幕视频在线观看| 74成人在线| 无码高清操逼| 色综合加勒比| 超碰97护士| 亚洲精品蜜桃久久久| 精品人妻一区| 日韩欧美丝袜诱惑| 久久熟女人| 欧美黄色片在线播放| 骚货 中文字幕 av| 精品亚洲国产成人精品| 色色丁香| 久久久禁| 婷婷伊人五月| 天天摸天天操视频| 熟妇一区二区三区| 岛国在线一区二区三区| 91狠狠综合久久久| 久久极品伊人| 久久直播国产| 中国AAAAAA黄色片| 午夜呻吟欧美| www.99在线| 婷婷干黄色| 人人做天天爱| 蜜屁av| 91成人国产综合久久精品蜜月| 久久一区二区三区入口| 久久男人| 绑缚麻绳人妻寝取完整版| 蘋果手機免費看成人Av| 97在线观视频免费观看| 亚洲天堂另类小说男人| 91新在线欧美| 韩日精品福利视频一区不卡在线免| 偷拍欧美激情| 久久久婷| 又黑又大又粗| 综合97亚洲| 色天堂综合| 91黑丝操| 男女无套 免费网站| 超碰色综合| 精品人妻中文字幕高清| 大香蕉黄色一级片免费看| 高清国产精品无码| 丰满少妇乱子伦精品无| 日韩九区| 中文字幕乱碼在线| 精品久久艹| 51一区二区三区| 试看60秒| 男人的天堂网页| 一级黄色性爱裸体视频| 欧美网站免费| 天美传媒国产原创中文字幕亚洲欧美另类| 伊人久久大香蕉线AV五月天| 欧美在线|亚洲| 精品国产一区探花在线观看| 色嗨嗨在线| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 台湾佬中文娱乐自偷自拍| 1区2区3区中文字幕日韩| 91美女高潮| 九九精品99| 一区二区三区 日韩欧美| 久久99精品视频| 日本高清熟女久久一区| 黄久在线| 色婷婷婷五月天激情四射| 97干天天| 亚洲av青草久久一区二区| 2017大香蕉| 国产极品一区二区三区三州| 男人网站婷婷| av天堂天堂av日韩| 六月婷婷五月丁香| 97在线播放| 日韩中文字幕视频| 91美女在线视频| 成人性生活高清视频在线播放| 91强热人妻| 大香蕉色网| 青娱乐福利99| 亚洲天堂另类小说男人| 四虎免费在线观看| 伊人成人中文字幕久久网| 中文字幕女同在线| 亚洲天天做日日做天天谢日日| 欧美黄色图片| 日韩有码专区| 爱爱动态试试看6 0秒| 久久精品国产精品一区| 天天操女人| 9美女超碰在线免费观看| 超碰人人在线| 亚洲精品久久久久毛片A片拉屎| 天天91~综合入口| 天天日天天操天天射河南省| 伊人精品视频| 四色永久成人网站| 日本久久天堂| 日本肏逼视频在线观看| 久久九色| 亚洲视频精选| 久久中日麻豆| 东北夫妻性偷拍| 91Chinese在线| 亚洲成人免费中文字幕| 一级性爱视频免费观看 | 青青草大香蕉在线视频| 99色色网| 99re在线观看| 黄色视频高清无码网站| 亚洲精品欧洲色| AV女资源| 干b网| 日日97| sewuyueav| 91操熟女视频 | 91网站18在线| 日本一区99| 操香逼| 亚洲欧美一区二区不卡视频播放 | 亚洲中文字幕日产无码久久| 精品78| 中文字幕日韩情色| 玖玖久久久| 亚洲欧美啪啪| 一区二区三区 丝袜 高跟 美腿| 色噜噜狠狠色综无码久久合欧美| 日本九九九九| 成人影 天天操 亚洲| 中文久久一区| 北野未奈加勒比av| 熟女少妇视频| 97亚洲综合影院| 高清一区AV无码| 久精品无码av一区二免费国产在线观看 | 97超碰人人模人人拍人人| TS人妖另类精品视频系列| 日本欧美一区二区三区视频麻豆| 国产一级不卡在线观看| 激情看片网站| baisiav| 欧美青青视频| 天天爽天天操啊啊啊| 午夜a成v人电影| 日日操天天操| 亚洲色图伊人网| 日韩色| 在线观看精品国产免费| 欧美精品丝袜久久久中文字幕| 区一在线观看| 国产精品久久泡妞网站| 高清成年美女黄网站免费大全 | 97ai亚洲| 亚洲最新av无码成人精品区| 夜夜操2028| 97人人色| 囯产操逼片| 亚州春色| 人人摸.人人色| 国模艳艳啪啪一区| 91激情网| 国产精品久久久久无码A√| 日本超碰在线国产一区| 美女爽到高潮91| 国产午夜激片Av毛片不卡| 日本十八禁免费看污网站| 精品人妻视频一区二区在线播放| 中文字幕日韩人妻视频一区二区三区交换夫妻 | 黄色高清久久无码依人| 国产AV天美传媒一区二区三区| 久久久999网站| 国产精品爆乳懂色蜜乳| 国产人妻久久精品一区二区三区| 十八禁电影伊人网| 60秒免费小视频| a天堂视频| 最新精品久久蜜桃 | 去干网最新版| 国产丝袜高跟美女av免费观看| 美日韩一二三区| 熟女乱3伦999| 狠日操| av资源在线观看少妇| xxx亚洲午夜天堂| 猛猛干| 一级久久久久久久久久久| 五月天婷精品激情| 99热日| 人人妻人射| 人妻 欧美 中文| 少妇高潮流水av免费| 久久秀这里有精品| 日韩大香蕉| www.99视频| 青青草华人在线欧美在线| 国产精品视频白浆免费| 99精品在线| 六月丁香久久| 操逼视频国产无套| 色婷婷淫色网| 精品国产丝袜一区二区三区乱码| 日韩丝袜高跟制服在线观看| 国产精品亚洲高清在线| 天天干1区2区在线| 以及麻豆国产入口在线观看免费| 精品一区二区三区蜜桃臀赵总| 九九热精品视频六| 91N五十路| 欧美激情性爱视频网站| 在线五区| 久久久久国产亚洲一区欧美色图日韩| 日韩黄片视频试看| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 老熟女综合| 私色综合网| 你懂的在线观看区国产| 少妇与黑人高潮在线| 蜜臀99久久| 欧美一二在线| 国产超碰在线一区| 韩日精品四区| 99久久综合| 欧美大香蕉专区网| 中国大陆国产高清AⅤ毛片| 97国产超碰| 死我十八禁| 性爱久久| 激情网五月天| 涩涩五月天| 无码国产精品午夜不卡(| 欧美性生活男人的天堂| 羞涩视频| 欧美一区二区一级岛国大片| 亚洲日韩天堂| 色姑娘综合网| 欧美成人精品一区| 久久精品28| 久久久久久999| 精品午夜福利| 熟女91网站| 男人的天堂com| 久久国产精品一区二区| 99久久99九九99九九九| 亚洲高清欧美总合| 中文字幕第7页| 欧美综合色,www| 精品九九九| 亚洲高清视频在线免费观看| 死我十八禁| www欧美91| 国产最新小视频在线播放下载| 日日日日做夜夜夜夜无码| 国产农村一一级特黄毛片| 日本在线一二| 伊人网在线观看| 蜜桃视频精品一区二区三区| 色色色天美视频| 欧美日韩岛国大片在线观看| 国产精品91ai| 亚洲熟女一区二区| 性爱Av免费| 伦伦成年午夜免费视频| 色五91| 亚洲天堂人人妻| 亚洲一区二区中文字幕| 日本成人免费一区二区三区| 久久黄黄| 免费视频观看60秒| 人成午夜免费大片| 亚洲精品欧洲精品| 免费久久一级毛片大黄| 男人天堂站| 日少妇视频| 日本久操视频| 美女91| 国产67194| 青青操在线视频| 91强奸乱轮| 久久久久久久久久久精| 婷婷激情五月| 97天天日| 亚州久久9| 99视频这有这里有精品| 免费成人在线熟妇网| 国产精品原创巨作?v网站| 75大香蕉| 一区二区三区免费岛国片| 国内外毛片在线观看| 精品成人av一区二区三区在线| 中文字幕AV片| 很很干很很操| 白丝被操91| 欧美 综合 亚洲| 精品久热| 精品无码秘 人妻一区二区| 99精品网站| 免费作爱一级视频| 午夜爽爽爽| 欧美爆操91| 亚洲无码免费看| 欧美啪啪色吧在线| 激情婷婷丁香| 啊啊啊不要啊啊受不了了视频在线 | 欧美综合网在线| 日本少妇va7777| 亚洲色欲天天人妻无码系列专区| 欧美中文字幕一区| 成人网址在线观看| yellow网站免费观看日韩高清无码| 欧美草草高清日韩视频| 欧美老妇综合网| 久久九九综合| 啪一啪免费视频| 国产成人在线观看网址| 欧美色图99| 天天夜夜久久| 超碰午夜在线| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 91电影色诱| 日本色婷婷| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | …中文字幕亚洲乱,97人妻无码费视…| 午夜色婷婷| 啪啪AV导航| 岛国色情视频在线观看| 波多野结衣AV无码一区| 女色综合| 午夜男女爽爽大片免费观看| 蜜臀久久99精品久久久| 久久人妻| 日韩性爱小视频| 97爱| 麻豆三极片| 性色生活片久久毛片婬片免费放女人一级毛片 | 东京热大香蕉| 清纯唯美综合亚洲| 久久精品女同亚洲女同13| 五月开心久久AV官网| 久久伊人青青草| 国产精品色哟哟| 久久女同性恋一二区| 韩国女主播青草在线| 91综合国产精品| 天天热精品| 国产黑白丝在线| 精品国产乱码久久久久久蜜臀| 少妇精品久久| 国产在线强奸视频| 8050午夜少妇无码| 超碰av人人人| 欧美香蕉视xxx| 欧美体内射精| 国产精品爆乳懂色蜜乳| av无线看| 麻豆天美电影一区二区| 超碰久久精品| 久久久久夜夜夜夜| 激情专区综合| 久久爱超碰网| 午夜精品久久99蜜桃的功能章节| 久久五十路熟女人妻| 黄色毛片A片| 宅男午夜在线视频| 性欧美91| 久久‘黄片视频| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 久久最新视频免费观看| 老鸭窝成人| 欧美日韩操逼嗦吊| 天天操天天看| 久久精品国产亚洲AV高级北京| 蜜臀精品1区2区| 91被操| 精品十三区| 狠狠色噜噜狠狠狠狠2018| 富二代亚洲精品99| 人人操人人摸avav| 大香蕉欧美国产日韩高潮| 中文字幕在线免费观看2| 天天看天天综合成人网| 精品欧美老熟女一二区| 禁止观看美女黄| 日韩一级久久毛片| 亚洲综合夜色| 亚洲激情在线| 91综合网| 欧美草草| 青青操97| 口爆吞精在线观看| 最近二区三区视频大全| 爱欲AV| 精品毛片久久久精品毛片| 高颜值美女口爆高潮浪叫| 亚洲av夫妻操穴网| 夜夜天天噜狠狠爱2021| 日本不卡中文| 欧美日韩国产电影| 国产自偷自拍一区| 亚洲高清无毛一区二区| 成人资源中文字幕在线观看| 超碰三级秋霞| 中日高清无码操逼视频| 日韩熟女操逼| 人妻天堂三区| 国产Av超碰| 欧美另类色| 美女AV一区二区| 永久免费av无码网站国产app| 999熟女精品| 久久手机视直播| 黄色大片一区二区密桃丝袜| 啪啪视频亚洲第一| 97人人操人人摸| 国产高清不卡视频| 4399成人黄A片| 亚洲一曲日韩精品| 在线观看一级α片刺激高潮视频| 欧美骚少妇| 97在线资源| 久操 高清| 青青色综合| 免费农村成人少妇人妻Aa一区二区视频 | 亚州中文字幕超碰97| 日夜久久久九九九久| 久操高青| 熟妇人妻一区二区| 国产在线不卡导航| 熟女一区二区| 国产美女口爆吞精| 欧美夜色| 国产精品一区二区麻豆| 高精欧美色| 天天看天天日天天操| 成人五月天丁香激情综合| 色色色日本| 国产91乱伦| 性爱av在线免费观看| 青青草视频这里只有精品| 97色爱| 91色综合色| 99rre在线精品99re8| 91丝袜在线观看| 爽极品影院| 欧美色综合影院| 91亚州日韩高清| 好屌色综合| 狠狠色五月亚洲91| 天天澡天天爽日日AV| 国产免a费看黄片在线| 久/久精品99看9| 大香蕉在线免| 蜜臀久久99精品久久久久久酒店 | 欧美亚洲综合色| 欧美91在线+|+欧美| 日本加勒比无码专区| 97在线观看播放视频| 亚洲天堂区| 日韩中文9| 天天干人人看综合| 激情五月综合网| 欧美日动态视频| 亚洲一区中文精品| 97福利视频| 超碰无码五月97| 在线播放免费av福利片| 色哟哟国产精品免费网址| 五十路成人在线视频二区三区| 看免费一级在线播放毛片| 亚洲成人免费电影| 偷拍亚洲视频一区二区三区四区| 翔田千里Av在线| 日韩av熟女一区二区三区成人| 97国产精品在线观看| 日韩懂色网| 久操视频资源站公开| 户外裸露刺激视频第一区| 大黄片做爱的大的| 大黄片做爱的大的| 黄色网址在线免费观看| 91黑人无码激情在线| AAAA级日本片免费视频| 美女刺激久久国产欧美| 亚洲国产成人精品999| 色 亚洲 91| 免费精品福利在线观看| A级毛片在线看免费| 欧美91变态| 午夜福利在线视频1000| 岛国免费黄色网址| 日本黄色裸日本黄色裸体| 尤物网址| 欧美青青草视频| 97久久久| 久久久久13| 五月天九九日国产精品一区二区三区| 日韩青久久| 97资源超碰| 国产精品无码论坛| 91少妇香蕉久久精品| 日韩精品资源专区二区| 蜜臀精品1区2区| 精品国产乱码久久久兰草影视| 91N欧美| 天天干天天插| 国产97在线 | 亚洲| 大香蕉伊人在线成人AV在线观看| 国产精品一级片在线看| 蜜臀AV午夜精品久| 大香蕉综合在线| 亚洲激情综合| 亚洲av国产av综合av卡| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 欧美 亚洲 综合 制服| 啊啊啊操死我| 青青青草伊人精品| 人妻嗯啊啊在线播放| 午夜超爽| 大香蕉中文| 伊人久久蜜月| 天天日日本| 亚洲一区日韩| 伊人久久综合影院| 精品一区二区三区麻豆| 人妻五十路在线| 好看的91视频| 色婷婷色99国产综合精品| 97在线视频观看网站| 国产精品视频在线观看| 日韩91网| 日韩av电影网站| 国产成人AV麻豆| 亚洲男人天堂2019| 婷婷色影院| 天天色综亚洲91污| 精品一区二区人妖| 午夜激情成人在线观看| 91看黄片| 激情五月天中文字幕色| 风月影院十八禁| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | se吧提供国产乱老熟视频胖女人| julia国产在线| 男人的天堂日韩| 国模不卡一本二本三电影| 中文字幕一区 二 区 三 四 五 区日 日 骚| 国产精品网址| 欧美黄色大片在线观看 | 性在久久久久久| 国产资源中文字幕在线| 都市久久精品激情亚洲| 久草免费福利在线播放| 精品一二三区久久AAA片| 婷婷精品| 人妻在线中出视频| 91强在线播放| 91青青在线| 操b在线观看| 国产精品制服丝袜清纯唯美| 99热最新| 国产极品久久久| 色婷婷一区二区三区久久午夜成人不| 欧美中日韩XXXX| 日本顶级天天操狠狠操夜夜操中文字幕| 激情五月天丁香| 中文字幕国产精品1区| 97国产天堂岛| 起碰97| 9久热| 少妇色欲综合网2| 免费一级性爱久久| 粉嫩国产精品久久久| 啪啪啪男女亚洲中文字幕99| 国产91精品福利在线| 欧美综合第一| 97九色| 亚洲夜色在线| 亚洲国产精品成人久久蜜臀| 激情五月天网| 67914在线兔费成人视频| 亚洲精品一区二区三区在线播放| 色九月综合| 色综合久久av| 91国产美女丝袜足交精品视频| 一区二区三区免费视频入口| 99热综合| 97综合国产| 天色综合网| 国产美女自拍AV| 国产精品丝袜久久亚洲不卡| 免费亚洲黄色视频在线观看| 亚欧美综合网。| 日韩成人大片在线观看| 中韩中文字幕在线观看| 亚洲色五月| 家庭乱伦国产精品| 亚州色图欧美| av天堂手机版追回| 97视频免费在线观看| 九九九九日本| 国产呦精品一区二区三区下载| 久久久亚洲精品中文字幕人妻| 午夜精品久久久久久久男人的天堂| 啊啊啊爽爽| 狠狠爱AV| 九九久久久久久爱| 国产操偷| 日韩免费a级毛片无码a∨| 91美女看B| 色噜噜综合在线| 亚洲日韩美女中文字幕乱| 国产美女高潮视频| 亚洲欧美setu| 欧美一区91大爱| 懂色AV蜜臀无码精品APP| 岛国爱情动作片在国产AV无码专区亚洲AV漫画| 人人摸人人干| 99精品网| 岛园激情| 欧美日日操| 自拍偷拍 日韩欧美| 丰满人妻一区二区三区免费 | 91岛国动作片| 国桃视频产巨乳精品一区二区在线| 美女诱惑1区2区| 美女自卫慰黄网站免费| 亚洲精品影视老司机| 一级性爱视频免费观看 | 日本黄色精品| 欧美黑人168页欧美黑人167| 99热免费精品| 吉川爱美98堂在线| 伊人影院在线理论播放 | 亚洲精品一区二区精品| av网站免费看| 秋霞怕怕片| 人人搞人人插人人操| 精品国产一区探花在线观看| 亚洲无线码一区国产欧美国| 日韩精品在线视频在线观看| 国产尤物AV尤物在线观看不卡| 国产熟女一区二区丰满| 亚洲欧美伦综合| 婷婷成人五月天| 日韩欧美蜜桃精品久久中文字幕久久| 看黄片视频免费| 尤物视频网 刘玥| 日本操逼视频导航| 色999偷自拍拍| 精人妻无码一区二区三区伊人直播| av草草在线电影| 搡老女人911熟妇老熟女| 翔田千里Av在线| 黄色片大香蕉| 97在线观视频免费观看| 中文字幕国产在线天堂| 丁香五月性| 夜夜骑天天燥| 日日爱99| ..日韩av毛片精品久久久| 欧美综合另类| 欧美亚洲日本激情在线| 亚洲s在线观看| 后X久久| 丁香五月天视频| 熟女人妻一区二区三区| 日韩高清黄片| 清纯唯美亚洲综合| 秋霞成人做爱| 91人妻丝袜无码| 97国产伦理| 神马麻豆福利院| 青青青青操国内视频在线| 夜夜做夜夜爽精品视频| 国产60页| 激情小说亚洲| 亚洲少妇在线观看| 成人精品无码| 日本在线观看网址| 人妻 中文 日韩| 天天操女人| 台湾佬激情综合| 午夜精品久久999热蜜桃介男人用| 91亚洲狠狠色| 蜜桃网熟妇| 女人天堂av在线播放| 国产精品国产自产高清AV| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 91精品久久久久久综合五月天| 亚洲另类色图片| 粉嫩av在线| 亚洲另类久操网| 91av熟女人妻| 超碰在线974| 五十路六十路素人熟女| 欧美综合在线91| 国产人伦a片信息免费片| 日本黄页视频在线观看| 日韩一级成人毛片免费观看 | 国产强奸91| 九九九九欧美| 婷婷91| 中文操逼字幕| 亚州久久9| 色色婷婷丁香| 亚洲男人综合| 亚洲国产蜜臀系列在线观看| 色婷婷丁香五月| 绯色一区二区三区不卡少妇| 啊啊啊好大好湿| 看一级黄色视频| 中文操逼字幕| 国产精品久久久久久9999| 五月天社区| 国产第25页在线观看| 91色花堂| 久久久久久无码人妻中文字幕| 淫妻综合网| 久操视频资源站公开| 国产精品乱码久久久久| 亚洲人码13| 99热97| 亚洲欧美成人在线| 亚洲国产成人福利在线观看| 久久久久久久9| 农村少妇久久久久久久| 欧美白嫩在线放| 99999无码| 日本熟妇熟色97一本在线观看| 青娱乐国产精品| 这里只有精品视频在线观看麻豆| 热久日综合| 综合色色婷婷| 国产操逼视频在线观看| 国产高清成人免费视频| 欧美日韩妖精91com| 九九热精彩视频| 色九九九综合| 97国产色图| 超碰天天操| 日韩资源网| 久草在| 97超碰超欧美。| 污电影在线观看| 97国产精品久久久久| 国产精品粉嫩福利在线| 超碰久在线天天做| 久久是精品| 亚洲图片 欧美电影| 精品人妻一区二区三区不卡断| 97欧美日韩综合| 超碰在线一区二区| 久久欲| 国产精品免费美女视频| 去干网最新版| 婷婷国产精品九区| 青春草A| 中国91AV| 天天影视色香欲综合网小说| 日韩av免费一级电影| 色哟哟511老熟女| 97五月天| 精品国产国产AV| 欧美日韩制服| 国产一区二区三区白丝| 欧美亚洲中文字幕| 久草久热| 成人草草视频| 日本99久久| 免费观看欧美日韩操逼视频| 色香欲天天天天综合色| 黄页视频网站野外| 欧美九一精品久久久熟妇| 97国产高清视频在线观看| 欧美九一精品久久久熟妇| 狠狠激情综合狠狠操中文字幕| 超碰视97中文| 九月色婷婷| 国模私拍一区二区三区神乳| 天堂av2019| 一区操逼日比视频| 夜夜操中文字幕| 欧美Ⅴ性爱| 色哟哟-国产专区| 青娱乐91| 91碰碰碰| 中文字幕一区二区三区人妻不卡| 欧美日韩精品一区二区三区高清| 草伊人高潮喷水超碰| 天天干天天舔| 欧美视频第二页| 日韩无码三级影院| 久久久性爱视频| 亚洲精品人妻在线| 中文字幕女同在线| 最新岛国大片| 10000部十八禁看电影| 国产午夜在线观看| 欧美激情综合| 97免费视频在线观看| 偷拍欧美激情| 久久精品综合| 秋霞网无码| 国产AV高清AV无码| 日本999精品| 美女视频尤物网在线看| 久久999久| 91艹B视频| 在线视频资源| 亚洲s在线观看| 成人无遮挡毛片免费看| 老师充足的奶水小说| 97超碰久久| 国模限制级电影| 国产性爱强奸乱伦大全| 日本91白丝| 久久久无码精品人妻二区| 亚洲色图欧美视频| 99国产精品久久久在线播放| 伊人麻豆传媒| 午夜精品久久久久久久男人的天堂| 18精品一二区| 欧美躁死她一区二区| 精品国产91av一区二区三区| 国产亚洲精品av一区| 91激情国产| 二对二中文字幕。| www.色婷婷| 亚洲成熟国产精品美女| 狠狠操狠狠操操| 欧美综合传媒| 超碰97最新人妻| 亚洲国产欧美日韩人妻日中文| 蜜乳AV一区二区三区四| 亚洲中字幕日本一区二区三区| 久热这里| 婷婷激情五月综合| 亚州国产成人精品女人久久| 蜜桃色院一区久久 | 欧美日韩国产电影| 亚欧精品久久久久久久久久久| 国产懂色精品国产av| 777AV电影| 欧美性爱日韩性爱| 岛国视频一二三区| 欧美日产国产在线成人第一区| 日产欧美电影一区二区三区| 一区二区三区国产在线播放|