国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

ARTICLE DETAIL

資訊詳情

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

STM32F103驅(qū)動(dòng)VL53L0X激光測(cè)距:IIC驅(qū)動(dòng)源碼詳解與避坑指南

STM32F103驅(qū)動(dòng)VL53L0X激光測(cè)距:IIC驅(qū)動(dòng)源碼詳解與避坑指南 簡(jiǎn)介基于STM32F103單片機(jī)的VL53L0X測(cè)距傳感器IIC接口驅(qū)動(dòng)源碼面向嵌入式開發(fā)者和STM32入門學(xué)習(xí)者解決激光測(cè)距模塊在Keil MDK環(huán)境下的快速集成與調(diào)用問題。工程在KEIL UV5下開發(fā)完成引腳與IIC配置后可直接運(yùn)行主程序依次完成LED指示燈、SysTick定時(shí)器與USART串口初始化并調(diào)用vl53l0x_start_single_test執(zhí)行單次測(cè)距狀態(tài)判斷與串口輸出接口均已預(yù)留模塊劃分簡(jiǎn)潔注釋清晰便于順著思路理解驅(qū)動(dòng)架構(gòu)。資源包共238個(gè)文件其中h頭文件47個(gè)、c源文件42個(gè)核心驅(qū)動(dòng)代碼完整另附uvprojx工程文件可直接用Keil打開編譯、hex燒錄文件可快速驗(yàn)證map映射文件與編譯中間產(chǎn)物也能輔助排查問題整體約8.28MB。已有1569人學(xué)習(xí)下載對(duì)熟悉IIC時(shí)序和傳感器驅(qū)動(dòng)移植的初學(xué)者具有較好的參考價(jià)值。1. 從 IIC 波形臺(tái)階到 STM32F103 與 VL53L0X 的這場(chǎng)“硬仗”做嵌入式開發(fā)這幾年我上手過的測(cè)距方案不算少超聲波、紅外、激光三角都有各自的脾氣。但如果你手頭正好有一塊 STM32F103 最小系統(tǒng)板又想把測(cè)距精度做到毫米級(jí)VL53L0X 這顆激光測(cè)距傳感器幾乎是繞不開的選擇。它用的是 ToF飛行時(shí)間原理而不是靠反射光強(qiáng)度估距離所以在弱光、強(qiáng)光下都比紅外靠譜得多它和 MCU 之間走的是 IIC 接口也就是標(biāo)題里那個(gè)“IIC 驅(qū)動(dòng)程序源代碼”要解決的核心問題。我最早在 STM32F103 上調(diào)試 VL53L0X 時(shí)最大的感受是硬件連接十分鐘就能搞定真正耗時(shí)間的全在 IIC 時(shí)序、寄存器讀寫和那個(gè)復(fù)雜到讓人頭皮發(fā)麻的 API 初始化流程上。更別提用示波器看 SCL/SDA 波形時(shí)發(fā)現(xiàn)臺(tái)階、用邏輯分析儀抓到 ACK 丟失這類玄學(xué)問題。這篇筆記我就把基于 STM32F103 的 VL53L0X IIC 驅(qū)動(dòng)從原理到源碼、再到排錯(cuò)方法完整拆一遍給你一條能直接照著復(fù)現(xiàn)的落地路徑。2. VL53L0X 為什么非用 IIC 不可接口選型與上拉電阻的關(guān)鍵參數(shù)2.1 從 ToF 原理看 VL53L0X 的通信需求VL53L0X 內(nèi)部集成了激光發(fā)射器、單光子雪崩二極管陣列和復(fù)雜的測(cè)距算法引擎。它對(duì)外暴露的接口只有一路 IICI2C而且芯片本身不帶地址線7 位地址是寫死的 0x29想在同一總線上掛多顆就得靠 XSHUT 引腳逐個(gè)上電復(fù)位來改地址。這顆傳感器不提供 SPI 或 UART 選項(xiàng)所以 IIC 驅(qū)動(dòng)不是“選型之一”而是唯一路徑。這里要先糾正一個(gè)常見誤解很多人覺得 IIC 就是兩根線隨便接一接就能通但實(shí)際上 VL53L0X 的數(shù)據(jù)手冊(cè)明確規(guī)定 SCL 和 SDA 需要外部上拉電阻。我見過不少翻車案例都是直接把 STM32F103 的 PB6/PB7 接到模塊上忘了上拉結(jié)果讀寫寄存器時(shí)好時(shí)壞。IIC 是開漏協(xié)議沒有上拉電阻總線根本拉不至高電平波形會(huì)變成一條緩慢爬升的斜線通信時(shí)序自然一塌糊涂。2.2 上拉電阻阻值怎么定1.8k 到 4.7k 的取舍上拉電阻的取值直接影響 IIC 的上升沿時(shí)間。VL53L0X 支持標(biāo)準(zhǔn)模式100kHz和快速模式400kHzSTM32F103 的 IIC 外設(shè)跑 400kHz 完全沒問題但前提是上拉電阻要匹配。電阻太大RC 充電時(shí)間常數(shù)變大上升沿變緩400kHz 下可能觸發(fā) SCL 高電平時(shí)間不足電阻太小總線驅(qū)動(dòng)電流過大雖然波形更陡但會(huì)增加功耗且對(duì)長(zhǎng)線傳輸不友好。我一般會(huì)分兩種情況處理如果模塊和 MCU 在同一個(gè) PCB 上、走線很短用 4.7k 上拉到 3.3V 就夠了這也是絕大多數(shù) VL53L0X 模塊的默認(rèn)配置如果用了杜邦線連接線長(zhǎng)超過 10cm或者周圍有電機(jī)、繼電器這類干擾源我會(huì)直接換成 2.2k 甚至 1.8k把上升沿壓下來。還有一個(gè)容易忽視的點(diǎn)STM32F103 的 PB6/PB7 如果配置成了開漏輸出片上沒有上拉必須靠外部電阻如果你圖省事把引腳配置成推挽輸出那總線就變成單端驅(qū)動(dòng)了雖然短線上也能跑通但一旦掛多設(shè)備就會(huì)出現(xiàn)總線沖突這個(gè)后面講多設(shè)備掛載時(shí)再細(xì)說。// 標(biāo)準(zhǔn)外設(shè)庫方式初始化 IIC 引腳PB6SCLPB7SDA GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitStructure.GPIO_Pin GPIO_Pin_6 | GPIO_Pin_7; GPIO_InitStructure.GPIO_Mode GPIO_Mode_Out_OD; // 開漏輸出必須配合外部上拉 GPIO_InitStructure.GPIO_Speed GPIO_Speed_50MHz; // 高速模式下壓擺率足夠 GPIO_Init(GPIOB, GPIO_InitStructure);這里把引腳配置成開漏輸出邏輯上完全兼容 IIC 協(xié)議因?yàn)殚_漏模式下器件只能拉低總線拉高靠外部上拉電阻這正是 IIC 總線仲裁機(jī)制的基礎(chǔ)。50MHz 速度等級(jí)是為了保證 GPIO 翻轉(zhuǎn)速率不成為 400kHz 時(shí)序的瓶頸雖然實(shí)際 IIC 翻轉(zhuǎn)頻率遠(yuǎn)低于 50MHz但 STM32F103 的 GPIO 輸出驅(qū)動(dòng)能力配置在高速檔時(shí)邊沿更陡抗干擾能力更好。2.3 5V 轉(zhuǎn) 3.3V 電平與 VL53L0X 的兼容性邊界熱詞里提到“stm32f103 5v轉(zhuǎn)3.3v電路”這背后是一個(gè)關(guān)鍵約束VL53L0X 的絕對(duì)最大額定電壓是 3.6V供電必須用 3.3V不能接 5V。很多 STM32F103 最小系統(tǒng)板是 3.3V 供電的這部分不難難的是如果周圍還有其他 5V 器件、或者你手上的模塊是 5V 邏輯的舊器件就得小心電平轉(zhuǎn)換。VL53L0X 模塊上一旦接了 5V大概率直接燒毀內(nèi)部的 LDO 和傳感器核心。我自己的習(xí)慣是不管模塊上有沒有板載穩(wěn)壓一律外部供 3.3V并且用萬用表確認(rèn)模塊 VIN 引腳電壓不超過 3.45V。如果系統(tǒng)里確實(shí)只有 5V 電源就得先過一個(gè) AMS1117-3.3 或更低壓差的 LDO再給 VL53L0X 供電同時(shí) STM32F103 的 IIC 引腳如果被外部上拉到 5V也要通過電平轉(zhuǎn)換芯片如 TXS0102或分壓電阻把高電平鉗位到 3.3V否則 VL53L0X 的 IIC 引腳可能因?yàn)檫^壓進(jìn)入閂鎖狀態(tài)。3. 驅(qū)動(dòng)源碼的核心骨架從寄存器讀寫到 API 移植的完整鏈路3.1 IIC 底層驅(qū)動(dòng)用 GPIO 模擬還是用硬件 IIC這是 STM32F103 上做 VL53L0X 驅(qū)動(dòng)最糾結(jié)的一個(gè)選擇。STM32F103 有硬件 IIC 外設(shè)但老工程師都知道這塊芯片的硬件 IIC 在早期批次里有著名的 Bug雖然實(shí)際上大部分場(chǎng)景能用但總有一些超頻、總線繁忙、多主沖突的邊界情況會(huì)莫名其妙卡死。我自己的血淚經(jīng)驗(yàn)是VL53L0X 的驅(qū)動(dòng)本來就復(fù)雜初始化要讀寫上百個(gè)寄存器而且官方 API 里有一些地方會(huì)連續(xù)做多次沒有 STOP 的重復(fù)起始條件這時(shí)候硬件 IIC 如果配置不對(duì)就可能等 BUSY 位一直不釋放卡死在 while 循環(huán)里。所以常見的從業(yè)方案是直接用 GPIO 模擬 IIC。兩條 GPIO 線用延時(shí)函數(shù)控制翻轉(zhuǎn)雖然會(huì)占用 CPU但對(duì) VL53L0X 這種單次測(cè)距才幾十毫秒的傳感器來說完全夠用。而且 GPIO 模擬 IIC 的時(shí)序完全可控出了問題用邏輯分析儀一看就知道是哪一步不對(duì)比對(duì)著數(shù)據(jù)手冊(cè)查硬件外設(shè)寄存器狀態(tài)快得多。// GPIO 模擬 IIC 的起始條件 void VL53L0X_I2C_Start(void) { VL53L0X_SDA_H(); VL53L0X_SCL_H(); delay_short(10); // 保持時(shí)間確保 SDA 建立 VL53L0X_SDA_L(); // SDA 先拉低 delay_short(10); VL53L0X_SCL_L(); // SCL 再拉低完成起始條件 delay_short(10); }這里的關(guān)鍵是時(shí)序順序IIC 起始條件是 SCL 為高時(shí) SDA 產(chǎn)生下降沿。如果 SDA 拉低后沒有等 SCL 也拉低就開始傳數(shù)據(jù)從機(jī)可能會(huì)誤判起始條件。delay_short 是微秒級(jí)延時(shí)我建議直接在 startup 文件或 systick 上做一個(gè)簡(jiǎn)易延時(shí)函數(shù)不要用 for 循環(huán)空轉(zhuǎn)因?yàn)榫幾g器優(yōu)化等級(jí)不同for 循環(huán)的空轉(zhuǎn)時(shí)間會(huì)變驅(qū)動(dòng)在 -O0 下能跑到 -O2 下就亂套了。// GPIO 模擬 IIC 寫一個(gè)字節(jié)返回 ACK 狀態(tài) uint8_t VL53L0X_I2C_WriteByte(uint8_t data) { uint8_t ack 0; for (uint8_t i 0; i 8; i) { if (data 0x80) VL53L0X_SDA_H(); else VL53L0X_SDA_L(); data 1; VL53L0X_SCL_H(); delay_short(5); VL53L0X_SCL_L(); delay_short(5); } VL53L0X_SDA_H(); // 釋放 SDA準(zhǔn)備讀 ACK VL53L0X_SCL_H(); delay_short(5); ack VL53L0X_SDA_READ(); // 在第 9 個(gè)時(shí)鐘讀取從機(jī) ACK VL53L0X_SCL_L(); delay_short(5); return ack; }這段代碼是整套驅(qū)動(dòng)的底層地基。寫字節(jié)時(shí)從高位開始每發(fā)一位拉高 SCL讓從機(jī)在 SCL 高電平期間采樣 SDA 上的電平然后拉低 SCL 準(zhǔn)備下一位。發(fā)送完 8 位后主機(jī)釋放 SDA在第 9 個(gè)時(shí)鐘周期讀取從機(jī)的應(yīng)答信號(hào)。有一個(gè)細(xì)節(jié)容易被忽略讀 ACK 之前必須把 SDA 引腳模式從輸出切換為輸入或者至少把輸出寄存器寫 1 讓它呈現(xiàn)高阻態(tài)。我用的是開漏輸出加外部上拉的方案所以直接寫 1 就能釋放總線但如果你的引腳配置成了推挽輸出這一步就會(huì)把 SDA 死死拉高永遠(yuǎn)讀不到 ACK。3.2 官方 API 的移植套路從 ST 官網(wǎng) SDK 到 Keil MDK 工程VL53L0X 的官方驅(qū)動(dòng)包是一整套 API包含約 20 個(gè) C 源文件核心文件是 vl53l0x_api.c、vl53l0x_i2c.c 和 vl53l0x_platform.c。這些文件不要求你全部讀懂但需要把平臺(tái)相關(guān)的接口對(duì)接上。最省事的做法是只保留 API 目錄下的必要文件然后把 vl53l0x_i2c.c 里的讀寫函數(shù)替換成你自己的 GPIO 模擬 IIC。// 在 vl53l0x_platform.c 中對(duì)接底層 IIC 讀寫 int32_t VL53L0X_WriteMulti(VL53L0X_Dev_t *dev, uint8_t index, uint8_t *pdata, uint32_t count) { VL53L0X_I2C_Start(); VL53L0X_I2C_WriteByte((dev-I2cDevAddr 1) | 0); // 從機(jī)地址 寫標(biāo)志 VL53L0X_I2C_WriteByte(index); // 寄存器地址 for (uint32_t i 0; i count; i) { VL53L0X_I2C_WriteByte(pdata[i]); } VL53L0X_I2C_Stop(); return VL53L0X_ERROR_NONE; } int32_t VL53L0X_ReadMulti(VL53L0X_Dev_t *dev, uint8_t index, uint8_t *pdata, uint32_t count) { VL53L0X_I2C_Start(); VL53L0X_I2C_WriteByte((dev-I2cDevAddr 1) | 0); // 先寫寄存器地址 VL53L0X_I2C_WriteByte(index); VL53L0X_I2C_Start(); // 重復(fù)起始條件 VL53L0X_I2C_WriteByte((dev-I2cDevAddr 1) | 1); // 從機(jī)地址 讀標(biāo)志 for (uint32_t i 0; i count; i) { if (i count - 1) pdata[i] VL53L0X_I2C_ReadByte(1); // 最后一個(gè)字節(jié)前返回 ACK else pdata[i] VL53L0X_I2C_ReadByte(0); // 最后一字節(jié)返回 NACK } VL53L0X_I2C_Stop(); return VL53L0X_ERROR_NONE; }這段移植代碼里最講究的是讀多字節(jié)時(shí)的 ACK/NACK 處理讀倒數(shù)第二個(gè)字節(jié)之前返回 ACK告訴從機(jī)繼續(xù)發(fā)讀到最后一個(gè)字節(jié)時(shí)返回 NACK然后再發(fā) Stop 條件從機(jī)就知道數(shù)據(jù)傳輸結(jié)束了。如果順序反了要么多讀一個(gè)字節(jié)造成后續(xù)時(shí)序錯(cuò)亂要么少收一個(gè)字節(jié)導(dǎo)致數(shù)據(jù)不完整。這也是很多新手移植時(shí)只改底層不處理 ACK導(dǎo)致測(cè)距數(shù)據(jù)忽大忽小的原因之一。3.3 初始化流程里那些繞不開的“黑匣子”寄存器VL53L0X 的初始化不像普通傳感器那樣寫幾個(gè)配置寄存器就能用。官方 API 的初始化過程會(huì)執(zhí)行校準(zhǔn)、設(shè)置參考 SPAD、寫入 NVM 數(shù)據(jù)等一系列操作整個(gè)流程下來要寫幾百個(gè)寄存器。這些寄存器的含義大部分沒有公開詳細(xì)說明驅(qū)動(dòng)里把它們當(dāng)作黑匣子處理你只需要保證每個(gè) API 調(diào)用順序正確。// VL53L0X 初始化的標(biāo)準(zhǔn)調(diào)用順序 VL53L0X_Dev_t dev; dev.I2cDevAddr 0x52; // VL53L0X 的 7 位地址 0x29 左移一位后的 8 位地址 dev.comms_speed_khz 400; VL53L0X_Data_Init(dev); // 寫入基礎(chǔ)配置 VL53L0X_Static_Init(dev); // 加載 NVM 校準(zhǔn)數(shù)據(jù) VL53L0X_Perform_RefCalibration(dev); // 執(zhí)行參考校準(zhǔn) VL53L0X_Set_DeviceMode(dev, VL53L0X_DEVICEMODE_SINGLE_RANGING); // 單次測(cè)距模式 VL53L0X_SetGpioConfig(dev, 0, 0, VL53L0X_REG_GPIO_HTR_GPIO_INTR_SOURCE_GPIO_NEW_SAMPLE_READY, VL53L0X_REG_GPIO_HTR_GPIO_INTR_POLARITY_HIGH, VL53L0X_REG_GPIO_HTR_GPIO_OUTPUT_ACTIVE_HIGH, VL53L0X_REG_GPIO_HTR_GPIO_OUTPUT_ACTIVE_HIGH);這里有一個(gè)新手容易踩的坑dev.I2cDevAddr 不是 0x29而是 0x52。因?yàn)?IIC 地址是 7 位0x29 是芯片的 7 位地址但驅(qū)動(dòng)里函數(shù)的入?yún)⑼ǔJ?8 位地址也就是 7 位地址左移一位加上讀寫位。0x29 1 0x52如果你直接填 0x29驅(qū)動(dòng)會(huì)把地址當(dāng)成 0x14因?yàn)?0x29 的最高位被當(dāng)成讀寫位丟掉了IIC 總線上根本找不到從機(jī)。這個(gè)地址換算問題我見過至少不下五次每次都是找不到傳感器時(shí)排查半天才發(fā)現(xiàn)的。4. 在 STM32F103 最小系統(tǒng)上跑通測(cè)距工程搭建與最小可復(fù)現(xiàn)流程4.1 Keil MDK 工程搭建Pack 包、芯片選型和 ST-Link 調(diào)試熱詞里提到“stm32f103 keil mdk工程搭建與st-link調(diào)試全流程”這里就把完整流程濃縮成可執(zhí)行步驟。第一步是裝芯片支持包STM32F103 對(duì)應(yīng)的 Pack 包在 Keil 的 Pack Installer 里直接搜 STM32F1xx_DFP 安裝即可。裝完后新建工程芯片型號(hào)選 STM32F103C8這里注意如果你的板子是 C8T6 最小系統(tǒng)板Flash 是 64KB如果代碼編譯后超過這個(gè)容量鏈接器會(huì)報(bào)錯(cuò)需要裁剪調(diào)試信息或換用 CB/RC 等更大 Flash 的型號(hào)。工程文件結(jié)構(gòu)我一般這么組織user 目錄放 main.c 和中斷服務(wù)函數(shù)driver 目錄放 GPIO、USART、IIC 的底層驅(qū)動(dòng)vl53l0x 目錄放從官方 SDK 拷過來的 API 文件。編譯前要檢查一個(gè)關(guān)鍵設(shè)置C/C 編譯選項(xiàng)里的 C99 Mode 必須勾上因?yàn)?VL53L0X 的源碼里大量使用 C99 的變量聲明方式不勾這個(gè)編譯會(huì)報(bào)一堆“identifier”錯(cuò)誤。// main.c 中最簡(jiǎn)測(cè)距主循環(huán) int main(void) { uint16_t distance_mm 0; VL53L0X_RangingMeasurementData_t measure_data; delay_init(72); // 在 72MHz 主頻下初始化微秒延時(shí) uart_init(115200); // 串口打印用 I2C_GPIO_Init(); // 初始化 PB6/PB7 開漏輸出 VL53L0X_Data_Init(dev); VL53L0X_Static_Init(dev); VL53L0X_Perform_RefCalibration(dev); VL53L0X_Set_DeviceMode(dev, VL53L0X_DEVICEMODE_SINGLE_RANGING); while (1) { VL53L0X_PerformSingleRangingMeasurement(dev, measure_data); distance_mm measure_data.RangeMilliMeter; printf(distance: %d mm\r\n, distance_mm); delay_ms(200); } }這段代碼就是一個(gè)能跑通的最小框架。delay_init(72) 這個(gè) 72 是關(guān)鍵它告訴延時(shí)函數(shù)系統(tǒng)主頻是 72MHz如果這里填錯(cuò)所有微秒延時(shí)都會(huì)按錯(cuò)誤的主頻縮放IIC 時(shí)序會(huì)變得極其詭異。VL53L0X_PerformSingleRangingMeasurement 是阻塞式測(cè)距內(nèi)部會(huì)等測(cè)量完成單次耗時(shí)大約 23ms 到 50ms 不等取決于測(cè)距模式和精度設(shè)置。如果不需要等結(jié)果可以改用中斷模式讓傳感器測(cè)量完成后通過 GPIO 中斷通知 MCU。4.2 VL53L0X 與 STM32F103 之間的關(guān)鍵上拉電路實(shí)測(cè)你可以做一個(gè)非常簡(jiǎn)單的實(shí)驗(yàn)來驗(yàn)證上拉電阻的作用先把 4.7k 上拉接好用示波器看 SCL 波形上升沿大約是幾十納秒然后拔掉上拉電阻再看波形上升沿會(huì)變成一條幾微秒的緩慢爬升曲線而且高電平可能根本到不了 3.3V 就會(huì)被下一幀的下降沿打斷。如果你沒有示波器用邏輯分析儀抓也能看出明顯的“臺(tái)階”。上拉電阻的這個(gè)“臺(tái)階”在 SCL 和 SDA 上表現(xiàn)形式略有不同。SCL 上的臺(tái)階會(huì)讓從機(jī)在每個(gè)時(shí)鐘周期的高電平時(shí)間不足嚴(yán)重時(shí)芯片直接不響應(yīng)SDA 上的臺(tái)階會(huì)影響數(shù)據(jù)采樣窗口表現(xiàn)為讀回來的寄存器值偶爾是錯(cuò)的。所以熱詞里“iic波形出現(xiàn)臺(tái)階”這個(gè)問題八成不是信號(hào)反射而是上拉電阻失效或阻值過大導(dǎo)致的充放電時(shí)間過長(zhǎng)。遇到這種問題第一件事不是換主控、調(diào)延時(shí)而是檢查上拉電阻的阻值和供電軌。// 用 STM32F103 的 ADC 簡(jiǎn)單驗(yàn)證 VL53L0X 供電電壓可選步驟 // 將 VL53L0X VIN 經(jīng)過 10k10k 分壓后接入 PA0 ADC_InitStructure.ADC_Mode ADC_Mode_Independent; ADC_InitStructure.ADC_Clock ADC_PCLK2_Div8; ADC_InitStructure.ADC_DataAlign ADC_DataAlign_Right; ADC_Init(ADC1, ADC_InitStructure); ADC_Cmd(ADC1, ENABLE); uint16_t read_vin_voltage(void) { ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_239Cycles5); ADC_SoftwareStartConvCmd(ADC1, ENABLE); while (!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC)); return ADC_GetConversionValue(ADC1); // 實(shí)際電壓 ADC值 * 2 * 3.3 / 4096 }注意我在 ADC 采樣時(shí)間上選了最長(zhǎng)的 239.5 個(gè)周期這是因?yàn)闇y(cè)量對(duì)象的電源線可能有紋波短采樣時(shí)間下采樣到尖峰會(huì)被誤判為過壓。分壓電阻的精度也要注意10k10k 分壓后ADC 讀到的是 VIN 的一半如果 VIN 是 3.3VADC 讀到約 1.65V對(duì)應(yīng) ADC 值約 2047。這個(gè)驗(yàn)證手段是為了排除供電不足導(dǎo)致傳感器初始化失敗的問題。4.3 第一次上電如何判斷驅(qū)動(dòng)是真的通了驅(qū)動(dòng)移植完上電后先不要急著看測(cè)距數(shù)據(jù)先做一個(gè)最簡(jiǎn)單的自我檢查通過 IIC 讀 VL53L0X 的 ID 寄存器。0xC0 和 0xC1 這兩個(gè)寄存器分別存儲(chǔ)芯片型號(hào) ID 和版本號(hào)固定值分別是 0xEE 和 0xAA。如果讀出來這個(gè)值說明 IIC 鏈路是通的地址換算沒錯(cuò)上拉電阻也夠用如果讀回來全是 0xFF說明總線根本沒有從機(jī)應(yīng)答大概率是地址填錯(cuò)或 SDA/SCL 接反了如果讀回來是隨機(jī)跳變的數(shù)說明時(shí)序有問題可能是延時(shí)不匹配或上拉電阻偏大。// 讀 VL53L0X ID 寄存器的自檢代碼 uint8_t id_0 0; uint8_t id_1 0; VL53L0X_I2C_Start(); VL53L0X_I2C_WriteByte(0x52); // 8位地址 VL53L0X_I2C_WriteByte(0xC0); // ID 寄存器地址 VL53L0X_I2C_Start(); // 重復(fù)起始 VL53L0X_I2C_WriteByte(0x53); // 地址 讀標(biāo)志 id_0 VL53L0X_I2C_ReadByte(0); VL53L0X_I2C_Stop(); if (id_0 0xEE) { printf(VL53L0X detected!\r\n); } else { printf(IIC comm failure, id0x%02X\r\n, id_0); }這段自檢代碼的精髓在于它繞開了整個(gè)官方 API只用最底層的 GPIO 模擬 IIC 讀寫一個(gè)寄存器把問題域縮到最小。如果這一步就失敗了不要急著深入 API先排查硬件連接如果這一步通過再跑完整初始化流程就能精準(zhǔn)定位問題出在 API 配置還是硬件鏈路上。我每次移植一個(gè)新的 VL53L0X 模塊到某塊板子上都會(huì)先做這個(gè) ID 自檢它能幫你至少省掉半天排查時(shí)間。5. IIC 驅(qū)動(dòng)常見問題避坑指南現(xiàn)象、原因與解決5.1 波形里有臺(tái)階傳感器偶爾無響應(yīng)現(xiàn)象邏輯分析儀抓 SCL/SDA 波形發(fā)現(xiàn)信號(hào)不是陡峭的方波而是有明顯的斜坡甚至臺(tái)階VL53L0X 有時(shí)能讀到 ID有時(shí)讀不到。原因上拉電阻阻值偏大加上總線電容線纜、模塊上的電容、芯片引腳寄生電容導(dǎo)致 RC 時(shí)間常數(shù)過大信號(hào)上升沿太慢。尤其在 400kHz 模式下高電平時(shí)間被壓縮從機(jī)采樣窗口落在上升沿中間導(dǎo)致時(shí)序違規(guī)。解決先把總線降速到 100kHz 試試如果問題消失就基本確認(rèn)是時(shí)序邊沿問題。然后把上拉電阻從 4.7k 換成 2.2k或者把總線走線縮短。我自己的標(biāo)準(zhǔn)做法是杜邦線連接一律用 2.2kPCB 走線短距離再用 4.7k。還有一個(gè)小技巧是給 VL53L0X 模塊的 VIN 引腳并聯(lián)一個(gè) 100nF 和 10uF 電容減少電源紋波對(duì) IIC 輸出的調(diào)制作用。5.2 地址換算錯(cuò)誤導(dǎo)致設(shè)備無應(yīng)答現(xiàn)象IIC 總線上用邏輯分析儀能看到波形但 VL53L0X 從不 ACK讀任何寄存器都返回 0xFF。數(shù)據(jù)手冊(cè)上明明寫著地址是 0x29。原因驅(qū)動(dòng)代碼里 I2cDevAddr 字段填成了 0x29而 API 內(nèi)部會(huì)把這個(gè)值左移一位作為 8 位地址發(fā)送或者反過來你直接填了 0x52 但 API 又做了一次左移。這類地址換算錯(cuò)誤在多個(gè)廠商的驅(qū)動(dòng)里都很常見因?yàn)橛行?qū)動(dòng)用 7 位地址有些用 8 位地址接口歸一化做得不好。解決直接看驅(qū)動(dòng)源碼里發(fā)送地址的那一行確認(rèn)它是把 I2cDevAddr 左移一位還是直接用。VL53L0X 官方驅(qū)動(dòng)是直接用 I2cDevAddr 作為 8 位地址發(fā)送所以你要填 0x52。如果你不確定當(dāng)前驅(qū)動(dòng)是哪種約定用邏輯分析儀抓起始條件后的第一個(gè)字節(jié)數(shù)一下實(shí)際發(fā)送的地址值就能反推出應(yīng)該填什么。5.3 初始化卡死在 while 循環(huán)里現(xiàn)象調(diào)用 VL53L0X_Data_Init 后程序進(jìn)入死循環(huán)在調(diào)試模式下看到卡在某個(gè) while (status BUSY) 類似的等待代碼。原因最常見的是 IIC 底層讀寫返回值恒為 0 或恒為 1導(dǎo)致 API 內(nèi)部的狀態(tài)機(jī)反復(fù)重試還有一些情況是傳感器在初始化中途掉電或復(fù)位導(dǎo)致 API 后續(xù)讀取的寄存器值全部無效。解決在 IIC 讀寫函數(shù)里加入超時(shí)機(jī)制比如連續(xù)重試 3 次仍失敗就返回錯(cuò)誤碼而不是無限死等。同時(shí)在 main 函數(shù)開頭加一個(gè)延時(shí) 100ms等 VL53L0X 上電穩(wěn)定后再初始化。另外注意 STM32F103 的 GPIO 模擬 IIC 引腳如果有第二個(gè)外設(shè)復(fù)用比如 PB6/PB7 默認(rèn)是 USART1 的 TX/RX需要確認(rèn)沒有外設(shè)搶占引腳否則總線會(huì)被 USART 的電平干擾。5.4 Keil 編譯報(bào)錯(cuò) peer 未定義或函數(shù)找不到現(xiàn)象移植官方驅(qū)動(dòng)時(shí)編譯報(bào)錯(cuò)提示找不到 VL53L0X_GetDeviceAddress 等函數(shù)或者在鏈接階段報(bào)一堆 undefined symbol。原因官方 SDK 里的源碼文件不是每個(gè)都需要編譯的有些文件是參考實(shí)現(xiàn)有些是平臺(tái)相關(guān)。編譯時(shí)如果缺少 vl53l0x_platform.c 或者包含路徑?jīng)]有覆蓋到 API 目錄鏈接器就找不到函數(shù)實(shí)現(xiàn)。解決檢查 Keil 工程的 Include Paths 是否包含 SDK 的 Core/inc 目錄確保所有以 vl53l0x 開頭的 .c 文件都添加到了工程中但要注意不要重復(fù)添加同一個(gè)文件Keil 會(huì)編譯兩次導(dǎo)致重復(fù)定義。如果還有問題在編譯選項(xiàng)里打開 “One ELF Section per Function” 可以減小未使用函數(shù)導(dǎo)致的鏈接誤差。這里提一下熱詞里“windows 無法驗(yàn)證此設(shè)備所需的驅(qū)動(dòng)程序的數(shù)字簽名”那是 PC 端 USB 驅(qū)動(dòng)的問題和 MCU 工程無關(guān)但如果你用的 ST-Link 仿真器在 Win10/Win11 下無法連接可以臨時(shí)禁用驅(qū)動(dòng)程序強(qiáng)制簽名后重新安裝 ST-Link 驅(qū)動(dòng)。5.5 測(cè)距數(shù)據(jù)固定不變或全為 0xFFFF現(xiàn)象初始化明明成功了ID 也讀出來了但測(cè)距結(jié)果要么一直是同一個(gè)值要么是 65535。傳感器好像沒有真正開始測(cè)距。原因VL53L0X 測(cè)距需要先完成內(nèi)部校準(zhǔn)如果跳過 Perform_RefCalibration 直接測(cè)距結(jié)果可能會(huì)異常。另一種可能是傳感器正對(duì)的目標(biāo)表面吸光太強(qiáng)比如黑色絨布返回光子數(shù)太少ToF 算法無法提取有效信號(hào)。解決嚴(yán)格按照 Data_Init → Static_Init → RefCalibration → SetDeviceMode → PerformSingleRangingMeasurement 的順序調(diào)用。如果目標(biāo)表面是純黑低反射率材質(zhì)可以把測(cè)距模式從單次改為連續(xù)模式并嘗試降低傳感器內(nèi)部的 SPAD 閾值。另外檢查 XSHUT 引腳的電平如果被外部拉低傳感器會(huì)一直處于復(fù)位狀態(tài)測(cè)距自然無效。6. 進(jìn)階技巧VL53L0X 連續(xù)測(cè)距模式與多設(shè)備掛載的 IIC 仲裁實(shí)戰(zhàn)到了最后這一層驅(qū)動(dòng)已經(jīng)能單點(diǎn)測(cè)距了但實(shí)際項(xiàng)目里往往要面對(duì)兩個(gè)更高頻的需求一是追求更低的測(cè)距延遲和更高的一致性二是單顆 STM32F103 要同時(shí)掛多顆 VL53L0X。這兩件事都繞不開 IIC 時(shí)序的深入理解和驅(qū)動(dòng)層面的策略調(diào)整。連續(xù)測(cè)距模式是個(gè)關(guān)鍵技巧。單次模式每次調(diào)用 PerformSingleRangingMeasurement 都會(huì)完整地走一遍測(cè)距狀態(tài)機(jī)準(zhǔn)備、測(cè)量、讀取結(jié)果時(shí)間開銷大而且測(cè)距間隔不均勻。改成 VL53L0X_DEVICEMODE_CONTINUOUS_RANGING 后傳感器會(huì)自己按內(nèi)部節(jié)奏不停測(cè)距結(jié)果更新到內(nèi)部的測(cè)量緩沖區(qū)里MCU 只需要在需要時(shí)讀取最新結(jié)果。這時(shí) IIC 總線負(fù)載會(huì)明顯下降因?yàn)?MCU 不再需要頻繁地發(fā)起寫命令再讀數(shù)據(jù)。// 連續(xù)測(cè)距模式 中斷通知讀取IIC 只在需要時(shí)工作 VL53L0X_Set_DeviceMode(dev, VL53L0X_DEVICEMODE_CONTINUOUS_RANGING); VL53L0X_SetGpioConfig(dev, 0, 0, VL53L0X_REG_GPIO_HTR_GPIO_INTR_SOURCE_GPIO_NEW_SAMPLE_READY, VL53L0X_REG_GPIO_HTR_GPIO_INTR_POLARITY_HIGH, VL53L0X_REG_GPIO_HTR_GPIO_OUTPUT_ACTIVE_HIGH, VL53L0X_REG_GPIO_HTR_GPIO_OUTPUT_ACTIVE_HIGH); // 在 GPIO INT 外部中斷服務(wù)函數(shù)里做一次快速讀取 void EXTI0_IRQHandler(void) { if (EXTI_GetITStatus(EXTI_Line0) ! RESET) { VL53L0X_GetRangingMeasurementData(dev, measure_data); distance_mm measure_data.RangeMilliMeter; EXTI_ClearITPendingBit(EXTI_Line0); } }這里我用了 GPIO 中斷而不是輪詢好處是 MCU 可以把時(shí)間片讓給其他任務(wù)只在 VL53L0X 真正完成一次測(cè)距時(shí)才讀取。注意中斷服務(wù)函數(shù)里不要做復(fù)雜計(jì)算或打印只復(fù)制測(cè)量數(shù)據(jù)到全局變量打印放到主循環(huán)里做避免外部中斷處理過長(zhǎng)導(dǎo)致丟中斷。多設(shè)備掛載是另一個(gè)硬骨頭。VL53L0X 的固定 7 位地址是 0x29直接并聯(lián)在總線上會(huì)導(dǎo)致兩個(gè)設(shè)備同時(shí) ACK數(shù)據(jù)完全錯(cuò)亂。正確的做法是每顆 VL53L0X 的 XSHUT 引腳單獨(dú)連到 STM32F103 的一個(gè) GPIO并且每顆的 XSHUT 引腳要有一個(gè)獨(dú)立的下拉或上電默認(rèn)狀態(tài)。初始化流程是先把所有設(shè)備的 XSHUT 拉低讓它們?nèi)刻幱趶?fù)位狀態(tài)然后逐顆抬高某顆的 XSHUT等它啟動(dòng)完成立刻通過 IIC 寫入一個(gè)新的 IIC 地址之后它就不會(huì)再響應(yīng) 0x29 了再抬高二顆初始化并改地址依次類推。// 多設(shè)備改地址的典型流程先復(fù)位全部再逐個(gè)激活 void VL53L0X_Multi_Init(void) { // 假設(shè)有兩顆XSHUT 分別接 PB0、PB1 GPIO_ResetBits(GPIOB, GPIO_Pin_0 | GPIO_Pin_1); // 全部拉低復(fù)位 delay_ms(50); // 第一顆激活保持默認(rèn)地址 0x29 GPIO_SetBits(GPIOB, GPIO_Pin_0); delay_ms(50); // 在這里完成第一顆的 Data_Init / Static_Init VL53L0X_Data_Init(dev1); VL53L0X_Static_Init(dev1); // 第二顆激活改地址為 0x308位地址形式 0x60 GPIO_SetBits(GPIOB, GPIO_Pin_1); delay_ms(50); VL53L0X_SetDeviceAddress(dev2, 0x30); // 內(nèi)部會(huì)換算成 8 位地址 0x60 VL53L0X_Data_Init(dev2); VL53L0X_Static_Init(dev2); }改地址這個(gè)操作有個(gè)先后順序的講究必須先激活第二顆、再改地址因?yàn)槿绻雀牧说刂吩偌せ顐鞲衅髟趶?fù)位期間是不會(huì)響應(yīng)任何 IIC 命令的。而且改地址操作后這顆傳感器會(huì)立即失去對(duì) 0x29 的響應(yīng)所以改地址是瞬時(shí)生效的。如果你有第三顆、第四顆用同樣的流程逐個(gè)激活并分配地址即可。這個(gè)方案不需要額外的 IIC 多路復(fù)用器缺點(diǎn)是每顆傳感器占一個(gè) GPIO對(duì) STM32F103 這種 IO 豐富的芯片完全不是問題。最后再分享一個(gè)我自己的查錯(cuò)習(xí)慣任何 IIC 問題第一反應(yīng)不是看代碼而是用邏輯分析儀抓實(shí)際波形。把地址幀、寄存器地址幀、數(shù)據(jù)幀逐個(gè)對(duì)照數(shù)據(jù)手冊(cè)上的時(shí)序圖通常十分鐘內(nèi)就能定位問題出在地址、時(shí)序、還是 ACK 處理上。這個(gè)習(xí)慣幫我排掉過無數(shù)個(gè)看似復(fù)雜的玄學(xué)故障也希望你能用上。希望這些基于 STM32F103 的 VL53L0X IIC 驅(qū)動(dòng)經(jīng)驗(yàn)和避坑記錄能幫到你少走一點(diǎn)我當(dāng)年走過的彎路。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧日韩不卡视.频| 亚洲欧美校园| 91在线观看,天天综合| 韩国三级一线观看久| 美女被艹尤物视频| 口爆综合网| 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 天堂岛av| 床戏久久久av一区二区麻豆| 亚洲成人美女无吗| 超碰久在线天天做| 人妻系列无码专区中文有码| 九九九九九九九九九九精品视频| 2021国产成人精品久久| 日本精品88888888| 清纯唯美亚洲综合| www.av在线观看| 亚洲狼狼干综合1| 日本综合色图| 日韩大香蕉AV影片| 热久久九九热| 神马久久久久久久久久久久| 国产91亚洲精品一区二区三区| 久久99深爱久久99精品| 小视频国产| 嗯啊不要啊在线| 亚洲综合嫩| JIZZJIZZ国产精品喷水| 超碰在线日韩一区| 性爱乱伦一区| 色呦色呦色精品| 国产亚洲福利第一页丝袜| 强奸乱伦αv片| 噜噜噜亚洲精品| 国产精品成久久久久午夜午夜| 色蜜AV| 亚洲熟女偷拍在线观看| 亚洲一区二区三区欧美日韩| 97在线资源| 3P乱轮视频| 久久99久久99精品天美传媒棢·纸:. | 天堂69亚洲精品中文字| 热热色综合网| 日本操逼视频导航| 亚洲色电影在线| 99视频自拍| 麻豆91熟妇人妻中文字幕茄子| 91free福利| 一卡二卡三卡| 亚码激情| 久久久一区二区三区三州| 亚洲综合图文| 亚洲 日韩 丝袜 熟女 变态| 热热色青青草| 亚洲精品亚洲人成人网| 午夜操一操| 久久久工口| 日韩黄色片子| 无码精品啪啪啪一区二区三区三州| 国产视频一区二区免费| 欧美综合天天| 精品人妻一区二区三区夜夜| 欧美精品xxxwww| 欧美综合亚洲| 日本狠狠干| 大香蕉伊人75| 欧美日日网| 日韩人妻制服丝袜av| 蜜臀va69| 啊啊啊不要啊啊受不了了视频在线| 伦伦成年午夜免费视频| 欧美偷拍| 99热精品国产| www.色五月| 欧美呦呦性爱| 加勒比综合88| 亚洲日韩东京热一区| 综合久| 日韩电影在线观看网址| 天天天天天超碰| 九色在线熟女国产黑人| 人妻一区二区三区四区视频| 职场同事知名国产国产精品久久欧美日韩| 91人人爽人人爽| 黑人嘿嘿嘿超爽免费视频| 大茄子熟女AV导航| 亚洲熟久久| 日本99久久| 7777奇米影视久久| 少妇熟女视频一二三区| 欧美性生活内射| 9久久精品| 亚洲无码成人精品| 人人妻人人澡人人爽久久av| 91白嫩| 久久曰曰| 日产中文字幕2020| 色五月激情网| 亚洲色图日韩精品| 伦激情人妻另类人妻| 亚洲清纯综合| 亚洲一区亚洲天堂| 久久9亚洲| 午夜欧美女人操逼| 国产www色在线观看| 日本操逼视频免费| 中文字幕乱亚洲美女精品一区| 大香蕉色欲AV| 国产白丝在线| 在线综合 亚洲 欧美中文字幕| 人妻99p| 国产av强奸美女| 人人操欧美风骚| 99精品人人爽| 白 大 人妻 区 在线| 日本成人A片网站| 精品久久久av无码免费| 99热这里只有精品18| 午夜精品久久久99热蜜桃的功能特点| 国产亚洲色婷婷99精品91| 婷婷五月在线视频| 九九热九九| 日韩乱伦影音先锋| 天天草夜夜草高潮片| 精品人妻一区二区三区四区| 大香蕉伊然在亚洲91| 亚洲情色一区二区三区| 欧美亚洲美少妇一区二区| 婷婷综合视频| 中文字幕在线观看丝袜| 91一区二区| 婷婷五月天色色| 女人被添高潮免费视频| 亚一综合久久久久久久久久| 午夜无遮挡男女啪啪视频| 最新国内自拍av免费| 成全动漫视频观看免费下载| 欧美精品激情| 97精品在线视频| 国产AB视频| 亚精品无码毛片一区二区三区| 婷婷15月天青娱乐| julia ann久久| 国产免费一区| 中出91视频| 国产又长又大又粗的视频| 无套内射性感少妇视频| 欧美 精品国产制服第一页| 不卡六六在线91| 91精品操美女| 麻豆成人影音在线| 精品人妻一区二区三区四区石在线| 精品亚洲| 国产自产自拍| 欧美性爱十八禁| 丁香色色网| 狠狠色色| 男人的天堂色偷偷青青草视频婷婷网| 翘臀vidoes| 江都AV在线| 亚州色站 日韩电影| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 9丨亚洲一区二区在线| 欧美v亚洲v综合v国产v妖精| 日韩乱伦影音先锋| 9久精品| 久久免费精彩视频| 亚洲欧美一区二区不卡视频播放| 欧美手机在线综合| 亚洲国产熟妇综合色专区| 亚洲婷婷丁香在线| www.久久最新地址| 欧美第一页性| 亚洲999综合| 亚洲s色图| 91性网| 综合网亚洲1| 久9综合在线| 亚洲欧美首页| 中文字幕日本久久| 亚洲少妇激情视频| 99精品人人爽| 日韩免费一级性爱视频| 亚洲日韩一区电影| 久久国产三区| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 色综合V| 在线无码视频| av九九| 日韩99神马视频片| 亚洲玖玖爱| 男女一进一出视频久久| 福利在线黄片| 先锋音影AV| 熟妇人妻丰满久久久久久久无码| 尤物黄色在线观看网站| 国产亚洲一黄| 五十路人妻在线| 国产精品电影大全| 亚洲成A∨人影院在线欢看| 曰韩无码777| 四季AV一区二区凹凸精品小说| 后入合集| 95自拍视频在线观看| 天综合网| 久久99草| 日日操免费视频| 日本色婷婷| 久久精品国产久精国产| 亚洲成aⅴ人片不卡无码| 激情综合网激情五月天| 久久人体一区二区| 波多野结衣被操50分钟免费视频| 亚洲黑丝在线| 大香蕉2017| 热99这里有精品综合久久 | 日本精品人妻少妇一区二区| 亚洲精品国产熟女久久久| 国产综合久久久麻桃个| 色官网在线| 欧美在线啊啊啊 | a在线观看| 日日日日做夜夜夜夜做无码97| 日B操| 日本色色色| 欧美性五月| 日韩国产不卡在线视频| 国内操逼视频二区| 百度百度日本操逼| 蜜桃久久综合视频| 97视频在线免费观看| 婷婷五月天影院| 亚洲色图欧美色图在线播放| 欧美日韩国产黄色片| 精品女人999| 人妻久久| 天天干少妇| 男人的天堂99| 97久久超碰| 综合天天。| 中文字幕中文字幕一区二区| 亚洲日韩久久精品一区| 三级特黄60分钟播放| 青青草伊人久久| 亚洲欧美另类激情小说 | 操逼逼福利视频| 夜精品久无码| 成年女人黄网站| 欧美综合网1| 少妇综合| 人妻日日夜夜精品| 免费家庭乱伦视频| 91挑色欧美| 最近2018中文字幕在线高清第一页| 看日韩美女二区三区免费操逼视频 | 佐山爱中文字幕| 亚洲熟伦熟妇AV无码春色| 大鸡巴久久久| V A在线| 久久最新视频免费观看| 韩国成人精品久久久免费看| 亚洲男人的天堂网| 韩国一级做A片免费的| 我爱操| 日本韩欧美在线播放a| 大香蕉性欧美| 久操视频免费在线观看| AV和黑人在线播放| 一本色道久久综合狠狠操| 18禁网站在线播放| 久久精品国产97欧美精品亚洲| 国产福利精品最新在线| 人妻铁牛TV| 男人天堂久久日韩| 婷婷五月天激情网| 天天干18禁| 日日日啊啊啊| 成人无码影片视频在线| 欧美成人精品欧美一级乱黄一区二…| 色一射色一射| 欧亚成人| 男人的午夜天堂| 久久综合女优| 久久久久人妻| 国产Aα| 中文字幕人妻丝袜乱一区三区| 亚洲丝袜二区| 一区操逼日比视频| 久久精品电影在线| 色婷婷综合久久中文字幕雪峰 | 先锋激情∨在线视频播放| 噜噜噜亚洲精品| 色色婷| 色婷婷六月丁香七月婷婷| 国产精品第一页国产大屁股视频免费区i| 精品一区二区成人动漫| 日本久久女同性恋视频| 91欧美巨乳| 超碰97精品在线| 成年人黄色小视频网站| 黄页| 久久99深爱久久99精品| 又黑又大又粗| 高清国产av无码| 国产黄色剧情影片麻豆免费播放| 久久宗合亚洲| 六月婷婷激情| 手机在线中文字幕国产| 久久久中文| 亚洲素人综合| 日韩钢筋无码高清啾啾啾| 成人国产精品三级A片| 欧美91在线| 青青草国产一区二区三区| 精品福利视频| 91大学精品激情戏| 国产做?爰片久久毛片?片美国| 超碰欧美| 综合亚洲欧美| 激情视频图片| 黄色不卡视频| 91国产丝袜足交精品视频| 国产一区二区啪啪视频| 麻豆国产精品午夜视频| 又大又大又大又粗爽高潮观看| 99re在线视频这里只有精品| 伊人精品视频| 欧美中文字幕一区| 91视频国品一二三区| 国产97视频免费观看| 婷婷伊人五月| 精品午夜福利| 天天射天天色成人| 亚洲影视第一页| 99啪啪| 激情图片伦理国产一区二区日韩| 五月激情综合网| 久久香蕉国产线看观看猫咪av| 情趣丝袜无码操逼视频| 日韩福利综合一区| 被操高清无码视频| 视频不卡中文字幕| 精品人妻一区二区三区鲁大师| 91视频综合在线| 夜夜骑天天燥| 黑人精品久久97| 欧美情色男人的天堂| 婷婷五月天影院| 欧美成人一区二区三区在线播放| 99re热有精品视频国产| 五月婷婷丁香六月丁香| 黄片免费日韩| 人人搞人人插人人操| 欧美乱欲| 亚洲九九九九| 精品一级毛片在线观看| 亚洲另类春色| 秋霞色色影院| 岛国在线国产| 中文字幕一区二区韩| 2025年A片视频精品| AV乱伦专区| 青娱乐999| 18禁看网站一区| 九九综合九九综合| 成人性爱AV在线免费观看| 国产精品午夜福利亚洲综合网| 中文字幕av亚洲精品| 国产欧美在线观看免费观看| 亚洲无码国产探花在线观看| 日韩黄片影院| 奇米四色网| 欧美另类精品xxxx| 亚洲超碰在线| 亚洲熟妇乱女区二区三区| 久久9亚洲| 日韩99神马视频播放| 秋霞一区二区三区四区五区六区七区| 中文字幕-区二区三区四区视频中国| 特级大荫道BBwBBwBBW| 熟妇熟女一区二三区| 亚洲丝袜天堂| 伊人久久亚洲色欲综合网站 | 三级精品三级在线观看| 中文字幕一二区二三区人妻专区| 人人操人人狠狠操| 少妇天堂网络| 1204人成网站色www| 亚洲综合嫩| 私人尤物在线精品不卡| 精品成人亚洲午夜电影| 国产超碰| 久久夜嗨| 天天影视网色欲色香| 亚洲日韩狠狠撸视频| 国产传媒日韩| 无码乱人伦中文视频| 99色在线视频| 人妻精品综合中文字幕在线| 亚洲男人的天堂网| 天天综合色图| 欧美爱爱97| 中文字幕国产| 长长久久88视频| 久久久久一本一区二区青青蜜月| 亚洲日韩欧美一区二区| 狠狠超| 国产AV毛片| 水澄无码AV| 伊人成人情色综合| 欧美精品系列| 久久丁香久草综合网| 欧美亚洲尤物久久| 丁香五月天激情| 亚洲瓯美色图| 久久久偷拍| 91精品女厕偷拍视频| 五月天偷拍| 美腿丝袜高跟网免费视频免费视频| 俺去啦自拍| 永久免费av无码网站国产app | 婷婷日韩一区二区三区中文字幕在线| 亚洲一二三四区在线免费看视频| 成人26uuu| 欧美久久九九| 国内一级精品| 国内外色色色色色成人视频| 亚洲AV永久无码精品成人调教 | 久久99午夜精品一区人妻| 91偷拍欧美亚洲| 91综合中文字幕| 伊人久久艹| 99热国产| 久久国产热视频97电影| 久久久久ab| 欧美十八禁视频| 久久久久骚| 亚洲激情综合另类| 青青草日韩无码| 免费视频观看60秒| 一级黄色影片| 91一区二匹| 亚州色交| 久操视频在线观看| 99热超碰| 欧美成年人性爱视频免费观看| 精品一区二区啪啪啪| 啊啊啊好大好深| 国产精品老师| 一本色道熟妇| 91高潮喷水美女| 欧美v亚洲v日韩v最新在线二区| 亚洲成人性| 欧美少妇第一页| 久久综合九色综合欧洲98| 五月天伊人| 亚洲男人的天堂va亚洲男人社| 丁香婷婷九月| 综合亚洲欧美| 99色悠悠| 无码精品久久| 色老牛| 性影在线视频| 亚洲天堂久| 九九RE视频在线精品| 性高潮久久久| 久久怡红院| site:sinbotex.com| 亚洲精品97在线| 日本乱人伦片中文三区| 亚洲自拍欧美国产首页网曝| 中文字幕一区二区三区高清| 日本高清一本二本免费不卡| 五月丁香婷婷综合| 国产精品操| 真实高潮91| 国产精品久久久久久久AV大片| 天堂亚洲精品久久老牛| a在线观看| 亚州性9| 欧美性,色九九| 人人操人人插人人摸人人干| 99在线精品观看视频中文 | 秋霞鲁丝午夜无码一区二区三| 口爆吞精在线观看| 大香蕉淫人| yirendaxiangjiashipin| 午夜操逼不卡| 亚洲蜜臀精品视频久久| www.操| 999亚洲国产视频| 青青草原av| 91老司机在线视频免费观看 | 国产视频大全| 99热在线播放| 综合久久久久久久综合网| 日韩人妻播放| 91久久国产精品| 一区 欧美 日韩 麻豆| 青娱乐久久艹| 国产自制av蜜乳| 啊啊啊啊啊啊啊在线| 亚洲色图大香| 亚洲成人福利电影免费| 精品无码欧美三级| 日韩精品人妻中文字幕不卡乱码| 四虎 精品 WWW| 日韩丰满熟妇| 囯戸精品高潮呻吟旡码| 日韩本不卡视频在线观看 | 麻豆这里只有精品| 国产黄片精品在线| 日韩大香蕉| 丰满人妻一区二区中文| 91青视频| 久久婷婷影院| 久草免费福利在线播放| 日本不卡二区| 情色大香蕉| 丝袜av一区二区三区| 偷拍 精品另类 凸凹了四区| 国模无码一区二区三区在线| 日韩福利综合一区| 久久岛国| 精品国产乱码久久久影院| 亚洲视频,小说| 99re6久热只有精品6在线直播| 日韩av在线播放不卡| 天天懆天天日| av网站免费线看| 91色宗合| 五月天久久人妻| 久久久精品一区二区| 久久神马影院| 91伊人影视综合| 校园春色 男人天堂| 岛国片在线观看视频亚洲| 乱伦1色页| 琪琪精品免费一区二区三区 | 啪一啪免费视频| 免费av高清无码| 97爱综合| 国产综合久久久麻桃个| 亚洲黄色电影| 日本二区不卡| 国产精品一区二区麻豆| 老司机午夜精品福利视频一区二区| 成人老鸭窝人人在线视频| 97九色人妻| 久久人妻精品| 丁香五月激情五月| 男人的天堂亚洲| 99久久婷婷| 夜夜夜夜久久久久| 青青草导航在线视频| 在线亚洲丝袜视频网站| 国厂麻豆77q4| 日欧毛片久久| 青青草狠狠撸| 嫩草 我啊~嗯~在线| 啊啊啊好舒服视频在线观看| 日本999精品| 蜜臀AV成人精品蜜臀| 日本不卡二三区| 日韩久久艹| 另类视频在线| 校园春色家庭伦理欧美激情| 天欧美在线| 超碰9 7女人 | 国产人妖视频一区在线观看| 亚洲国产一级精品毛一级精品看免费视频 | 蜜臀久久99精品久久久久久久久| 草草影院在线视频| 射丝袜高跟鞋99| 久久最新视频免费观看| 午夜毛片高清免费不卡| 一区二区亚州激情久婷婷欧美| 夜夜国自区| 久久久久99精品成人片蜜臀| 欧美v日韩v亚洲v最新在线| 天天看精品动漫视频一区| 天天日天天干天天色| 久久久久久亚洲中文| 极品尤物女神在线观看| 色色五月婷| 熟妇高潮一区二区免费视频| 97看操| 97操综合| 97爱爱爱| 亚洲 自拍偷拍 欧美| 大香蕉一线视频| 婷色五月天| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 免费黄色片。| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 色欧美综合| 国产又色又粗又黄又爽| 亚洲一区二区精品福利| 天美传媒国产原创中文字幕亚洲欧美另类 | 久久久久性熟视频| 亚洲国产青青| 久久久久99999| 欧美一区二区日韩三区| 亚洲操人| 热久久99999| 91n处女在线观看| 综合亚洲欧美精品日韩?v| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 五月丁香| 国产中文福利| 少妇蹲下露出大唇5| 国产AV色黄看到爽| 国产精品色色| 男人精品天堂一区| 日韩少妇无码| 播播亚洲小说亚洲| 91色综合激情| 亚洲毛片久久| 国产日韩欧美亚洲精品95| 亚洲高潮少妇| 亚洲 欧美 综合 91| 白嫩少妇| 亚洲中文字幕av| 欧美另类自拍 | 日日爱99| 色狠狠综合| 日韩电影天堂视频二区三区| 校园春色五月天| 女人双腿搬开让男人桶| 91天美传媒精品| 午夜一区| 青青草天天亲夜夜操网| 麻豆一区二区三区精品| 97国产人人| 熟女乱伦二区| 91少妇通奸网站| 性久久久| 亚洲熟妇丝袜在线观看| 精品久久97| 麻豆啪啪啪视频| 亚洲色图欧美另类在线| 夜草网站| 久久天天摸| 中文字幕激情小说| 色官网在线| 99re在线视频国产| 岛国激情视频软件| 色婷婷蜜臀av| 日产操逼| 久久久久骚| 男人综合网| 97婷婷色| 日本ZZ高免费A级视频| 亚洲国产一级精品毛一级精品看免费视频| 情色五月天久久久| 黄色免费网| 人妻久热在线| 综合另类| 精品91摸| 9久在线视频只有精品| 91色艳| 国产极品馒头逼| 夜夜一区二区| 大香蕉综合网| 国产一区二区三区中文字幕| 亚洲自拍97| 夜色五月天| 亚洲成人贴图| 欧洲综合视频| 欧美组图日韩亚洲中文字幕| 91在线视频免费中出| 性综合网| 91 国产丝袜在线放观看| 91美女视频| 久久一区,青青青青草视频在线播放| 97视频在线看| 淫色网综合| 免费αV在线视频| 丝袜无码a片| 久久精品欧美一区二区三区不卡| 亚洲自拍一区夜夜操| 中文字幕在线观看永久| 亚洲综合图片在线| 综合欧美日韩在线观看| 素人伊尹大香蕉免费下载视频| 国内精品伊人久久久久影院会| 青青草导航在线视频| 亚洲超碰在线| 国产强奸乱伦第1页| 密臀在线免费观看| 国产精品成人无码a v毛片| 日韩资源网| 日韩AV一起草| 青青草好吊色| 日本九九久久99播| 日本免费人成视频播放120秒| 亚洲日韩XXX| 日本午夜精品理论片A级APP发布| 国产精品久久泡妞网站| 男人天堂站| 99国产在线 精品 视频| 舔舔啊| 骚逼高潮久久精品| 免费αV在线视频| 国产麻豆一区二三区| 亚洲AV成人在线| 男女一进一出视频久久| 97超碰免费人人性爱| 欧美日韩操逼嗦吊| 91肉丝| 精品一国2| 成片免费观看视频大全| 最新日本中文字幕| 偷拍2020| 亚洲情色第一页| 伊人黄色片| 丝袜美腿91| 秋霞男人网| av天堂手机版追回 | 亚洲 无码 偷拍| 941超碰| 午夜激情床戏激情| av网页一区二区三区| 超碰色图| 蜜臀亚洲综合一二三四区| 丁香五月天激情| 人人操人人摸人人看人人插| 2017天天操天天日| 精品97久久综合| 色五月网址| 自拍偷拍亚洲熟女妇人精品| 蜜臀99久久国产| 噜噜噜久久亚洲精品色情| 九九黄色网| 性久久| 国产精品人妻免费精品| 夜夜嗨老熟女AV一区二区三区| 91美女视屏| 亚洲日韩成人性爱视频| www久久国产精品| 色97欧美| 中文字幕久久亚州无码| 久久久久国产亚洲一区欧美色图日韩 | 视频分类 国内精品| 欧美gv在线观看| 蜜臀久久99精品久久久久久成人小说 | 翔田千里av一区二区三区| 国产精品久久天天干| 中文字幕乱妇免费视频| 综合九九| 91美女在线看| 91肏屄网| 人人人人人人少妇| 强奸a片网| 99精品视频在线观看免费| 人人么人人操| 国产精品96久久久久久| 97中文综合| 久久久久久久久国产| 久草毛片电影怡| 国产欧美一区二区| 日韩精品99999| 婷婷在线精品| 操逼网站视频漫画国产| 欧美综合娱乐久久| 黄片qw| 亚欧高清| 黄片免费日韩| 综合网亚洲| 色欧美亚洲| 男人的天堂com| 蜜桃传媒视频第一区入口在线看| 国产乱子伦一区二区三区免看| 久久亚洲不卡一区二区三区| av婷婷色网| 亚洲天堂另类美腿| 97超级久久强资源| 91亚洲人电影| 95精品在线| 大稥蕉免费视频这里只有精品| 水野优香在线观看| 丁香六月婷婷久久综合| 91九色网| 人妻嗯啊啊在线播放| 五月综合色| av大香蕉| 精品女人999| 91亚洲人电影| 婷婷国产精品九区| 午夜久久一区二区无码中出| 色综合中文字幕不卡| 欧美激情亚洲色图| 青青草吊丝| 美女淫穴| 1204金沙人妻懂旧版免费| 色www精品视频在线观看| 97亚洲欧美日韩| 亚洲精品白丝| 欧美,亚洲,日韩,v,天堂,手机在线观看 | 老熟女乱伦一区| 国产精品盗摄 偷窥盗摄| 国产美女自拍AV| 日韩亚洲中文有码视频| 精品偷拍13p欧美dodk视频| AA特级绝黄| 亚洲精品无码少妇久久| 91蜜桃婷婷狠狠久久综合9色| 99在线精品视频| 啪啪视频mP4| 诱惑人妻欧美一区在线播放| 亚州欧美一区| 亚洲清纯综合| 欧美色涩| 国产成人精品必看| 日韩一级成人毛片免费观看| 久久这里只精品99re66图| www.狠狠| 久久精品72| 九九九九免费视频| 欧美综合综合| 大香蕉欧美| 人人操人人插人人摸人人干| 黄片不用下载在线观看| 七久久久| 97色色,97综合| 9久9久9久9久视频网站| 日本欧美中文字幕| 国产精品自拍xxxx| 思思热在线视频精品| 91色黑人少妇| 粉嫩久久久极品| 97天堂| 思思热在线cao| 东京热免费视频| 亚洲 图片 欧美 色图| 91久久久久久久| 91欧美综合| 日本成人A片免费看| 99爱爱| 在线 亚洲 网爆 自拍| 99热国产精品| 操一操摸一摸| 日韩乱伦视频| 国产精品久久9| 久久久国产护士丝袜美腿一| 日韩在线国产字幕| 成人福利视频网| 欧亚乱色熟一区二区三四区| 久久精品高清无码一区| 东京热男人的天堂| 日韩不卡a级视频专区| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 丰满欧美放荡少妇在线| 日韩免费中文字幕视频| 欧美人人AAA| 欧美综合色站| 9精品久久久久| 人人操肉肉| 中文伊人大香蕉视频| 9997se| 97资源视频| 亚洲天天艹| 另类老少妇| 国产精品网址| 看看小穴| 久久久啊啊啊| 欧美顶级黄色大片免费| 亚洲乱色视频一区、二区在线| 婷婷探花久久精品一区| www亚洲免费| 五月天黄色av| 男女啊啊啊| 激情啪啪拍91| 超碰天天操| 天天上日日上日韩精品| www久久久| 99国产精品自在自在| 影音先锋乱伦资源| 高潮内射在线| 东北熟女91| 综合色色婷婷| 污电影在线观看| 不卡av在线中文字幕| 热天堂一区二区| 人妻丝袜日本| 日本三级韩三级99久久| 色臀aV| 无码天天操| 亚洲自拍欧美国产首页网曝 | 日日爽夜夜爽| 欧美日韩不卡传媒| 人人操人人大香蕉| 久久综合久色欧美综合狠狠| 高清国产成人无码| 狠狠操一区二区| 富女玩鸭子一级毛片| oumeisetu综合| 一本久道久久综合狠狠爱一密臀精 | 在线电影亚洲色图| 亚洲一欧洲中文字幕在线| 人人澡人人弄| 欧美日韩另类在线| 久操 高清| 天天夜躁日日躁狠狠2002| 好湿好紧好爽 视频| 东京热大香蕉| 91亚洲精品青草| 国产精品久久久 | 熟女一区二区| 欧美精品精品一区二区| 久久25| 9国产超碰| 精品视频97| 亚洲,日韩,欧美,成人播放| 青青草在线视频欧美| 国产精品久久天天干| 麻豆精品A片免费观看| 妇女性内射冈站HDWWWCOM| 97超碰天天爱天天爱| 亚洲密乳AV| 中文字幕AV片| 免费看A片毛毛片在线播| 久久人体一区二区| 簧片免费看视频| 欲色综合| 日韩有码免费视频| 国产精品人妻免费精品| 秋霞男人网| 久久久久亚洲AV无码专区少妇| 蜜桃久久久久久久久久久久| 欧美另类综合久久| 久久久久久99999国产精品| 婷婷色五月激情| 九九九九热| 二对二中文字幕。| 日日摸夜夜夜夜爽| 啊啊啊啊,啊啊好多水| 99爱精品| 国产精品成久久久久午夜午夜| 韩国三级三级BD在线| 91社操逼| 超碰97伊人| 强上我不卡卡| 黄色一区二区秘书性感| 一区二区无码视频| 情侣开房子拍 日韩无码 女的很漂亮| 亲子敌伦对白在线播放| 黄色不卡视频| 欧美性爱一区二区三区| 日韩人妻精品久久久久| 综合亚洲欧美精品日韩?v| 婷婷五月天无码| 久99视频| 免费观看成人www精品视频| 69久久久久久久久久久久久| 操逼日韩无码 | 国产中文字幕在线观看| 东京热激情视频一二三区| 性饥渴少妇av无码毛片| 999九九九九国产动| 中文字幕精品一区二区精品| 日韩性爱免费观看视频| 97综合久第一页| 麻豆 欧美 日韩| www.av在线视频| 少妇熟女一区二区三区| 极品粉嫩少妇视频| 成人精品在线| 极品综合| 91老司机精品| 亚洲涩涩| 久久久久成人蜜桃精品| 美国人人操人人操| 天天网综合| 亚洲伊人久久精品影院| 草草影院在线视频| 日韩不卡在线一区二区| 蜜臀久久99精品久久久久久无删减| 99蜜桃臀久久久欧美精品网站| AA丁香综合激情| 在线无码网站| 91爱网| 亚州欧美综合| 嗯嗯啊啊啊好舒服| 亚洲av强奸乱伦| 搞中出久久| 精精品人妻一区二区三区| 91久久堂| 偷拍欧美综合| 久久‘黄片视频| 人人操人人舒服| 亚洲高清欧美总合| 亚洲天堂资源| 97 超碰 人人做 人人爱| 亚洲综合五月天婷婷丁香| 久久久久久国产手机AV| 亚洲日韩av专区无码| 97鸡把在线视频| 国产丸一视频| 一区二区三区 丝袜高跟| 欧美亚洲玖玖玖| 中文字幕一区二区三区视频播放| 久综合国内精品自在自线| 97免费在线观看| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | www.夜夜操| 少妇高潮对白在线观看| 干我久操| 色悠久| 新怡红院| 黑人粗大V S日韩女优视频| 97 视频在线| 狠狠久久四虎| 日日干夜夜干| 欧美99热| 久久久久久精品免费看A级| 老外又粗又长一晚做五次| 久久久久久9| 伊香蕉综合久久久久久久噜噜噜 | 欧美日韩在线小说 | 丁香婷婷激情五月天无毒不卡| 91人人看| 麻豆久久视频在线地址| 九月婷婷综合| 精品成人av一区二区三区在线| 顶级丝袜熟女一区二区三区| 先锋激情∨在线视频播放| 强奸乱伦 亚洲一区| 大象AV在线| 国产精品视屏| 久久啊啊| 一区二区不卡视| 欧美综合色图片| 青青操日韩| 久热精品在线| 久久久性少妇| 久射吧| 色九九久九九| 大香蕉懂9| 亚洲天堂另类| 春色综合网| 男人久久天堂| 91视频综合网| 中文字幕丰满人妻日本| 东京热一区二区中文字幕| 久久大| 在线毛片片免费观看| 在线播放成人高清免费视频 | 无码少妇精品一区二区60岁老人| 手机看av网站在线看| 中字乱伦AV| 大香蕉免费中文| 日本曲间由美性生活片| 禁止观看美女黄| 亚91亚洲网| 99精品伊人| 少妇丝袜在线观看AV| 久久久国产护士丝袜美腿一| 蜜臀99久久精品久久久久久| 亚洲深夜福利| 97超碰精品| av网站免费线看| 国产精品久久久久久照片| 手机在线人成免费视频| 人妻-91porn| 日韩有码免费视频| 午夜天堂精品久久| 国产欧美黑人丰满在线| 夜夜嗨老熟女AV一区二区三区| 综合亚洲网| 综合网天天| 69少妇一区二区| 午夜久久无码1000合集| 99热91| 天天综合网久久ww| 亚洲综合校园春色| 99精品九九九九九九| 亚洲成人激情小说视频| 国产视频一区二区三区在线免费观看| 操逼国产免费| 综合激情五月丁香| 91啪9色| 狠狠做深爱婷婷久久二区| 综合亚州欧美| 午夜男女爽爽大片免费观看| 国产传媒操逼视频| 337p大胆噜噜噜噜噜91Av| 91精品国产综合久久久蜜臀| 天美欧美国产| 久久久啊啊啊| 操操操五月天婷婷丁香影院| 亚洲天堂7777| 色爽爽文学| 操淫穴亚洲五月丁香 | 国桃视频产巨乳精品一区二区在线| 97资源站国产精品| 2025年A片视频精品| 亚洲AV无码黄色强奸| 国产按摩一区二区三区| 中文字幕超碰CAO| 欧美 色 亚洲| 中文字幕一区二区日韩网| 啊v视频在线观看| 欧美精品丝袜久久久中文字幕| 色哟哟AV| 国产精品不卡一区二区三区av| 国产激情av女片自拍| 日产国产精品中文久久婷婷| 热热色国产一二区AV| 探花视频免费观看国产专区| 国产美女高潮叫床视频| 亚洲成人一二三区| 熟妇女伦乱视频视频| 一个人免费视频观看在线WWW | 亚洲情色 欧美| 日韩激情小说一区二区| 97天天爽| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 亚洲色图尤物视频 | www.久久99| 60秒免费小视频| 狠狠超| 欧美成va视频网站| 亚洲永久AV无码精品秋霞| 啊啊啊啊好多水| 国产乱人伦AVA麻豆软件.| 99国产天美| 2017天天插| 伊人女女资源在线观看| 日韩av色图综合| 国内外内射高清视频| 国产一区二区视频在线播放| 精品一区二区三区四区女| 亚洲在线a| 亚欧性爱在线无码| 国产性爱欧美性爱在线 | 操逼片中文| 中文字幕97色| 国产又黄又粗又猛大片| 丁香五月婷婷啪啪| 超碰精品人妻狠狠干| 欧美一区二区福利在线| 亚洲欧美一区二区三区在钱蜜桃| 97国产精选| 嫩草一区二区在线观看| 久久偷拍人| 秋霞Av理论一级在线| 欧美成人精品A片免费一区99| 亚洲欧美综合网站| 精品午夜福利国产一区二区在线观看 | 欧美日韩国产人人| 国产精品久久久久无码Av网曝门| 欧美天天插| 亚洲无码日韩电影| 久久性爱城| 人妻 欧美亚洲| 久久久久九九九| 免费亚洲国产精品久久一区| 成人性爱av| 亚洲限制级|