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
返回資訊列表
99re免费精品视频| 色情婷婷| 高清无码网址| 色色色色色色色色综合网| 色色九九五月天 | 激情超碰网| 91综合国免费久入| 思思久久99| 久久er这里只有精品| 天天干在线播放| 国产99久久久| 操九色| 久久综合网免费视频| 丁香五月婷婷老师网站| 黄色视频网站在线播放| 97在线观视频免费观看| 99久在线精品99re8| 天天天天做夜夜夜夜做| 丁香五月天婷婷久久综合| CAOBIBI| 国产欧美熟妇另类久久久| 五月天成人网在线观看| 少妇达人正片在线播放_ikun_福利吧| 久热精品视频| 亚洲色情网站| 淑女丝袜bi操逼123| 日本色频| 亚洲天天免费| 婷婷成人丁香色情基地30| 在线视频99| 一区二区成人电影免费播放| 色婷婷丁香女女| 大香蕉九九| 色婷婷久久7777| 欧美成人猛片AAAAAAA| 丝袜激情网| 六月激情久久| 黄网免费观看| 激情小说婷婷| 图片区 小说区 区 亚洲五月| 国产精品大香蕉| 婷色五月天| 色婷婷激情视频| 五月天激情在线视频| 任你擦免费视频| 久久99日本精品视频免费观看| 亚洲精品国产A久久久久久| 五月婷婷av| 亚洲综合无码| 色色色99| 丁香五月婷婷综合激情哟哟哟| 国产午夜精品一区二区三区四区| 五月 婷婷 成人| 五月婷深深爱激情网| 激情五月天啪啪视频| 久热九九| 亚洲五月综合色播| 五月天激情亚洲| 久久66成人网站| 无码色色| 激情综合网五月在线播放| 色九九七七| 日韩情色在线观看| 五月丁香啪啪网| 嫩草AV久久伊人妇女超级A| 久久久久久9| 婷婷丁香色情| 婷婷六月婷婷| 天天色天天日| 亚洲激情综合| 在线91日韩| 丁香色影院| 亚洲成人九九九| 日韩黄色电影| 婷久看人爽| 人人看人人要| 激情五月影院| 蜜臀99久久精品久久久久| 亚洲色色五月| 无码毛片992367| 丁香五月婷婷欧美成人色图| 欧美日韩91| 色噜噜综合网| 婷婷WWW久久| 麻豆精品| 无码毛片992367| 五月天精品综合在线| 九九亚洲视频| 色婷五月天| 99九九这里有免费视频| 色99日韩| 99综合色| 精品久久久中文字幕大豆网推荐理由| 超碰免费人人| av人人干| 97日本操| 色情丁香五月天| 国产综合网在线| 色五月首页| 少妇AB又爽又紧无码网站| 伊人网色婷婷五月天| 色综合av超碰| 婷婷色色播五月天| 人妻操逼| 久久色情| 婷婷 伊人 久久| 婷婷5月天激情综合| 中文字幕色色| 人人色人人弄人人操| 亚洲五月激情| 日日爽日日| 五月婷婷之综合激情| 丁香婷婷久久五月天| 97精品自拍| 日日夜夜爽| 99色婷婷| 色婷婷丁香| 丁香五月综合亚洲| 99在线精品免费视频| 99久久视频| 狠狠色婷婷丁香六月| 五月婷婷久久久| 婷婷色综合中心站| 操射国产日本| 婷婷丁香大香蕉| a色色片| 色狠狠婷婷| 亚洲第一成人无码A片| 久操人妻| 可以免费观看的AV| 黄色99视频| 免费AV在线网址| 伊人综合网4| 中文无码婷婷| j久久性爱视频| 综合狠狠干| 五月丁香色色色| 最新精品视频99| 91综合国免费久入| 99视频超级精品| 久久资源网五月婷| 超碰国产在线| 五月婷婷综合激情| 狠狠草婷婷| 这里有精品| 色噜噜狠狠色综合无码久久欧美| 久久久久婷婷| 五月婷婷之六月丁香| 免费视频无码| 五月色婷婷影视在线电影| 色五月婷婷亚洲| 99伊人性爱在线影院| 操操操AV| 亚洲网视屏| 狠狠综合久久| 欧美日韓成人亚洲精品另类| 大香蕉 婷婷| 情婷婷五月天| caop在线| 国产成人精品亚洲线观看| 色综合色色色| 一婬一伦一区二区三区| 97se视频在线| 五月丁香婷婷无码中文| 精品一二三区久久AAA片| 九九久久99| 超碰在线观看三级片| 婷婷五月天第四色| 天天操B| 欧美va视频| 7月婷婷六月丁香| 丁香五月伊人| 丁香婷婷色| 国产亚洲色婷婷久久99精品9j| 五月天婷婷在线AN| www.主妇. com| 人妻少妇色综合| 综合在线丁香五月| 97在线刺激| 丁香五月婷婷在线| 十月丁香九月婷婷综合| 亚洲1区| 国产精品a无线| 99精品22| aaa丁香五月天| 蜜乳久AV| 99热精品中文字幕| 五月天狠狠草| 婷婷欧美色| 成人无码髙潮喷水A片| VA国产在线综合网站| 亚洲乱码日产精品BD| 米奇影视资源婷婷狠狠色激情欧美五月丁香 | 操久久网| 人操综合| 丁香五月电影| 丁香五月婷婷成人网| 九九成年视频| 国产 码在线成人网站| 99在线观看免费精品视频| 无码少妇高潮喷水A片免费| 日韩综合大黄| 99热老司机| 俺也去色| caop在线视频| 色五月婷婷天天操夜夜操| 狠狠狠狠狠狠草| 久久综合五月天| 色五月xxx| 大香蕉 婷婷| 色99色| 激情伊人五月婷婷久久| 色噜噜夜夜夜综合网| 婷婷五月六月| 婷婷大乡焦噜噜| 天天爽天天爽夜夜爽| 综合亚洲AV| 激情丁香五月婷婷| 丁香五月婷婷偷拍| 17.c黄色| 九九这里有精品视频| 99操不停| 五月天婷婷基地| 五月婷婷在线综合| 97婷婷丁香五月| 成人版视频在线观看| 99热9| 五月婷婷色播| 色色网五月激情| 丁香五月1页| 99资源在线视频| 五月天操逼激情| 超碰成人免费| 久久久久网站| 日本婷婷| 婷婷成人五月天成人文学小说| 婷婷亚洲影院| 综合亚洲六月婷婷在线| 黄色激情久久| 亚洲婷婷91丁香| 六月婷婷色色网| 日本天天操| 欧美色97| 婷婷九月亚洲| 婷婷五月AV| 久色资源网| 五月丁香六月婷婷在线小说视频| 婷婷五月综合婷婷| 97成人丁香婷婷| 丰满少妇乱A片无码| 狠狠人妻色综合| 美女美女美女三级色天天天天天| 激情播丁香| 日韩无码成人电影| 久久天堂| 亚洲AV网站| 99热热热国产超碰| 色99色| 欧美色必爱| 岛国在线观看91| 天天操天天干天天射| 日日操天天操| 亚洲中字AV电影在线网站| 五月天婷婷激情| 99免费在线| 99久在线观看| 亚洲超碰在线| 日B日潘金莲BB| 精品国产一区二区三区四区阿崩| 色色三级视频| 午夜福利8055| www.日本91| 伊人色五月| 成年视频免费观看| 丁香婷婷久久| 99热这里精| 婷婷色色播五月天| 天天爽天天摸人妻综合网| 99re视频精品| 97九色视频| 婷婷五月天高清无码| 热99在线精品| 99综合免费视频| 丁香六月婷婷综合| 久久九九99视频| 日本色超碰| 欧美操我| 久热精品视频在线观| 五月激情婷婷开心五月| 人草人人| 久久草大香蕉| 五月日韩中文字幕| 青996青| 成人一级片| 亚洲成人免费电影| 五月天激情婷婷久久| 欧美丁香婷婷五月天| 色婷婷婷婷| 九九热大香蕉| 日本少妇裸体做爰高潮片 | 殴美97色| www。88热在线视频免费观看| 99热日本| 五月婷婷激情性爱| 亚洲V国产V欧美V久久久久久| 亚洲九九99精品视频在线播放| 日本一区二区三区精品视频| 欧美大香蕉视频| 婷婷日| 久久五月天色| 国产成人片| 蒲京久久无码视频| www.狠狠| 日日操日日撸| 午夜亚洲AV日韩无码| 六月婷婷AV| 久久婷婷五月天激情新地址| 色婷婷五月中文字幕在线dvd| 五月久久婷婷丁香| 五月久久丁香| 开心婷婷五月天综合| 99综合激情久久精品久久| 99热这里只有精| 99国产精品久久久久久久久久久 | 亚洲成人乱码av网站| 日韩av在线免费观看| www.99热| 丁香婷婷大香蕉| 五月天深爱激情网| 婷婷爱五月| 婷婷五月天丁香久久| 婷婷色九月| 午夜五月天| 婷婷综合久久| 色婷丁香| 五月天伊人综合| AA片在线观看视频在线播放| 色噜噜婷婷| 精品久久人妻| a免费在线| 五月天日日操夜夜操| 婷婷丁香人妻天天久久| 久久久国产精品黄毛片| 5月婷婷综合| 亚洲AV网站| 婷婷五月天久| 六月丁香婷婷五月| 国产精品噜噜在线视频| 97碰久久| 日本久久婷| 色五月婷婷五月天激情综合| 26uuu成人网| 色色网站在线免费观看视频| 五月天激情影院| 超碰爱爱爱| 激情婷婷五月天日本系列| 桃色五月天| 伊人久久婷婷| www久| www.9797国产| 婷婷刺激综合| 色欲五月婷婷| 粉嫩av懂色av蜜臀av熟妇| 99精品综合| 综合激情深爱| 色级婷婷| 播五月开心婷婷欧美综合| www婷婷色| www.狠狠色.com| 久操大香蕉| 天天日日天天| 久久大大香| 国产熟女日日骚五月丁香爱| 亚洲网在线观看| 97深爱伊人综合| 激情五月天色播| 丁香婷婷五月色成人网站| 99丁香五月婷| 狠狠看狠狠| www.99在线| 99久久99热| 五月丁香啪啪啪免费看| 国产一区二区三区影院| 99免费热视频| 91人妻人人操人人爽| www.婷婷五月天.com| 九月大香蕉| 五月丁香激情综合啪啪| 色婷婷五月影视| 成人无码精品1区2区3区免费看| 婷婷第六色| 色五月首页| 色色色视频| 久久在线视频免费观看| 婷婷色情六月| 99在线播放视频| 亚洲综合成人网| 婷婷丁香五月激情图片| 久久久色情| 香焦网五月天| 丁香婷五月| 超碰97色| 丁香五月六月综合激情| 99色1| 婷婷丁香五月天熟女丝袜| 人人爱摸视频| 天天插轮理| 久久九⑨| 九九这里都是精品| 午夜五月天| 激情综合网五月丁香| 六月色婷婷| www.五月天社区| 91久久九久久九久久九久久九久久 | 五月色丁香婷婷综合| 五月婷婷成人| 成人网站免费sxj| 碰碰操91| 99视频啪啪| 色情婷婷| 六月婷婷激情| 五月婷庭丁香在线| 色婷婷色情| 97综合视频在线| 国産精品| 丁香六月无码播放| 99热在线免费观看精品| 狠狠色综合网| 七七色色综合| 波多野结衣不卡AV| 婷婷视频网| 婷婷五月天精品| 激情婷婷综合| 99热99色| 98永久精品| 校花娇喘呻吟校长陈若雪视频| 国产亚洲色婷婷久久99精品91| 激情丁香婷婷六月天| 天堂网色色| 夜色五月天| 久久九九99| 色五月丁香五月天| 亚洲Av入口| 爽极品色| 99天堂网| 亚洲成人一区| 婷婷五月激情欧美| 9伊人网| 97久久人人人干| 99热精品在线播放| 欧美在线干| 99热这里只有精品青草| 99性爱视频网站| 99视频地址| 91人人爽狠狠狠| 日本操碰碰| 激情国产五月| 97日本在线播放| 九九色逼| CHINESE熟女老女人HD视频| 日日肏天天操| 97丁香五月| 亚洲欧洲自拍图片专区五月天| 99在线精品观看99| 99操99| 久久精品五月天| 六月色播| 五月丁香啪啪啪啪| 色色色婷| 91精品久久久久久77777| 色综合色色色色| 久久久国产精品黄毛片| 麻豆忘忧草午夜| 色狠狠婷婷| 亚洲春色奇米影视| 成人视频网| 99热超碰在线| 极品人妻VIDEOSSS人妻| 欧美成人AAA片一区国产精品| 丁香五月电影| 香蕉AV777XXX色综合一区| 五月婷婷激情综合| 欧美性生交XXXXX无码小说| 老美AA片| 亚洲a片免费观看| 激情婷婷在线| 99久久视频| 9l视频自拍九色9l视频在线观看| site:xiongshengzz.com| 婷婷五月天综合激情| 日韩婷婷| www.思思99热| 婷婷射丁香| WWW.99热| 99热超碰在线| 人妻丰满精品一区二区A片| 国产古装妇女野外A片| 综合色五月亭亭| 91久久18| 欧美成性色| 五月丁香六月激情狠狠| 天天插AV丝袜中| 色99色| 婷婷色在线观看| 国产精品99久久久久久久女警| 国产精品电| 日都一级A片| 国产免费一区二区三州老师F1F1| 色色色视频免费无码| 色吧五月婷婷| 九九热在线精品| 婷婷色情 | www.久操| 开心五月天私房婷婷| 99热精地址| 高清无码网址| 狠狠干狠狠干| 久久大香蕉视频| 五月婷婷激情综合在线| 伊人色综合网| AV片一区在线观看| 婷婷五月天网址| oumeisesewang| 婷婷五月天高清无码| AVDV久久| 色欲久久久久久综合网综合网| 天天做天天爱天天爽夜夜揉| 色五月天成人| 精国产品一区二区三区A片| 婷婷五月色惰| 色综合久久久久久久久五月| 夜夜撸夜夜骑| 色99视| 99热精品在线播放观看| 综合啪啪| 五月丁香毛片| 婷婷六月天亚州| 天天操无码| 亚洲天堂99| 青青草色在线视频观看| 五月婷婷五月天亚洲无码| 五月婷在线观看| 丁香五月婷婷五月基地| 色情综合网| 日韩另类在线观看| 99色在线观看视频者| 六月丁香花婷婷| 99爱视频免费| www.金莲av| 丁香色五月直播| 丁香婷婷六月| 亚洲精品九九| 人人做天天爱| 婷婷亚洲在线| 丁香涩涩五月天| 五月天婷婷丁香| 色99自拍| 99热日| 亚洲一区二区无遮挡A片| 色婷婷丁香五月天激情综合网| 精品九九久久| 夜色综合网| 一起草av在线观看| 日本激情五月| 亚洲妇女熟BBW| 成人网站免费sxj| 五月丁香啪啪| 国产韩日亚洲美州欧亚综合在线| 91视频综合网| 三级片AAA久久久AAA久久久AAA| 蜜乳.comcom| 亚洲精品午夜国产va久久成人| 日本九九网| 丁香六月久久| 五月激情四射网站| 五月天婷婷导航| 风流少妇A片一区二区蜜桃 | 在线观看熟女少妇| 色中色综合| 色噜噜婷婷| 九月激情网| 99精品久久| 97自拍视频在线| 久久色婷婷| 99热国产| 丁香五月天色| www天堂99| 五月天激情啪啪| 亚洲一二三网| 亚洲五月天激情| 免费亚洲婷婷中文字幕| 激情五月综合| 人妻五月天激情开心网| 超碰只有精品在线| 久久五月激情| 日韩久热| 国产亚洲精品久久久久久郑州| 日韩成人五月天| 开心激情站| 26UUU在线观看| 免费日本aⅴ中文字幕| 五月天社区狠狠| 9 9热这里有精品| 97香蕉碰碰人妻国产欧美| 99色在线视频| 99婷婷狠狠成为人免费视频| 色导航色婷婷五月天在线观看| 亚洲99精品九九在线| 成人丁香五月天Av| 人人草成人视频| 日韩无码AV电影网站| 激情五月综合网最新| 9热视频在线观看| 色婷五月天| 初夜av| 怡红院91a√| 亚洲人成色A777777在线观看| 五月天激日本色情在线| 偷拍99在线视频观看| 极品另类| 嫩草综合网| 超碰爱爱爱| 婷婷精品视频| 丁香五月香蕉| 人人玩人人橾| www.99色在线| 五月天成人综合| 丁香五月婷婷激情蜜桃| 大香蕉啪啪网| 久久丁香网| 中文字幕在线免费观看视频| 色丁香五月| 久久99热这里只有精品首| 五月天大香蕉av| 深爱激情五月婷婷| 激情五月综合网最新 | 五月婷婷影院| 丁香五月婷婷激情视频播放| 精品成人在线观看| 色婷婷精| 黄色录像网点| 看片视频在线免费日产在线看| 欧美啄木乌丝袜人妻系列| 五月丁香综合啪啪| 伊人狼人干| 色情成人五月天| 97超碰在线免费观看| 五月丁香综合伦理片| 欧美三日本三级少妇三99| 果冻传媒A片一二三区| 丁香久久| 婷婷六月色开 | 日本一道久久| 大香蕉伊在| 国产精品天天狠天天看| 色婷婷99| 日狠狠| 成人在线日韩欧美| 婷婷五月天激情基地| 亚洲色婷婷色| 一区二区中文字幕| 婷婷涩五月| 中文字幕av久久爽| 亚洲婷婷性爱| 国产古装妇女野外A片| 久婷五月| 亚洲愉拍99热成人精品| 五月丁香六月天| 婷婷激情六月中文| 久久一热免费视频| 久操热| 日本啪啪天堂| 91在线操| 69久久99精品久久久久婷婷| 在线精品97| 九九9久九9国产视频| 大香蕉婷婷| 夜夜爱网站| 天天操综合网| 俺去也婷婷| 五月天开心网| 99热这里是精品| 白人荫道BBWBBB大荫道| 99性爱| 丰满人妻妇伦又伦精品国产| 国产精品久久久久久久久久免费| 怎么样可以看免费的一级av| www.91五月| 欧美 色婷婷| 天天干天天干天天操| 婷婷啪啪| 老妇六区| 99色在线视频观看| 激情五月天的婷婷| 婷婷五月天激情综合| 午夜免费试看| 激情综合青草| 五月丁香六月婷婷综合| 26uuu成人网| 强伦轩人妻一区二区电影| 日本久久婷婷| 亚洲妇女熟BBW| 色婷婷丁香女女| 色色色色色日韩午夜激情| 激情丁香五月| 色九月| 亚洲激情电影五月天色婷婷丁香一起草| 久色成人| 99色丁香婷婷综合网| 五月婷婷第四色| 激情深爱五月天| 久久只有18视频| 强辱丰满人妻HD中文字幕| 先锋影音av色五月天资源站| 五月色丁香婷婷综合| 99热丁香| 操你av| 日韩精品一品二区三区的使用体验| 婷婷久久亚洲| 婷婷情色开心五月天99| 免费啪啪亚州视频| 国产Va视频| 九九精品视频在线观看| 久久久久婷婷| 日韩aⅴ视频| 五月天丁香网站| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 亚州第一黄网| 五月激情啪啪啪| 激情图片婷婷| 色婷婷综合网| 97操碰在线97| 久久视频66| 婷婷丁香五月综合激情视频| 九九伊人网| 国产婷婷五月| 欧美丁香六月在线观看视频| 婷婷五月激情图片| 欧美综合五月天婷婷tin| 国产激情在线| 五月丁香成人| 99热最新| 色色色在线观看| 天色综合网站| 色哟哟精品| 丁香九色不卡aaa | 丁香五月综合在线视频| 色五月天综合网| 秋霞av不能| 色婷婷成人影片| 99热老网站| av人人操| 91啪级电影| 久久久久久久人妻| 噜噜色五月| 996日日爱| 国自产拍偷拍精品啪啪一区二区| 大香蕉九九| 夜夜躁爽日日| 亚州成人综合在线| 亚洲色色精品| 777影视理论片大全在线观看| 久久婷丁香五月| 五月丁香花婷婷玉莉AV| 亚洲综合网在线| 免费AV黄在线播放| 国产精品大香蕉| 91色综合| 色哟哟精品| 91久久免费| 久久er九九| 五月激情啪啪| 性爱先锋AV| 婷婷五月天综合网| aⅤ79成人片| 国产免费一区二区三区三州老师F1F1.CC| 五月婷三级片| www.思思99热| Www.sesese丁香| 激情婷婷亚洲五月| 九九热最新| 日本色婷婷久久99精品91| 亚洲欧美成人在线| 97色久| 久久精品视频在这里有| www.91AV.COM| 99爱视频在线观看| 欧美久人人| 久久WW| 激情爱爱网站| 91无码视频| 激情综合网丁香| 久久色情| 五月丁香激情片| 国产精品社区| 99re久久| 大香蕉综合在线| 九九热这里有精品视频| 熟妇无码乱子成人精品| 日本无va视频| 内射干少妇亚洲69XXX| 丁香六月婷婷姐网| 大香伊人婷婷影院| 五月天婷婷丁香基地在线观看| 视频1区2区| 久久久激情| 国产精品久久久99视频| 激情网五月天| 婷婷噜噜| 狠狠五月激情丁香六月| 久久五月丁香婷婷| 五月丁香六月婷精品视频| 日本精品人妻无码77777| 高清无码中文字幕aVDV| 精品9l九九九九九77777| 亚洲va综合va国产va中文| 一级精品999WWW| 九九免费视频| 99免费视频网| 色五月五月婷婷| 婷婷六月激情| 99热久久这里只有精品2010| 91久久五月天| 色五月婷婷网| 色五月天婷婷| 婷婷五月激情网| 99热在线精品观看| 色久免费| 超碰99在线| 亚洲AV影片在线观看| 六月丁香五月天| 色婷婷六月天| 噼里啪啦完整版中文在线观看| 婷婷六月五月天综合| 国内久久婷婷| 日韩成人免费电影| 日韩在线五月天婷婷| 五月久久婷婷丁香| 91丁香色五月| 婷婷天天日婷婷| 97色婷婷五月天| 99久久综合网| 久久99大| 中文av网站| 精品久久这里热66| 婷婷五月天777| 久操人| 亚洲精品V天堂中文字幕| 丁香五月亚综合图片| 五月丁香久人妻中文| 五月婷婷精品| 亚洲国产精品VA在线看黑人| 超碰在线观看9| 激情综合色婷婷啪啪六月天| 久色网| 五月激情婷婷四射| 99精品偷自拍| 色~性~乱~伦~噜| 天天干天天色天天干| 欧美日韩999| AV大片在线观看| 99视频只有精品| 九九99热久久精品66中文字幕| 丁香成人综合| 婷婷色导航| 99re久热只有精品6在线直播.com| 国产精品VIDEOSSEX久久发布| 婷婷在线播放| 99热这里只有在线| 天天干天天干天天干天天干天天干天天| 天天肏天天肏天天肏| 性爱激情综合网| 性做久久久久久久免费看| 激情AV在线| 婷婷开心激情五月激情网| 精品福利911| 另类激情五月天。| 欧美日本黄色| 日韩欧美成人片| 9999热免费视频视频| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲色视频| 99在线观看精品| 五月丁香婷婷综合视频| 丁香五月婷婷色| 激情黄色五月天| 26UUU| 天天色天天色天天色天天色天天色天天色| 婷婷激情视频| 碰碰操91| av在线激情| 欧美乱码国产一级A片| 九月丁香八月婷婷加勒比| 99干日日干| 亚洲色无码A片一区二区麻豆| 91丨九色丨熟女|老版| 日韩高清成人| 五月丁香亭亭操逼| 五月开心深深爱激情综合 | 亚洲无AV在线中文字幕| 国产精品18久久久| 欧美激情性做爰免费视频| 日韩aaa| 五月天婷婷基地| 99久热| 激情五月天婷婷| 亚洲亚洲人成综合网络| 亚洲午夜av| 色五月婷婷老师| 狠狠精品干练久久久无码中文字幕 | 六月婷久久| 99热在线精品播放| 丁香色综合| 在线va网站| 狠狠操天天操| 精品综合久久久久久五月天| 九九视频这里只有精彩| 色色色色色网站| 99性爱无码| 五月丁香五月综合欧美| 波多野结衣AV无码Porn| 色婷操逼| 97色色婷婷| 日本人妻伦在线中文字幕| 亚州男人天堂婷婷五月| 超碰免费电影| 九月av| 思思99精品视频在线观看| 色另类五月天| 国产另类综合| 色碰碰视频| 思思热在线视频精品| 婷婷五月天av小说| 99亚洲视频| 天天日天天添| 日日夜夜久| 激情六月天| 亚洲这里只有精品| 婷婷五月丁香激情| 丁香五月综合无码趴趴| AV在线观看网站| 欧美亚洲操逼| 夜夜爽天天爽| 99综合在线| 丁香五月花| 色婷婷女优有码五月亭| 五月丁香手机在线| 五月婷婷我| 久久综合影院| 丁香五月婷婷免费视频| 99热999| 日本在线wwww| 激情丁香久久| 色婷婷社区| 99热这里都是精品| 日韩五月婷婷久久| 97碰在线| 九九热在线99| 婷婷丁香成人| 美女视频图片久久91| 99操碰| 婷婷五月综合视频| 成人丁香五月天| 久在线综合69| 久久综合九九| 激情五月天在线免费美女视频| 五月天综合视频| 婷婷色五月天色| 亚洲激情网站无码| 婷婷九月丁香| 婷婷5月久久综合网站| 五月天婷婷香蕉狠狠超碰综合| 狠狠婷婷爱| 九九伊人网| 99在线播放| 久久机热这里只有 | 伊人五月人妻精品| 大香蕉伊人99| www.99精品日操伊人乱碰在线| 美女五月激情| 婷婷99热| 日本97久久久精品| 婷婷五月激情欧美大胆视频| 另类视频一区| a九九热www| 久久视频在线| AV九九| www.久久久.com| 欧美爆乳一区二区三区| 最新高清无码专区| 婷婷五月天激情网| 综合久久五月| BBWCUCKOLD精品熟妇| 亚洲中文字幕AV| 91碰碰视频| 热996精品在线观看| 蜘蛛女免费观看完整版高清电影| 97人人搞| 免费人人操| 婷婷久久丁香| 五月丁香亭亭激情操逼网| 91dy.av| 超碰九色| 激情五月婷婷丁香六月| 婷色五月| 99re免费精品视频| 成人婷99最新| 另类激情四射| 久久这里只有精品热在99| 殴美97色| 丁香五月婷在线观看| 久久大国产香蕉| 丁香五月丁香伊人| 成人无码髙潮喷水A片| 婷婷五月天播| 天天插天天插| 综合五月亭亭9| 中文字幕按摩做爰| 日韩一区二区在线播放| 99爱在线视频| 中文字幕丰满乱孑伦无码专区| 午夜大香蕉| 亚洲俩性性爱图片久久第六页| 色五月激情五月天| 天天舔天天摸天天射| 91久久婷婷| 6080av| 成人国产欧美大片一区| 天天做天天爱天天爽夜夜揉| 丁香五月偷拍| www..com色爱| 九九色插| 噜噜狠狠色| www.99视频| 国产在这里只有精品| 久久之人妻| 亚洲亚洲人成综合网络| 色久五月| 久久综合网桃花| 狠狠激情五月天| 婷婷刺激综合| 99视频自拍| 九九成人精品免费视频| 大香蕉伊人久久| 婷婷爱五月天人人爱| 色偷偷人人| 五月综合色| 色婷婷在线视频久| 婷婷五月天伦理| 国产AV一区二区三区最新精品| 激情 婷婷 丁香五月天| 婷婷色基地在线看| 亚洲熟妇无码乱子AV电影| 国产激情在线| 99性视频| 5月婷婷性视频| 婷婷丁香社区| 久久99热这里只有精品| 亚洲五月天婷婷综合| 一级性爱大片| 丁香六月啪啪啪| 蜘蛛女免费观看完整版高清电影| 亚洲情综合五月天| 五月香婷婷| 婷婷第六色| 色爱综合五月| 五月婷婷之综合激情| 操逼棍操逼| 91久久综合亚洲噜噜成人在线| 五月天婷婷基地| 婷婷五月天日本国产| 亚洲182在线观看| 成人在线日韩| wwwxxx五月婷婷小说| 欧洲一区二区| 成人午夜天| 超碰在线精品| 色丁香在线视频| 九月停停| 九九伊人网| 色色AV色色色东莞| 亚洲色五月天是什么| 五月深情久久| 97人人干| 热99在线精品| 丁香五月停停av| 日本久久婷婷| 亚洲激情Av| 日本色五月| 五月丁香六月婷婷网| 婷婷五月天深爱| 98色花堂98t.R| 九九久99免费视频| 丁香五月婷婷五月| 色婷婷五月天在线观看| 五月婷婷播| 日韩综合天堂| 久久九九99.www| 91人久| 婷婷天天日婷婷| 久久电影4399| 99热这里只有精品18| 久久久精品视频79| 久草视频一,二三四| 香蕉视频性爱BB做爱| 成人做爰A片免费看网站找不到了| 激情综合五月开心狠狠| 久久婷婷色五月| 夜夜骑日日操| 激情欧美婷婷| 激情视频综合| 色很久综合| 91丁香色| 欧美色图片88| 啊v视频在线观看| 婷婷开心激情| 99热网址| 五月婷婷综合在线| 这里只有精品视频在线看| 91九色精品女同系列| 色婷婷888| 国产在线视频1234| 9色免费网| 色婷婷很很十八禁| 丁香婷婷成年| 色狠狠色噜噜AV天堂五区| 99婷婷| www.色婷婷.com| 五月丁香色综合| 色欲天天综合| 五月激情啪啪| 五月天激情久久| 伊人婷婷大香蕉| 日本视频欧美观看免费| 好大好粗嗯啊-一级黄色大片免费观看-成人AV | 久久月天堂| 丁香五月瑟瑟| 春色激情| ZpRSw| 亚洲av| 狠狠色婷| 色婷婷播放| 婷婷五月天丁香激情| 九九成年视频| 91精品又长又大又粗又爽又猛| 9在线9在线婷婷在线国产| 99啪在线| 丁香五月电影院在线观看| 视频1区2区| 伊人久久大香蕉网| 成人丁香五月| 五月丁香日本一抹本| 狠狠五月丁香色婷| 五月丁香婷婷五月色| AV九九| 五月色丁香综合| 操逼福利视频| 六月丁香激情婷婷| 亚洲第一综合| 久久婷婷网| 丁香九月婷婷| 成熟妇人A片免费看网站| 亚洲传媒在线观看| 久热在线观看视频9| 超碰在线9| 精品五月视频婷婷在线观看| 五月丁香直播| 色五月婷激情| 激情人妻综合| 五月婷丁香| 亚洲精品第一色色色色色色| 婷婷五月天国产性感美女演员久久久久| AV网址大全在| 狼人婷婷久久| 五月天激情国产综合婷婷婷就去爱| 五月天婷婷色播| 五月婷婷网站| 久99视频| 国产乱子轮XXX农村| 婷婷丁香五月视频| 色噜噜五月天| 99热20| 亚美欧色影院| 天天干天天干天天干天天干天天干| 国外亚洲成AV人片在线观看| 久久婷婷大香蕉| 亚洲操精品| 六月色五月天天婷婷| 五月丁香狠狠爱婷婷综合| 婷婷五月天激情基地| 五月天婷婷综合| 九九色图| 思思热在线| 久久久久视剧HD| 97色色-99久久| 色综合日日| 国产激情视频在线观看| 99热久久这里只有精品| 操九色| 九九热这里有精品23| 五月天婷婷久久| 久热伊人| 91.com男女操| www.五月天性.com| 亚洲精品影视| 中文字幕网伦射乱中文| 性生活视频98791| 91婷婷色 | 99啪啪网| 丁香五月视频在线观看| 色五月婷婷五月天| 97精品人人A片免费看| 日韩高清成人| 天天搞夜夜爽夜夜爽| 激情六月天| 久久这里只有精品视频15 | 嫩草视频。| 九九婷婷综合| 五月婷婷 激情五月| 精品夜夜澡人妻无码AV| 成人免费高清在线播放| 五月婷婷婷婷婷婷艺术| 五月婷色色| 伊人婷婷五月天av| 玖玖精品视频99| 99热成人| 激情五月天啪啪| 婷婷久综合| 丁香五月婷婷色偷偷| 天天操夜夜肏| 99热都是精品| 成人免费网站免费看| 99色在线观看视频| 91日本在线观看| 超碰91av| 婷婷五月丁香五月综合网| 999热在线观看视频| 国产精品久久99| 丁香婷婷视频在线| 九色综合网| 99久久99热这里只有精品| 激情综合网五月| 久久99久久久久久| 丁香五月婷婷基地| www:99热视频| 国产亚洲99久久精品| 久久女人天堂| 丁香婷婷色情| 人人草人| 亚洲啪啪精品| 五月色丁香激情| 97超级碰人人| 都市激情蜜桃婷婷五月天| 国产在线中文字幕| 婷婷激情性爱| www.色五月| 97黑人精品区| 天天精品视频免费观看| 丁香五月婷婷久久久| 色五月综合激情| 久热A片| 色综合久久88色综合天天| wwwav大香蕉| 五月停停激情网| 男女啪啪做爰高潮无遮挡| 狠狠色五月|