色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合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)源碼面向嵌入式開(kāi)發(fā)者和STM32入門(mén)學(xué)習(xí)者解決激光測(cè)距模塊在Keil MDK環(huán)境下的快速集成與調(diào)用問(wèn)題。工程在KEIL UV5下開(kāi)發(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打開(kāi)編譯、hex燒錄文件可快速驗(yàn)證map映射文件與編譯中間產(chǎn)物也能輔助排查問(wèn)題整體約8.28MB。已有1569人學(xué)習(xí)下載對(duì)熟悉IIC時(shí)序和傳感器驅(qū)動(dòng)移植的初學(xué)者具有較好的參考價(jià)值。1. 從 IIC 波形臺(tái)階到 STM32F103 與 VL53L0X 的這場(chǎng)“硬仗”做嵌入式開(kāi)發(fā)這幾年我上手過(guò)的測(cè)距方案不算少超聲波、紅外、激光三角都有各自的脾氣。但如果你手頭正好有一塊 STM32F103 最小系統(tǒng)板又想把測(cè)距精度做到毫米級(jí)VL53L0X 這顆激光測(cè)距傳感器幾乎是繞不開(kāi)的選擇。它用的是 ToF飛行時(shí)間原理而不是靠反射光強(qiáng)度估距離所以在弱光、強(qiáng)光下都比紅外靠譜得多它和 MCU 之間走的是 IIC 接口也就是標(biāo)題里那個(gè)“IIC 驅(qū)動(dòng)程序源代碼”要解決的核心問(wèn)題。我最早在 STM32F103 上調(diào)試 VL53L0X 時(shí)最大的感受是硬件連接十分鐘就能搞定真正耗時(shí)間的全在 IIC 時(shí)序、寄存器讀寫(xiě)和那個(gè)復(fù)雜到讓人頭皮發(fā)麻的 API 初始化流程上。更別提用示波器看 SCL/SDA 波形時(shí)發(fā)現(xiàn)臺(tái)階、用邏輯分析儀抓到 ACK 丟失這類玄學(xué)問(wèn)題。這篇筆記我就把基于 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 位地址是寫(xiě)死的 0x29想在同一總線上掛多顆就得靠 XSHUT 引腳逐個(gè)上電復(fù)位來(lái)改地址。這顆傳感器不提供 SPI 或 UART 選項(xiàng)所以 IIC 驅(qū)動(dòng)不是“選型之一”而是唯一路徑。這里要先糾正一個(gè)常見(jiàn)誤解很多人覺(jué)得 IIC 就是兩根線隨便接一接就能通但實(shí)際上 VL53L0X 的數(shù)據(jù)手冊(cè)明確規(guī)定 SCL 和 SDA 需要外部上拉電阻。我見(jiàn)過(guò)不少翻車案例都是直接把 STM32F103 的 PB6/PB7 接到模塊上忘了上拉結(jié)果讀寫(xiě)寄存器時(shí)好時(shí)壞。IIC 是開(kāi)漏協(xié)議沒(méi)有上拉電阻總線根本拉不至高電平波形會(huì)變成一條緩慢爬升的斜線通信時(shí)序自然一塌糊涂。2.2 上拉電阻阻值怎么定1.8k 到 4.7k 的取舍上拉電阻的取值直接影響 IIC 的上升沿時(shí)間。VL53L0X 支持標(biāo)準(zhǔn)模式100kHz和快速模式400kHzSTM32F103 的 IIC 外設(shè)跑 400kHz 完全沒(méi)問(wèn)題但前提是上拉電阻要匹配。電阻太大RC 充電時(shí)間常數(shù)變大上升沿變緩400kHz 下可能觸發(fā) SCL 高電平時(shí)間不足電阻太小總線驅(qū)動(dòng)電流過(guò)大雖然波形更陡但會(huì)增加功耗且對(duì)長(zhǎng)線傳輸不友好。我一般會(huì)分兩種情況處理如果模塊和 MCU 在同一個(gè) PCB 上、走線很短用 4.7k 上拉到 3.3V 就夠了這也是絕大多數(shù) VL53L0X 模塊的默認(rèn)配置如果用了杜邦線連接線長(zhǎng)超過(guò) 10cm或者周圍有電機(jī)、繼電器這類干擾源我會(huì)直接換成 2.2k 甚至 1.8k把上升沿壓下來(lái)。還有一個(gè)容易忽視的點(diǎn)STM32F103 的 PB6/PB7 如果配置成了開(kāi)漏輸出片上沒(méi)有上拉必須靠外部電阻如果你圖省事把引腳配置成推挽輸出那總線就變成單端驅(qū)動(dòng)了雖然短線上也能跑通但一旦掛多設(shè)備就會(huì)出現(xiàn)總線沖突這個(gè)后面講多設(shè)備掛載時(shí)再細(xì)說(shuō)。// 標(biāo)準(zhǔn)外設(shè)庫(kù)方式初始化 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; // 開(kāi)漏輸出必須配合外部上拉 GPIO_InitStructure.GPIO_Speed GPIO_Speed_50MHz; // 高速模式下壓擺率足夠 GPIO_Init(GPIOB, GPIO_InitStructure);這里把引腳配置成開(kāi)漏輸出邏輯上完全兼容 IIC 協(xié)議因?yàn)殚_(kāi)漏模式下器件只能拉低總線拉高靠外部上拉電阻這正是 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í)慣是不管模塊上有沒(méi)有板載穩(wěn)壓一律外部供 3.3V并且用萬(wàn)用表確認(rèn)模塊 VIN 引腳電壓不超過(guò) 3.45V。如果系統(tǒng)里確實(shí)只有 5V 電源就得先過(guò)一個(gè) AMS1117-3.3 或更低壓差的 LDO再給 VL53L0X 供電同時(shí) STM32F103 的 IIC 引腳如果被外部上拉到 5V也要通過(guò)電平轉(zhuǎn)換芯片如 TXS0102或分壓電阻把高電平鉗位到 3.3V否則 VL53L0X 的 IIC 引腳可能因?yàn)檫^(guò)壓進(jìn)入閂鎖狀態(tài)。3. 驅(qū)動(dòng)源碼的核心骨架從寄存器讀寫(xiě)到 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)本來(lái)就復(fù)雜初始化要讀寫(xiě)上百個(gè)寄存器而且官方 API 里有一些地方會(huì)連續(xù)做多次沒(méi)有 STOP 的重復(fù)起始條件這時(shí)候硬件 IIC 如果配置不對(duì)就可能等 BUSY 位一直不釋放卡死在 while 循環(huán)里。所以常見(jiàn)的從業(yè)方案是直接用 GPIO 模擬 IIC。兩條 GPIO 線用延時(shí)函數(shù)控制翻轉(zhuǎn)雖然會(huì)占用 CPU但對(duì) VL53L0X 這種單次測(cè)距才幾十毫秒的傳感器來(lái)說(shuō)完全夠用。而且 GPIO 模擬 IIC 的時(shí)序完全可控出了問(wèn)題用邏輯分析儀一看就知道是哪一步不對(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 拉低后沒(méi)有等 SCL 也拉低就開(kāi)始傳數(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 寫(xiě)一個(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)的底層地基。寫(xiě)字節(jié)時(shí)從高位開(kāi)始每發(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 引腳模式從輸出切換為輸入或者至少把輸出寄存器寫(xiě) 1 讓它呈現(xiàn)高阻態(tài)。我用的是開(kāi)漏輸出加外部上拉的方案所以直接寫(xiě) 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 里的讀寫(xiě)函數(shù)替換成你自己的 GPIO 模擬 IIC。// 在 vl53l0x_platform.c 中對(duì)接底層 IIC 讀寫(xiě) 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ī)地址 寫(xiě)標(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); // 先寫(xiě)寄存器地址 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 初始化流程里那些繞不開(kāi)的“黑匣子”寄存器VL53L0X 的初始化不像普通傳感器那樣寫(xiě)幾個(gè)配置寄存器就能用。官方 API 的初始化過(guò)程會(huì)執(zhí)行校準(zhǔn)、設(shè)置參考 SPAD、寫(xiě)入 NVM 數(shù)據(jù)等一系列操作整個(gè)流程下來(lái)要寫(xiě)幾百個(gè)寄存器。這些寄存器的含義大部分沒(méi)有公開(kāi)詳細(xì)說(shuō)明驅(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); // 寫(xiě)入基礎(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 位地址左移一位加上讀寫(xiě)位。0x29 1 0x52如果你直接填 0x29驅(qū)動(dòng)會(huì)把地址當(dāng)成 0x14因?yàn)?0x29 的最高位被當(dāng)成讀寫(xiě)位丟掉了IIC 總線上根本找不到從機(jī)。這個(gè)地址換算問(wèn)題我見(jiàn)過(guò)至少不下五次每次都是找不到傳感器時(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如果代碼編譯后超過(guò)這個(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 拷過(guò)來(lái)的 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 開(kāi)漏輸出 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è)量完成后通過(guò) GPIO 中斷通知 MCU。4.2 VL53L0X 與 STM32F103 之間的關(guān)鍵上拉電路實(shí)測(cè)你可以做一個(gè)非常簡(jiǎn)單的實(shí)驗(yàn)來(lái)驗(yàn)證上拉電阻的作用先把 4.7k 上拉接好用示波器看 SCL 波形上升沿大約是幾十納秒然后拔掉上拉電阻再看波形上升沿會(huì)變成一條幾微秒的緩慢爬升曲線而且高電平可能根本到不了 3.3V 就會(huì)被下一幀的下降沿打斷。如果你沒(méi)有示波器用邏輯分析儀抓也能看出明顯的“臺(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)為讀回來(lái)的寄存器值偶爾是錯(cuò)的。所以熱詞里“iic波形出現(xiàn)臺(tái)階”這個(gè)問(wèn)題八成不是信號(hào)反射而是上拉電阻失效或阻值過(guò)大導(dǎo)致的充放電時(shí)間過(guò)長(zhǎng)。遇到這種問(wèn)題第一件事不是換主控、調(diào)延時(shí)而是檢查上拉電阻的阻值和供電軌。// 用 STM32F103 的 ADC 簡(jiǎn)單驗(yàn)證 VL53L0X 供電電壓可選步驟 // 將 VL53L0X VIN 經(jīng)過(guò) 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ì)被誤判為過(guò)壓。分壓電阻的精度也要注意10k10k 分壓后ADC 讀到的是 VIN 的一半如果 VIN 是 3.3VADC 讀到約 1.65V對(duì)應(yīng) ADC 值約 2047。這個(gè)驗(yàn)證手段是為了排除供電不足導(dǎo)致傳感器初始化失敗的問(wèn)題。4.3 第一次上電如何判斷驅(qū)動(dòng)是真的通了驅(qū)動(dòng)移植完上電后先不要急著看測(cè)距數(shù)據(jù)先做一個(gè)最簡(jiǎn)單的自我檢查通過(guò) IIC 讀 VL53L0X 的 ID 寄存器。0xC0 和 0xC1 這兩個(gè)寄存器分別存儲(chǔ)芯片型號(hào) ID 和版本號(hào)固定值分別是 0xEE 和 0xAA。如果讀出來(lái)這個(gè)值說(shuō)明 IIC 鏈路是通的地址換算沒(méi)錯(cuò)上拉電阻也夠用如果讀回來(lái)全是 0xFF說(shuō)明總線根本沒(méi)有從機(jī)應(yīng)答大概率是地址填錯(cuò)或 SDA/SCL 接反了如果讀回來(lái)是隨機(jī)跳變的數(shù)說(shuō)明時(shí)序有問(wèn)題可能是延時(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); }這段自檢代碼的精髓在于它繞開(kāi)了整個(gè)官方 API只用最底層的 GPIO 模擬 IIC 讀寫(xiě)一個(gè)寄存器把問(wèn)題域縮到最小。如果這一步就失敗了不要急著深入 API先排查硬件連接如果這一步通過(guò)再跑完整初始化流程就能精準(zhǔn)定位問(wèn)題出在 API 配置還是硬件鏈路上。我每次移植一個(gè)新的 VL53L0X 模塊到某塊板子上都會(huì)先做這個(gè) ID 自檢它能幫你至少省掉半天排查時(shí)間。5. IIC 驅(qū)動(dòng)常見(jiàn)問(wèn)題避坑指南現(xiàn)象、原因與解決5.1 波形里有臺(tái)階傳感器偶爾無(wú)響應(yīng)現(xiàn)象邏輯分析儀抓 SCL/SDA 波形發(fā)現(xiàn)信號(hào)不是陡峭的方波而是有明顯的斜坡甚至臺(tái)階VL53L0X 有時(shí)能讀到 ID有時(shí)讀不到。原因上拉電阻阻值偏大加上總線電容線纜、模塊上的電容、芯片引腳寄生電容導(dǎo)致 RC 時(shí)間常數(shù)過(guò)大信號(hào)上升沿太慢。尤其在 400kHz 模式下高電平時(shí)間被壓縮從機(jī)采樣窗口落在上升沿中間導(dǎo)致時(shí)序違規(guī)。解決先把總線降速到 100kHz 試試如果問(wèn)題消失就基本確認(rèn)是時(shí)序邊沿問(wèn)題。然后把上拉電阻從 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è)備無(wú)應(yīng)答現(xiàn)象IIC 總線上用邏輯分析儀能看到波形但 VL53L0X 從不 ACK讀任何寄存器都返回 0xFF。數(shù)據(jù)手冊(cè)上明明寫(xiě)著地址是 0x29。原因驅(qū)動(dòng)代碼里 I2cDevAddr 字段填成了 0x29而 API 內(nèi)部會(huì)把這個(gè)值左移一位作為 8 位地址發(fā)送或者反過(guò)來(lái)你直接填了 0x52 但 API 又做了一次左移。這類地址換算錯(cuò)誤在多個(gè)廠商的驅(qū)動(dòng)里都很常見(jiàn)因?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) 類似的等待代碼。原因最常見(jiàn)的是 IIC 底層讀寫(xiě)返回值恒為 0 或恒為 1導(dǎo)致 API 內(nèi)部的狀態(tài)機(jī)反復(fù)重試還有一些情況是傳感器在初始化中途掉電或復(fù)位導(dǎo)致 API 后續(xù)讀取的寄存器值全部無(wú)效。解決在 IIC 讀寫(xiě)函數(shù)里加入超時(shí)機(jī)制比如連續(xù)重試 3 次仍失敗就返回錯(cuò)誤碼而不是無(wú)限死等。同時(shí)在 main 函數(shù)開(kāi)頭加一個(gè)延時(shí) 100ms等 VL53L0X 上電穩(wěn)定后再初始化。另外注意 STM32F103 的 GPIO 模擬 IIC 引腳如果有第二個(gè)外設(shè)復(fù)用比如 PB6/PB7 默認(rèn)是 USART1 的 TX/RX需要確認(rèn)沒(méi)有外設(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 開(kāi)頭的 .c 文件都添加到了工程中但要注意不要重復(fù)添加同一個(gè)文件Keil 會(huì)編譯兩次導(dǎo)致重復(fù)定義。如果還有問(wèn)題在編譯選項(xiàng)里打開(kāi) “One ELF Section per Function” 可以減小未使用函數(shù)導(dǎo)致的鏈接誤差。這里提一下熱詞里“windows 無(wú)法驗(yàn)證此設(shè)備所需的驅(qū)動(dòng)程序的數(shù)字簽名”那是 PC 端 USB 驅(qū)動(dòng)的問(wèn)題和 MCU 工程無(wú)關(guān)但如果你用的 ST-Link 仿真器在 Win10/Win11 下無(wú)法連接可以臨時(shí)禁用驅(qū)動(dòng)程序強(qiáng)制簽名后重新安裝 ST-Link 驅(qū)動(dòng)。5.5 測(cè)距數(shù)據(jù)固定不變或全為 0xFFFF現(xiàn)象初始化明明成功了ID 也讀出來(lái)了但測(cè)距結(jié)果要么一直是同一個(gè)值要么是 65535。傳感器好像沒(méi)有真正開(kāi)始測(cè)距。原因VL53L0X 測(cè)距需要先完成內(nèi)部校準(zhǔn)如果跳過(guò) Perform_RefCalibration 直接測(cè)距結(jié)果可能會(huì)異常。另一種可能是傳感器正對(duì)的目標(biāo)表面吸光太強(qiáng)比如黑色絨布返回光子數(shù)太少ToF 算法無(wú)法提取有效信號(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è)距自然無(wú)效。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。這兩件事都繞不開(kāi) 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í)間開(kāi)銷大而且測(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ā)起寫(xiě)命令再讀數(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)里做避免外部中斷處理過(guò)長(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)完成立刻通過(guò) IIC 寫(xiě)入一個(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 豐富的芯片完全不是問(wèn)題。最后再分享一個(gè)我自己的查錯(cuò)習(xí)慣任何 IIC 問(wèn)題第一反應(yīng)不是看代碼而是用邏輯分析儀抓實(shí)際波形。把地址幀、寄存器地址幀、數(shù)據(jù)幀逐個(gè)對(duì)照數(shù)據(jù)手冊(cè)上的時(shí)序圖通常十分鐘內(nèi)就能定位問(wèn)題出在地址、時(shí)序、還是 ACK 處理上。這個(gè)習(xí)慣幫我排掉過(guò)無(wú)數(shù)個(gè)看似復(fù)雜的玄學(xué)故障也希望你能用上。希望這些基于 STM32F103 的 VL53L0X IIC 驅(qū)動(dòng)經(jīng)驗(yàn)和避坑記錄能幫到你少走一點(diǎn)我當(dāng)年走過(guò)的彎路。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美 传媒 麻豆 日韩 偷拍| 国产JDAV无码视频在线观看| 亚洲超碰97| 性爱乱伦网址| 亚洲人久久久久日| 超碰资源亚洲97| 亚州色综合| 国产少妇与亚洲av| 国产亚洲中文不卡二区| 中文三一区| 欧美精品三区| 国产成人手机视频激情| 婷婷亚洲中文字幕在线| 九九久久99| 大香蕉78| 日韩中文字幕精品一二三事国产精品| 人妻少妇av在线观看| 91网站18+| 亚洲偷拍自拍在线视频| 九九九九热| 久久久9 9 9精品| 色婷婷五月综合| 欧美顶级黄色大片免费| 国产精品国产亚洲区艳妇糸列| 免费成人在线观看91| 日韩人妻免费精品| 极品销魂美女一区二区| 婷婷九月丁香| 毛片麻豆91糖心精品毛情片| 啊好大好舒服| 少妇 综合| 日韩精品亚洲专区在线影视| 人人操人人插 - 百度 - 百度| 国产青青美女玩逼视频| 中文字幕91综合| 人妻AV在线| 18禁免费视频| 无码区蜜乳| 男人的天堂亚洲| 亚洲在线91| 天天日美女的B| 99re视频在线观看这里只有精品| 久久精品国产亚洲AV片多多| 久久久久久亚洲Av无码| 国产精品视频自拍在线| 久久男人精品| 一起草精品人妻| 国产浮力影院第1页| 国产a片操逼| 新久久AV| 92午夜免费福利视频| 天天操熟妇| 人人透人人操| 丁香六月激情| 国产久久久9999| 亚洲另类久操网| 午夜性| 成人欧美日超碰| 色偷偷色偷偷欧美日韩| 精品无av| 亚洲国产成人精品女人久久久| 天天干人人乐| 91碰超| 九月丁香| 亚洲AV不卡在线观看| 日韩人妻一区二区精品| 日韩免费av片高清无码| 97精品一区| 国产精品农村妇女| 乱伦av麻豆| 欧美疯狂做爰xxxx| 精品九九九九九九九九九| 久久侵犯人妻爽爽爽| 亚洲骚男同com| 网友自拍第1页| 久热精品在线国产| 久久97| 天天摸夜夜操视频| henhen91| 中文字幕欧美丝袜07资源| 久热99999| 久草加勒比一区在线| 国产日韩区| 久久久啊啊| 亚洲一区二区中文字幕| 东亚亚洲无码高清| 天天综合网~91综合网| 十八岁啪啪视频免费看| 精品国产99| 校园春色 亚洲| 中文字幕精品一区二区精| 超碰亚洲欧美日韩无| 激情婷婷丁香网| 国产AV色黄看到爽| 婷婷色在线| 久久一留热品黄| 蜜屁av| 综合色图区| 精品国产乱码久久久久久免费| 国产操伦| 另类图片五月天| 综合欧美日本三级| 精品国产乱码久久久久久久久久毛片| 在线性黄高清免费视频| 另类欧美综合| 午夜精品久久久99| 91被操| 内射中出日韩在线观看视频| 97欧美资源| 色吧 综合| 91丨九色丨东北熟女| 天天天操天天天爱| 亚洲精品色| 久久久久久少妇| 日韩人成网站在线播放| 2017亚洲天堂| 91久久久久久久| 99少妇精品视频| 啪啪啪东京| 久久原创中文| 色婷婷蜜臀av| 天美传媒国产原创中文字幕亚洲欧美另类| 激情久久久| 久久国产对白激情浪潮| 亚洲伊人久久精品影院| 五十路六十路素人熟女| 综合一区中亚洲国产成人综合精品 | 精品视频免费在线一区| ai欧美亚洲小说| 高潮毛片无遮挡高清免费| 1204金沙人妻懂旧版免费| 久久精品国产亚洲AV片多多 | 日韩在线一区高清在线| 欧美天堂日韩三级国产传媒| 中文字幕一区二区在线日韩精品| 97国产超碰| 久久久男人的天堂| 欧美性,色九九| 五月开心网| 乱伦熟女专区| 欧美精品精品一区二区| 久久久久久999| 中文字幕一区二区三区人妻少妇在线| 99无码视频| 天天激情干| 精品午夜福利导航| 韩国免费播放一级毛片| 久久久久久久久久久久黄色| 粉嫩在线一区二区懂色| 97国产成人精品免费视频| 国产毛片毛片4p懂色| 久久ww| 中文精品一区二去| 国产亚洲欧美每日在线| 美女尤物人人操| 日韩乱中文 | 99精品视频在线观看| 欧美黄色片AAAAA| 综合色图亚洲欧美| 在线综合 亚洲 欧美中文字幕 | 美国aaaaa一级黄片| 天天看高清麻豆| 丝袜狠狠草尤物 91| 97丝袜亚洲在线播放| 欧美日韩亚洲天堂网| 亚洲第一视频 欧美风情 日韩| 伊人骚琪琪亚洲天堂网站| 性爱综合一区二区| www.色99| 熟女熟妇伦久久影院毛片一区二区| 天天久久| 五月婷婷激情网| 超碰这里只有精品| 亚洲性爱电影| 亚洲人妻av| 性爱动态120秒| 亚洲夜色在线| 91宗合网| 狠狠狠狠狠| 蜜桃狠狠色伊人亚洲综合 | 欧洲一区二区三区四区在线观看| 91精片| 久久草草欧美精品| 好爽视频在线观看视频| av中文在线| 天干天干天干天天做| 成人八戒网站| 综合亚洲网| 丁香六月东京热| av 模特一区了| 精品人妻15区| 精品一二三区久久AAA片| 夜夜嗷嗷一区二区| 久草网站免费在线观看| 久久熟女嫩草成人片免费| 国产高清精品一区二区三区毛片 | 久久是精品| 中文字幕 国产 精品| 大香交| 99热久| 91撸色网 玖玖网 欧美| 日本少妇va7777| 欧美一级黄片视频在线| 亚洲人综合| 麻豆一区二区AV天美| 欧美中文字幕日韩在线| 久久少妇人妻| 热天堂一区二区| 欧美一区二区三区不卡高清视频| 黄色二级片网站| 午夜一区二区三区国产| 我要色综合网站| 国产白领连续中出在线观看| 黄片aaaaa一区| 啊啊啊啊啊在线| 物尤视频一区二区| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 欧美亚洲日韩16色| 国产午夜在线观看| 精品二区三四区五电影 | 超碰日本97美女人妻人人玩人人爱| 好吊色青靑草| 99久在线精品99re8| 美女啊啊啊啊啊啊啊| 在线观看无码三级少妇| 国产精品国产精品国产| 亚洲色电影在线| 亚洲综合 欧美| 亚洲情色在线| 爱啪精品一区| 美骚妇av高清在线| 另类图片五月| 7777欧美成是人在线观看| 欧美综合 站| 人妻天天爽夜夜爽精品2| 日本道久久综合色色| 黄片免费看的| 370p日韩欧美亚洲精品| 久操视频在线观看| 女人精品内射国产99| 精品69网| 免费人成毛片乱码| 性饥渴少妇av无码毛片| 人人贴人人摸| 亚洲精品日日夜夜52| 亚洲欧美中文日韩视频中国语| 久久久久国产精品喷潮免费观看臀| 伊人专区一区二区三区| 乱伦av麻豆| 99精品丰满人妻无码| 内射中出日韩在线观看视频| 亚洲不卡av在线| 久久久∴| AV女优男人的天堂| 免费精品无码一级毛片牛牛影视| 亚洲精品一二牛牛| 男人的天堂一区三区| 中文字幕 码精品视频网站| 志村玲子视频一区二区| 日韩欧亚太美不卡| 成人精品水蜜桃久久久久久久| 破处bbq| 久操视频这里只有精品| 亚洲精品人妻在线| 亚洲天堂人妻一区二区| 一本色道久久综合精品婷婷| 91亚洲黄色网| 91在线免费精品视频| 精品人妻一区二区视频| 18一区二区三区| 91超碰碰在线| 国产精品白丝在线播放| 人妻AV在线| 97超碰巨乳| 超碰99re| 九月丁香婷婷| 青青久日| 亚洲最大的综合性av| 欧美在线啊啊啊 | 强奸乱伦AV网址| 旡码电影特区| 18禁看网站一区| 日本熟女不卡视频| 国产h片在线观看视频| 中文字幕91综合| 亚洲怡春院| 丰满人妻一区二区中文| 内射夫妻三片| 亚洲日韩av一区二区三区百合| 91精品人妻啪啪间| 国产日逼视频| 久久婷婷苹果| 91精品伊人久久久大香线蕉91| 91爰爱欧美| 久久久久久久久久久免费精品| 一级做a爰片性色毛片久久| 欧美一级特黄淫片在线观看| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 人妻精品一区二区在线| 超碰久久综合| 久九九九九九九热| 高清一区AV无码| 久久久少妇诱惑精品视频| 五月综合婷婷久久网站| 男人的天堂网页| 丝袜性亚洲| 国产精品成人无码av| 日比av无码| 国产夜夜艹| 国产熟女完整版中字| 狠狠爱夜夜| 成人三一级一片aaa| 男人天堂站| 黄片免费看黄片免费看| 久草成人| 无码九九| 久久97超碰香蕉| 色综合五月天| 青娱乐国产精品| 97国产精品一区二区传媒公司| 色综合99999| 亚洲国产91精品一区二区久久| 伊蕉97蜜桃97狠狠综合干| 日本一级婬片试看三分钟| 九七毛片九九毛片 | 五月丁香成人网| 欧美日本成人一区二区| 天天躁狠狠躁av| AV电影在线播放| 亚洲欧美电影| 女上位精品在线| 四虎AV在线观看| 高清国产无码av| 亚洲有薄码区久久在线一区| 亚洲另类综合欧美| 黄片在线免费在线观看| 国产精品午夜AV完会免费| 日韩精品电影| 蜜臀av一区二区三区免费观看| 欧美精品一区二区少妇免费A片| 91色伦| 男人天堂.AB| 日韩AC| 三男一女不戴套的A片| 久久成人午夜狠狠| 一区二区三区男女操逼黄色小电影| 亚洲欧洲综合av在线| 啊啊啊啊免费视频| 欧美韩国你懂得在线 | 欧美激情内射| 久久人体一区二区| 亚洲中文字幕有码视频一区二区三区| 日韩性爱网址| 97人妻免费中文字幕| 国产97色在线| av日韩中文字幕| 久久夜嗨| 熟妇精品juliaannAV| 激情99| 国产成人亚洲精品无码古代早漏男| 激情小说亚洲| 一区二区视频在看| 婷婷性网| 国产精品香蕉| 亚洲综合首页| 国产路线专区| 992视频一区| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 亚欧美色| 91爱剪切久久| 人妻天堂三区| 大香蕉线| 亚洲综合九九| 精品无码秘 人妻一区二区| 精品视频一区二区| 蜜桃香蕉久草精品在线| av橘色网站| 中文字幕av一区二区三区人妻少妇| 日韩视频小说在线观看| 亚洲图片 激情小说| 怡春苑东京热| 在线观看午夜婷婷久久久久清性观看| 欧美激情色婷婷花野真衣一区二区| 自拍丝袜美腿人妻| 日韩图区| 精品9999| 啊啊啊想要| 午夜精品久久久久久久久久久久久| 国产三级中文字幕粉嫩| 亚洲春色欧美| 女优大全 - 91n| 日夜伊人网| 久草加勒比一区在线| 五月丁香激情四射| 搡老女人911熟妇老熟女| 俄罗斯及免费在线看| 又粗又长又大国产不卡| 亚洲国产ⅴ高清在线观看| 国产一区二区三区久久久精品| 精品国产一区二区三区香蕉欧美| 日韩不卡av一二三| 亚洲男人天堂2019| 亚洲精品一二区| 国产精品白丝在线播放| 美中日韩无码| 日本 欧美 亚中文字幕| 国产视频一区二区在线观看| 成人精品一区二区三区| 97网站在线观看| 蜜臀久久99精品久久久久久酒店 | 乱伦日本色图AⅤ| 国产高潮AA片免费看| 香蕉在线一区二区三区| 国产噜噜噜噜噜久久久久久久久| 不卡六六在线91| 热99re69精品8在线播放| 一级AV性爱| 国产AV无码AV| 亚洲最大黄网| 尤物视频偷拍免费| 亚洲图片另类| 艹少妇网站| 香蕉在线一区二区三区| 亚洲日韩乱码中文无码蜜桃臀网站| 爱丝福利| www.av在线视频| 激情99| 欧美一级专区免费大片| 久久精品一区二区一8| 综合久久久久久久综合网| 婷婷五月天成人网| 曰韩香蕉97| 天天干人人看综合| www.丁香五月| 情色五月天网| 人人搞人人插人人操| 五月天婷精品激情| 婷婷丁香一区二区三区| 国产精品视频在线观看| 人妻系列无码专区中文有码| 国产13区| 久久91| 久热9| 插入粉嫩少妇视频| 中文字幕一二三av| 精品人妻久久久| 高潮毛片无遮挡高清免费| 性色av婷婷久久一区二区点复制| 日韩av熟女一区二区三区成人| 91熟女视频网| 丰满人妻无码一区二区三区| 97干色天堂| suv精产一二三区| 黄色性爱网网| 伊人色综合欧美| 欧美成人性爱视频在线播放| 色噜噜国产在线| 男人的天堂一区| 国产呦精品一区二区三区下载| 亚洲少妇在线影音| 日韩人妻一二三区视频| 97干天天| 爽极品影院| 在线观看A啊啊啊| 92性色国产午夜福利在线661 | 奸色色 男人天堂 天天射| 男人天堂黄片| 亚洲成人贴图| 日韩人妻资源在线看| 97中文综合| 婷婷亚洲五月***久久| 蜜臀th| 色狠人在线99| 日本性感人妻91| 国产精品91一样| 欧美中文综合| 欧美在线官网| 国产福利电影| 超碰97最新人妻| 2017人人操,人人摸| 九九九九九九成人| 黑人嘿嘿嘿超爽免费视频| 无码人妻系列少妇| 精品性爱一区二区| 熟人人妻少妇精品久久| 熟女人妻av在线资源,黄色的资源| 欧美热图99| 日韩有码一区三区| 在线观看一级α片刺激高潮视频| 超碰综合色| 亚洲最大AV网| 色欧美综合| 欧美成人亚洲精品| 另类小色呦| 老鸭窝在线视频播放| 色五月婷婷麻豆在| 国内毛片无遮挡国产| 欧美大色交| 国产农村一一级特黄毛片| 91丝袜| 日韩欧美水蜜桃人妻| 欧美成人黄网色网站| 精品免费囯产一区二区三区| 免费的av网| 不卡一区二区日本视频| 99热在线播放| 污污污8888| 99综合| 一级成人性爱| 91精品人妻一品二品三品| 一区二区首页| 99性视频| 91深夜夜| 国产传媒av天美传媒在线| 欧美色日本| 九九Av| 亚洲,日韩,欧美,成人播放| 精品人妻一区二区三区蜜桃视频| 亚洲综合另类欧美久久久| 偷窥自拍A片| 伊人网青青| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 97欧美久久久久久久| 亚洲熟妇自偷自拍另欧美| 一本大道不卡一二三区| 91天天综合网| 蜜臀AV一区二区三区| 国产熟女| 麻豆国产av网| 亚洲高潮少妇| 国产农村一一级特黄毛片| 都市久久精品激情亚洲| 啊啊啊无码| 熟女久久| 丰满欧美放荡少妇在线| 欧美91精彩| 欧美18禁91| 老鸭窝亚洲毛片| 影音先锋国产精品| 操我无码| 久草免费福利在线播放| 中国一级特黄大片护士| 久久性爱视频免费看| 久久高潮妇女视频| 亚洲双插| 啊啊啊轻点在线观看| 亚洲日韩少妇一道本视频| 激情图片伦理国产一区二区日韩| 91在线页| 性爱动态120秒| 五月天开心网| 日韩人体偷拍| 1956日韩精品| 禁止观看美女黄| 欧美日韩99精品麻豆传媒| 91视频国品一二三区| 五月天婷婷色| 久久久久久夜夜夜夜夜| 91精品国产综合久久久蜜臀| 97操97色| 超碰99热中文字幕| 伊人精品视频| 啊啊啊啊啊啊啊啊要喷了| 午夜福利在线合集| 久久 久久国内精品亚洲| 亚州色阁| 国产97色在线 | 亚洲| 91狠狠综合久久久| 婷婷五月天综合网| 丰满人妻-区二区三区免费看| 丁香激情五月| 欧美淫穴| 91国产大片| 精品亚州18| A一级色女| av日韩中文字幕| 日本不卡一二区| 久久一二三四| 香蕉热人人精品| 国产精品无码在线| 亚洲操操操| 久久综合18p| 欧美亚洲日韩16色| 中文字幕免费在线观看| 欧美牲| 高清国产成人无码| 天天躁日日躁AAAXX| 婷婷香蕉欧美在线一区二区三区| 日日天天久久啊啊aaa| 日韩资源网| 日韩图色| 国产在线强奸视频| 亚洲成人综合在线| 91色黑人少妇| 国内外激情在线| 久久精品国产亚洲AV清纯| 日本不卡高清视频| 日韩素人无码一区二区三区三州| 欧美日韩少妇色情| 日本大香蕉综合网| 久久五十路熟女人妻| 色五月网址| 久久大线蕉一区| 欧美性高潮在线| 超碰午夜在线| 亚洲欧美综合图片| 飘花国产午夜精品不卡| 亚洲激情在线观看一区| 99热综合| 久久精品国产精品| 欧美v日韩v亚洲v最新在线| 亚洲 国产 精品一区| 人妻天天操天天爽视频免费| 少好三P| 日韩免费三级黄片电影| 激情小说五月天| 91欧美性| 丁香六月天| 青青青国产| 97久久综合网| 91成人在线免费视频| 成人久久无码www| 男女啊啊啊啊啊| 看一级特黄a大一片| 人人操天天爽| 校园春色 欧美| 六月丁香久久| 偷拍亚洲情色| 亚洲日韩美女中文字幕乱| 免费农村成人少妇人妻Aa一区二区视频| 骚货操死你| 日美免费黄片| 亚洲综合性网址| 岛国片在线播放| 啊嗯好大视频在线观看| 久久久96| 天天干天天日天天射黄色| 色香天天| 色综合美国| 火箭成精品视频884必出精品| 桃花色涩综合影院| 少妇人妻在线| 日韩黄色电影网站| 日韩欧美中文字亚洲慕| 日本高清一区二区在线| 中出在线视频| 日本在线视频导航| 精品女同一区二区三区| 激情视频网址| 日逼97| 亚洲欧美精品一区天堂久久 | 影音先锋视频在线| 韩国国产欧美情侣视频在线| 亚洲成人性爱网站在线播放| 强奸少妇AV导航网| 欧美色乱| 日韩伦理久 久久 清纯| 花花AV导航| 国产福利精品最新在线| 麻豆熟妇乱妇熟色A片在线看| 久操大香蕉| 91欧美综合| 中文字幕在线高清男人的天堂 | 色姑娘综合网| 人人操天天爽| 国产一区二区在线看| 欧美午夜视频免费观看| 二三四区精品| 国产精品青草综合久久| 国产精品网址| 日日夜夜国产综合| 播播亚洲小说亚洲| 欧美亚洲系列| 75大香蕉| www.色操逼| 人人操欧美风骚| 亚洲性图91| 国产免费一区二区在线A片视频| 97久久国产| 久久久久亚洲精品| 大香蕉五月天| JuliaAnnXXX888| 青青草亚洲一区| 中文字幕丝袜国产第一页不卡| 日韩BBN| 欧美一级欧美三级在线观看| 333kkkk·亚洲com久久| 日韩综合色图| 在线观看午夜婷婷久久久久清性观看| 激情丁香婷婷| 国产乱色国产精品免费视| 久久久一二三四区| 无码99| 亚洲一卡2卡3卡4卡乱码网站| 激情深爱五月天| 国产毛片毛片4p懂色| 日韩中文9| 欧美三级一级| 婷婷久久大香蕉| 秋霞成人一级在线观看| 欧美 综合 亚洲| 97国产精品国| 欧美精品999| 国产一级内射无挡观看| 91综合站| 精品国产乱码久久久影院| 偷拍超碰| 四虎影库国产精品免费| 日本肏逼视频在线观看| 人妻一二三区| 老女人综合网| 日韩欧美中文字幕搭讪巨乳美人妻视频| 红桃视频高潮| 青青国产精品在线| 静品嫩模一区二区| 3d成人精品一区二区| 久久综合九色综合欧洲98| 久久线上视频免费看| 成人片视频| 欧美亚洲一区二区久久久婷精品大包诱| 日本中文字幕在线电影| 色综合av男人天堂| 欧美天天综合网| 99热线麻豆 | 91黑丝少妇| 伊人久久88国产女| 亚洲一区日韩| 中文字幕日本久久| 国产精品久久久无码AV网站| 久久精品国产AV一区二区三区| 男人的天堂com| 一本色道久久综合狠狠操| 白丝在线一区| 97丝袜亚洲在线播放| 日韩ab网 | 夜夜爽夜夜| 中文字幕在线免费观看 | 亚洲精品97久久中文字幕| 天天看高清麻豆| 无码国产Av| 国产无码精品高清| 女欧美一区二三区| 五月丁香黄色网| 91操操操操| 97无码视频在线播放| 97色碰| 成人五月天丁香激情综合| 日本操逼视频在线| 永久免费av无码网站国产app| 人人操人人干xxx| 久久亚州精品成人Av无| 一类av片在线看| 国产熟女免费观看久久| 粉嫩在线一区二区懂色| 婷婷久久五月| 精品一区二区3区| 蜜臀精品1区2区| 国产成自自拍在线观看| 亚洲天堂美臀在线| 久久蜜色情在线视频xxx免费观看| 国产精品制服丝袜中文字幕日韩一区二区三区| 精品熟女一区=区三区| 二对二中文字幕。| 偷拍五区| 欧美综合网A| 中国熟女老妇仑乱一区二区三区| 亚洲激情综合另类男同| 小情侣高清国产在线视频| 婷婷操逼| AV天堂男人的天堂| 欧美精品,四区。五区| 丝袜视频网国产90| 亚洲色图图片| 久久精品一区二区一8| 女色综合| 午夜一区二区三区国产| 乱老女人一区二区视频| 九九热免费国产视频婷婷伊人五月 | 97在线看| 国产亚洲日韩在线三区黑人| 99久久婷婷| 黄网站黄视频网站进入口| 九99久久| 亚洲人成网站7777| 桑老女人九区| 欧美岛国精品在线观看| 国产熟女乱论| 艾草av| 丝袜美腿丝袜| 久久久久人妻二区精品叶可怜| 亚洲国产激情国产av| 97超碰无码网| 四虎免费在线播放| 欧美aa一级片| 97精品国产97久久久久久户外免费| 东北女人操比视频| 野狼福利社区| 九九探花视频在线观看| 丝袜喷水在线| 欧美丝袜91| 国产在线播放成人免费| 欧美精品1区2区3区| 又摸又舔在线观看网站| 国产熟女一区二区| 免费啪啪一级视频| 开心六月色| 97Ai亚洲| 岛国片在线观看视频亚洲| 国模不卡一本二本三电影| 美女久久久久久久久久久| 国产精品自在线发布| 熟妇艹鸡八| 亚洲男人天堂av| 日韩精品一区二区三区色欲| 亚洲精品白丝| 有码人妻系列| 啊啊啊操一区| www.91欧美| 亚洲欧美激情在线视频| 成人女人国产| a啊啊啊啊啊啊啊啊一区二区| 国产精品亚洲天堂网址| 中文字幕制服欧美久久一区| 91五十路| 夜色五月天| 少妇色欲综合网2| 欧美视频一区二区在线| 91N综合在线| 国产黄色在线播放观看| 久久人人爽爽爽人久久久| 东北女人操逼| 78综合网| 中文字幕精品探花视频| 亚洲骚女一区二区三区| 亚洲综合在线第一页| 夜色五月天| 青青在线视频日韩欧美| 亚洲情色电影网| 热99re69精品8在线播放| 亚洲综合激情五月久久| 黄色AV影视| 男人综合网| 亚洲熟妇自偷自拍另欧美| 亚洲毛片久久| 95精品在线| 亚洲美女av无码| 中文字幕制服欧美久久一区| 波多野结衣AV无码一区| 日韩精品熟妇| 欧美大香蕉同搞| 亚洲熟妇综合久久久久久| 欧美黄片欧美黄片xxx| 欧洲性人爱视频| 九九黄色网| 亚洲色91| 日韩精品第3页| 无码高清专| 97超碰伊人| 日韩欧美视频青青| 91操操操操| 日韩美女高潮喷水视频| 亚洲av淫乱| 人妻在线大香蕉| 在线观看不卡一区二区三区| 18精品一区| 人人操人人摸人人看人人插| 一区二区视频你懂的| 国产女性无套 免费观看| 亚洲少妇视频| 老熟女熟妇| 啪啪免费| 91中文字幕制服丝袜免费视频| 在线观看十八禁| 天堂а√在线最新版在线 | 葡萄牙性视频一二区| 天堂资源欧美| 操我无码| 精品人妻一区二区三区在| 久久亚洲熟妇在线视频| 亚洲色诱惑| 日本国产欧美一区三区二区| 欧美天堂亚洲电影院一区在线播放| 婷婷深爱五月| 欧美综合 站| 中文AV制服乱伦| 欧美国产成人在线| 久热婷婷| 久久久久久一日韩字幕无码| 蜜臀99久久精品| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 97干天天| 99久热| 国产精品亚洲天堂网址| 麻豆精品.欧美精品.日韩精品.| 91美女在线看| 亚洲激情网一二三四区| 女人 A一级| 99热精品免费| 亚洲色堂免费视频| 太久视频| 天天射天天操天天干天天吃2018| 青青青草伊人精品| 亚洲最大的黄色电影网站。| 国产一区二区三区精品观看啪| 婷婷久久五月综合激情| 福利五区| 欧美性爱网97| 97国产色综合| 在线国产探花| 十八禁的黄污污免费网站| 国产精品人妻无码久久久互動交流 | 国产精品白领在线观看| 五月天九九日国产精品一区二区三区| 精品视频专区| 91大胆欧美| 色九区| 精品v日韩欧美国产| 日韩99精品视频综合区| 欧美激情综合| 搡老女人老91二区| 婷婷性网| 天天干人妻视频| 97欧美色综合| 日本孕妇孕交| 先锋音影AV| 诱惑人妻欧美一区在线播放| 啊啊啊com| 99人妻| 欧美色图91| 91丝袜人妻| 中日韩久久久免费看| 亚州国产成人精品女人久久 | 97视频网站| 欧美一二三| 91天天综合日韩欧美| 久久久日本电影| 91少妇高潮| 91色欧美| 96精品久久| 日韩有码专区| 2017大香蕉| 黄色无码高清黄色无码网站| 欧洲在线性爱视频| 国产在线能看的你懂的| 你懂的在线观看区国产| 亚洲av无码国产精品字幕| 日本人妻最新在线中| 蜜臀一区二区三区在线| 91看黄片| 国产成人无码啪| 成人三一级一片aaa| 加勒比久久综合网高清| 国产精品亚洲一区二区三区四区| 岛国成人av在线播放网址| 999岛国大片| 色色国产| 白丝AV网站| 亚洲欧美在线综合| 性欧美| 特色a在线上| 日韩簧片免费看| 色官网色综合| 婷婷激情综合网| 77777亚洲蜜臀精品久久综合蜜臀| 射丝袜高跟鞋99| 亚洲综合情色| 久久久啊啊啊| 日韩免费中文字幕视频| 久久黄色视频一区二区三区| 日韩,欧美,中文在线| 九九色综合| 丝袜喷水在线| 果冻传媒一区二区三区| 久久啊啊啊| 色操逼网| 91碰碰碰| 亚洲永久永久永久永久一级一级一级精品 | 老鸭窝在线视频播放| 欧美精品宗合| 欧亚性爱啪啪| 91女人的网站| 久久久成人免费av电影| 亚洲天堂久久久久久粉红视频| 精品九九国产无码| 五月婷婷丁香| 欧美色图下一页| 欧美92| 熟女乱伦A| 日韩另类色图| 青青草久久| 蜜臀一区二区三区在线| 一级久久性爱视频| 欧美高清性猛交| 日韩精品亚洲一二三| 91搞逼视频| 日本特黄f c2| 色九九九九九九| 91伊人久| 蜜桃视频精品一区二区| 嫩草 我啊~嗯~在线| aaa亚无码专区| 色婷婷av在线观看| 好看的久久不射无码影视影院| 欧美97色| 日本精品一区二区中文字幕| 看黑丝美女操逼青青网站| 欧美日韩色| 丝袜剧情| 99抽插| 91超碰在线| 乱老女人一区二区视频| 人妻少妇精品久久久| 91色交| 成人欧美一区二区三区黑人一| 啊啊啊啊啊好舒服视频| 性饥渴少妇av无码毛片| 午夜精品久久久久久久男人的天堂| 激情婷婷丁香| 无码操逼天堂| 加勒比伊人| 99性爱视频| 欧美日韩不卡传媒| 首页中文字幕中文字幕免费| 色大师网站www永久网站视频| 九九AV| 五月天色图影视| 日天天九九天堂666| 一区二区三区精品视频| 九热超碰| 大香蕉一线视频| 日韩中文字幕宗合在线| 高清无码一区二区三区| 91新在线欧美| 亚洲av综合伊人久久| www老逼91| 亚洲影院成人| 久久的网站啊啊啊啊啊| 亚洲爽图| 亚洲色图a| 国产兽交视频在线播放| 男人的天堂2018.| 日本东京热久久久电影| 韩日男人的天堂| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 亚洲制服欧美另类内射| Aa东京男人的天堂| 97欧美性爱| 国产丝袜高跟美女av免费观看| 欧美专区日本专区| 99精品综合久久久久五月天| 91人妻Pr| 欧美加勒比| 天堂av2019| 亚洲 小说 欧美 激情 另类| 午夜精品五区| 久久久av爱| 色屁屁影院www国产| 九九热超碰97亚洲最新香蕉| 欧美爱三级日韩久久| 欧美色图 人妻| 日本色色色色色视频| 任我爽在线视频免费观看| 亚洲精品日韩国产欧美| 99久久99九九99九九九| 狠狠欧美| 日韩极品无码B| 91久久国产综合精品| 欧美三级中文字幕hd| 久久久女人| 麻豆AV一区二区| 亚洲国产婷婷在线播放| 一本色道久久综合狠狠操| 男人的天堂亚洲| 免费av高清无码| 人妻熟女一区二区| 天天干天天做| 日韩免费高清大片在线| 日本免费一区二区不卡 | 国产精品久久久久久久久久久久久久吹| 青青草日本无码| 亚洲国产婷婷在线播放| 日本亚洲嫩草影院啪啪| 欧色综合| 日本色色色| 日韩精品在线放| 蜜臀一二三区| 毛片视频白嫩| 91 亚洲 欧美 日韩 国产 综合| 密臀在线一区尤物| 麻豆一区二区三区精品| 激情综合亚洲| 亚洲自拍一区夜夜操| 91热爆在线| 人人操我人人干| 78精品| 日本新免费二区三区| 尹人大香蕉视频在线| 欧美精品成人在线播放| 久久春色| 国产精品一二三| 91夜色chaopeng| 久热99| 国产精品宅男免费| 尤物视频视频官网| 欧成人在线| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 国产精品人妻一区二区| 久99在线免费观看视频| 日韩操呦呦影院在线观看| 中文字幕 码 自拍 视频 区| 国产操逼逼网| 日本爽爽爽爽爽爽免费视频| 精品十八在线观看| 亚州色图片在线色| 欧美内射少妇| 丝袜AV一二三区| 日本欧美国内在线| 乱伦av国产| 涩综合导航| 综合久久少妇中文字幕| 欲色综合| 久久超碰天天| 久久九操在线观看| 精品国产72| 日本免费一区二| 特污免视频| 久久97| 激情丁香婷婷| 三级片网站在线播放| 99久久e免费热视| 日本十八禁免费看污网站| 欧美一区二区男人天堂| 91亚洲欧美激情| 91操熟女视频 | 亚洲国产综合视频| 国产精品不卡少妇白| 久久久女人| 精品无人区麻豆乱码1区2区图片 | 亚卅熟女乱色| 爱媛媛久久国产福利| 800zy一区二区| 国产精选三级在线观看| 成人免费福利网站国产| 色狠狠 - 百度| 久久25| 日本久久久久久久久久| 视频在线中文字幕| 久久r精品| 国产久久日韩网站导航| 久久亚洲影院一区二区| 欧美激情综合| 一区二区三区黄色片a| 日本高清视频xxxx| 日欧操屄| 国产三级在线现体验区| 免费av高清无码| 收看日本人日bb| 天天操天天干一区二区| 日韩精品人妻一| 把腿张开老子CAO烂你|