亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

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 丟失這類(lèi)玄學(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ò)不少翻車(chē)案例都是直接把 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或者周?chē)须姍C(jī)、繼電器這類(lèi)干擾源我會(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 供電的這部分不難難的是如果周?chē)€有其他 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 又做了一次左移。這類(lèi)地址換算錯(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) 類(lèi)似的等待代碼。原因最常見(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)銷(xiāo)大而且測(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 了再抬高二顆初始化并改地址依次類(lèi)推。// 多設(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
返回資訊列表
aa片毛片| 激情露脸爱| 国产又粗又长又大的视频| 依人大香蕉| 高清国产无码av| 激情抓乳插进去啪啪啪日韩 | 最新日本中文字幕| 999久久芭蕾| 97网址www| 九色精品视频导航1| 91美女视频| 18禁久极品美女久久哦哟呀!| 另类天堂| 亚洲AV无码国产成人| 日本三级A片网站com| 97久久综合网| 无卡一区=区| 美日韩在线不卡人妻| 欧插网站| 九热大香蕉| 麻豆60秒| 女一区二区| 91 手机在线播放 绯色| 色婷婷影视| 污污汅18禁网站在线永久免费观看| 天天操夜夜操| 亚洲色图亚洲| 9999久久久| 久久日韩肥臀| 亚洲五区熟女| 日本最新免费韩国1区2区视频播放| 日本 成 人 小说 电影 一区二区| 亚洲AV无码乱码在线观看性色| 丰满美女一级毛片在线播放| 欧美黄色大片在线观看| 三级激情网站| 自拍大香蕉乱插| 国产91乱伦| 在线强奷到舒服的无码视频 | 91久久久视| 久久综合女优| 久久99久久99精品天美传媒棢·纸:. | 一起草日韩| 懂色av色欲av蜜臀av| 黄色片A级一区二区三区| 五十路熟女人妻一区二区在线观看 | 99爱精品| 国产Aα| 精品网站9999| 嗯嗯啊啊操死我| 欧美 传媒 麻豆 日韩 偷拍| 国产精品久久久久久久久久久久久久久久 | 毛片电影一区二区三区| 丝袜加勒比| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 天天色怡春院| 亚洲欧美骚| 亚洲国产综合视频| 国产午夜无码片在线观看影视| 人人摸人人干人人拍97| 91在线视频免费中出| 二级久久网| 亚州性色| 六月色婷婷| 秋霞鲁丝午夜无码一区二区三| 91蜜桃传媒精品久久久一区二区| 欧美性爱第一页久久| 综合色99| 骚鸭AV| 加勒比在线视频一区二区三区 | 爱妃国产亚洲视频中文字幕| 日韩免费av片高清无码| 色男人色天堂东京热| 成人九九| 人人操人人大香蕉| 欧美一区二区三区黄色影视| 搡老女人911熟妇老熟女| 国产剧情AV不卡在线观看| 亚洲熟妇丝袜在线观看| 小说区 图片区色 综合区| 久久五月天婷婷| 蜜桃精品一区二区三区久在线| 97香蕉网| 一区二区视频你懂的| 精品高潮| 欧美少妇色综合| 不卡av在线中文字幕| AV天堂电影网| 亚洲乱色熟女一区| 999在线电影香蕉| 啊v在线观看视频| 日本在线不卡v二区| 亚洲熟女乱综合一区二区三区| 国产精品96久久久久久| 精品久久久久成人码免| 2021久久国产综合精品青草| 在线天堂999| 久久人| 色诱中文字幕| 亚洲欧美国产成人综合不卡| 亚洲美女精品九九视频| 日本人体九九九九九九| 911av网站免费观看| 国产成人超碰在线| 成人熟女区| 色妇综合网| 久久国产乱子伦精品免费女,网站| 丁香九月激情啪| 中文字幕第2页| 刺激性视频黄页| 综合国产影视三级| 欧美 亚洲| 男人的天堂成人的社区| 久草大| a片在线播放| 超碰在97| 精品9区| 中文字幕二区日韩天堂| 色爱综合网| 久久久久久久强迫| 欲香欲色| 一区二区不卡视| 97超碰中文字幕| 97久精品| 天天弄欧美| 六月婷婷激情| 久悠悠av| 少妇精品| 神马九九九| 校园春色亚洲无码| 欧美熟女妇同| 亚州综合AⅤ| 啊嗯好大视频在线观看| 熟妇视频一区二区三区在线观看| 激情小说五月天| 国产网红精品| 欧美精品1区2区3区| 亚洲、日韩、综合、另类| 国产激情av女片自拍| 欧美日韩狠狠爱| 最近2018中文字幕在线高清第一页| 国产吹潮女在线观看| 日本熟妇精品九九| 蜜臀网址在线| 色臀AV| 少妇久久久久| 精品九九国产无码| 久久欧美性爱视频| 欧美性天天影视| 澳门成人网站久国产日韩| 偷拍伦理视频| 日本黄色天堂| 欧美天天综合在线| 黄色电影在线播放综合网站| 国产黄色av大片网站| 激情五月天色色网| 91精品人妻一区二区三区蜜桃臀| 久久九操在线观看| 九九九精品美女| 欧美人与动性人交a| 日韩精品国产一区二区| 色久综合| 久久久久96| 黄片www视频免费| 国产高清无码一区三区二区| 免费一级视频特黄色大片| 盗摄 精品 另类 一区| 免费伦费视频在线观看| 国产一区二区三区中文字幕| 国产欧美黑人丰满在线| 中日韩免费看男女操逼大全| 在线国产探花| 97热视频在线观看| 久久六六| 亚洲人妻久久久| 色欧洲97| 精品欧美А∨无码黑人大荫蒂| 91丝袜在线视频| 67914在线兔费成人视频| 少妇一区二区三区精选| 人人爽夜夜操| 亚欧高清| 西西美女视频网| 人妻夜夜爽天天爽三区麻豆AV网站| 亚洲四虎熟女精品| 久久久久久无码人妻中文字幕| 亚洲国产成人精品久久久国产成人一区二区| 青椒国产97在线熟女| www.高清无码诱惑一区.com| 一级性爱视频免费观看| 区一二区日韩亚洲乱码av电影| 97国产超碰| 色婷婷影院| 一本色道久久综合精品婷婷| 五月丁香在线| 中国熟女老妇仑乱一区二区三区| 中文字幕91综合| 熟女精品日韩一区二区三区| 涩五月婷婷| 久久伊人影院| 国产精品久久久视频| 天天看夜夜看日日干| 国产suv精品一区二区四| 测评在线观看AV| 亚洲s在线观看| 牛牛操视频逼| 啊啊啊轻点在线观看| 国产这里只有精品| 天天射天天操天天干天天吃2018 | 一区二区不卡视| 九九综合久久中文字幕| 大香蕉宅男伊人| 国产精品久久久久久久毛片1| 亚洲91射| 麻豆精品.欧美精品.日韩精品.| 色色国产| 久久老子无码午夜伦不卡| 91天美免费| 99re3这里只有精品| 午夜无码精品免费看性色| 无码二级三级| 日本丝袜美腿人妻九九| 91在线视频观看国产| 色欲久久99精品久久| 麻豆视频test| 在线看免费无码AV天堂的| 五月天久久人妻| 天美传媒av 在线| 精品中文字幕一区二区l - 百度| 伦理第一页| 日韩图区| 成人日本精品九区| 伊人综合色网| 黄色AV影视| 日本高清_区二区三区| 欧美在线啊啊| 97国产|免费| 欧美在线55555| 天天操av懂色| 91天天日| 东北夫妻性偷拍| 香蕉综合网| 五月丁香婷婷综合网| 丝袜综合| 国产av高清版| 国产精品午夜福利视频| 97人人夜夜精品视频| 色欧美综合| 欧美黑人与女人91| 蜜桃臀av一区二区| 狠狠爱大香蕉| 国产精品久久久| 搡老女人老91妇女老熟女| 综合色欧美| 日韩欧美传媒一区国产| 激情天天视频| 亚洲九月丁香| 婷婷五月天综合网| 96AV久久久| 麻豆精品A片免费观看| 久久久久ab| 亚洲熟女一区| 亚洲天堂另类| 亚洲高清欧美总合| 黄页av| 国产精品爆乳懂色蜜乳| 九月丁香综合网| 亚洲激情网| 欧美黑人与女人91~| 亚洲日韩少妇一道本视频| 色噜噜狠狠色综无码久久| 超碰久超碰久| 园内精品自拍视频在线播放| 婷婷在线播放| 欧美在线第五页| 亚洲激情视频| 久久亚洲精品成人av| 天天日天天插| 偷拍综合亚洲| 亚洲小电影免费涩涩成人在线高清| 国产区91柔拿会所技师| 99自拍B亚洲 | 操曰本熟女| 欧美亚州综合网图片| 三男一女不戴套的A片| 青青草天天亲夜夜操网| 久久同城AV| 国产精品一区二区久久精品| 免费精品99| 97久久久网站| 人人操人人狠狠操| 99精品综合久久久久五月天| 牛牛aV| 久久夜精品一区二区三区| 国产婷婷综合在线观看| yirendaxiangjiashipin| 精品天堂| 男人夜色天堂ss| 97在线视频免费看| 国产欧美日韩在线观看麻豆传媒公司| 精品一区二区三区蜜桃| 狠狠操狠狠爱| 久久国产在线一区二区| 一区二区不卡| 久久草在线综合视频| 欧美色图片色哟哟| 日本熟妇一区二区三区| 少妇被c 黄 免费观看| 91精品国产综合久久久蜜臀| 日韩性爱一级片| 综合亚洲情色| 被体育老师抱着c到高潮| 大但人体久久久久| 91欧美| 级做a爱无码性色永久免费| 又摸又舔在线观看网站| 少妇高潮对白在线观看| 国产女人视频三四五区| 白丝少妇一区二区| 人妻久久久久久| 东京热亚洲一区二区| 久久78| 伊人 俄罗斯 a v| 五月丁香综合| 97人人操人人摸人人爱| 日本欧美中文字幕| 少妇精品久久久八区九区| 发朗少妇买婬全视频中文| 国产亚洲深夜激情| 91亚洲色图| 亚洲熟久久| 不卡超碰护士AV在线免费播放| 凹凸视频在线观看伊人| 中国一级特黄大片护士| 伊人热综合| 亚洲日韩精品一区二区| 后入国产| 欧美综合自拍| 黄色成人网久久久久久| 91精品人妻| 国产一二三福利视频网| 中出欧美| 成人小说另类在线| 国产超碰AV在线精品| 青青操网| 人人操,操人人| 亚洲中文日韩精品| 激情五月丁香五月| 日韩亚洲美州欧洲综三区一品在线| 26uuu国产成人综合| 91强奸乱轮| 中字乱伦AV| 免费视频无码| 精品国产一区二区三区久久久蜜臀| 在线 制服丝袜中出 人妻| 久久婷婷国产一区二区色| 大香樵伊人网| 国产25页| 日韩三级av片| 国产一区自拍欧美日韩| 91色综合激情| 97伪v| 精品人妻少妇| 333kkkk·亚洲com久久| 大奶啊啊好爽 | 九九九九97| 99rre在线精品99re8| 家庭乱伦麻豆| 六十路日本| 国产精品高潮久久AV| 2020天天色综合| 日韩成人无码| 啊视频在线| 屌妞视频久久久久久久 | 丝袜色综合| 久久久极品| 国产精品懂色tv影视免费观看| 国产主播福利| 亚洲 欧美 日韩 国产一区二区 | 91精品国久久久久久无码| 亚洲双插| 黄色大香焦1级‘′‘| 97爱碰| 亚洲天堂男人网| 日本 欧美 国产一区| 天天综合有色网| 另类小说欧美激情校园春色| 午夜高清成人在线视频| 欧美伦乱爱| 中文字幕黄片在线| 免费看欧美美女黄色大片| 欧美少妇大量自拍视频在线观看| 亚州综| 丁香激情五月| K8久久久久| 日本高清一区二区在线| 天天热精品| 人人操,操人人| 国产熟女| 九九久久99| 人妻少妇精品一区二区三区| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 精品综合久久久久久97| 亚洲第一黄色av网站| www.AV有限公司一区| 成人97人人超碰人人| 超碰精品日韩欧美国产| 亚洲精品819| 日本一区二区三区午夜观看| 伊人991| 99精品成人免费看| 丰满人妻-区二区三区免费看| 五月婷婷激情综合| AV乱伦国产| 色制服丝袜夫妻av一区| 思思热久久成人| 日韩精品人妻中文字有码在线| h4610国产人妻| 夜夜黄| 久草精品国产蜜臀| 天天色播| 亚洲 欧美 手机在线观看| 亚洲人妻色图| 亚洲天堂美臀在线| 欧美日韩情色一区二区| 99久久精品国产高潮| 国产精品日日摸天天碰| 欧美日韩黄色片一区二区三区四区人与兽做爱| 操逼国产免费| 亚洲天堂男人天堂网| 青青三级视频| 国产精品。| 最新一二三区视频| 丁香五月激情综合| 国产乱伦性爱AV| 色操逼网| 黄色电影观看久久9| 亚洲综合九九| 天美传媒AV在线播放| 91插B网站| 精品少妇后入一区二区三区四区人妻巨乳| 亚洲有薄码区日本系列中文字幕| 少妇高潮九九九九| 男人天堂最新手机版在线青青草| 偷拍色图| 欧洲自拍第一页| 久久精品电影| 蜜桃香蕉久草精品在线| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 亚洲日韩乱码中文无码蜜桃臀网站| 天天日日本| 国产一级久久久| 性色高清在线| 91n免费处女| 98福利在线视频| 精品9999| 亚洲 在线| 午夜精品久久一区二区| 欧美精品23| 日韩乱伦影音先锋| 岛国成人av在线播放网址| 99热99色| 夜夜操夜夜爽夜夜高潮| 久久爽爽精品| 亚洲欧美国产精品久久久久久久| 久操免费视频| 一级二级三级黑人无码| 日韩性爱小视频在线观看| 色婷婷在线视频| 久久国色天香香蕉| 美女上床网站| 美女视频尤物网在线看| 99精品久久久久久久婷婷蜜桃| 色99视频| 欧美在线综合| 人人搞人人插人人操| 综合久久六月久久婷婷| 小少妇| 国产99999久久精品| 亚洲小说视频| 国产后入式在线观看| 做爱福利视频一区二区| 亚洲色婷婷综合久久一区二区三区| 91精品人妻一区二区三区蜜桃| 成 人片 黄色大片| 99RE在线视频精品,这里只有精品| 亚洲午夜福利在线影院| 日韩午夜国产| 中文视频在线观看| 亚洲操逼网| 国产精品久久久久久9999| 国内偷拍精品一区二区| 久99热| 精品一区二区2| 金莲网址| 97久久超碰日韩精品| 成人免费福利网站国产| 欧美综合777| 黄色AAAAA欧美| 97 九色| 在线观看亚洲成人精品| 10000部十八禁看电影| 91网九色蝌蚪操熟女| 欧美.亚洲.另类.丝袜.制服.诱惑| 性欧美| 小少妇| 大象AV在线| 国产白领连续中出在线观看| 欧美不卡五十路| 极品少妇99| 天天色天天干天天射| 久久国产999| 蜜乳AV色欲AVAV无码| 精品夜夜澡人妻无码AV| 日本 成 人 小说 电影 一区二区| 天天综合97| 九九热超碰97亚洲最新香蕉| 日本高清_区二区三区| 懂色影视久久| 亚洲美女精品| 亚洲国产欧美另类自拍| 亚洲天在线| 亚洲18禁| 亚洲综合激情五月久久| 无码久久国产| 日日躁夜夜躁狠狠躁超爽| 日韩乱码av| 欧美性爱视频免费一区一A | 亚洲人妻爽爽爽| 亚洲欧美日韩有码| www色色com| 久久五月视频| 性生活久久久久久久久久| 人人操肉肉| 亚洲人久久久久日| 超碰综合97在线| 精品人妻夜夜草| 天天做天天爱天天高潮| 在线一道啪| 岛国在线国产| 26uuu久久| 精品免费囯产一区二区三区| 风月影院男女十八禁| 日本啊啊啊啊啊视频| 久久婷婷五月天| a v网站在线播放| 免费无码国产精品v片在线观看| 久久久久久久97| 多毛小伙内射老太婆 | 青青草精品| 精品人妻一区二区三区-国产| 国产高潮AA片免费看| 欧美性爱1080p| 青青操综合网| 俺去俺来也在线www| 狠狠色噜噜狠狠狠狠狠色综合久久| 国产精品成人无码a v毛片| 国产婷婷综合在线观看| 国产日逼视频| 国产精品色片一区二区| 丰满的三级少妇欧美久久久| 亚洲色久| 九九英色视频| 亚洲青青草| 岛国天天午夜影院传媒网| 外国免费性情大片| 久久精品无码专区| 97视频免费在线观看| 日韩免费三级黄片电影| 日韩卡一卡二卡三在线| 99爱在线视频| 日产中文字幕2020| 亚洲日本大香蕉1| 黄骗免费网站| 亚洲欧美日韩精品久久久一区二区| 十八禁啪啦拍视频无遮挡| 91亚洲黑人| 啊啊啊啊啊啊啊啊啊在线观看| 啊啊啊骚| 国产日韩区| 一本一道人妻久久一区二区三区| 精品无码不卡视频| 婷婷香蕉| 暴力av在线| 中国少妇XXXX做受| 亚洲中文字幕有码视频一区二区三区| 亚洲AV不卡在线观看尤物| 亚洲一区二区av| 人妻人人做人人澡人人爽欧美一区| 97色色婷婷| 91亚洲狠狠色| 操逼啊啊啊91| 欧美丝袜美女电影一二三四区| 青青在线视频日韩欧美| av麻豆啪啪| 亚洲av综合伊人久久| 99欧美| 麻豆天天躁天天揉揉AV| 激情视屏国产乱伦强奸| 热热色色综合| 中文字幕精品日韩中文字幕| 情色五月天久久久| A级毛片在线看免费| 美女露胸露奶头| 尤物视频视频官网| 亚洲日韩肥臀视频在线观看| 在线视频亚洲无码| 亚洲色欲一区二区三区| 日本人妻最新在线中| 97资源超碰| 99热| 91久久国外网| 久草大| 性无码专区2020| 好吊色一区| 色婷婷九月天天综合| 亚洲色天堂九9| 蜜色网色哟哟| 精品亚洲国产成人精品| 激情另类激情| 美女露胸露屁股| 久久久com| 绯色一区二区三区不卡少妇| 成人熟女区| 国产精品青草综合久久| 日语五十路和六十路亚洲国产精品| 日本不卡码黄色| 日本精品第一视频在'| 久久国产精品m码| 欧美久久人妻少妇一区二区| 91精品综合久久久久久五月丁香| 亚洲天堂在线怕怕视频| 久久久久久999| 国产美女口爆吞精视频| 一区二区不卡免费| 看黑人AV不卡| 国产精品3| 欧美精品四区| 四色永久成人网站| 亚洲高清无毛一区二区| 亚洲在线91| 92大香蕉| 日韩三级av片| 十八禁电影伊人网| 久久宗合亚洲| www.91欧美| 91av天美性媒精品视频| 黄色污污污污污污网站| 五月色网| 五月天激情婷婷| 久久久成人国产精品无码| 色婷婷九月天天综合| 亚洲国产成人精品999| 大学生美女口爆| 99re9| 国产呦精品系列在线观看| 五十路一区无码| 上特色A在线| 俄罗斯及免费在线看| 日本久久超碰| 一级婬片120分钟试看| 亚洲av青草久久一区二区| 搡老女人老91二区| 啊啊啊好想要| 久久精品毛片免费不卡| 在线性黄高清免费视频| 精品国产一区二区三区av在线资源| 女人被添高潮免费视频| 96AV精品| 免费超碰97久久| 亚洲男人天堂手机版| 五月亭亭六月丁香| ..日韩av毛片精品久久久| 多乙久久久久久| 屌逼麻豆| 久草在| 久操精品| 亚洲成人性爱在线观看| 婷婷国产精品九区| 超碰天天操| 亚洲色图欧美色图另类图片| ji熟女.com| 久久久A∨| 色阁阁AV综合网| a片在线播放| 日韩操人| 亚洲熟妇白浆无码AV| 亚洲国产精品久久AV| 久久98| 亚洲各类熟们中文字幕| 超碰性爱97| 亚洲黄色电影| 风流老熟女一区二区三区l| 久久久久国产亚洲一区欧美色图日韩 | 日韩无码AB| 久久久久亚洲熟妇熟女| 中文字幕 人妻不满 在线视频| 日本黄页视频在线观看| 国产黄色在线播放观看| www鬼畜国产男人的天堂| 欧美的精品的视频| 亚洲综合中文字幕有码| 美女91av| 九九探花视频在线观看| 99热线麻豆| hd成人一区二区在线| 嗯嗯啊啊的视频| 国产熟女乱论| 精品美女少妇一区二区| 国产精品熟女乱伦| 久久久久久久| 亭亭丁香激情| 一本色道无码DVD中文字幕| 91 丝袜在线| 先锋激情∨在线视频播放| 欧美中字二区| 日韩欧美国产高清视频| 久久精品国产97欧美精品亚洲 | 极品少妇久久久久| 超碰成人国产| 激情综合网激情综合| 亚洲自拍另类丝袜综合| 亚洲精品无码成人久久久99| 美女上床网站| 99热97| 亚洲色人| 高清不卡 中文 人妻| 99热精品在线观看| 看全色黄大色大片免费视频| 久久一本大香蕉| 91精品久久久久久综合五月天| 超碰人妻久久| 精品九九淫乱男| 激情丁香五月| 成人三级片无码| 亚洲日韩人妻中文字幕一区| 超碰在线日韩一区| 今日头条成人一区二区三区四虎精品| 麻豆啪啪啪视频| 日韩字幕一区| 亚洲九九九| 成人九九| 素人伊尹大香蕉免费下载视频| 亚洲图片欧美制度| 大鸡巴久久久| Julia在线播放亚洲久久| 很狠操| 狠狠色一区二区中文字幕| 嗯啊不要啊在线| 99久久婷婷| AV无码久久久精品| 国产精品色片一区二区| 成人性爱AV在线免费观看| 麻豆精品一区二区三区四区免费观看| 国产97综合| 精品无av| 日韩欧美传媒一区国产| 人妻丝袜二区| 大香蕉久久| 51国产午夜精品视频| 久久午夜色播影院免费高清| 国产白丝精品在线观看| 亚洲有码视频二区| 久久久新亚洲AV| 国产精品99精品视频网站| 中日韩免费看男女操逼大全| 9/A片| 97精彩视频网站| 美女AV一区二区| 九一国产精品| 蜜臀久久99精品久久久电影| 婷婷色色五月天福利| 黄色AAAAA欧美| 成人日本视频人妻在线| 婷婷五月天色色| 91久热这里只有精品| 牛牛久久国产精品视频一二三| 亚洲精品国产av天美传媒| 亚洲脚交| 久久成年片色大黄全免费网站| 精品久久久久av影院| 自偷自拍的亚洲视频| 69人妻人人揉人人躁人人精品| 美女大乳久久久久久久女人18| 日本熟妇色熟妇在线视频播放| 一区二区播放| 欧美探花网| 日日干夜夜干| 日韩中文字幕精品一二三事国产精品| 偷拍视频青青草在线视频| 亚洲制服aⅴ中文字幕| 日韩另类色图| 久久有码视频| 粉嫩不卡一区二区性爱| ss久久| 欧美97在线欧| 超碰免费人人| 日本黄色XXX| 国产av激情无码久久天堂| 六六久久日韩不卡| 96国产精品| 日本一本道A级黄色毛片试看60分钟| 天天看片天天爽| 四虎AV在线播放| 992大香蕉| 日本操大逼| 26uuu国产| 久久啊啊啊| 久操高青| 日本九九九九| 国产小u女在线观看| 福利伊人玖玖国产| 亚洲成a人在线观看久| 中文字幕一区电影在线观看| 久久久久久久伊人精品| 在线综合 亚洲 欧美中文字幕| 一级乱伦网站| 精品综合久久久久久五月天| 97免费在线观看| 久久久99免费| 国模不卡| 亚洲激情网一二三四区| 99国产精品人妻人伦| 亚洲国产综合久久天堂| 国产精品欧美激在线| 欧美 综合 亚洲| 欧美热图99| 国产精品不卡高清在线观看| 摸奶性爱视频网站在线免费播放| 人摸人人操人| 欧美精品另类人妖xxxx| 美女毛片999| 久久久久久九九九九九| 欧美成熟性爱精品| 日韩激情中文字幕有码| 五月天春色激情网| Aa东京男人的天堂| 久久这里只有精品9| 福利操逼| 亚洲不卡不卡中文字幕不卡 | 亚洲一本大道中文字幕无码在线| 亚洲夜色在线| 丝袜视频网国产90| yaouchengrenav| 九九热精品| 狠色婷婷久久一区二区三区_| 色欧美综合| 欧美自拍偷拍免费观看| 中出789在线视频| 97精品视频| 久久精品国产精品亚洲艾通辽熟妇 | 中文字幕第页| 亚洲精品97久久中文字幕| 中文字幕,人妻,日韩| 欧美九九99久久精品| 蜜屁av| 狠狠久久亚洲欧美专区| 亚洲午夜蜜臀| 精品无码一二三四区| 91殴美| 青青草九九九九九| 久久久久九九九| 台湾佬激情综合| 男人天堂2030| 国产在线不卡导航| 久热一区二区| 夜夜操av亚洲一区二区| 男啪女色黄无遮挡免费观看| 亚洲骚女一区二区三区| 超碰午夜| 亚洲色入欧美| 午夜福利视频在线一区| 99精品无码| 久久亚洲av成人无码国产| 日本大香蕉综合网红本杳社区| 久久丁香五月婷婷| 亚洲欧美999| 人人妻人人爽人人精品| 午夜男女爽爽大片免费观看| 男人的天堂欧美| 青娱乐亚洲自拍| 情色图区| 亚洲男人的天堂AV| 东北丰满熟女国产一区| 中出20p| 超碰公开久久网| 欧美激情性爱视频网站| 欧美综合自拍亚洲综合图| 婷婷色导航| 在线色导航| 1024精品在线| 免费成人在线熟妇网| AV 少妇 人妻 偷拍| 国产精品爱欲| 免费操逼91| 97超碰色中文字幕| 亚洲一区二区三区麻豆传媒| 亚洲AV无码成人精品久久| 亚洲AV成人无码一二三久久| 精品少妇高潮久久| 午夜毛片高清免费不卡| 国产精品麻豆成人AV艾秋| 日本精品无码三级网站| 一中国女人毛片水真多| 精品在线78| 我爱搞逼综合网| 色大师网站www永久网站视频| 婷婷激情四射| 狠狠操狠狠燥| 中文字幕片| 欧美 亚洲 大香| 九九九九88| 96久久科窝| 亚洲日韩AV视色| 婷婷97| 日韩 欧美 视频 在线 一区| 84YTCOM性无码| 亚洲男人天堂av| 大奶的诱惑| 天天噜| 女人天堂av在线播放| 97亚洲综合| 啊啊啊啊啊好多水| a级免费在线观看| 草草草视频在线免费看| 亚洲欧洲激情卡通另类文学四射小说网站 | 99AV| 极品国产内射| 91人精品妻入口| www.久久最新地址| 91天堂色男人的天堂| 黄片在线免费在线观看| 欧美夜夜狠| 英伦大奶子熟妇吊带| 狠狠操一区二区| 亚洲天堂资源| 又黄又硬又粗又长国产视频| 久久系列| 狠狠操夜夜| 99视频只有精品| 欧美一区二区传媒| 职场同事知名国产国产精品久久欧美日韩| 天美传媒精品一区二区三区| 精品国产乱子伦一区二区三区,精品一| 91人妻少妇| 精品亚洲国产成人av网站| 亚洲天堂99| 一区二区 日韩 欧美 国产 传媒| 豆1无夜无码| 中文字幕乱码在线观看| 成人性爱视频在线看| 蜜臀久久99精品久久久久久久久| 神马久久久久久久| 国产欧美日韩一区二区三区| 欧美综合站| 亚洲系列欧美| 日本韩国五十路六十路七十路老熟女作爱视频网站| 夂久色| 欧美一级欧美三级在线观看| WWW美腿丝袜香蕉中文| 操国产逼| 最新AVzaixian| 噜噜噜噜天天狠狠| 99久久久er直播网址| 91麻豆天美国产| 在线免费观看高清无码视频| 日本在线不卡v二区| 亚洲欧洲无码一区夜| 你懂的在线观看区国产| 久久色一区| 国产乱子伦久久精品综合一区二区三| 天天草天天干天天日| 日韩一级二级三级免费看完整版国语版| 日韩肏逼视频| 殴美,日韩国产伦精品| 欧美色图第一页| 91视频国品一二三区| 久9精品| 67194无码不卡| 日本一区二区亚洲综合| 中文字幕少妇色| 尤物网址| 男人天堂无码| 亚洲激情在线| 神马久久久久久| 天天天乱色综合全| 女人被男人桶爽视频网站| 偷拍五区| 337p大胆噜噜噜噜噜91Av| 丝袜美腿av女优在线| 久久久久久久久久久人妻| 亚欧免费| 二级毛片| 操穴国产| 伊人五月天激情| 香蕉综合网| 色综和网| 婷婷久草一区二区三区| 国产三级在线现体验区| 秋霞成人一级在线观看| 91性| 久久不卡一区二区 | 亚洲欧美精品91| 97在线观看播放视频| 久久日韩肥臀| 久久草视频污视频| 亚洲男人天堂2019| 99国产精品视频尤物| 国产极品馒头逼| 麻豆区久久久久亚| 爱欲AV| 1956日韩精品| 九月色婷婷| 大黄片做爱的大的| av影片在线观看不卡| 欧美激情一| 久久人人爽av亚洲精品天堂桃色 | 热热色91| 亚洲图片小说欧洲| 麻豆天美AV传媒第一页| 18岁禁 茉莉成人久久| 日本三级久| 青青草日韩无码| 立川理惠加勒比无码| 精品成人亚洲午夜电影| 加勒比海色香蕉婷婷| 91爱剪切久久| 上床啊啊啊| 亚洲人妻五月丁香婷婷| 校园春色亚洲色图| 亚洲综合色图欧美| 亚洲图片视频小说| 激情小说激情视频| 久九九九九九九九热| 清纯唯美激情| 欧美 亚洲精品首页| 97超碰9| 3PAV乱伦视频| 9丨亚洲一区二区在线| 为用户提供免费看黄网址在线观看| 国产偷人伦激情在线观看| 97超碰人人模人人拍人人| 丝袜人妻av一区二区| AAAA欧美日韩| 性开放中文AV高清无码免费看| 日韩人妻中文视频| 日韩精品中文字幕二区| 25国产精品免费观看| 禁止观看美女黄| 亚州色国| 欧美亚洲小说| 五月天久久婷婷亚洲 | 加勒比大香蕉视频在线| 神马久久久久眼| 91人妻久久久久久久久久久久久| 91久久国外网| 国产内射爽爽大片| 97在线视频观看网站| 99精品热| 欧洲精品人妻| 亚洲色图欧美色图另类图片| 色欲av一区二区三区蜜芽| 久热婷婷| 久久精品夜色国产亚洲AV| 一本色道人妻久久| 国产一在线观看| 少妇99成人麻豆| 久久激情视频| 国产一级操B视频| 亚洲美乱| 久久精品国产亚洲AV嘿嘿| 美腿色图| 伊人九九| 亚洲操操操| 96精品一区| 中文操嬖片。| 白 大 人妻 区 在线| av毛片aaaaa免费看| 激情五月天婷婷| 精品一区二区三区18| 欧美三级中文字幕hd| 少妇99| 国产精品久久久久亚洲av| 91高跟美女在线播放| 日韩免费福利在线观看| 日本一级黄色电影| 日韩欧美~中文字| 日本在线不卡一二区| 亚洲97网站| 五月激情视频| 九t超碰| 五月丁香六月婷| 91综合中文字幕| 操狠狠| 99久久久久久亚洲精品不卡| 观看视频图片一区二区三区| 国产无码久久高清| 久久只有精品一区二区三区| www久久国产精品| 美女干逼2| 日韩成人综合网| 探花精品 一区二区| 天天爽夜夜欢视| 福利伊人玖玖国产| 97久久久网站| 欧美日日夜夜| 国产欧美岛国精品一区| 在线播放中文字幕| 国产免费一区二区三区最新不卡| 天天看天天日天天操| av久日| 亚洲色图在线视频| 中国大陆国产高清AⅤ毛片| 日韩欧美~中文字| 伊人一区二区三区| 国产乱伦一二三区| 日本一区二区三区免费观看| 校园春色家庭伦理欧美激情| 婷婷亚洲中文字幕在线| 国产中文大片资源中文字幕 | 亚洲无码久久久久久久| 女性91网站| 久久久亚洲精品中文字幕人妻| 久久精品国产72国产精品福利| 日韩/97| 91大学精品激情戏| 久久av成人无码免费| 综合伊人激情| 啊啊啊啊啊啊好多水| 超碰综合97在线| 国产精品久久久999| av在线人气| 久久久久久亚洲精品不卡人乳| 欧美性爱伊人| 凹凸视频在线观看伊人| 国产日韩无码一区二区三区久久区| 友优传媒精品在线一区二区| 丝袜天堂网| 岛国999| 亚洲丝袜99| 国产精品天干天干综合网麻豆| 啊啊啊啊啊啊在线看| 亚 欧 美 综合| 97九色人妻| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 国产欧美日韩臀| 久久久久久久久久久久久久久性生活视频 | 亚洲欧美一区二区网址| 97亚洲精品超碰| 男人天堂资源| 国产深夜福利| 日韩成人在线性爱视频| 国产高清吃奶免费视频网站| 黄人人操人人操| 欧美一区二区三区另类精品| 最好看的中文字幕在线2018| 404操逼福利视频| 91站街按摩店老熟女熟女| 欧美日韩性感| 色婷婷婷五月天激情四射|