99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

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
返回資訊列表
思思热视频在线| 五月婷婷久草| 色婷狠狠| 激情美女五月天激情在线| 特级操b片| 婷婷俺去也| 日日干天天爽| 激情五月丁香综合网站| tingting五月天亚洲| 免费成片在线观看| 色五月综合网站| 99热最新| 99欧美| 丁香婷婷六月在线资源观看| 无码人妻一区二区三区四区| 五月丁香日本片| 九九精品99久久久| 天堂网色婷婷| 亚洲婷婷综合视频| www.婷婷久久五月天| 国产成人AV在线| av操一操| 亚洲色激情| 婷婷激情丁香五月婷婷激情丁香五月婷婷| 综合激情在线视频| 五月丁香六月激情综合| 婷婷六月视频| 亚洲视频操| 久久久久久久久久久jjjj| 九九AV| 另类激情五月在线视频欧美| 开心激情五月天网| 色色色色色色网站| 99热这里只有精品首页| 五月丁香婷婷深深爱| 日日操夜夜爽天天天| 女性自慰系列第五页| 碰碰操91| 激情六月婷婷| 久久五月婷| 日日操夜夜操无码免费| 亚洲午夜电影| 大香蕉久| Xx色综合| 天天射射夜| 综合狠狠伊人| 五月丁香在线婷婷蜜桃| www.丁香黄色五月天人与| 婷婷AV丁香| 第四色色六月色综合| 一逼色综合| 五月丁香久久综合色| 影音先锋AV资源男人站| 九月大香蕉| 狠狠色综合久久久久| 激情婷婷丁香五月| 日韩欧美性爱| 久热91精品| 高清国产一级婬片a免费| 在线超碰免费| 极品色丁香| 71在线精品视频一区| www.com色播五月天| 激情丁香五月综合| 丁香五月区| 久久色婷婷| 91九色在线| 色色丁香婷婷| 天天综合五月| 久婷婷色| 九九99久久| 99爱精品| 永久热91| 五月丁香色婷婷婷基地| 色五月丁香五月婷婷五月成人网| 天天干天天插| 色婷婷五月天| 六月丁香开心婷婷欧美| 五月香婷婷| 情五月亚洲婷婷| 九九亚洲小视频| 婷婷丁香激情五月天色色| www.色擼擼.com| 婷婷五月成人| 熟妇人妻中文字幕无码老熟妇| 日韩精品视频中文字幕| 99伊人性爱在线影院| 91超碰在线观看| 天天干,天天舔| 欧美99热| AV操逼网| 果冻传媒A片一二三区| 婷婷综合伊人| 狠狠艹狠狠艹| 天天干天天拍| 免费看欧美成人A片无码| 色五月综合激情网| 日本片日本片祼观看网站在线看中文版网页在线看 | 夜夜骑福利资源| 五月天综合婷婷| 综合久久综合久久| 激情综合视频| 九九久久99| 激情婷婷五月色| 成人丁香婷婷| 国产亚洲精品久久久久久郑州| 超碰熟女农村在线69| 4399欧美另类视频| 婷婷色情小说| 国产激情视频在线观看| 97久操视频| 婷婷五月天视| 超碰人人91| 丁香婷婷大香蕉| 1级欧美日韩| 大香蕉五月天婷婷丁香91| 精品五月丁香| 国产.亚洲.欧洲视频在线| 99视频内射三四| 人人操人人看97干| 婷婷五月偷拍| 大香蕉人妻| 狠狠色丁香久久综合婷婷亚洲成人福利 | 一起肏在线视频| 九九成人精品免费视频| 久久五月婷婷丁香| 丁香伊人五月色婷婷五十路| 精品福利911| 婷婷情色五月天| 99热香港| 激情综合激情五月| 久久性视频| 综合 蜜月 婷婷| 五月天婷婷一起草| 99re在线观看| 亚洲av免费在线| 天天做天天爱天天综合网| 五月天婷婷综合网| 久久久人妻人伦| 免费视频99| www.五月天| 超碰激情网| 开心婷婷丁香五月| 丁香五月婷婷少妇| 色色色色色色色色综合网| 九九碰九九爱97| 免费看无码视频A级| 五月丁香六月婷婷婷婷| 610018岁成人视频| 婷婷色日本| www色五月| 色五月婷婷激情基地| 日本AAAAAAAAAAAAAA片| 五月婷婷 婷婷五月 一区二区 久久久 | 午夜九九九九九九九九九九九九九| www.ppypp| 99热| 天天色天天干天天插| 久久久久9| 狠狠久久婷| 国产精品久久久60086| 九九Av| 99精品在线观看| 9l视频自拍9l九色9l成人| 偷拍九九热| 99热在这里只有免费精品| 99re思思热久久| 九九九午夜视频| 九九色视频| 91av传媒高清在线视频网| 天天天操天天天爰| 大伊香蕉精品视频在线| 日日夜夜小色哥| 久爱综合| 天天综合中文| 蜜臀av粉嫩av懂色av| 国产成人亚洲综合A∨婷婷| 99久久婷婷精品视频| 亚洲五月天天| 久久丁香综合精品综合| 丁香五月成人网| 久久sp免费视频| 六月婷婷中文字幕| 五月婷色色| 大香蕉五月天婷婷| 激情五月婷婷欧美极品| 亚洲成AV人片在线观看| 天天狠狠夜夜狠狠2023| 九九这里是免费的视频5| 综合色影| 久久久er热| 伊人色综合网| 天天激情| www.久久爱| 99亚洲精品| 五月丁香婷中文字幕 | 婷婷大美在线| 欧美色色日韩| 久久激情五月婷婷| 爱婷婷久久视频| 丁香色五月婷婷17C| 丁香六月五月天| 红桃91人妻爽人妻爽| site:ornaments52.com| 99啪在线| 亚洲这里只有精品| 婷婷五月天综合色| 秋霞A V毛片| 天天日天天插| 五月丁香欧美综合| 婷婷久久大香蕉| 人人爱操| www.99热这里精品| 五月丁香 六月婷婷a| 少妇性BBB搡BBB爽爽爽电影| 婷婷五月天成人| 亚洲中文字幕网| 亚洲中文字幕在线观看| 久久丝袜婷婷| 欧美色色色| 日韩黄色AV无码| 五月香婷婷| 激情图片婷婷| 久9免费视频| 亚洲欧美成人在线| 99精品视频播放| 日夜夜天天| 大香焦啪啪啪| www.婷婷五月天| bbwcuckold精品熟妇| 成人无码精品1区2区3区免费看| 婷婷五月天干干| 中文字幕成人日韩| 99精品久久| 在线1青婷| 五月色婷| 激情五月婷黄版| 成片免费播放| 99噜噜噜在线播放| 五月丁香婷婷AV| 国产精品色色666| 亚洲中文AV网站| 天天色天天日| 日韩成人AV在线播放 | 狠狠色综合五月| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 久久99久久99久久99| 五月色丁香| 久久深爱激情网| 91操人视频| 青青操成人福利| 开心五月天激情网| 爱操人妻| 婷婷五月天伊人| 久久这有这里精品| 久久九九网| 91免费试看| 天天操夜夜操| 婷婷五月天受日本法律保护| 色欲影香| 亚洲超级碰| 欧美性生交XXXXX无码小说| 97人人搞| 婷婷午夜综合| 99精品网| 国产密乳av一区二区三区四区| www.伊人天堂偷偷婷婷| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 97热超碰| 色九九一二| 久久久av久av久片一区二区| 亚洲成av人影院| 26UUU欧美| 婷婷国产成人| 六月丁香色色| 天天肏在线观看| 色五月在线播放| aaa日韩| 99爱免费在线观看| 丁香婷婷综合五月天| 久婷五月| 色五月成人| 久久丁香婷婷五月| 婷丁香五月天| 99日本黄站| 五月天丁香婷婷社区| 久热精品9999| 色五月丁香A欧美com | 一本色道久久综合狠狠躁小说| 偷拍91九色| 激情小说婷婷| 丁香五月五月婷婷| 激情婷婷黄色五月| 中文AV在线播放| 婷婷五月丁香基地在线视频官网| 青青草国产亚洲精品久久| 五月丁香成人版| 九九热在线视频观看免费10| 天天综合网在线| 五月丁香六月婷婷不卡免费无码| 激情丁香五月天图片| 91丁香五月| 综合激情开心五月| 久青草大香蕉| 日日日日日| 色五月丁香六月婷婷| 天天综合91入口| www夜夜| 丁香五月综合在线播放| 国产激情在线| 综合色五月亭亭| 婷婷五月天社区| 亚洲激情亚洲激情 | 五月婷婷花| 亚洲有码在线视频| 少妇大叫太大太粗太爽了A片| 狠狠xx| 欧美激情综合| 九月婷婷激情久久| 五月天丁香网| 91人碰| 26uuu淫色| av五月丁香婷婷网| 无码AV久久久久久久久| 狠狠爱婷婷爱| 婷婷五月天男人影院色色网| 久久五月天激情美女| 综合网精品99| 五月丁香激情综合网| 亚洲欧美999| 激情综合婷婷| 99操网站| 亚洲午夜av| 色天五月天在线观看视频| 开心六月丁香五月婷婷| 九九亚洲无码| 丁香五月婷婷社区| 日本五月婷| 开心久久xxx色| 色婷婷在线视频观看| 亚洲永久免费| 99热精品中文字幕| 狠狠狠激情网| 亚州色婷婷| yw国产AV| 五月丁香成人网| 免费啪啪亚州视频| 久热网站| 五月婷婷这里都是精品| 日本久久综合| 99超碰欧美| 五月婷婷中文字幕| 色五月综合资源推荐| 五月天另类综合网| 色色色色色色色色五月先| 99超级超级超级碰| 国产片XXXXA片国语对白| 99ri视频在线播放| www,婷婷| 五月久久亚洲| 情情五月天色| 另类色视频| 在线视频99| 丁香五月婷婷av影院| 色情五月综合婷婷| 99色热视频| 思思精品热在线| 免费的日逼视频| 久久99久久99精品免视看婷| 伊人婷婷91| http://www.com久久久精品一区| 色5月婷婷| 超碰在线观看9| 国产婷婷五月色情综合| 激情综合亚洲色婷婷五月| 欧美激情丁香五月| 天天射综合网站| 99久久www| 日本在线观看aaa 99| 99精品成人无码A片观看金桔| 91精品无码| 色五月色图| 婷婷综合精品视频97| 日本ww亚洲| 五月天无码| 狠狠色噜噜色狠狠狠综合色 | 亚洲亚洲人成综合网络| 99熟女| 婷婷伊人网| 久久在这里99| 久久婷婷网站| 婷婷射丁香| 操逼六区| 久婷| 99人妻碰碰碰久久久久视| 99爱视频在线| 66成人网| 亚洲六月色婷婷| 99热综合网| 婷婷五月激情中文字幕| 五月丁香六月婷婷成人电影| 色五月婷婷开心| 婷婷色色五月天| 91无码视频| 婷婷五月丁香综合| 色噜噜狠狠色综合无码久久欧美| 亚洲色情久久| 综合激情网五月激情| 激情五月天在线观看色婷婷| 激情综合网婷婷久久| 日韩色色小视频| 欧美激情综合| 玖玖婷婷综合| 开心婷婷中文字慕| 亚洲视频丁香网va| 大香蕉院线| 婷婷五月天激情丁香| 天天色综合网吨吧| 99热思思| 色优久久| 97caop| 91919191919久久成人视频| 日韩少妇内射免费播放| 五月天婷婷激情六月久久 | 五月婷人妻| 五月色欧洲| 五月丁香花激情综合网| 另类激情综合| 久碰视频| 日本不卡高字幕在线2019| 婷婷五月丁香色色| 3p久久| 99日本黄站| 色五月婷婷中文字幕在线观看| 五月天婷五月天综合网在线观| 亚洲婷婷丁香五月亚洲| 色婷婷基地| 狠狠色五月天| 丁香五月偷拍| 97超喷视频在线观看| 五月天另类图片区99| 午夜亚洲AV日韩无码| 超碰在线国产| AV美美午夜| 色射婷婷五月天| 五月丁香六月综合激情无码软件亮点| 丁香五月自拍| 国产日产亚系列精品版优势| 成年视频免费观看| 综合激情伊人影视在线| 久久久人妻系列| 婷婷五月花| 狠狠色成人影片| 日逼免费视频 | 激情综合婷婷久久| 五月婷婷色影院| 婷婷偷拍网| 丁香五月婷婷天激情| 激情五月婷婷综合| 99热这里有精品| 亚洲av电影网站| 大香线蕉伊人| 夜夜夜夜做天天天做无码视频| 性色五月天| 五月丁香婷婷色| 婷婷在线网| av最新在线| 日日干夜夜撸夜夜骑| 天天爽天天摸天天爱| 日本一级一级一级一级| 一区=区操屄高清大全av| 色婷婷基地| 丁香五月亚洲天堂| 99热手机在线精品| 久热爱大香蕉在线蜜臀悦色 | 婷婷久月| 婷婷性爱五月天| 五月天婷婷社区| www网站在线观看| 天天日天天狠狠操| 免费AV在线| 熟女人妻一区二区三区免费看| 亚洲无码黄色| 开心五月深爱五月丁香五月激情五月 | 天天综合网网欲色| 91婷婷| 嫩草视频观看| 思思久热6| 丁香婷婷大香蕉| 哇嘎成人久久| 开心五月深爱激情| 丁香五月成人| 婷婷色亚洲| 夜夜操夜夜操| seav天堂| 97五月天婷婷午夜| 这里只有精品免费视频| 18久久| 丁香五月激情六月| 日本天堂免费99| 大香蕉丁香婷婷| 五月花综合网| 五月婷婷欧美| 久操激情| 无套内射极品大美女| ..真实国产乱子伦对白在线_欧 | 色婷婷综合网站| 婷婷香五月天| 99热人人操人人操| 激情婷婷六月| 国产午夜精品AV一区二区麻豆| 色婷婷导航| 丁香五月婷婷在线| 人人操人| www.色擼擼.com| 黄网在线免费观| 色五月激情问网站| 五月天伊人网| 99在线观看| 久久婷婷成人| 久久伦乱| 色玖玖综合| 久久婷中文字幕| 99爱无码| 天天射天天操天天干| 婷婷五月天另类视频| 中文字幕在线日亚州9| 国产成人av在线| 婷婷五月综激情| 日韩五月婷婷| www夜夜操| AV成人在线网站| 激情久久五月网| 福利视频在线播放| 婷婷亚洲激情在线观看视频| 国产毛片欧美毛片久久久| 久久综合激情五月天| 九色视频91| 欧美日韩国产一区| 成人在线视频网| 综激情网| AV九九| site:901-07.com| 色播五月| 激情q青青草在线婷婷| 亚洲精品大片| 四色 爱 婷婷 精品 亚洲 五月天| 色色婷| 色色色色色级无码| 婷婷六月激情综合| www.开心激情| 日韩三及成人AV片| 综合一区二区三区| 男人的天堂999| 色色婷婷丁香| 狠狠操在线视频| 97碰91| 五月色综合网| 1024手机在线观看看片_日韩精品| 色色色综合网| 国产成人综合在线| 婷婷伊人网| 激情综合网,五月| 久久丁香综合香蕉| 五月天亚洲综合网| 碰97久久| 天天爽综合网| 888久久久| 强伦轩人妻一区二区电影| 日本三久久| 激情五月天婷婷| 丁香六月婷婷激情综合| www.99精品日操伊人乱碰在线| 激情五婷网| 狠狠情色| 中文字幕人妻熟女在线| 狠狠操狠狠做| 五月天婷婷操逼视频| 开心激情综合| 五月中旬婷婷丁香六| 人人超碰99| 激情婷婷丁香五月天| www色婷婷久久综合久色| 免费观看全黄做爰的视频| 精品久久久久久久人妻| 婷婷综合九月| 狠狠干婷婷| 可以直接看的av网站| 婷婷丁香综合在线| 色五月激情综合网| 激情五月天伊人av| 成片免费观看视频大全| 婷婷不卡基地| Av大香蕉| 丁香婷婷伊人| 色婷婷亚洲婷婷| 无码 av电影| 亚洲精品99| 99在线视频播放| 九九视频在线观看视频6| 四色五月婷婷在线观看| 色色综合网站| 99ri视频在线观看| www.99视频| 深爱婷婷丁香五月激情| 丁香五月色色色色| 五月天丁香啪啪啪啪| 99久久9| 色五月婷婷婷婷| 色综合久久天天综合网| 4399无码视频二区| 五月天.com| 久久婷婷五月天蜜桃| 久久这里都是精品免费| 婷婷六月天| 99精品视频在线观看| 日日噜噜夜夜狠狠久久丁香六月| 婷丁香五月天| 九九99在线| 久久久av久av久片一区二区| 天天摸天天肏| 色五月丁香六月欧美综合| 激情另类综合| 97综合色片| 国产精品电| 丁香五月天啪啪| 欧美综合激情丁香五月六月婷| 五月婷婷伦理| 久热婷婷| 欧美伊人9| 97色五月婷婷在线| 色久女| 日本熟女二区| 色青五月天| 久久丁香五月天| 噜噜狠狠色综合久| 婷婷涩五月天综合| 亚洲小视频免费播放| 色天使久久综合| 亚洲无码色色| 六月丁香中文字幕| 五月天婷婷成人| 五月丁香AV、伊人业余、性色熟妇| 91超级碰在线| 91se在线观看| 97男人天堂| 欧美私人家庭影院| 激情五月天色播| 天天射美女| 激情五月婷婷开心网| 午夜激情五月| 97色五月天| 99爱视频精品| 色婷成人狠干| 色婷婷四色| 精品99*| 99热婷婷| 五月丁香婷婷综合| AV性爱在线| 99九九在线精品热动漫| 一级二级色大片| 亚洲第79页| 欧美激情2025| 色人妻五月| 色五月视频无码播放| Av狠狠色丁香婷| 99久久66| 激情婷婷丁香五月天小说| 99乱视频| 97啪啪| 97碰| 色久九| 91精品久久久久久| 玖玖综合色| 超碰99久久| 九九热自拍| 射区导航| 中文资源在线a| 九九久久五月天| 国产67194| a久久| 五月婷婷丁香大陆免费| 亚洲人成色A777777在线观看| 天天狠狠夜夜狠狠2023| 婷婷色在线播放| 五月婷婷丁香六月| 五月丁香婷婷综合视频| 天天色图| 99色亚洲| 中文字幕成人| 新激情五月天| 色婷婷色和| 日韩啪图| 色噜噜狠狠色综合网| 91肏| 国产成人网| 亚州激情在线视频| 五月天五月色| 99re最新地址| 玖玖99免费视频| 成人视频一区| 五月天婷五月天综合网在线观| 婷久久综合| 九草性爱| 日本乱论99| 99久久九九| 人人亚洲| 五月激情婷婷女| 天天干夜夜想| 丁香六月激情| 欧美大肥婆大肥BBBBB| 操操操97| 亚洲AVwwwwwww| www,久久久| 99热这里有精品6| 9999热这里只有精品| 人人操五月天| 狠狠色色| 亚洲精品又粗又大又爽A片| 97偷拍在线视频| 97性视频| 台湾综合丁香五月蜜桃| 亚洲99热| 亚洲精品亚洲人成人网| 欧美性生交XXXXX无码小说| 婷婷WWW久久| 久热黄色| 黄网在线播放| 国产精品久久7777777精品无码| 五月天播播中文字幕| 91丨九色丨熟女丰满| www.激情| 丁香社92视频| 天堂AV三级| 精品免费99| 91丨九色丨白浆| 无码激情AAAAA片-区区| 亚洲九九婷婷| www.av视频xx999.com| 99色亚洲| 亚洲激情五月天| 色色色com| 婷婷91| 五月天久久www| 色久五月天| 激情第四色| 五月天婷婷激情四射综合| 99热最新精品| 丁香六月激情国产| 九热视频| 开心五月婷婷婷美女| 婷婷伊人激情婷婷| 五月丁香综合中文| 五月天sesese| 色婷婷电影网| 婷婷六月激情综合| 色爱综合网| 97综合色片| 99日韩网站| 色五月在线观看| 丁香操逼| 婷婷 激情 五月| 91久久九久久九久久九久久九久久| 色色99| 激情五月份婷婷| 色色色色色色色色综合网| 99人妻碰碰碰久久久久视| 色噜噜狠狠色综合日日免费| 五月天激情小说网| 中文字幕日本最新乱码视频| 伊人综合网站| 国产美女视频久| 日本片日本片祼观看网站在线看中文版网页在线看| 97香蕉人人在线观看| 青青草a在线| 超碰国产在线观看| 中文婷婷狠狠| 色婷婷4| 99精品久久久| 综合激情在线观看| 五月丁香六月婷婷a v| 天天干天天干天天| 色九九综合热99| 五月天电影网| 国产露脸150部国语对白| 黄色三级日本| 久热只有这里精品| 天天爽天天| 丁香五月婷婷狠狠色| 天天日夜夜爽| 激情综合婷婷久久| 丁香五月婷婷成人网| 色色com| 99热99色| 91凹凸在线| 中文在线成人| 五月 婷婷 成人| 五月天欧美激情| 91九九| 五月丁香色| 人人摸人人澡人人| 91亚洲天堂| 深爱激情五月婷婷| 99艹精品在线观看| 亚洲噜色| 色五月情| 操逼福利视频| 色五月激情网| 五月综合婷婷开心网| 五月在线| 99热国产| 国产午夜一区二区三区| 婷婷色九月| 97久久久久| 综合99久久天天综合| 亚洲另类视频| 久久大香免费| 亚洲热视频| 9999热在线观看| 色婷婷www| 东京热人妻一区二区三区在线| 色婷婷AV久久久久久久| 熟妇国产| 激情六月天婷婷| 91九色无码内射| 色婷婷色五月天| 男人視頻站| 色人妻五月| 免费无码毛片一区二区A片 | 久99热在线观看| 激情九月天天天天婷婷| 天天做天天爱天天玩| 91 九色 入口| 五月天激情图片| 亚洲国产成人在线| 91碰碰碰| 亚洲天天免费| 国产无套精品一区二区| 伊人五月天婷婷| 婷色综合| 九九综合久久| 9婷婷内射| 丁香色成人| 婷婷导航| 五月婷婷六月天| 亚洲九九99精品视频在线播放| 婷婷99综合| 停停五月天激情网| 五月丁香婷婷婷激情爱爱| 久久久久网站| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 天天爽爽日日做做| 五月婷婷色| 丁香五月六月欧美| 成人短视频免费| 性生活视频98791| 激情另类综合| 亚洲av| 天天摸天天做天天爱天天爽| 九九人人自拍| 激情五月婷婷五月| 婷婷五月天亚洲综合网| 久久五月天激情婷婷| 中文字幕AV在线| 色婷婷五月天天天天天| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲综合婷婷五月天| 99天堂网最新| 这里只有精品,日韩视频| 天天肏在线| 色噜噜狠狠色综无码久久合欧美| 激情五月天在线视频| 管管補管管紱| 婷婷五月天丁香激情| 大香蕉久| 就去涩涩丁香五月天| av成人在线播放| 色999;丁香五月| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 亚洲操逼片| a v色婷婷| 999九九九久久久99HD| 色色色色色色色色综合网| 婷婷五月激情片| 色一情一乱一乱91Av| 丁香五月av| 日本激情五月| 99热老司机| 99久久国产宗和精品1上映| 99无码精品| xxxx五月| 久久综合播放| 女人高潮内射99精品| 天天爽综合| 九九aV| www,黄色在线,con| 五月伊人网| 天天爽天天爽夜夜爽| 在线视频另类| 99精品丁香五月| 色婷婷888| 快色t v在线入口| 色五月婷婷在线| 五月婷婷性爱网| 五月丁香免费看| 五月色影院| 丁香婷婷五月天色综合| 久久91久久91色欲精品| 专区无日本视频高清8| 六月丁丁香| 天天拍夜夜爽| 婷婷久久久久| 奇米四色五月天| 五月天社区| 日本色99| 激情婷婷五月天日本系列 | 婷婷综合激情五月综合| 五月丁香另类图片| 五月丁香 狠狠爱| 天天做天天爱天天爽| 婷婷九月丁香| 综合图区激情| 五月开心婷婷中文字幕| www.色婷婷| 9超碰在线| 久久精品国产精品| 天天艹夜夜艹| 思思热视频在线| 第二色AⅤ| 台湾无码A片一区二区| 亚洲久久天堂| 久色五月| 六月丁香婷婷拍拍| 99久在线精品| 综合日本婷婷| 玖玖婷婷色欲| 97色碰| 欧洲色色| 久色资源网| WWW.桔色成人.COM入口| 人人草公开操| 99热1| 色色色婷婷| 伊人九热| 亚洲亚洲人成综合网络| 99爱爱| 在线成人网址| 一起草无码| 久久人妻伊人| 激情网综合| 激情图片婷婷| 综合久色五月| 99久久99视频只有精品| 99热精品在线| 亚洲天99| 国产婷婷五月天| 丁香五月成人自拍| 久久免费少妇高潮99精品| 亚洲情综合五月天| 五月天精品| 丁香五月激情五月| 人人干av| 日日杆天天| 啊v视频在线观看| 婷婷激情综合| 超碰91人人操| 婷婷综合五月天| 中文字幕精品在线观看| 99婷婷国产最新视频| 久久丁香五月天| 99这里有精品视频| 亚洲美女网Va| pacopacomama 070722_670 素人奥様初撮りドキュメント 103 大久保純子 | 日日夜夜干| 人人草人| 亚洲色频| 国产亚洲色婷婷久久99精品91| 99热色精品| 精品人妻伦一二三区久| 在线观看婷婷5月| 五月精品| 久久激情五月| 殴美综合激情五月天免费视频| 丰满熟女人妻一区二区三| 草综合14| 五月天激情视频| 色域五月婷婷丁香| 激情六月婷婷| 99国产在线| 99这里只有精品|v| 丁香五月色情| 噼里啪啦在线观看免费完整版视频| 超碰v| 精品亚洲国产成AV人片传媒| 五月伊人91| tingtingseav| 色日本综合| 操逼视频一区| 2015好吊操| 亭亭丁香久久五月| 五月天成人在线| 久久婷婷激情视频| www.天天干| 91avse| 婷婷伊人綜合中文字幕| 成人综合网站| 大香蕉天堂色| 啪啪操超碰| 日日骑夜夜撸| 亚洲色情一区二区三区四区| 亚洲亚洲亚洲AAAAAA| 超碰超碰在线| 成人五月天综合网| 日本va欧美va精品发布视频| 婷婷六月视频| 五月天激情综合| 婷婷欧美| 91av传媒高清在线视频网| 99热在线网站| 青青草色在线视频观看| 亚洲第一色色色| 一区二区三区四区无码| 天天射影院| www.久热| 一级内射毛片| 小骚穴电影| 久久黄色网扯| 情婷婷五月天| 成人av免费观看| 日本不卡一区二区三区| 色五月天丁香婷婷色| www.91色| 丁香五月网在线观看| 中文成人在线| 亚洲色婷婷| 九九久久偷拍| 99久久婷婷国产综合精品青桔| 丁香五月aV| 丁香五月天激情综合| 99久久这里只有精品| 五月天小说激情| 99热主页日本| 天天 青草 丝袜制服 在线| 婷婷狠狠操| 五月婷婷丁香六月| 狠狠狠狠青草| 五月丁香日本在线视频观看| 色久综合天天做视频| 五月婷中文字幕| 婷婷综合仓库中文| 黄色激情久久| 五月婷婷六月奇米网丁香| www热久久yy9| 国产精产国品一二三在观看| 五月丁香六月婷婷久久| 五月天色官网| 狠狠狠狠狠狠| 日韩精品视频中文字幕| 五月天丁香婷| 国内精品玖玖| a在线观看| 另类国产欧美视频| 蜜桃婷婷狠狠久久| 久久婷婷五月丁香| 五月天婷婷视频| 婷婷丁香六月天激情四射网| 国产片天天爽夜夜爽| 婷婷五月天六点丁香五月| 婷婷九月色| 久久嘟嘟丁香| 第一区久久网站| 九九操操| 五月天丁香看婷婷| 妻久久久久| 大香蕉九操| 99热午夜精品| 伦乱美欧| 六月撸婷婷| 色婷婷丁香AV综合| 天天综合.com| 99热亚洲| www.一起草av| 婷婷丁香五| 狠狠色丁香| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | www.久久色.com| 婷婷黄色五月天在线视频| 免费播放片大片| 丁香花狠狠婷婷亚洲中文字幕| 丁香六月婷月91婷月| 热五月婷婷| 99色在线观看视频| 国产日韩av片| ...婷婷国产成人亚洲日韩| 激情人妻综合| 97婷婷丁香五月综合| 99爱欧美| 亚洲色网络| 欧美在线视频免费播放| 婷婷五月激情天| 中文字幕丰满孑伦无码专区| 97亚洲色 torrent magnet| 96丁香六月婷婷蜜桃综合久久| avh片在线观看| 无码天天操| 日日操天天操| 91久久99久久91熟女精品| 五月婷婷亚洲色视频| 久久久.www| 99秘 在线| 国产精品久久久久久久久久 | 婷婷网五月天| 色婷婷av综合网| 婷婷五月情色| 狠狠干狠狠干| 色九月| 爱射综合| 国产色网站| 日91高清无玛| 欧美丰满熟妇BBB久久久| 丁香五月自拍| 激情五月天婷婷| 在线中文av| 九九色影视| 先锋资源91| 97色啪| 色原狠狠综合| 开心激情网五月天| 五月婷综合激情| 夜夜综合色| 欲求不满的人妻| 五月婷婷网五月在线| 97碰碰九九视频| 六月狠狠综合| 五月婷婷性爱网| 99国产视频网| www狠狠爱com| 亭亭玉月丁香| 婷婷五月天丁香成人社区| 精品人妻一区| www久久久久| 色婷婷a| 久久色婷婷| 婷婷操逼| 开心久久五月天| 综合久| 国产婷婷五月中文字幕高清| 国产熟女一区二区三区五月婷| 丁香大香蕉| 九九RE视频在线精品| 99婷婷五月天| 国产SUV精品一区二区883| 深爱开心激情网| 精品热九九| 爱草人视频| 亚洲无码成人网| 五月天堂色| 国产精品大香蕉| 欧美日韩成人| 色综合色| 大地9中文在线观看免费高清| Va另类视频| 好叼操在线观看| 热久精品| 丁香婷婷五月综合影院| 99热6精品| www.狠狠操.con| 不卡在线视频| 白天AV月月| 婷婷综合在线网| 国产密乳av一区二区三区四区| 91精产一区三区免费观看| 亚洲成人网站在线观看| 天天色视频| www.狠狠干| 欧美 日韩 人妻 高清 中文| 婷婷丁香综合成人| 六月婷基地| 99色婷婷视频| 伊人婷婷激情| 激情综合丁香| 婷婷99狠狠躁天天躁中| 婷婷伊在线| 激情操逼婷婷| 丁香五月婷婷基地| 97av在线视频| 不卡在线视频| 丁香六月天| 香蕉综合网| 丁香五月天成人| 五月婷婷开心综合| 丁香五月婷婷综合精品素人| 亚洲综合色网| 丁香五月亚洲婷婷| 五月天丁香婷| 少妇AB又爽又紧无码网站 | 婷婷五月精品中文| 91碰| 丁香五月亚洲无码| 97热久久五月婷婷| 天干夜夜操| 日韩在线五月天婷婷| 婷婷五月综合网| 成人做爰A片免费看网站找不到了 噼里啪啦在线观看免费完整版视频 | 婷婷久久五月| 欧美成人猛片AAAAAAA| 一本色道久久综合狠狠躁小说| 精品99这里有| 五月天丁香婷婷视频网址| 91超碰在线播放| 日日干夜夜撸夜夜骑| 丁香五月电影院在线观看| 99无码| www.99热视频| 丁香婷婷激情五月色| AV中文网| 99热老网站| 天天搞天天色综合| 日本综合色色| 色婷婷啪啪综合网| 看片视频在线免费日产在线看| 六月丁香激情婷婷| 激情性爱五月天| 99精品网| 五月丁香五月综合欧美| 婷婷久久久久久久| 色婷亚洲| 国产无套精品一区二区| 91婷婷色五月| 5月婷婷六月丁香| 亚洲99综合| 国产亚洲99久久精品熟女| 九九热99热| 激情五月天婷婷在线网址发给我| 丁香六月久久| 婷婷久久色| 最新高清无码专区| 午夜丁香综合婷婷| 丁香五月激情无码视频| 久久婷婷五月天激情新地址| 午夜激情四射影院| 色色色综合| 丁香色六月婷婷| 色六月视频| 久久激情综合| 夜夜 操无码| 色情成人五月天| 日本欧美成人片AAAA| 五月婷婷丁香俺日污视频| 九九热只有精品6| 国产 亚洲 在线| 久久久久九九九九视屏小说88| 中文人妻AV久久人妻18| 婷婷性爱网| 99视频在线精品免费观看2| 天天婷婷操| 97人人射| 丁香激情五月| 一本九九色| 玖玖婷婷色欲| 色婷久久| 久久九九网| 丁香五月激情网| 五月丁香激情婷婷| 五月开心啪啪| 深爱网深爱综合网|