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

ARTICLE DETAIL

資訊詳情

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

ESP32-S3驅(qū)動(dòng)1.69寸電容觸摸屏:LVGL顯示與觸摸坐標(biāo)對(duì)齊實(shí)戰(zhàn)

ESP32-S3驅(qū)動(dòng)1.69寸電容觸摸屏:LVGL顯示與觸摸坐標(biāo)對(duì)齊實(shí)戰(zhàn) 簡(jiǎn)介面向嵌入式與物聯(lián)網(wǎng)開(kāi)發(fā)者的 ESP32S3LVGL 觸摸屏驅(qū)動(dòng)資源圍繞 1.69 英寸電容觸摸屏提供完整圖形界面實(shí)現(xiàn)方案。顯示側(cè)采用 ST7789 控制器通過(guò) SPI 接口傳輸圖像數(shù)據(jù)觸摸側(cè)采用 CST816 芯片支持多點(diǎn)觸控并通過(guò) I2C/SPI 與主控通信。內(nèi)容重點(diǎn)解決兩塊控制器的初始化與驅(qū)動(dòng)適配包括屏幕初始化時(shí)序、SPI 時(shí)鐘配置、觸摸中斷處理、坐標(biāo)上報(bào)格式等關(guān)鍵細(xì)節(jié)同時(shí)將 CST816 的觸摸數(shù)據(jù)接入 LVGL 觸摸輸入層注冊(cè)回調(diào)函數(shù)完成點(diǎn)擊、滑動(dòng)等用戶交互涵蓋 LVGL 8 的配置方式和移植要點(diǎn)適合正在做小型彩屏人機(jī)界面或物聯(lián)網(wǎng)可視化項(xiàng)目的中級(jí)嵌入式開(kāi)發(fā)者參考也可作為快速搭建觸摸界面的起步模板。壓縮包共 971 個(gè)文件約 17.39MB以 C/H 源碼、Python 腳本、Markdown/RST 文檔、PNG/GIF 圖片、FNT 字體及 JSON 配置為主既有源碼示例也有說(shuō)明文檔與構(gòu)建配置便于對(duì)照實(shí)驗(yàn)和二次開(kāi)發(fā)。目前已有 6160 人學(xué)習(xí)使用結(jié)合實(shí)際硬件調(diào)整參數(shù)后即可在此基礎(chǔ)上擴(kuò)展頁(yè)面控件、動(dòng)畫(huà)效果與業(yè)務(wù)邏輯。1. ESP32-S3 LVGL 驅(qū)動(dòng) 1.69 寸電容觸摸屏先打通顯示和觸摸兩條鏈路「ESP32-S3 驅(qū)動(dòng) 1.69 寸電容觸摸屏跑 LVGL」聽(tīng)起來(lái)是件很常規(guī)的事真正動(dòng)手時(shí)卻最容易在兩個(gè)地方翻車屏能點(diǎn)亮但觸摸沒(méi)反應(yīng)或者觸摸能用但坐標(biāo)和顯示完全對(duì)不上。我見(jiàn)過(guò)不少人被「只需四根線」的說(shuō)法誤導(dǎo)結(jié)果卡在 SPI 和 I2C 兩套驅(qū)動(dòng)上一卡就是兩三天。本文就是順著這條落地路徑走一遍先分立驗(yàn)證顯示和觸摸再交給 LVGL 統(tǒng)一調(diào)度最后處理坐標(biāo)對(duì)齊和性能。適合手里已經(jīng)有一塊 1.69 寸電容觸摸屏想用 ESP32-S3 做出可交互界面的開(kāi)發(fā)者已經(jīng)用過(guò) LVGL 的人可以直接跳到坐標(biāo)對(duì)齊那一章。這塊屏雖然小但當(dāng)顯示刷新、觸摸采樣和 LVGL 的刷新機(jī)制對(duì)齊后跑一個(gè)三五百行的 UI 完全夠用。2. 屏和觸摸是兩條獨(dú)立鏈路讀懂 1.69 寸電容觸摸屏的硬件組成2.1 常見(jiàn)驅(qū)動(dòng)組合與引腳識(shí)別ST7789V CST816S1.69 寸電容觸摸屏是一個(gè)「顯示 觸摸」的合屏模組。顯示這邊絕大多數(shù)用的是 ST7789V 這類 SPI 接口的彩色驅(qū)動(dòng) IC觸摸這邊常見(jiàn)的是 CST816S走 I2C 接口。這個(gè)組合的好處是 ESP32-S3 只需要一組 SPI 加一組 I2C總共七八個(gè)引腳就能同時(shí)覆蓋顯示和觸摸如果換成了電阻觸摸屏還要額外占用兩個(gè) ADC 通道反而更麻煩。我一般在拿到模塊后先不看絲印直接把排針標(biāo)號(hào)抄下來(lái)分成兩組一組是 SPI 信號(hào)分別是 CLK、MOSI、CS、DC、RST再帶上 BL 背光另一組是觸摸信號(hào)常見(jiàn)的是 T_SDA、T_SCL、T_INT有的板子還會(huì)給 T_RST。這組信號(hào)中T_RST 不是必須的因?yàn)楹芏嘤|摸控制器的復(fù)位可以和顯示復(fù)位共用或者模塊內(nèi)部已經(jīng)做了 RC 復(fù)位電路。不過(guò)我會(huì)建議你單獨(dú)引一根出來(lái)排錯(cuò)的時(shí)候很有用后面第 5 章的避坑記錄里會(huì)看到原因。下面這個(gè)表是我常用的接線約定具體 GPIO 號(hào)根據(jù)開(kāi)發(fā)板的引出情況自行調(diào)整信號(hào)建議 GPIO說(shuō)明LCD_SCLKGPIO12SPI 時(shí)鐘LCD_MOSIGPIO11主機(jī)輸出屏端輸入LCD_CSGPIO10片選低有效LCD_DCGPIO9數(shù)據(jù)/命令選擇LCD_RSTGPIO8復(fù)位低有效LCD_BLGPIO7背光高電平點(diǎn)亮TOUCH_SDAGPIO4I2C 數(shù)據(jù)TOUCH_SCLGPIO5I2C 時(shí)鐘TOUCH_INTGPIO6觸摸中斷可不上拉有兩點(diǎn)要提前確認(rèn)第一1.69 寸這類小屏的背光電流通常不大直接由 GPIO 驅(qū)動(dòng)沒(méi)問(wèn)題但如果你遇到背光閃爍就在 BL 到 GND 之間加一個(gè) 100nF 電容或者用三極管驅(qū)動(dòng)第二I2C 的 SDA/SCL 必須在模塊端有 4.7kΩ 左右的上拉電阻。很多觸摸模塊出廠時(shí)把這組電阻也焊上了但有些廉價(jià)款會(huì)省略這時(shí)候需要在外部再加兩個(gè)上拉電阻否則觸摸會(huì)時(shí)好時(shí)壞。先把這個(gè)硬件前提理清楚后面所有軟件問(wèn)題都不會(huì)指向接線錯(cuò)誤。提示在跑任何軟件之前用萬(wàn)用表量一次 VCC 對(duì) GND 的阻值以及 RST 引腳對(duì)上電瞬間的復(fù)位波形。這樣能省下一整天排查玄學(xué)問(wèn)題的時(shí)間。2.2 點(diǎn)亮 LCDSPI 初始化、復(fù)位時(shí)序和最小命令序列我常用的方式是基于 ESP-IDF 的 SPI 主機(jī)接口先把總線初始化出來(lái)再注冊(cè)一個(gè)設(shè)備給屏幕。下面是最小代碼關(guān)鍵參數(shù)都寫(xiě)了注釋#include driver/spi_master.h #define PIN_LCD_SCLK GPIO_NUM_12 #define PIN_LCD_MOSI GPIO_NUM_11 #define PIN_LCD_CS GPIO_NUM_10 #define PIN_LCD_DC GPIO_NUM_9 #define PIN_LCD_RST GPIO_NUM_8 #define PIN_LCD_BL GPIO_NUM_7 #define LCD_H_RES 240 #define LCD_V_RES 280 spi_device_handle_t spi_lcd; static void lcd_spi_init(void) { spi_bus_config_t bus_cfg { .sclk_io_num PIN_LCD_SCLK, .mosi_io_num PIN_LCD_MOSI, .miso_io_num -1, // 寫(xiě)屏為主不讀數(shù)據(jù)就用不到 MISO .quadwp_io_num -1, .quadhd_io_num -1, .max_transfer_sz LCD_H_RES * LCD_V_RES * 2, }; esp_err_t ret spi_bus_initialize(SPI2_HOST, bus_cfg, SPI_DMA_CH_AUTO); ESP_ERROR_CHECK(ret); spi_device_interface_config_t dev_cfg { .clock_speed_hz 40 * 1000 * 1000, // 小屏跑 40MHz 很穩(wěn) .mode 0, // ST7789V 用 mode 0 或 mode 3 .spics_io_num PIN_LCD_CS, .queue_size 7, }; ret spi_bus_add_device(SPI2_HOST, dev_cfg, spi_lcd); ESP_ERROR_CHECK(ret); }這里有兩處要說(shuō)明。一是max_transfer_sz我直接給了整幀的字節(jié)數(shù)240*280*2這樣后續(xù)一幀一次性 DMA 發(fā)送也不會(huì)被限制如果你內(nèi)存緊張可以改成240*280*2/8甚至更小但每次 flush 的數(shù)據(jù)塊就不能超過(guò)這個(gè)值。二是mode 0ST7789V 支持 mode 0 和 mode 3都表現(xiàn)為能點(diǎn)亮但在高速 SPI 下 mode 0 更常見(jiàn)如果你發(fā)現(xiàn)畫(huà)面有規(guī)律錯(cuò)位可以試 mode 3這屬于換著試的范疇。點(diǎn)亮屏幕還需要一套初始化命令。我不建議把某家供應(yīng)商的幾十條初始化序列原封不動(dòng)貼進(jìn)來(lái)最關(guān)鍵是以下幾條static void lcd_write_cmd(uint8_t cmd) { gpio_set_level(PIN_LCD_DC, 0); spi_transaction_t t { .length 8, .tx_buffer cmd }; spi_device_polling_transmit(spi_lcd, t); } static void lcd_write_data(const uint8_t *data, size_t len) { gpio_set_level(PIN_LCD_DC, 1); spi_transaction_t t { .length len * 8, .tx_buffer data }; spi_device_polling_transmit(spi_lcd, t); } static void lcd_init_sequence(void) { gpio_set_level(PIN_LCD_RST, 0); vTaskDelay(pdMS_TO_TICKS(20)); // 復(fù)位低電平保持時(shí)間 gpio_set_level(PIN_LCD_RST, 1); vTaskDelay(pdMS_TO_TICKS(120)); // 退出復(fù)位要等穩(wěn)定 lcd_write_cmd(0x11); // Sleep Out vTaskDelay(pdMS_TO_TICKS(120)); uint8_t madctl 0x00; // 默認(rèn)掃描方向先讓畫(huà)面正常 lcd_write_cmd(0x36); lcd_write_data(madctl, 1); uint8_t pixfmt 0x55; // RGB56516位色 lcd_write_cmd(0x3A); lcd_write_data(pixfmt, 1); lcd_write_cmd(0x29); // Display ON vTaskDelay(pdMS_TO_TICKS(20)); gpio_set_level(PIN_LCD_BL, 1); }在初始化里0x36是內(nèi)存訪問(wèn)控制它會(huì)同時(shí)影響 RGB 順序、行/列掃描方向和顯示刷新方向這個(gè)寄存器是你后面做坐標(biāo)對(duì)齊的老朋友0x3A設(shè)置像素格式為0x55意思是 16 位 RGB565。0x11退出睡眠后必須等待 120ms 左右否則后續(xù)命令可能被忽略表現(xiàn)就是背光亮但屏幕一直是白屏。這一整套跑完后如果屏有背光但沒(méi)有任何顏色變化試著在0x29后面加讀返回狀態(tài)大多數(shù)時(shí)候是 SPI 引腳映射寫(xiě)錯(cuò)或者 DC 高低電平反了。2.3 讓觸摸獨(dú)立工作I2C 讀 CST816S 坐標(biāo)并打印驗(yàn)證觸摸這邊不需要任何初始化序列上電后用 I2C 掃描到0x15這個(gè)地址就算基本通了。CST816S 的觸摸坐標(biāo)寄存器在不同批次上存在差異所以我習(xí)慣一次性讀 6 個(gè)字節(jié)打印出來(lái)看#include driver/i2c.h #define TOUCH_ADDR 0x15 void touch_i2c_init(void) { i2c_config_t conf { .mode I2C_MODE_MASTER, .sda_io_num GPIO_NUM_4, .scl_io_num GPIO_NUM_5, .sda_pullup_en GPIO_PULLUP_ENABLE, .scl_pullup_en GPIO_PULLUP_ENABLE, .master.clk_speed 400000, // 觸摸 IC 允許 400KHz }; i2c_param_config(I2C_NUM_0, conf); i2c_driver_install(I2C_NUM_0, I2C_MODE_MASTER, 0, 0, 0); } bool touch_read_raw(uint8_t raw[6]) { i2c_cmd_handle_t cmd i2c_cmd_link_create(); i2c_master_start(cmd); i2c_master_write_byte(cmd, (TOUCH_ADDR 1) | I2C_MASTER_WRITE, true); i2c_master_write_byte(cmd, 0x00, true); // 從寄存器 0x00 開(kāi)始連續(xù)讀 i2c_master_start(cmd); i2c_master_write_byte(cmd, (TOUCH_ADDR 1) | I2C_MASTER_READ, true); i2c_master_read(cmd, raw, 6, I2C_MASTER_LAST_NACK); i2c_master_stop(cmd); esp_err_t ret i2c_master_cmd_begin(I2C_NUM_0, cmd, 100 / portTICK_PERIOD_MS); i2c_cmd_link_delete(cmd); return ret ESP_OK; }讀到raw[0]到raw[5]后先不要急著解析。在開(kāi)發(fā)板下載口接一組串口日志手指按住觸摸屏的不同位置把 6 個(gè)字節(jié)全部打印出來(lái)。按下與抬起之間至少會(huì)有一個(gè)字節(jié)出現(xiàn)連續(xù)變化常見(jiàn)布局是raw[1]的 bit0 表示觸摸狀態(tài)raw[2]是高 4 位坐標(biāo)raw[3]是低 8 位raw[4]和raw[5]同理。有的模塊會(huì)把坐標(biāo)整體右移一位這就是為什么直接抄網(wǎng)上的寄存器表不一定好使。打印兩三次后你就知道自己的板子用哪種映射。我一般會(huì)在這一步先驗(yàn)證一下坐標(biāo)范圍。用指尖從左上角滑到右下角記錄數(shù)值如果最大值在 240 和 280 附近說(shuō)明坐標(biāo)是屏幕物理分辨率如果跑滿 4095說(shuō)明它工作在低分辨率模式需要檢查觸摸 IC 上電后的輸出配置。CST816S 的坐標(biāo)位數(shù)可以通過(guò)寄存器配置但絕大多數(shù)模塊出廠已經(jīng)設(shè)好不用額外寫(xiě)。I2C 連不上時(shí)優(yōu)先檢查觸摸 IC 的復(fù)位引腳很多模塊的觸摸復(fù)位會(huì)被顯示復(fù)位一起拉低導(dǎo)致上電后觸摸 IC 還沒(méi)從復(fù)位中釋放I2C 掃描就會(huì)失敗。這一步獨(dú)立跑通后再進(jìn) LVGL你會(huì)少掉一半的排錯(cuò)煩惱。接下來(lái)我們把這兩條鏈路交給 LVGL 來(lái)調(diào)度。3. LVGL 移植顯示 driver 和觸摸 driver 的接入方式?jīng)Q定一切3.1 lv_conf.h 里的關(guān)鍵開(kāi)關(guān)LV_COLOR_DEPTH、字體和 tick 設(shè)置LVGL 本身不是驅(qū)動(dòng)庫(kù)它只是定義了一套顯示驅(qū)動(dòng)接口和刷新流程。所以第一步不是寫(xiě)代碼而是把lv_conf.h里幾個(gè)關(guān)鍵開(kāi)關(guān)打開(kāi)。這里我默認(rèn)用 LVGL v8.3.x接口穩(wěn)定網(wǎng)上資料也多如果你用的是 v9接口名會(huì)變我將在 3.4 里給出區(qū)別表底層思路完全一致。我常用的一組最小配置如下#define LV_COLOR_DEPTH 16 // 匹配 ST7789V 的 RGB565 #define LV_USE_LOG 1 #define LV_LOG_PRINTF 1 #define LV_TICK_CUSTOM 0 // 使用外部 tick 源 #define LV_USE_ASSERT_NULL 1 #define LV_FONT_MONTSERRAT_16 1 #define LV_FONT_MONTSERRAT_24 1 #define LV_USE_PERF_MONITOR 1LV_COLOR_DEPTH必須和屏幕像素格式一致這一項(xiàng)設(shè)錯(cuò)會(huì)直接導(dǎo)致顏色錯(cuò)亂。LV_USE_PERF_MONITOR是我強(qiáng)烈建議打開(kāi)的它會(huì)在屏幕上畫(huà)出幀率統(tǒng)計(jì)后期定位性能問(wèn)題非常有用量產(chǎn)前再關(guān)掉。LV_FONT_MONTSERRAT_24對(duì)應(yīng) 1.69 寸屏上的可讀字號(hào)如果沒(méi)有啟用你調(diào)用lv_label_set_text時(shí)界面會(huì)只顯示空白。LV_TICK_CUSTOM的原則是如果系統(tǒng)里已經(jīng)有 1ms 的定時(shí)器就通過(guò)lv_tick_inc(1)喂給 LVGL如果沒(méi)有才打開(kāi)LV_TICK_CUSTOM。ESP-IDF 環(huán)境下我推薦用esp_timer創(chuàng)建一個(gè) 1ms 周期回調(diào)實(shí)際過(guò)程是這樣的static void lv_tick_cb(void *arg) { lv_tick_inc(1); } void lvgl_tick_init(void) { esp_timer_handle_t tick_timer; esp_timer_create_args_t tick_args { .callback lv_tick_cb, .arg NULL, .name lv_tick, }; esp_timer_create(tick_args, tick_timer); esp_timer_start_periodic(tick_timer, 1000); // 每 1ms 觸發(fā)一次 }注意 1ms 的周期是 LVGL 動(dòng)畫(huà)和輸入事件的基礎(chǔ)心跳如果周期偏大動(dòng)畫(huà)卡頓、觸摸響應(yīng)延遲會(huì)一并出現(xiàn)。esp_timer 的回調(diào)上下文不能做耗時(shí)操作這里只是累加一個(gè)計(jì)數(shù)完全沒(méi)問(wèn)題。3.2 注冊(cè)顯示設(shè)備flush_cb 要遵守的規(guī)則LVGL 把屏幕抽象成一個(gè)lv_disp_drv_t。注冊(cè)顯示設(shè)備時(shí)只需要告訴它屏幕的邏輯分辨率、繪制緩沖區(qū)和刷新回調(diào)。下面是 v8 的注冊(cè)方式static lv_disp_draw_buf_t draw_buf; static lv_color_t buf[240 * 280 / 10]; // 1/10 屏的繪制緩沖區(qū) void lvgl_display_init(void) { lv_disp_draw_buf_init(draw_buf, buf, NULL, 240 * 280 / 10); lv_disp_drv_t disp_drv; lv_disp_drv_init(disp_drv); disp_drv.hor_res 240; disp_drv.ver_res 280; disp_drv.flush_cb st7789_flush; disp_drv.draw_buf draw_buf; disp_drv.full_refresh false; // 允許局部刷新 lv_disp_drv_register(disp_drv); }緩沖區(qū)大小是個(gè)權(quán)衡。1/10 屏大概是 240*28 個(gè)像素在內(nèi)存占用和刷新速度之間比較均衡。如果你的 UI 里有大面積動(dòng)態(tài)圖像可以改成 1/4 屏甚至使用雙緩沖lv_disp_draw_buf_init(draw_buf, buf1, buf2, SIZE)但 ESP32-S3 整體 RAM 有限整屏雙緩沖會(huì)吃 134KB 內(nèi)存除非你外掛 PSRAM否則我不建議。full_refreshfalse讓 LVGL 只更新臟區(qū)域這對(duì)小屏相當(dāng)重要能減少無(wú)謂的 SPI 傳輸。st7789_flush是真正的關(guān)鍵時(shí)刻。LVGL 會(huì)調(diào)用這個(gè)回調(diào)告訴你要更新的矩形區(qū)域area和緩沖區(qū)color_p你需要把這片區(qū)域的像素搬到屏幕上并在完成后通知 LVGL。示例代碼static void st7789_flush(lv_disp_drv_t *drv, const lv_area_t *area, lv_color_t *color_p) { uint32_t w lv_area_get_width(area); uint32_t h lv_area_get_height(area); st7789_set_window(area-x1, area-y1, area-x2, area-y2); st7789_push_pixels((uint8_t *)color_p, w * h * 2); lv_disp_flush_ready(drv); }st7789_set_window向屏幕寫(xiě)入列地址0x2A和行地址0x2B然后寫(xiě) RAM0x2C。st7789_push_pixels可以直接復(fù)用前面 SPI 設(shè)備的spi_device_polling_transmit把color_p的原始內(nèi)存作為tx_buffer發(fā)出去。這里需要注意的是color_p的字節(jié)序問(wèn)題。LVGL 內(nèi)部根據(jù)LV_COLOR_DEPTH16來(lái)存儲(chǔ)顏色在 ESP32-S3 上就是一個(gè) 16 位小端整數(shù)而 ST7789V 的 RGB565 也希望收到先低位后高位的字節(jié)流。大多數(shù)情況下這兩個(gè)字節(jié)序天然一致直接發(fā)即可如果出現(xiàn)紅色和藍(lán)色互換不要急著改像素格式而是先去排查初始化里的0x36RGB 位。不能忘記的是lv_disp_flush_ready(drv)。LVGL 依靠這個(gè)函數(shù)確認(rèn)緩沖區(qū)已被釋放。如果你用了 DMA 異步發(fā)送必須在發(fā)送完成中斷或回調(diào)里調(diào)用如果漏掉它繪制流程會(huì)卡死表現(xiàn)為畫(huà)面只有第一幀或持續(xù)卡頓。3.3 注冊(cè)輸入設(shè)備read_cb 的寫(xiě)法與調(diào)用頻率觸摸屏在 LVGL 里注冊(cè)成LV_INDEV_TYPE_POINTER輸入設(shè)備。LVGL 會(huì)周期性調(diào)用read_cb因此在回調(diào)里盡量只做緩存讀和狀態(tài)轉(zhuǎn)換不要把耗時(shí)的 I2C 多次讀取放在這里。示例static void touchpad_read(lv_indev_drv_t *drv, lv_indev_data_t *data) { static uint16_t last_x 0, last_y 0; static bool last_pressed false; uint16_t x, y; bool pressed; if (touch_read_point(x, y, pressed)) { last_x x; last_y y; last_pressed pressed; // 在這里可以加入旋轉(zhuǎn)映射函數(shù) map_touch_coords(...) } >#define TOUCH_MAX_X 240 #define TOUCH_MAX_Y 280 void map_touch_coords(uint16_t tx, uint16_t ty, uint16_t *dx, uint16_t *dy, uint8_t rot) { switch (rot) { case 0: // 0 度原樣 *dx tx; *dy ty; break; case 1: // 90 度交換 X/Y修正新 X *dx ty; *dy TOUCH_MAX_X - 1 - tx; break; case 2: // 180 度 *dx TOUCH_MAX_X - 1 - tx; *dy TOUCH_MAX_Y - 1 - ty; break; case 3: // 270 度 *dx TOUCH_MAX_Y - 1 - ty; *dy tx; break; default: break; } }這個(gè)映射的正確性依賴于TOUCH_MAX_X和TOUCH_MAX_Y的原始值。比如 1.69 寸屏物理分辨率是 240寬x 280高如果觸摸 IC 輸出的 X 范圍是 240Y 范圍是 280那上面公式成立但如果你之前為了不裁剪畫(huà)面把 LVGL 設(shè)置成了 280x240 橫屏這里的TOUCH_MAX_X和TOUCH_MAX_Y還是橫屏?xí)r用的 240 和 280映射就會(huì)出錯(cuò)。所以第一步還是在 2.3 里的打印結(jié)果里確認(rèn)觸摸最大坐標(biāo)。把rot從 0 到 3 依次試一遍總有一個(gè)方向是對(duì)的這不是土辦法而是因?yàn)橛|摸 IC 和 LCD 之間的裝配誤差本來(lái)就是批次性的先枚舉再固化是更可靠的落地路徑。4.3 三招驗(yàn)證觸摸映射打印坐標(biāo)、十字線和四角標(biāo)定試映射前不要直接跑業(yè)務(wù)界面先用三個(gè)手段確認(rèn)。第一在 LVGL 里放一個(gè)標(biāo)簽實(shí)時(shí)顯示觸摸坐標(biāo)同時(shí)用串口打印原始坐標(biāo)和映射后的坐標(biāo)手指從左上角劃到右下角觀察兩個(gè)坐標(biāo)的關(guān)系。第二畫(huà)一個(gè)全屏十字線橫豎各一條點(diǎn)擊交叉點(diǎn)附近看點(diǎn)擊高亮是否跟隨手指。第三四角標(biāo)定依次點(diǎn)擊屏幕四個(gè)角對(duì)比坐標(biāo)是否分別接近(0,0)、(W-1,0)、(0,H-1)、(W-1,H-1)。如果四個(gè)角的誤差不大但整體有偏移可能不是方向問(wèn)題而是屏幕區(qū)域有邊框。很多 1.69 寸模組本身帶有一個(gè)約 2~3 像素的觸摸邊距觸摸原點(diǎn)并不在 LCD 顯示區(qū)域的真正角落。此時(shí)可以在映射函數(shù)里加上偏移量#define TOUCH_OFFSET_X 2 #define TOUCH_OFFSET_Y 2 // 在每路選擇映射前先做裁剪 if (tx TOUCH_OFFSET_X) tx 0; else tx - TOUCH_OFFSET_X; if (ty TOUCH_OFFSET_Y) ty 0; else ty - TOUCH_OFFSET_Y;這一步做完后再進(jìn) LVGL demo。如果只是方向不平上面rot試一次就搞定如果需要修正偏移那這已經(jīng)是可用性達(dá)標(biāo)的狀態(tài)。至于更嚴(yán)格的九點(diǎn)校準(zhǔn)在小尺寸電容屏上沒(méi)必要因?yàn)榫€性度通常很好反而是校準(zhǔn)表會(huì)占用大量?jī)?nèi)存。四角驗(yàn)證足夠。5. 避坑清單ESP32-S3 接 1.69 寸電容觸摸屏的五個(gè)高頻排錯(cuò)點(diǎn)5.1 屏亮但畫(huà)面花屏或白屏現(xiàn)象背光正常但整屏顯示亂碼或者一直白屏沒(méi)有任何內(nèi)容。 原因最常見(jiàn)有三類SPI 的 mode 設(shè)錯(cuò)導(dǎo)致采樣沿不對(duì)max_transfer_sz太小一次傳輸被截?cái)喑跏蓟顩](méi)有按順序執(zhí)行尤其0x11后的延時(shí)不夠。 解決先把 SPI 速度降到 26MHzmode 固定 0 和 3 各試一次max_transfer_sz給到一幀大小如果內(nèi)存不夠就給到 1/4 幀并確認(rèn) flush 的傳輸長(zhǎng)度不超過(guò)它把0x11后的延時(shí)加到 150ms。白屏還有個(gè)容易被忽略的地方就是 DC 引腳接錯(cuò)命令和數(shù)據(jù)全被當(dāng)成命令處理表現(xiàn)是屏幕一直顯示一塊固定顏色但沒(méi)圖形。5.2 I2C 掃描不到觸摸地址現(xiàn)象用 I2C scanner 掃描一路都掃不到0x15觸摸完全無(wú)響應(yīng)。 原因排線接線錯(cuò)位、I2C 上拉電阻缺失、觸摸 IC 的復(fù)位沒(méi)有釋放或者觸摸 IC 被拉進(jìn)了睡眠模式。 解決先用萬(wàn)用表量 T_SDA/T_SCL 到 VCC 的電壓正常應(yīng)接近 3.3V 高電平再確認(rèn)模塊的觸摸復(fù)位引腳 T_RST 沒(méi)有被誤拉低可以在初始化時(shí)把 T_RST 拉高并保持。某些模塊的觸摸復(fù)位和 LCD 復(fù)位共用引腳如果 LCD 初始化最后把復(fù)位引腳一直拉低觸摸 IC 就永遠(yuǎn)處于復(fù)位態(tài)這在排針編號(hào)不清晰時(shí)非常隱蔽。解決方法是初始化結(jié)束后把 RST 全部拉高再掃描 I2C。5.3 觸摸能讀但坐標(biāo)完全反了現(xiàn)象手指點(diǎn)在左上角光標(biāo)出現(xiàn)在右下角或者左右鏡像、上下顛倒。 原因觸摸 IC 和 LCD 被屏幕接線方向定義成了不同的原點(diǎn)LVGL 側(cè)又開(kāi)啟了不同角度的旋轉(zhuǎn)。 解決先固定一個(gè)顯示掃描方向比如通過(guò)0x36讓畫(huà)面在正向安裝時(shí)正常然后在read_cb里用 4.2 的map_touch_coords枚舉四種rot。不要同時(shí)改0x36和映射函數(shù)兩處一起改會(huì)很難判斷到底差在哪。確認(rèn)方案后把映射固化再裁剪TOUCH_MAX_X/Y到屏幕實(shí)際范圍。5.4 顏色不對(duì)紅色和藍(lán)色互換現(xiàn)象顯示燒錄圖片時(shí)膚色全偏成綠色或者條形圖里紅藍(lán)對(duì)調(diào)。 原因SPI 發(fā)送的是 LVGL 生成的小端 16 位顏色而屏端按大端 RGB565 處理或者0x36里的 BGR 位被設(shè)成了相反值。 解決優(yōu)先改0x36的 RGB 順序位而不是去改lv_color_t的存儲(chǔ)方式。記住LV_COLOR_DEPTH16只是確定每個(gè)像素兩個(gè)字節(jié)沒(méi)有規(guī)定這兩個(gè)字節(jié)的發(fā)送順序。如果你用 DMA 發(fā)送時(shí)發(fā)現(xiàn)每次總是低字節(jié)先出去而屏希望高字節(jié)先到就需要在st7789_push_pixels里做一次字節(jié)交換或者設(shè)置MADCTL的 BGR 位。對(duì) ST7789V 來(lái)說(shuō)正確設(shè)置0x36后就不需要額外交換。5.5 LVGL 偶爾卡死或復(fù)位現(xiàn)象UI 運(yùn)行幾分鐘后ESP_ERROR_CHECK報(bào) SPI timeout或者看門狗復(fù)位debug 里看到 LVGL 斷言在 flush 回調(diào)。 原因flush 回調(diào)里使用的是阻塞spi_device_polling_transmit當(dāng) LVGL 刷新頻率高時(shí) SPI 傳輸容易排隊(duì)超時(shí)也可能繪制緩沖區(qū)太大超過(guò)了默認(rèn)任務(wù)棧。 解決第一把 flush 里的 SPI 發(fā)送改成spi_device_transmit它使用中斷不會(huì)占用調(diào)用線程第二確認(rèn)任務(wù)棧至少給到4096字節(jié)把 LVGL 的繪制和刷新放在獨(dú)立任務(wù)里不要讓它在低??臻g里跑第三如果還卡把繪制緩沖區(qū)從 1/4 屏降到 1/10 屏降低每幀傳輸量。這幾個(gè)參數(shù)互相影響改一個(gè)不夠就三個(gè)一起調(diào)。6. 進(jìn)階驗(yàn)證刷新幀率、減小 LVGL 內(nèi)存占用與后續(xù)優(yōu)化到這一步屏幕已經(jīng)能正常顯示、觸摸也能點(diǎn)準(zhǔn)了但這個(gè)項(xiàng)目還不算真正立住了。我通常會(huì)在交付前做兩件事先用性能數(shù)據(jù)驗(yàn)證整體流暢度再根據(jù)數(shù)據(jù)決定要不要繼續(xù)壓縮內(nèi)存。LVGL v8 自帶的LV_USE_PERF_MONITOR會(huì)在屏幕右上角顯示一個(gè)刷新率數(shù)值這是最直接的辦法。如果你的 UI 只有幾個(gè)頁(yè)面切換數(shù)值一般能達(dá)到 30 FPS 左右如果低于 15 FPS就要考慮繪制緩沖區(qū)大小或 SPI 頻率了。如果你想自己統(tǒng)計(jì)也可以開(kāi)一個(gè)定時(shí)器統(tǒng)計(jì)每秒調(diào)用lv_task_handler的次數(shù)static uint32_t task_cnt 0; static void count_task(void *arg) { task_cnt; } static void fps_timer_cb(lv_timer_t *t) { static uint32_t last_cnt 0; uint32_t now_cnt task_cnt; ESP_LOGI(perf, fps: % PRIu32, now_cnt - last_cnt); last_cnt now_cnt; }這只是個(gè)統(tǒng)計(jì)手段重點(diǎn)是后續(xù)優(yōu)化方向。如果 CPU 占用率不高但幀率低問(wèn)題多半在 SPI 傳輸和 LVGL 的單緩沖等待如果 CPU 占用率接近 100%問(wèn)題在繪制開(kāi)銷。對(duì) 1.69 寸屏我常用的三個(gè)優(yōu)化手段依次是繪制緩沖區(qū)改為雙緩沖約 1/4 屏讓 LVGL 在繪制下一幀時(shí)上一幀還能并行傳輸SPI 開(kāi)啟 40MHz 以上并啟用 DMA如果 UI 全都是扁平色塊和文字把LV_COLOR_DEPTH從 16 降為 8 位調(diào)色板能顯著減內(nèi)存但代價(jià)是不能顯示透圖和色彩豐富的圖片。圖形庫(kù)里還要記得關(guān)掉陰影、透明度和動(dòng)畫(huà)特效這些在 1.69 寸小屏上效果有限卻會(huì)直接拖慢刷新。我自己的習(xí)慣是把這套顯示驅(qū)動(dòng)封裝成獨(dú)立模塊st7789_init、touch_init、lvgl_init三個(gè)函數(shù)彼此解耦這樣換另一塊 1.69 寸屏?xí)r只需要改驅(qū)動(dòng)參數(shù)。前期這些驅(qū)動(dòng)層面被驗(yàn)證好了后面所有 LVGL 界面開(kāi)發(fā)才不會(huì)反復(fù)遷就硬件層的意外。希望這套來(lái)自采坑經(jīng)驗(yàn)的接法能幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
桔色成人官方网站| 青青草免费公开视频| 五月天色婷婷综合| 激情5月婷婷| 97久久精品| 精品一二三区久久AAA片| 久久久久久丁香五月| 在线观看欧美| 五月婷婷9| 久久99网站| 色偷偷色婷婷| 日日做天天操夜夜爽| 影音先锋一区| 激情综合在线播放| 久久44| 人人操人人干AV| 婷婷瑟五月天久久综合| 婷婷亚洲五| 91精品国产色猫| 五月婷婷无码| 五月婷婷五月天| 99国产精品久久久久久久久久久| 开心五月深爱婷婷| 影音先锋 婷婷| 97人人草| 五月丁香啪啪| 色综合色五月| 色色色色综合网| 日韩五月婷婷久久| 大香蕉五月天| 99热在线观看| 婷婷五月天日本国产| 欧美大道不卡| 小骚穴电影| 丁香色婷婷色手机免费在线| 日本强伦片中文字幕免费看| 九九热在线99| 激情五月色婷婷| 中文字幕丰满人妻无码专区| 超碰国产AV| 丁香五月婷婷色| 99久久国产宗和精品1上映| 庭庭久久内射| 大香蕉久艹| 丁香六月婷| 九九综合九色欧美狠狠| 九九色情网五月天| 婷婷激情五月视频| 91狼友视频网页更新| 乱精品一区字幕二区| 色色色国产| 婷婷五月婷婷| 91碰在线| 青青草成人网| 青青草国产亚洲精品久久| 综合色情网| 婷婷久久精品| 五月婷在线观看| 婷婷色九月| 91色五月| 99热 这里只有精品 国产 日韩| 国产精品99久久久久久猫咪| 级情九色| 色综合久久伊伊婷婷五月| 久久久91| 新99色色色色色色| 激情五月天免费视频| 五月婷婷色丁香| 国产又黄又爽又激情不遮挡视频在线观看| 婷婷色情小说| www.狠狠| 婷婷激情图片| 国产激情一区| 中文字幕,综合,91| 91日视频| 亚洲精品乱码久久久久99| 華人性愛AV在線| 日本va欧美va精品发布视频| 天天色五月| 天天摸日日舔狠狠添婷婷婷| 五月婷婷色五月| 五月天综合在线观看视频| 99网| 狠狠色噜噜狠狠狠狠综合| 成人精品在线观看| 久久99人人| 久9热插入| 精品一区二区三区三区| 日韩黄色网络| oVV4WIB3vFi8D| 六月丁香激情婷婷| 九九热黄色| 五月婷在线| 五月日韩中文字幕| 久久99久久99精品免观看粉嫩| 日本色道视频网站| 夜丁香五月婷婷| 99久久久久久www| 综合久久婷婷| 色色六月| 第2色五月婷| 婷婷日日天天| 五月大香蕉| 影音先锋女人AA鲁色资源| 色99欧洲色19| 精品国产va久久久久| 色99综合视频| AV九九| 日99网站| 亚洲色婷婷| 丁香五月在线视频黑人| 婷婷综合网| 久久视频在线视频| 丁香五月婷婷99| 婷婷五月亚洲激情| 丁香婷婷激情| 综合色在线| 99久久99久久| 丁香 婷婷 亚洲 熟女| 99热亚洲| 久久婷婷五| 天天做天天爱天天搞| 综合网五月天123| 亚洲精品视频电影| 日本熟女啪啪| 99亚洲综合| 久久99热这里只有精品| www超碰com| 免费黄色片子| 国产精品美女| 久久爱综合| 欧美又粗又大一区二区在线观看| 99九九视频精彩在线| 极品人妻VIDEOSSS人妻| 久久丁香五月婷婷| 97精品自拍视频| 欧美成人一区二区三区在线视频| 亚洲中文字幕AV| 婷婷瑟瑟五月天| 五月婷婷天| 亚洲激情Av| www.夜夜操.con| 123草逼网| 久久激情中文| 五月丁香少妇网| 色天堂在线| 九九热9| 这里都是精品99| 五月婷婷六月色| 婷婷五月欧美综合| 五月天婷婷色播在线网| 五月丁香久久| Av性爱网| 能看的AV| 久久久久久久久久久久久久人妻视频| 婷婷五月天综合在线| Caop在线| 99热这里只有精品5| caop视频| 色丁香久综合在线久综合在线观看| 六月丁香婷婷综合在线| 国产综合丁香五月天| 五月情综合| 狠狠色丁香| 9热久久在线| 五月色天五月色| 另类专区在线| 97人人草| 婷婷五月天av| AV五月丁香| 婷婷丁香18| 91九色国产| 99综合网| 国产在线黄色| 涩涩涩五月天| 婷婷五月丁香狠狠| 操操操B| www.人人操人人看人人想人人摸 人人人人操,COM| 亚洲午夜AV| 丁香五月综合首页| 大香蕉中文| 久久婷婷五月综合色丁香| www.色五月.com| 色九月综合| 丁香五月天视频在线播放| 极品人妻VIDEOSSS人妻| 五月丁香激情欧洲啪啪| 色五月综合97| 国产91视频| 91ncom.色| 1024人妻| 亚洲免费99| 丁香九色不卡aaa| 亚洲综合丁香五月天| 热久久婷婷| 亚洲性色XXXXX| 熟妇高潮一区av| 新激情五月天色播| 大香蕉欧美在线| 噜噜操操| 色婷婷色99国产综合精品| 久久综合婷婷| SS丁香五月婷婷| 爱iii做iiii日日| 五月丁香六月激情综合欧美| 婷婷五月丁香六月| 九九99九九精品免费| 第一区久久网站| 亚洲区1| 久久九九国产精品怡红院| www.sebowuyue| 淫视馆aV二区一区| 俺去啦综合网| www.com亚洲网站在线免费| 九九综合| 另类综合网| 日本欧美啪啪| 亚洲无码99| 亚洲激情综合五月婷婷啪啪| 久久久久亚洲AV成人无码电影| 丁香五月AV| 噜综合| 狠狠婷婷色| 五月天婷婷无码| 国产亚洲色婷婷久久99精品91| 中文字幕AV网址| www久久五月com| 影音先锋男人AV资源站| 五月天色区| 99热99热99热99热| 丁香五月婷婷深爱综合激情| 五月婷婷之综合激情在线| 婷婷激情九月| 激情五月天www| 色婷婷成人网| 日韩久久日| 人妻综合网| 天天插天天很| 久久9久| 丁香五月婷婷图片综合| 日本在线视频播放91| 这里只有视频精品| 五月丁香婷婷综合视频| 色五月婷婷在线观看第一页舔| 色婷婷精品视频| 五月天日日操夜夜操 | 天天爽天天爽| 色婷婷综合久久久久| 99国产在线精品视频| 五月激情小说| 这里只有精品9| 轮奸综合网| 色播色丁香五月| 色婷婷久久| 色色网站在线| 日本成人小说婷婷六月| 丁香五月网络网络| 久久三级视频| 欧美在线97| 玖玖婷婷五月天毛片| www.日日夜夜.com| 黄色成人网站在线播放| 色播播五月| 五月天六月天| 开心婷婷五月激情网小说| 97艹| 超碰在线观看caop| 丁香六月五月婷婷| 激情久久综合网| 色情·com| 玖玖午夜视频| 综合久久伊人| 久久婷婷五月综合色天| 久久激情四射| 北条麻妃伊人| 婷婷婷婷午夜| 丁香婷婷天堂| 色99综合色88| 丰滿爆乳一区二区三区| 伊人久久丁香狠狠婷婷综合香蕉| 免费做A爰片77777| 熟妇人妻中文字幕无码老熟妇 | 丁香五月天堂网| 91日韩美女被插视频| 在线看AV| 黄色AAAAAAA| 色香蕉精品五夜婷| 亚洲综合色成丁香五月色| 婷婷五月av| 五月婷色色| www.91在线观看| 五月天啪啪啪| 五月婷婷综合久久| 婷婷丁香五另类网站| 女人天堂AV| xx人人xx| 玖玖在线| 99自拍视频| 综合久久综合久久| 久久久这里有精品| 农村熟妇高潮精品A片| 婷婷久久综合| 婷婷丁香综合网| 在线中文AV| 国产无遮挡又黄又爽免费网站| 91久久久久久久| 狠狠插狠狠插| 日本不卡高字幕在线2019| 国产肥白大熟妇BBBB视频| 风流少妇A片一区二区蜜桃| 亚洲情综合五月天| 五月天堂六月丁香亚州中文字幕久久 | 2025中文在线视频字幕免费观看| 婷婷五月天成人动漫 | 91狼友视频在线观看| 色综合99无码 | 色综合五月天| 性爱网五月婷婷| 五月停停99| 丁香五月天影院| 色99免费视频中文| 99热91| 色婷婷综合久色AV五色最新| 思思热99在线| 99久久精品国产色欲| 中文字幕人妻在线| 久久久99精品免费观看| 97艹| 五月综合亚洲色| 久久婷婷六月综合资源| 五月六月丁香激情| www.国产色| 国产欧美日韩综合精品一区二区| 日本欧美成人片AAAA| 五月婷婷久久大片| 亚洲不卡欧洲| 五月色婷婷AV| 激情婷婷五月天日本系列| 99re6久热只有精品6在线直播| 国产成人av在线播放| 九九热AV| 欧美亚洲成人在线| 99热 在线观看| 亚洲激情区| 色婷婷久久综合久色综| 丁香六月婷婷综合| 丁香五月97视频| 天天色图| 色综合综合色| 九月丁香婷婷| 99久久高清视频| 99干日本| 99性感视频| 综合色影| 国产操B| 丁香五月欧美色综合| 丁香五月在线视频| 国产精品国产| 五月四色激情| 婷婷丁香六月综合激情站| 久久网思思| 丁香五月婷婷AV| 99色精品| www,超碰| www夜夜操comwww| 色狠狠色| 伊人玖玖综合| 中文字幕色色色| 超碰激情网| 97啪在线观看视频| 欧美va亚洲va| 伊人久久婷| αv中文字幕在线观| www.99久久久久99| 天天爽天天爽夜夜爽| 亚洲熟女色| 婷婷久久色五月婷婷久久久| 888精品福利地址| 婷婷色五月在线视频| 久久女婷| 色六月婷婷| 婷婷五月天日本无码| 99色综合| 久久久18| 久久久精品AV| 99爱爱网| 色婷婷六月天在线| 男女啪啪做爰高潮无遮挡 | 干一干xxxx| 国产精品久久久爽爽爽麻豆色哟哟 | 婷婷丁香六月| 色综合九九色综合88| 99色最新在线视频| 久久六月综合| WWW.久久久久久久| 成功精品影院| 欧美色偷偷大香| 我爱宗和色| 色色色色热| 97色97干| av色婷婷| 午夜成人天堂久久无码日韩久久| 天天爽天天日天天舔| 国产AV一区二区三区日韩| 亚洲无码成人网| 狠狠五月激情丁香六月| 婷婷五月另类网站| 六月久久狠狠| Av狠狠色丁香婷| 色色色色色级无码| 精品一二三区久久AAA片 | AA久久| 久久机热探花| 五月天婷婷乱论小说| 色欲AVV| 色婷婷六月综合| 激情丁香五月婷婷| 六月婷五月丁香| 大香蕉AV在线| 五六月婷婷| 日本久久网| 99九色视频在线观看| 婷婷综合色网| 婷婷成人AV| 五月婷婷激情日本| 成人免费在线电影| 九九99久久| 激情综合网五月天| 天天 青草 制服丝袜 在线| 日韩aaa| 婷婷五月综合婷婷| 国产肥白大熟妇BBBB视频| 天天在线久久综合 | 99re这里| 大香蕉五月天婷婷丁香91| 国产免费一区二区三区三州老师F1F1.CC | 深爱激情综合| 国产欧美日韩一区二区三区| A片天天| 大陆肏屄视频| 六月丁香啪啪| oumeisesewang| 九九热免费视频| 精品色色网| 中文字幕丰满乱孑伦无码专区| 婷婷色欧美激情| 亚洲视频在线观看区| 丁香婷婷六月男男| 亚洲思思热久| 九九成人电影婷婷| 人人爱人人草| 99a级片| 538在线精品| 操91| 亚洲天堂色| 天天日天天干天天操| 久久日婷婷| 精品久久这里热66| 五月天五月色婷婷综合| 九九热内射| 人妻久久婷婷| 天天日人人爽| 大天天伊人| 99热这里有精力| 婷婷六月插屄激情| 人人操人人爽成人AV| 激情久久久| 黄页大全十八禁| 婷婷五月,偷窥偷拍网| 成人电影一区| 婷婷射图五月天| 激情五月丁香综合网站| 色婷婷免费观看| 婷婷色香六月综合激情| 婷婷色六月| 久久综合激情| Www.狠狠| 99热这是里只有精品| 欧美大片免费播放器| 色色COm| 大香蕉久艹| 国产精产国品一二三在观看| 五月婷婷色播| α久久| 狼友超碰| 91人妻九色大屁股| 久久久性爱视频| 岛国av电影网站| 国产av影片| 婷婷色情 | 免费婷婷| 欧美黄色AA片哗啦啦啦| 国产va在线视频| 97干在线看| 伊人无码高清| 丁香久久| 亚洲人妻电影| 草逼大片| 婷婷五月天伊人网在线观看视频| 91啪啪视频| AV在线不卡网站| 激情五月丁香五月| 丁香五月天偷拍| AV免费在线网站| 五月天婷婷色| 天天干夜夜想| 国产成人高清| 九九婷婷五月天| 五月激情综合婷婷| 99成人网一区| 97人人做| 五月天狠狠色| 亚洲国产网址| 色综合色香蕉网| 婷婷丁香成人| 国产亚洲在线| 久久婷狠狠色| 久久思思热| 日韩av网址大全| 丁香六月婷婷基地| 性无码专区无码| 99精品久久| 婷婷的色色五月天| 五月丁香啪啪| 亚洲另类日本| 五月婷婷亚洲| 九九热这里只有国产精品| 天天操天天日天天爱| 久久狠狠干| se99热久久一本| 色五月激情问网站| 色综啪啪| 天天久久婷婷| 九久热| 亚洲精品**不卡在线播he| 欧美 日韩 人妻 高清 中文| 99色热| 丁香五月成人社区| 色婷婷丁香| 五月丁香好婷婷A片网| 六月婷婷中文字幕| 性色视频| 五月激情六月宗合| 久久538| 五月婷婷在线免费| 99网99热| 欧美色色色色色色色| 丁香激情五月| 激情九月综合| 婷婷欧美| 亚洲视频一区| 亚洲第一成人AV| 久久九九热re6这里有精品| 婷婷色五月91啪啪| 色色色1网址| 日日操夜夜操中国无码| 五月婷婷综合性爱噜噜| 国产精品日日躁夜夜躁| 久热9| 五月婷婷色播视频| 另类图片 五月激情| 久久五月婷婷开心网| 色高清无码视频| 五月天停停基地| 人妻久久久久久久久久久| 激情欧美五月丁香| 久久资源网五月婷| 色色综合网站| 黄色片avv| 91啦丨九色丨刺激中文| 91九色中文字幕女在线观看| 五月天亚洲图片婷婷| 丁香五月婷婷久久久| 538午夜激情| 色婷婷婷综合五月天| 激情五月天综合网站网站网站| 中文久久久人妻| 婷婷五月天人妻| 色亚洲激情| 91在线日| 老美AA片| 伊人色综合久久久| 狠狠香婷婷五月| www国产亚洲色婷婷com| 久久天天| 激情深爱五月天| www.久久99精品| 五月天色色婷婷| 五月天天天操天天爽夜夜操| 国产精品热搜丁香五月婷婷| 在线视频你懂得| 99热国品| www.91在线观看| 秋霞午夜理论| 亚洲另类日本| 国产精产国品一二三在观看| 另类丁香综合| 激情综合综合综合| 五月天亚洲综合网| 欧美日韩999| 大香蕉娱乐| 久久视这里只有精品| 狠狠五月天婷婷激情网。| 97色色综合| 99精品偷自拍| 丁香婷婷五月综合影院| 五月丁花色综合网| 在线中文av| 五月天久久婷| 97久人人| 99爱精品视频| 久久久com| 色婷婷色| 欧洲激情五月天婷婷| 天天做天天爱天天玩| 蜜桃人妻无码AV天堂三区| 婷婷伊人綜合| 天天综合永久| 六月丁香网| 五月天婷婷久草丁香| 婷婷丁香六月影视| 成人在线网| 99热免费18| 日日天天天| 婷婷九月亚洲| 久久99日本精品视频免费观看| 婷婷激情五月天综合| 人人爱人人草| 影音先锋五月天婷婷丁香在线观看| 婷婷五月天AV| 亚洲免费av在线| 五月婷婷欧洲| 天天操天天操| 超碰人人草| 五月婷婷色影院| 日本色色色| 国产看真人毛片爱做A片| 丁香五月婷婷基地| 色婷婷先锋| 九九99九九精品视频| 色插综合网| 可以直接看的av| 亚洲不卡欧洲| 七七色色综合| 99久久五月天| 色综合激情| 91妻人人爽人人看片| 高潮毛片遮挡费高一百度| 久久久99视频| 欧美色图天堂网色| 五月天激情网站| 欧美超碰亚洲| 久久五月天色| 亚洲成人AV一区在线观看| 99热99网| 欧美色五月| 久99| 丁香五月欧美| ss五月天激情| 久热久| 色欲Av五月天| h在线看免费版在线看| 色五月成人| www,久久久| 成人电影在线免费试看| 91婷婷色 | 久久五月天色| 91趴趴| 国产视频婷婷| 久久久27操| 久热超碰91| 丁香五月www| 思思热再线视频| 色和综合网| 天天舔天天摸天天透| 九九热狼人| 婷婷五月天电影在线| 五月婷三级片| 日本色色色| 久久网婷婷| 婷婷五月天激情小说| 狠狠爱夜夜| 99人人干| 激情婷婷五六月天| 婷婷婷狠狠| 99热在线免费| 99内射视频| 一起草Av| 久久精品视频99| 国产67194| 森林影视大全,最好看的2019年视频 | 国产精品视频网| 丁香 婷婷 亚洲 熟女| 欧美日韩日韩成人| 色五月激情| 狠狠做五月| 亚洲精品一区中文字幕乱码| 九九精品视频在线观看| 欧美图片丁香五月天| 99re免费精品视频| 五月六月激情婷婷| 日韩有码一区| 丁香五月天堂网| 色9999日韩国产| 深爱婷婷网| 色色色视频免费无码 | 久/久精品99看9| 国产精品久久久丁香五月八戒视频| 五月天大香蕉婷| 五月综合丁香婷婷| 色。 日日日| 狠狠干狠狠操狠狠爱| 91超碰在线播放| 狠狠婷婷爱| 激情五月天色色色| 丁香六月情| wwwC0maV五月花| 精品99在线| 777精品久无码人妻蜜桃| 五月网在线| 欧美色色色色色| 色婷婷五月综合激情中文字幕| www.婷婷五月天| 国产婷婷五月中文字幕高清| 91 九色 入口| 国产精产国品一二三在观看| 99精品在线观看视频| 色五月婷婷狠狠撸| 性爱人人网| 日本片日本片祼观看网站在线看中文版网页在线看 | caopeng97日韩| 天天色99| 搡BBBB搡BBB搡18 | 成人AV在线电影| 99热这里只有精品官网| 五月天激情综合在线| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 天天色综网| 91操色| 婷婷久月| 国产成人AV在线播放| 99网址在线观看| 另类在线| 六月婷婷开心| 最新色色五月天| 婷婷五月激情视频在线| 操日本人妻视频| 五月丁香影院| 亚洲狠狠婷婷| 99热人人艹| 九九久久99| 99九九在线观看免费| 亚洲另类噜噜| 婷婷五月天,影院| 婷婷五月丁香综合瑟瑟| 日本精品久久久久中文字幕 | 九九精品99久久久| 潘金莲AAAAAAAAAA| 狠狠干综合| 色爱综合网| 六月狠狠综合| 五月色丁香婷婷中文字幕| 激情五月婷婷综合| 九月婷婷激情| 婷婷之玖玖| 7777国产盗摄农村女人| 思思热在线视频精品| 日韩 中文 欧美| 丁香六月欧美| 91九色PORNY中文啦| 久久五月天影院| 综合色、色综合| 亚洲深喉AV| 日本三级成人秘书精品片| 亚洲中文字幕在线观看| 少妇性BBB搡BBB爽爽爽电影| 欧美人与性动交CCOO| 99在线观看| 国产精品人成A片一区二区| AV九九| 欧洲色| 国产日产亚洲系列最新| 久久大香蕉丁香| 中文不卡av| 色五月色情| 久久的爱大香蕉| 亚洲色色五月天| 国产精品操| 九九热中文| 综合天天综合| 五月激情综合婷婷| 五月婷婷婷自由综合| 婷婷五月18永久免费视频| 婷婷婷婷色| 婷婷日欧美在线观看| w婷婷五月婷婷w| 亚洲精品午夜国产va久久成人| 九九热精品| 精品国产乱码久久久久夜深人妻| 婷婷色色综合| 久久视频婷婷| 亚洲人妻av| 婷婷五月天激情小说| 五月婷婷色在线| 操操操91| 久久99婷婷| 丁香六月亚洲| 欧美精品熟女一区二区| 来吧亚洲综合网| 99视频精品| 老师的粉嫩小又紧水又多A片视频| 婷婷五月久久| 久婷婷色| 天天搞夜夜叫| 狠狠干五月丁香综合网| 六月婷婷久久| 亚洲人妻av伦理| 久久天堂女人| 9999久久久久| 丁香五月激情澎湃一区| 99无码视频| www.五月丁香| 国产性爱大片久久| 香蕉狠狠爱视频| 天堂五月婷婷| 亚洲激情综合| 天天天天操| 五月婷婷丁香综合,亚洲天堂| w婷婷五月婷婷w| 丁香婷婷偷拍| 亚洲人人操| 五月天婷婷基地| 欧美激情 日韩无码 婷婷 五月天| 色婷婷操逼| 五月开心啪啪| 碰碰女| 国产精品美女久久久久AV超清 | 欧美激情-区二区三区| 亚洲无码11| 成人做爰A片免费看网站找不到了| 91天堂网综合| 五月天亚洲最大成人| 野战毛片三一3| 色噜噜狠狠色综合日日| 六月激情网| 77799热| 欧美日韩成人高清在线| 激情内射人妻1区2区3区| 99久精品视频| 情涩婷婷五月天| 婷婷金品综合视频| 91亚洲免费片| 五月色导航| 操碰99| 嫩草哈哈操| 无码网| 久婷婷婷| 婷婷WWW久久| 婷婷五月丁香狠狠| 成人AV免费观看| 丁香六月激情国产| 99色丁香婷婷综合网| 久热91| 免费在线a| 久久午夜理论| 99久久网站| 五月丁香六月婷婷成人| 中文国产五月天| 日本久久网| 六月婷婷激情图片| 色婷婷的五月天| 综合久久十三| 婷婷五月天无码视频| 久久激情五月婷婷| 性爱七区| 丁香婷婷色情社区成人小说| 欧美 日韩 人妻 高清 中文| 五月丁香婷婷久久| 丁香五月婷婷大香蕉| 精品五月花| 天天拍久久| 久久综合九九| 九九色中文| 婷婷综合亚洲| 五月丁香久久综合色| 中文字幕婷婷五月天在线观看| 精品一区二区三区免费毛片爱| 久久99精品九九久久久婷婷| 98永久精品| 婷婷五月天毛片| 五月激情天天干| 天天色中文字幕女优AV| 五月婷成人网| 亚洲精品字幕在线观看| 婷色人人狠| 色爱亚洲| 色五月天影视| 色99在线视频| 色播丁香| 婷婷五月天综合在线| 久99久在线| 久久婷丁香五月| 射区导航| 欧美精产国品一二三区| 亚洲成人无码网站| 五月天婷婷色色网| 欧美日比视频| 综合久久综合| 九九99在线免费在线观看视频| 综合色五月天| 操一区| 99热网站| 天堂婷婷五月在线| 99这里都是精品| 天干干夜夜操| 色五月激情五月| 婷婷综合激情五月综合| 激情亚洲五月| 亚洲欧美一区二区三区爱爱动图| 久久全色| 玖玖婷婷色五月| 成人av中文字幕| 婷婷六月丁| 五月花婷婷在线精品视频| 久久99网站| 五月婷婷香蕉| 在线五月婷| 九九九九九九毛片| 五月激情综合网| 人人色人人摸人人看| 开心五月婷婷| 九九无码视屏| 天堂网色色| 亚洲网视屏| 96人人操人人操人人| 精品亚洲国产成AV人片传媒| 色99欧洲色19| 久久999久久999久久999久久| 天堂中文国产| 九九综合视频在线观看| 亚洲亚洲人成综合网络| www.99成人视频| 超碰人人91| 久久人人看| 亚洲婷婷五月天激情综合| 久久天堂色| 婷婷五月花| 婷婷另类开心| 日韩成人影片在线观看| 伊人www22综合色| 激情综合4月| 超碰人人在线观看| 欧美性色视频| 日日日,com| 两性婷婷丁香五月| 九九大香视频| 五月天伊人av| 久久天堂女人| 操碰91| 丁香五月欧美色综合| 日本人人干| 裸睡玩奶头(高H)| 色色丁香五月| 日韩啪啪网| 五月天婷婷在线播放免费| 91精品91久久久中77777久久玖玖九九| 丁香婷婷社区| 丁香六月婷婷综合啪啪| 色综合激情| 人五月天婷婷喷水| 日韩综合久久| 99热九九在线| 99热最新精品| 六月丁花香啪啪激情欧美| 99ri视频在线播放| 丁香五月婷婷亚洲综合精品在线| 久久婷婷夜| 极品少妇高潮啪啪AV无码| 99色网站| 婷婷五月天无码视频| 无码九九九九| 免费无码毛片一区二区A片| www.操.com| 五月丁香综合久久| 熟女网站久久| 久操乱| 丁香五月影院| 色五月综合| 激情综合网,婷婷五月天| 91无码视频| 91a片爽| 五月婷久久| 婷婷丁香五月激情密臀av| 天天插天天日天天爽| 99黄色在线视频精品熟女| 丁香婷婷狠狠97| 色噜噜狠狠一区二区三区| 另类小说激情五月天| 日韩成人网站精品久久大全| 久久九九@| 超碰免费观看| 国产美女无遮挡裸体毛片A片| www,超碰| 亚洲 五月 婷婷 成人| 99re99热| 婷婷综合| 天天综合在线网| 色婷婷丁香五月在线| 99ri国产| 伊人五月综合网| 九九九九九九热| 五月激情综合网| 伊人婷婷五月天| 五月天婷婷社区| 99色在线观看视频| 99热这里只有精品98| 九九综合九九| 欧美日韩国产伦精品日韩人妻一| 亚州成人综合在线| 国产精品18久久久| 国产 码在线成人网站| 九九五月天| 婷婷久久精品| 99色网站| 色播激情五月天| 天天操天爱综合| 五月激情开心婷婷| 激情综合综合综合| 就是色婷婷五月亚洲色| 性色婷婷| 婷婷色五月开心五月| 第1影院之五月婷婷| 西西4r午夜剧场| 蜜乳av一级av| 国外亚洲成AV人片在线观看| 性色五月天| 五月天天天色| 五月天综合婷婷| 色五月婷婷综合| 五月丁香婷婷在线| 国产精品久久..4399| 任你日视频| 久久久久久9| 日韩99视频| 精品女人九九九| 黄色成人网站在线播放| 色欲影香| 91丨九色丨丰满人妖| 91丨九色丨白浆秘| 成人网址在线观看| 狠狠色婷婷7777久| 九九热在线精品| 成片免费观看视频大全| 五月丁香婷婷啪啪| 人妻少妇色综合| 99精品偷自拍| av免费在线看不卡无毒| 狠狠ri| 9精品国产在热久久| 一起草日本| 五月亭亭色| 婷婷色五月激情强奸四射| www.99热在线观看| 综合五月婷婷| 国产永久一二一起草| 人色五月天婷婷| 色婷婷亚洲在线| 婷婷五月亚洲一本在线丁香| 日本欧美成人片AAAA| 一月婷婷色色| 中文av网站| 性做爰1一7伦| 久婷婷久草| www.99热精品| 婷婷九月丁香| 婷婷九月激情| 天天免费日日夜夜夜夜| 狠狠干在线| 99人碰碰碰| 五月天综合在线| 亚洲成人在线观看av| 1024在线视频| 婷婷色情网| 久久五月人人摸| 色色cOm| 色婷婷88| 欧美性爱五月天| 丁香五月婷婷社区| 欧美、日韩、中文、制服、人妻| 色色免费网站| 69五月天视频| 精品久久久人妻| 99碰超| 91九色最新视频| 99re青青草| 激情五月婷婷丁香六月| α久久| 久久久精品人妻| 五月婷婷激情五月| 操精品9| 99福利导航| 噜色精品| 激情五月天婷婷| 欧洲色色| 五月婷婷国产| 丁香五月婷婷久久综合激情网 | 色婷婷综合久久久久| 五月丁香婷婷无码A∨| 五月天,激情四射,婷婷频道| 日本欧美在线| 亚洲xx在线| 婷婷久久亚洲| 五月婷婷六月基地| 九色视频91| 五月久久丁香| 九九热AV| 婷婷六月五月天综合| 啪啪啪综合网| 丁香深五月婷婷| 青草网在线观看| 色亚洲激情| 色色热| 五月婷婷日| 天天插天天日天天爽| 色婷天天| 新激情五月天| www.日本久久videos| 另类五月激情| 天天爽天天爽| 91精品婷婷国产综合| 只有久久精品免费| 伊人久久婷婷| 99热在线网站| 五月视频日本免费观看| 久热AA| 97涩婷婷婷婷基地| 五月色丁香综合| 偷拍91九色| 羞羞嫩草视频| 夜夜人妻五月天| 日韩精品一区二区亚洲AV观看 | 99热这里只有精品首页| 嘿嘿视频免费看9| 91精品电影18T| 久久98热re| 丁香av网| 天天日日天天| 99精品视频网站| 99.N在线视频| 婷婷五月天另类网站| 久久综合九九| 91爱啪啪| 婷婷的色色五月天| 五月婷婷性爱网| 深爱激情五月天色婷婷| 东京热免费视频| 婷婷五月激情的图片| 五月五婷婷| 婷婷色色综合| 婷婷5月天激情综合| 国产成人99久久亚洲综合精品| 99日本视频| av五月天婷婷丁香| 日本精品人妻无码77777| 久久99热这里只有精品首| 99热99极品观看| 欧美月久久| 色婷婷裸体色性在线| 亚洲国产精品成人午夜| 激情婷婷五月女| 人妻22p| 丁香五月激情啪| www,com,五月色色| 综合超碰熟| 久久婷婷六月综合| 色九九中文字幕| 在线A色| A片试看120分钟做受图片| Av性爱网站| 色婷婷色99国产综合精品| 色婷婷色99国产综合精品| 五月婷婷激情久久| 婷婷丁香五月天影院| 婷婷五月天激情开心网| 久久五月婷综合网| 思思 热 99| 四季日韩AV无码综合| 亚洲 五月 婷婷 成人| 丁香五月婷婷社区| 色丁香久久久| 婷婷碰碰| 婷婷色5月激情网| 亚洲情欲久久| 人。妻久久| 丁香色影院| 99爱在线视频| 日本女人久久| 久久久久久综合88| 色婷丁香| 在线只有精品| 婷婷在线五月天观看| 全部老头和老太XXXXX| 天天综合五月| 七月丁香婷婷 色色| 夜丁香五月婷婷| 日本三级片片| 五月婷婷六月丁香| 久久女人天堂| 天天干夜夜想| 婷婷综合网在线| 丁香婷婷老熟女综合网| 九九色热视频| 1234操逼网| 激情五月婷| 激情小说五月天社区丁香| 九九热超碰| 热99re| 美国不卡视频| 超碰成人在线观看| 精品九九在线观看视频| 99热在线观看| 丁香五月停停av| 久久99精品久久久| 99热日韩| 99色啊| 久久综合图片| 婷婷久久五月天丁香| 色就是色婷婷五月亚洲激情| 桃色五月天| 夜丁香五月婷婷| 99操无码视频观看| 婷婷五月影院| 婷婷丁香激情| 97热九九| 久久99精品视频| 丁香五月天激情小说| 久久艹网| 五月丁香婷婷六月| 亚洲瑟瑟精品在线| 婷婷丁香色性爱| 丁香色五月天| 天天干天天操天天爱| AAA久久久AAA久久久AAA| 婷婷色导航| 五月婷伊人| 激情小说视频图片网| 99视频网址| 另类图片五月天| 深爱激清网| 看久久性爱视频| 激情綜合W W W,激情五月天| aa久久| 国产精自产拍久久久久久蜜| 99re鈥哸鈥唙| 婷婷大香蕉| www.色欲丁香婷婷| 中文字幕成人| 亭亭社区五月天| 97人人看| 色和综合网| 67194成I人在线观看线路1| 久久狠狠色| 9月色婷婷| 国产高清av黄色看片| 婷婷伊人综合中文字幕| 欧美色小说婷婷|