欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

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

STM32H7 SPI從機(jī)DMA輸出0xFF?從物理層到寄存器逐層排查

STM32H7 SPI從機(jī)DMA輸出0xFF?從物理層到寄存器逐層排查 1. 初遇問(wèn)題從機(jī)發(fā)給主機(jī)的數(shù)據(jù)全是 0xFF先說(shuō)結(jié)論SPI 從機(jī) DMA 模式下連續(xù)輸出 0xFF本質(zhì)上就是“從機(jī)根本沒(méi)把有效數(shù)據(jù)放到 MISO 線上”。這個(gè)問(wèn)題不是 STM32H7 獨(dú)有的F1、F4、G4 系列也會(huì)遇到但在 H7 上更容易踩坑原因是 H7 的 SPI 和 DMA 架構(gòu)跟老一代芯片相比做了不少改動(dòng)網(wǎng)上的老經(jīng)驗(yàn)很多不能直接套用。我調(diào)試這塊板子時(shí)用的是 STM32CubeMX 生成工程SPI 從機(jī)配置為主機(jī)讀取外部傳感器數(shù)據(jù)的應(yīng)答端。主機(jī) SPI 時(shí)鐘 4MHzCPOL Low、CPHA 1Edge數(shù)據(jù)幀 8bitMSB First。從機(jī)端開(kāi)了 DMA 發(fā)送DMA 通道配置為內(nèi)存到外設(shè)方向數(shù)據(jù)長(zhǎng)度 256 字節(jié)。結(jié)果一跑起來(lái)主機(jī)通過(guò) SPI 讀回來(lái)的數(shù)據(jù)流是FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ...一眼望過(guò)去全是 0xFF而且是穩(wěn)定、連續(xù)、一個(gè)有效字節(jié)都沒(méi)有的 0xFF。這跟我預(yù)期的“偶發(fā)錯(cuò)誤”完全不一樣——偶發(fā)錯(cuò)誤一般會(huì)夾雜幾個(gè)正確字節(jié)而全 FF 是另一種信號(hào)從機(jī)根本沒(méi)在總線上驅(qū)動(dòng)數(shù)據(jù)。為什么這么說(shuō)因?yàn)?SPI 總線在沒(méi)有設(shè)備驅(qū)動(dòng) MISO 的時(shí)候線路默認(rèn)電平取決于外部上拉/下拉電阻。多數(shù)板子的 MISO 線在空閑時(shí)是弱上拉主機(jī)讀到的就是高電平也就是 0xFF。換句話說(shuō)MISO 一直是被動(dòng)的“空”狀態(tài)而不是從機(jī)在主動(dòng)發(fā)送有效數(shù)據(jù)。這個(gè)現(xiàn)象特別迷惑人的地方在于你明明配置了 DMA明明調(diào)用了HAL_SPI_Transmit_DMA()函數(shù)返回也是HAL_OK甚至HAL_SPI_TxCpltCallback都在跑——但總線上的數(shù)據(jù)依然全是 FF。這說(shuō)明問(wèn)題不在“DMA 有沒(méi)有搬數(shù)據(jù)”而在于SPI 外設(shè)的發(fā)送通道根本沒(méi)有把數(shù)據(jù)送到 MISO 上去。這一條思路如果能在一開(kāi)始就建立起來(lái)排查方向就不會(huì)跑偏。下文按“先從物理層和配置層確認(rèn)再深入?yún)f(xié)議層和 DMA 架構(gòu)最后結(jié)合軟件棧逐層排雷”的順序把這幾天踩過(guò)的坑和解決辦法完整梳理一遍。文章涉及的代碼均在 STM32CubeIDE 1.13 以上版本 STM32CubeH7 1.11 環(huán)境中驗(yàn)證過(guò)SPI 時(shí)鐘最高測(cè)到 8MHzDMA 數(shù)據(jù)長(zhǎng)度從 16 字節(jié)到 1K 字節(jié)都能穩(wěn)定工作。2. 先搞清楚 0xFF 是誰(shuí)產(chǎn)生的物理層判斷與定位2.1 SPI 空閑電平和 MISO 的“懸空”狀態(tài)SPI 從機(jī)不驅(qū)動(dòng)總線時(shí)MISO 引腳通常處于高阻態(tài)Hi-Z。主機(jī)側(cè)如果不帶下拉電阻讀到的電平就是不確定的。實(shí)際開(kāi)發(fā)板上MISO 往往被主機(jī)內(nèi)部上拉或者板載電阻拉到了高電平于是讀到的字節(jié)就是 0xFF。這個(gè)推論可以用一個(gè)最簡(jiǎn)單的實(shí)驗(yàn)驗(yàn)證把從機(jī)程序停掉或者干脆不初始化 SPI 外設(shè)主機(jī)依然能讀回 0xFF。如果停掉從機(jī)后主機(jī)讀到的還是 FF那就證明 0xFF 并非從機(jī)主動(dòng)產(chǎn)生而是總線空閑電平被讀了出來(lái)。所以這里有一個(gè)很重要的調(diào)試習(xí)慣看到滿屏 0xFF先別急著查代碼邏輯先用“有沒(méi)有可能從機(jī)壓根沒(méi)驅(qū)動(dòng) MISO”這個(gè)角度去思考。我見(jiàn)過(guò)不少同事折騰 DMA 半天最后發(fā)現(xiàn)是 SPI 外設(shè)的 TXE 標(biāo)志位就沒(méi)置位過(guò)數(shù)據(jù)根本沒(méi)往移位寄存器里送。2.2 如何用示波器確認(rèn)從機(jī)到底有沒(méi)有動(dòng)作排查這類問(wèn)題強(qiáng)烈建議把示波器探針夾到從機(jī)的 MISO 引腳比如 Nucleo-H753ZI 板子的 PA6具體看你自己用什么引腳。觀察點(diǎn)在主機(jī)發(fā)起 SPI 傳輸時(shí)MISO 上有沒(méi)有電平翻轉(zhuǎn)動(dòng)作。判斷邏輯很簡(jiǎn)單觀察到的現(xiàn)象說(shuō)明什么問(wèn)題MISO 持續(xù)為高/低完全不翻轉(zhuǎn)SPI 外設(shè)或 DMA 完全沒(méi)有發(fā)送動(dòng)作MISO 在時(shí)鐘啟動(dòng)后有電平翻轉(zhuǎn)但數(shù)據(jù)符號(hào)不對(duì)數(shù)據(jù)是發(fā)出去了但字節(jié)內(nèi)容有誤MISO 只有 CS 拉低瞬間有電平變化SCK 來(lái)了之后沒(méi)變化從機(jī)沒(méi)有被正確選通或者 CS 檢測(cè)邏輯有問(wèn)題MISO 翻轉(zhuǎn)頻率和 SCK 完全對(duì)應(yīng)但主機(jī)讀的還是 FF波形可能是對(duì)的主機(jī)側(cè)采樣參數(shù)不匹配如果示波器顯示 MISO 完全沒(méi)有翻轉(zhuǎn)那就說(shuō)明問(wèn)題出在從機(jī)側(cè)的發(fā)送鏈路里跟主機(jī)側(cè)怎么配置沒(méi)關(guān)系。這時(shí)候可以縮小范圍把“SPI - DMA - 內(nèi)存”這條鏈路的每個(gè)環(huán)節(jié)單獨(dú)拉出來(lái)測(cè)。2.3 最簡(jiǎn)單的“寫(xiě)寄存器”測(cè)試法在深入 DMA 之前建議先做一個(gè)最粗暴的試驗(yàn)不走 DMA直接在 SPI 發(fā)送中斷或者輪詢模式下向 SPI 的發(fā)送數(shù)據(jù)寄存器寫(xiě)幾個(gè)固定字節(jié)。如果這時(shí) MISO 上能出來(lái)數(shù)據(jù)說(shuō)明 SPI 外設(shè)本身沒(méi)問(wèn)題如果還是不輸出那就是 SPI 配置的問(wèn)題。這個(gè)測(cè)試在 H7 上特別有效因?yàn)?H7 的 SPI 用了新的寄存器組和 F1/F4 系列差異很大不能盲目參考老代碼。我當(dāng)時(shí)的做法是在main()里初始化完 SPI 外設(shè)后把 DMA 相關(guān)代碼全部注釋掉直接調(diào)用一次HAL_SPI_Transmit(hspi1, testData, 8, 1000)。注意這個(gè)函數(shù)在從機(jī)模式下是“阻塞等待主機(jī)時(shí)鐘”的主機(jī)不發(fā)時(shí)鐘函數(shù)就一直卡在那里。如果你在調(diào)試器里看到程序停在函數(shù)內(nèi)部而主機(jī)那邊確實(shí)沒(méi)有發(fā)起讀操作那其實(shí)是正?,F(xiàn)象不是死機(jī)。當(dāng)主機(jī)發(fā)起一次讀時(shí)序后如果 MISO 上能讀到0x01 0x02 0x03 ...這種有規(guī)律的數(shù)據(jù)說(shuō)明 SPI 硬件鏈路是完全通的。這個(gè)時(shí)候再把 DMA 加回去如果數(shù)據(jù)又變回 FF那問(wèn)題就鎖定在 DMA 配置和 SPI-DMA 交互這一層。說(shuō)到這我想插一句網(wǎng)上很多帖子一上來(lái)就讓人查 DMA 的優(yōu)先級(jí)、FIFO 閾值、突發(fā)模式這些參數(shù)當(dāng)然重要但如果物理層都沒(méi)通調(diào)這些參數(shù)純屬浪費(fèi)時(shí)間。所以我的默認(rèn)排查順序永遠(yuǎn)是物理層 - 寄存器層 - 外設(shè)配置層 - DMA 層 - 軟件棧層逐層縮小范圍。3. SPI 從機(jī)配置的隱形雷區(qū)參數(shù)匹配與 NSS 管理3.1 CPOL/CPHA 主從不匹配數(shù)據(jù)移出但主機(jī)讀錯(cuò)如果物理層已經(jīng)確認(rèn) MISO 有翻轉(zhuǎn)但主機(jī)的邏輯分析儀讀到的還是 FF那首先要懷疑的就是 CPOL/CPHA 主從不匹配。SPI 有四種模式組合主機(jī)和從機(jī)必須完全一致否則數(shù)據(jù)移位時(shí)機(jī)對(duì)不上從機(jī)發(fā)出去的數(shù)據(jù)主機(jī)根本采不到。H7 的 SPI 初始化結(jié)構(gòu)體中有SPI_InitTypeDef關(guān)鍵參數(shù)是hspi1.Init.CLKPolarity SPI_POLARITY_LOW; // CPOL 0 hspi1.Init.CLKPhase SPI_PHASE_1EDGE; // CPHA 0我這次用到的組合是 CPOL Low、CPHA 1Edge。如果你的主機(jī)是別的模式從機(jī)必須完全對(duì)應(yīng)。常見(jiàn)錯(cuò)誤是把從機(jī)配置成 CPHA 2Edge導(dǎo)致主機(jī)在第一個(gè)邊沿采樣時(shí) MISO 上的數(shù)據(jù)還沒(méi)穩(wěn)定讀到的就是 FF。這里有一個(gè)實(shí)操技巧把 CubeMX 里的 SPI 參數(shù)配置截圖發(fā)給主機(jī)的開(kāi)發(fā)者兩個(gè)人對(duì)照著確認(rèn)。因?yàn)椤皶r(shí)鐘極性低電平”和“第一個(gè)時(shí)鐘邊沿采集數(shù)據(jù)”這種描述在不同文檔里叫法不太一樣有的叫“Mode 0”有的叫“CPOL0 CPHA0”對(duì)照確認(rèn)可以避免雞同鴨講。3.2 數(shù)據(jù)幀格式位寬、MSB/LSB 和字節(jié)順序H7 的 SPI 支持 4bit 到 32bit 的數(shù)據(jù)幀長(zhǎng)度從機(jī)和主機(jī)的DataSize必須一致。CubeMX 默認(rèn)是 8bit這塊一般不容易錯(cuò)。但有一個(gè)很容易忽略的點(diǎn)是FirstBit——如果主機(jī)是 MSB First從機(jī)配成了 LSB First那主機(jī)讀到的每一個(gè)字節(jié)都會(huì)是反序的。比如從機(jī)想發(fā) 0x01二進(jìn)制 0000 0001LSB First 發(fā)出去變成 0x801000 0000主機(jī)如果按 MSB 解析讀到的就是 0x80 而不是 0x01。另外H7 的 SPI 還支持FIFO接收/發(fā)送緩沖FIFO 閾值可以通過(guò)HAL_SPI_Init()之后的底層配置寄存器調(diào)整。在 DMA 模式下FIFO 閾值會(huì)影響 DMA 請(qǐng)求的觸發(fā)時(shí)機(jī)。默認(rèn)配置下一般沒(méi)問(wèn)題但如果你的收發(fā)數(shù)據(jù)長(zhǎng)度不是 FIFO 深度的整數(shù)倍尾部數(shù)據(jù)可能會(huì)卡住。這個(gè)后面在 DMA 章節(jié)詳細(xì)說(shuō)。3.3 硬件 NSS 與軟件 NSS選通信號(hào)沒(méi)拉低從機(jī)永遠(yuǎn)在“隱身”這是我從機(jī)場(chǎng)景里踩得最隱蔽的一個(gè)坑。Nucleo-H753ZI 的 SPI 從機(jī)如果使用硬件 NSS 模式NSS SPI_NSS_HARD_INPUT從機(jī)必須檢測(cè)到 NSS 引腳被拉低才會(huì)把 MISO 切換為輸出驅(qū)動(dòng)狀態(tài)。如果你的主機(jī)和從機(jī)之間沒(méi)有連接 NSS 引腳——比如只接了 SCK、MISO、MOSI、GND 四根線——那么從機(jī)的 NSS 引腳就懸空或保持高電平從機(jī)永遠(yuǎn)不會(huì)被選通MISO 一直處于高阻態(tài)主機(jī)讀到的自然全是 0xFF。解決辦法有兩個(gè)方案一使用硬件 NSS。確保從機(jī)的 NSS 引腳接到了主機(jī)的 CS片選引腳并且在 CubeMX 中把 NSS 配置為硬件模式。硬件 NSS 的優(yōu)點(diǎn)是片選信號(hào)完全由主機(jī)控制從機(jī)硬件自動(dòng)檢測(cè)不需要軟件干預(yù)。缺點(diǎn)是需要多接一根線而且 SPI 外設(shè)的 NSS 引腳一般是固定映射的在 H753ZI 上是 PA4不能隨便換。方案二使用軟件 NSS。把 SPI 的 NSS 配置為軟件模式SPI_NSS_SOFT然后在發(fā)送數(shù)據(jù)前手動(dòng)拉低 NSS 引腳。不過(guò)這里有個(gè)容易誤解的地方軟件 NSS 模式下很多教程讓你直接操作 GPIO 拉低 NSS 引腳電平但從機(jī)側(cè)真正起作用的是 SPI 外設(shè)內(nèi)部的一個(gè)SSIInternal Slave Select位而不是 GPIO 的外部電平。在 STM32H7 上軟件 NSS 的從機(jī)配置通常是這樣hspi1.Init.NSS SPI_NSS_SOFT; // ... 初始化 ... // 發(fā)送前使能內(nèi)部從機(jī)選擇 SET_BIT(hspi1.Instance-CFG1, SPI_CFG1_SSI);我實(shí)測(cè)過(guò)這個(gè)SSI位如果不置 1就算你把外部 GPIO 拉低SPI 從機(jī)照樣不會(huì)響應(yīng)。這也是很多人明明接對(duì)了線從機(jī)卻毫無(wú)反應(yīng)的原因之一。CubeMX 生成代碼默認(rèn)不會(huì)幫你設(shè)置這個(gè)位需要手動(dòng)加一行。注意軟件 NSS 模式下SSI位的置位時(shí)機(jī)要在使能 SPI 之前還是之后H7 參考手冊(cè)里沒(méi)有特別強(qiáng)調(diào)。我反復(fù)試過(guò)在__HAL_SPI_ENABLE(hspi1)之后設(shè)置同樣有效而且如果發(fā)送過(guò)程中 NSS 被拉高再拉低SSI位不會(huì)自動(dòng)清掉所以不用擔(dān)心下次傳輸前要重新置位。3.4 從機(jī)模式下的通信時(shí)鐘缺失問(wèn)題還有一個(gè)從機(jī)模式特有的現(xiàn)象值得單獨(dú)提出來(lái)從機(jī)發(fā)送數(shù)據(jù)是完全依賴主機(jī)時(shí)鐘的。也就是說(shuō)即便你把從機(jī)的 DMA 配置得再完美如果主機(jī)不發(fā)起 SPI 時(shí)鐘從機(jī)的發(fā)送數(shù)據(jù)就永遠(yuǎn)不會(huì)從移位寄存器里移出去。這一點(diǎn)在調(diào)試時(shí)容易產(chǎn)生誤判你從代碼層面看HAL_SPI_Transmit_DMA()返回了HAL_OK以為數(shù)據(jù)已經(jīng)開(kāi)始發(fā)了實(shí)際上 DMA 只是把數(shù)據(jù)從內(nèi)存搬到了 SPI 外設(shè)的 TX 緩沖區(qū)真正的移位發(fā)送要等主機(jī)時(shí)鐘來(lái)了才會(huì)發(fā)生。如果你在從機(jī)代碼里打斷點(diǎn)查看 DMA 計(jì)數(shù)寄存器可能會(huì)發(fā)現(xiàn)計(jì)數(shù)從 256 變到了 0但這只代表數(shù)據(jù)進(jìn)了外設(shè)緩沖不代表已經(jīng)發(fā)出去了。所以排查時(shí)一定要確認(rèn)主機(jī)那邊確實(shí)在發(fā)起傳輸。我這次就是因?yàn)橹鳈C(jī)程序里讀操作被一個(gè)延時(shí)卡住了導(dǎo)致主機(jī)根本沒(méi)發(fā)時(shí)鐘從機(jī)也就一直在“等待”狀態(tài)看起來(lái)像是從機(jī)壞了。把主機(jī)那邊的邏輯理順之后數(shù)據(jù)馬上正常了。4. H7 的 SPI 與 DMA 交互被低估的架構(gòu)變化4.1 STM32H7 的 DMAMUX請(qǐng)求映射不再是固定綁定這是 H7 系列和老一代 STM32 在 DMA 方面最大的區(qū)別。F1/F4 的 DMA 請(qǐng)求是固定的比如 SPI1_TX 永遠(yuǎn)連在 DMA1 的某個(gè)通道上你照著參考手冊(cè)配置就行。而 H7 引入了 DMAMUXDMA 請(qǐng)求多路復(fù)用器外設(shè)的 DMA 請(qǐng)求可以映射到任意一個(gè) DMA 流stream上通過(guò) DMAMUX 寄存器來(lái)指定。CubeMX 生成代碼時(shí)這個(gè)映射關(guān)系是自動(dòng)配置的但如果你手動(dòng)移植老代碼就很容易漏掉這一步。錯(cuò)誤的表現(xiàn)就是 DMA 配置函數(shù)返回HAL_OK但 DMA 從不會(huì)真正被觸發(fā)——因?yàn)?DMA 不知道自己該監(jiān)聽(tīng)哪個(gè)外設(shè)的請(qǐng)求信號(hào)。用 CubeMX 配置時(shí)注意看 DMA Settings 標(biāo)簽頁(yè)里 Request 這一列比如DMA1_Stream0, SPI1_TX, MemoryToPeripheral, High Priority這里的SPI1_TX就是 DMAMUX 的請(qǐng)求源。如果你看到 Request 顯示的是0或者空白那多半是手動(dòng)修改代碼時(shí)把 DMAMUX 配置弄丟了。正確的做法是重新通過(guò) CubeMX 生成初始化代碼或者手動(dòng)補(bǔ)上__HAL_LINKDMA(hspi1, hdmatx, hdma_spi1_tx); hdma_spi1_tx.Init.Request DMA_REQUEST_SPI1_TX;這句hdma_spi1_tx.Init.Request DMA_REQUEST_SPI1_TX;在 H7 上是必須的沒(méi)有它 DMA 就不會(huì)響應(yīng) SPI 的請(qǐng)求。而如果你看 F4 的代碼這個(gè)字段很可能不存在或者不需要指定。這個(gè)差異是移植老代碼時(shí)最大的坑。4.2 從機(jī)模式下 DMA 傳輸?shù)谋举|(zhì)數(shù)據(jù)先填充、時(shí)鐘再移出理解了 DMAMUX 之后再來(lái)看從機(jī) DMA 的完整數(shù)據(jù)流調(diào)用HAL_SPI_Transmit_DMA()后HAL 庫(kù)使能 SPI 的 TX DMA 請(qǐng)求SPI 外設(shè)的 TXFIFO 空時(shí)向 DMAMUX 發(fā)出 DMA 請(qǐng)求DMA 響應(yīng)請(qǐng)求從內(nèi)存讀取一個(gè)字節(jié)/半字/字寫(xiě)入 SPI 的 TXDR 數(shù)據(jù)寄存器TXDR 的數(shù)據(jù)進(jìn)入移位寄存器主機(jī)產(chǎn)生 SCK 時(shí)鐘移位寄存器按位移出到 MISO 引腳TXFIFO 空時(shí)再次觸發(fā) DMA 請(qǐng)求循環(huán)往復(fù)注意第 2 步和第 5 步是異步的。從機(jī)側(cè) DMA 填充數(shù)據(jù)的速度可以比主機(jī)時(shí)鐘快只要 TXFIFO 里有數(shù)據(jù)SCK 來(lái)了就能移出去如果 TXFIFO 為空SCK 來(lái)了移出去的就是 0x00 或者 0xFF取決于移位寄存器里殘留的數(shù)據(jù)。在這個(gè)流程中有一個(gè)關(guān)鍵點(diǎn)經(jīng)常被忽視SPI 從機(jī)使能 DMA 發(fā)送之前TXFIFO 必須是空的否則老的殘留數(shù)據(jù)會(huì)被先發(fā)出去。H7 的 SPI 在每次傳輸完成后TXFIFO 里可能殘留上一幀的最后幾個(gè)字節(jié)。如果你不清理就直接開(kāi)始下一次 DMA 發(fā)送開(kāi)頭幾個(gè)字節(jié)可能是殘留數(shù)據(jù)然后才是新數(shù)據(jù)。排查時(shí)可以通過(guò)讀SPI_SR的狀態(tài)位來(lái)確認(rèn)比如RXWNE、TXC這些位。更簡(jiǎn)單粗暴的方法是每次發(fā)送前調(diào)用__HAL_SPI_CLEAR_OVRFLAG(hspi1)清除溢出標(biāo)志同時(shí)確認(rèn)TXC被置位表示上次傳輸已完成。4.3 FIFO 閾值與 DMA 請(qǐng)求觸發(fā)時(shí)機(jī)H7 的 SPI 內(nèi)部有一個(gè) 16 字節(jié)或 8 字具體看數(shù)據(jù)寬度的 TXFIFO。DMA 請(qǐng)求的觸發(fā)策略與 FIFO 閾值相關(guān)。CubeMX 默認(rèn)配置下閾值為 1 字節(jié)這意味著 FIFO 空出一個(gè)字節(jié)的位置就會(huì)觸發(fā)一次 DMA 請(qǐng)求。這個(gè)配置在大多數(shù)場(chǎng)景下沒(méi)問(wèn)題。但如果你傳輸?shù)臄?shù)據(jù)寬度是 16bit 或 32bit或者打開(kāi)了 DMA 的突發(fā)模式FIFO 閾值和突發(fā)長(zhǎng)度的配合就容易出岔子。比如 DMA 配置為突發(fā) 4 次每次搬 1 字節(jié)但 FIFO 閾值卻設(shè)置為 4 字節(jié)那 DMA 請(qǐng)求就永遠(yuǎn)不會(huì)被觸發(fā)因?yàn)?FIFO 空出來(lái)的位置始終不夠 4 字節(jié)。這個(gè)問(wèn)題的典型現(xiàn)象是第一次 DMA 傳輸可能正常之后的傳輸就卡死或者數(shù)據(jù)錯(cuò)亂。因?yàn)榈谝淮蝹鬏敃r(shí) FIFO 是空的足夠觸發(fā)突發(fā)條件傳輸結(jié)束之后 FIFO 殘留了部分?jǐn)?shù)據(jù)下一次閾值判斷就不滿足了。解決辦法是把 DMA 的 FIFO 設(shè)置為 Disable或者把突發(fā)模式改為 Single。對(duì)于從機(jī)場(chǎng)景我測(cè)試下來(lái)最穩(wěn)定的配置是DMA 模式 Normal、FIFO Disable、MemDataAlignment Byte、PeriphDataAlignment Byte。這種配置雖然效率不是最高但兼容性最好出問(wèn)題的概率最小。4.4 一個(gè)完整可用的從機(jī) DMA 初始化代碼下面給出一份精簡(jiǎn)但完整的配置代碼包含了上面提到的關(guān)鍵處理。CubeMX 生成的初始化用戶代碼區(qū)可以照這個(gè)思路調(diào)整/* SPI1 從機(jī)配置 */ hspi1.Instance SPI1; hspi1.Init.Mode SPI_MODE_SLAVE; hspi1.Init.Direction SPI_DIRECTION_2LINES; hspi1.Init.DataSize SPI_DATASIZE_8BIT; hspi1.Init.CLKPolarity SPI_POLARITY_LOW; hspi1.Init.CLKPhase SPI_PHASE_1EDGE; hspi1.Init.NSS SPI_NSS_SOFT; hspi1.Init.FirstBit SPI_FIRSTBIT_MSB; hspi1.Init.TIMode SPI_TIMODE_DISABLE; hspi1.Init.CRCCalculation SPI_CRCCALCULATION_DISABLE; hspi1.Init.CRCPolynomial 7; hspi1.Init.CRCLength SPI_CRC_LENGTH_8BIT; hspi1.Init.NSSPMode SPI_NSS_PULSE_DISABLE; HAL_SPI_Init(hspi1); /* DMA 發(fā)送配置 */ hdma_spi1_tx.Instance DMA1_Stream0; hdma_spi1_tx.Init.Request DMA_REQUEST_SPI1_TX; hdma_spi1_tx.Init.Direction DMA_MEMORY_TO_PERIPH; hdma_spi1_tx.Init.PeriphInc DMA_PINC_DISABLE; hdma_spi1_tx.Init.MemInc DMA_MINC_ENABLE; hdma_spi1_tx.Init.PeriphDataAlignment DMA_PDATAALIGN_BYTE; hdma_spi1_tx.Init.MemDataAlignment DMA_MDATAALIGN_BYTE; hdma_spi1_tx.Init.Mode DMA_NORMAL; hdma_spi1_tx.Init.Priority DMA_PRIORITY_HIGH; hdma_spi1_tx.Init.FIFOMode DMA_FIFOMODE_DISABLE; HAL_DMA_Init(hdma_spi1_tx); __HAL_LINKDMA(hspi1, hdmatx, hdma_spi1_tx); /* 使能 SPI 內(nèi)部從機(jī)選擇軟件 NSS 必須 */ SET_BIT(hspi1.Instance-CFG1, SPI_CFG1_SSI); /* 啟動(dòng) NVIC 中斷 */ HAL_NVIC_SetPriority(SPI1_IRQn, 5, 0); HAL_NVIC_EnableIRQ(SPI1_IRQn); HAL_NVIC_SetPriority(DMA1_Stream0_IRQn, 5, 0); HAL_NVIC_EnableIRQ(DMA1_Stream0_IRQn);發(fā)送數(shù)據(jù)時(shí)調(diào)用HAL_SPI_Transmit_DMA(hspi1, txBuffer, bufferLen);如果使用了環(huán)形緩沖區(qū)持續(xù)發(fā)送可以選擇HAL_SPI_Transmit_DMA在傳輸完成后再次調(diào)用或者在HAL_SPI_TxCpltCallback里重新啟動(dòng)下一次傳輸。這里的注意事項(xiàng)是在回調(diào)里重新調(diào)用前一定要確認(rèn)上一次傳輸已經(jīng)完全結(jié)束否則會(huì)觸發(fā) HAL 庫(kù)的狀態(tài)機(jī)斷言。5. HAL 庫(kù)狀態(tài)機(jī)與回調(diào)機(jī)制程序“看起來(lái)在跑”其實(shí)啥也沒(méi)干5.1 HAL_SPI_Transmit_DMA 內(nèi)部到底做了什么很多人在排查 DMA 問(wèn)題時(shí)忽略了 HAL 庫(kù)本身的狀態(tài)機(jī)設(shè)計(jì)。HAL_SPI_Transmit_DMA()并不是簡(jiǎn)單地“把地址和長(zhǎng)度塞給 DMA”它內(nèi)部做了一堆狀態(tài)判斷if (hspi-State HAL_SPI_STATE_READY) { // 設(shè)置狀態(tài)為 BUSY_TX // 配置外設(shè)地址、內(nèi)存地址、數(shù)據(jù)長(zhǎng)度 // 使能 SPI 的 TX DMA 請(qǐng)求 // 使能外設(shè)中斷 } else { return HAL_BUSY; }如果 SPI 的狀態(tài)機(jī)不在HAL_SPI_STATE_READY函數(shù)會(huì)直接返回HAL_BUSY而不會(huì)啟動(dòng)任何 DMA 傳輸。常見(jiàn)的導(dǎo)致?tīng)顟B(tài)機(jī)卡住的原因包括上一次 DMA 傳輸沒(méi)有正常完成hspi-State還停在HAL_SPI_STATE_BUSY_TX某個(gè)回調(diào)返回了錯(cuò)誤代碼導(dǎo)致 HAL 庫(kù)認(rèn)為傳輸失敗SPI 發(fā)生 OVR溢出錯(cuò)誤后沒(méi)有調(diào)用HAL_SPI_ErrorCallback狀態(tài)機(jī)沒(méi)有被重置更隱蔽的情況是你調(diào)用了HAL_SPI_Transmit_DMA()返回HAL_OK但因?yàn)橹扒宄隣顟B(tài)時(shí)沒(méi)有正確復(fù)位hspi-ErrorCode導(dǎo)致后續(xù) HAL 庫(kù)內(nèi)部檢查到錯(cuò)誤標(biāo)志自動(dòng)中止了 DMA。這種問(wèn)題從外部看你只會(huì)看到“DMA 啟動(dòng)了但沒(méi)有數(shù)據(jù)”查起來(lái)特別費(fèi)勁。5.2 恢復(fù) HAL 狀態(tài)機(jī)的標(biāo)準(zhǔn)操作如果你懷疑狀態(tài)機(jī)卡住最簡(jiǎn)單的辦法是在啟動(dòng) DMA 之前手動(dòng)復(fù)位狀態(tài)hspi1.State HAL_SPI_STATE_READY; hspi1.ErrorCode HAL_SPI_ERROR_NONE;但這個(gè)方法只能作為調(diào)試時(shí)的臨時(shí)手段正式代碼里不建議頻繁手動(dòng)操作狀態(tài)機(jī)字段因?yàn)?HAL 庫(kù)內(nèi)部有可能有自己的緩存狀態(tài)手動(dòng)修改容易引起其他字段不一致。更穩(wěn)妥的辦法是調(diào)用HAL_SPI_Abort(hspi1)來(lái)中止當(dāng)前傳輸并復(fù)位狀態(tài)機(jī)。注意HAL_SPI_Abort()是阻塞式的如果 DMA 正在傳輸大塊數(shù)據(jù)它會(huì)等待 DMA 停止完成才返回。在中斷服務(wù)函數(shù)里調(diào)用要格外小心不要造成死鎖。5.3 中斷優(yōu)先級(jí)與回調(diào)執(zhí)行時(shí)機(jī)另一個(gè)容易出問(wèn)題的點(diǎn)是中斷優(yōu)先級(jí)配置。H7 的 NVIC 中斷分組默認(rèn)是 4全部用于搶占優(yōu)先級(jí)SPI 中斷和 DMA 中斷的優(yōu)先級(jí)需要合理設(shè)置。如果 DMA 中斷優(yōu)先級(jí)設(shè)置得太低而主循環(huán)里的某個(gè)高優(yōu)先級(jí)中斷頻繁打斷 DMA 傳輸就可能導(dǎo)致 DMA 的傳輸完成中斷延遲響應(yīng)進(jìn)而影響 HAL 庫(kù)狀態(tài)機(jī)的更新。從機(jī)模式下還有一點(diǎn)特殊SPI 的 RX 溢出中斷OVR和 TX 完成中斷TXC在從機(jī)模式下觸發(fā)時(shí)機(jī)和主機(jī)不同。主機(jī)是主動(dòng)控制時(shí)鐘的中斷只在特定時(shí)刻出現(xiàn)從機(jī)是被動(dòng)響應(yīng)的主機(jī)隨時(shí)可能發(fā)起時(shí)鐘所以中斷有可能在任何時(shí)刻觸發(fā)。如果中斷服務(wù)函數(shù)處理時(shí)間過(guò)長(zhǎng)或者優(yōu)先級(jí)配置不當(dāng)就可能丟失中斷事件。我的建議是從機(jī)場(chǎng)景下SPI 全局中斷優(yōu)先級(jí)不低于 DMA 中斷優(yōu)先級(jí)保證事件按順序處理。比如兩個(gè)都設(shè)為 5同優(yōu)先級(jí)下按自然懸空順序處理也可以接受。但不要把 SPI 中斷優(yōu)先級(jí)設(shè)得比 DMA 低否則 DMA 完成后 SPI 的完成標(biāo)志沒(méi)人處理HAL 庫(kù)狀態(tài)機(jī)就會(huì)一直卡在 BUSY。5.4 關(guān)于HAL_SPI_TxCpltCallback的一個(gè)容易忽略的細(xì)節(jié)很多人在這個(gè)回調(diào)里寫(xiě)了發(fā)送完成后的處理邏輯比如翻轉(zhuǎn)一個(gè) GPIO 指示燈。但注意一個(gè)細(xì)節(jié)從機(jī)模式下TXCTransfer Complete標(biāo)志是在“SPI 外設(shè)的移位寄存器發(fā)送完畢”時(shí)設(shè)置的而不是在“數(shù)據(jù)從內(nèi)存搬運(yùn)到 SPI 外設(shè)”時(shí)設(shè)置的。也就是說(shuō)即使你看到HAL_SPI_TxCpltCallback被調(diào)用了也不代表 SPI 時(shí)鐘已經(jīng)全部結(jié)束——在從機(jī)模式下主機(jī)的時(shí)鐘可能還在繼續(xù)。如果這時(shí)候你在回調(diào)里修改了發(fā)送緩沖區(qū)的內(nèi)容可能會(huì)影響下一幀數(shù)據(jù)。這個(gè)問(wèn)題在調(diào)試時(shí)有一個(gè)很典型的表現(xiàn)主機(jī)連續(xù)讀多個(gè)字節(jié)從機(jī)用 DMA 發(fā)送固定緩沖區(qū)前幾個(gè)字節(jié)是對(duì)的后面的字節(jié)全是 FF。原因就是從機(jī)在回調(diào)里提前修改了發(fā)送緩沖區(qū)導(dǎo)致后續(xù) DMA 搬運(yùn)到的數(shù)據(jù)已經(jīng)被改掉了。解決辦法如果需要更新發(fā)送內(nèi)容只在回調(diào)里設(shè)置一個(gè)標(biāo)志位然后在主循環(huán)里再更新緩沖區(qū)不要直接在回調(diào)里操作。6. 從現(xiàn)象到結(jié)論的完整排查清單與故障速查表6.1 一次完整的診斷走查流程結(jié)合我這幾天排查 H753ZI SPI 從機(jī) DMA 的經(jīng)驗(yàn)整理一個(gè)可以直接照著做的排查清單。這個(gè)清單的順序是我實(shí)踐后確定的從“看燈”到“摳寄存器”都有覆蓋每一步都有明確的結(jié)論判定不會(huì)讓你白干。第一步物理層確認(rèn)。用示波器或邏輯分析儀同時(shí)抓 SCK、CS、MISO 三個(gè)信號(hào)。觀察主機(jī)發(fā)起讀操作時(shí)從機(jī)的 CS 是否被拉低、SCK 是否持續(xù)翻轉(zhuǎn)、MISO 是否有對(duì)應(yīng)的數(shù)據(jù)輸出。如果 MISO 完全不動(dòng)直接跳轉(zhuǎn)到第三步如果 MISO 有數(shù)據(jù)但主機(jī)讀回來(lái)的不對(duì)跳轉(zhuǎn)到第二步。第二步配置參數(shù)核對(duì)。確認(rèn)主從機(jī)的 CPOL、CPHA 一致數(shù)據(jù)幀寬度一致MSB/LSB 順序一致。這兩組參數(shù)只要有一個(gè)不匹配就會(huì)導(dǎo)致數(shù)據(jù)錯(cuò)位或者全 FF??梢越⒁粋€(gè)簡(jiǎn)單的測(cè)試用例從機(jī)發(fā)送固定序列0x01 0x02 0x03 0x04...主機(jī)讀回來(lái)對(duì)比能快速定位是位序問(wèn)題還是電平時(shí)序問(wèn)題。第三步從機(jī)選通信號(hào)確認(rèn)。確認(rèn) NSS 模式是硬件還是軟件硬件模式檢查接線是否連接正確、主機(jī)是否配置了推挽輸出軟件模式檢查CFG1寄存器中的SSI位是否置位。這一步排查完后MISO 應(yīng)該有動(dòng)作了。第四步DMA 配置確認(rèn)。打開(kāi)dma.c或 CubeMX 的 DMA 設(shè)置界面確認(rèn) DMA 請(qǐng)求源選擇的是SPIx_TXH7 必須方向是MemoryToPeripheral外設(shè)地址是 SPI 的 TXDR 寄存器。如果這些都對(duì)在HAL_SPI_Transmit_DMA()調(diào)用處打斷點(diǎn)觀察hspi-State是否成功從 READY 轉(zhuǎn)為 BUSY_TX。第五步測(cè)試“阻塞模式發(fā)數(shù)據(jù)”與“DMA 模式發(fā)數(shù)據(jù)”的差異。如果阻塞模式能正常發(fā)數(shù)據(jù)、DMA 模式全是 FF那問(wèn)題就鎖定在 DMA 與 SPI 外設(shè)的交互上。這時(shí)候可以檢查 DMA 傳輸?shù)挠?jì)數(shù)寄存器LIFCR、NDTR 等確認(rèn) DMA 是否真的把數(shù)據(jù)傳輸?shù)搅?SPI 外設(shè)。第六步禁用所有無(wú)關(guān)的中斷優(yōu)先級(jí)和 FreeRTOS 調(diào)度使用最簡(jiǎn)環(huán)境測(cè)試。很多從機(jī)問(wèn)題在裸機(jī)環(huán)境下能復(fù)現(xiàn)但加上 RTOS 后行為就變了原因往往是中斷優(yōu)先級(jí)和調(diào)度時(shí)序發(fā)生了變化。用最簡(jiǎn)環(huán)境把問(wèn)題復(fù)現(xiàn)出來(lái)再逐步加入軟件組件能更準(zhǔn)確地定位。6.2 這篇文章踩過(guò)的坑問(wèn)題現(xiàn)象、原因、解決方式速查表問(wèn)題現(xiàn)象根本原因解決方式/調(diào)試要點(diǎn)MISO 完全無(wú)翻轉(zhuǎn)主機(jī)讀全 FF軟件 NSS 模式下SSI位未置位確認(rèn)SPI_CFG1_SSI為 1硬件 NSS 模式下檢查連線MISO 無(wú)翻轉(zhuǎn)但寄存器配置看似正常DMA 請(qǐng)求源未配置為SPIx_TX檢查hdma.Init.Request確認(rèn)是 DMAMUX 的正確請(qǐng)求 IDMISO 有翻轉(zhuǎn)但數(shù)據(jù)是錯(cuò)的CPOL/CPHA 主從不匹配或位序不對(duì)主從機(jī)參數(shù)逐項(xiàng)對(duì)照用0x01 0x02序列測(cè)試定位是位序還是電平時(shí)序問(wèn)題前幾個(gè)字節(jié)正確后面全是 FF發(fā)送緩沖區(qū)在HAL_SPI_TxCpltCallback里被提前修改回調(diào)中只置標(biāo)志位數(shù)據(jù)更新移到主循環(huán)主機(jī)讀到的不是 FF而是全 0x00MISO 被下拉從機(jī)未驅(qū)動(dòng)總線和全 FF 屬于同類問(wèn)題只是外部引腳電平不同DMA 第一次傳輸正常后續(xù)不穩(wěn)定FIFO 閾值與突發(fā)傳輸長(zhǎng)度不匹配關(guān)閉 DMA FIFO或把突發(fā)模式改為 SingleHAL_SPI_Transmit_DMA 返回 HAL_BUSYSPI 狀態(tài)機(jī)卡在 BUSY_TX 未恢復(fù)調(diào)用HAL_SPI_Abort()復(fù)位狀態(tài)機(jī)檢查錯(cuò)誤標(biāo)志并清除FreeRTOS 環(huán)境下程序卡死DMA 中斷優(yōu)先級(jí)設(shè)置過(guò)高導(dǎo)致調(diào)度異常合理設(shè)置 NVIC 優(yōu)先級(jí)SPI 與 DMA 中斷優(yōu)先級(jí)不差兩級(jí)以上主機(jī)發(fā)時(shí)鐘但從機(jī)沒(méi)數(shù)據(jù)從機(jī) TXFIFO 為空沒(méi)有數(shù)據(jù)可移出確認(rèn)HAL_SPI_Transmit_DMA()已經(jīng)調(diào)用檢查 DMA 計(jì)數(shù)是否變化數(shù)據(jù)里有偶發(fā)的錯(cuò)亂字節(jié)從機(jī)被非預(yù)期地重新選通或 NSS 抖動(dòng)檢查 CS 線上是否有毛刺硬件上可適當(dāng)加濾波電容6.3 從“全是 FF”到“調(diào)試工具怎么選”調(diào)試 SPI 從機(jī) DMA 這類問(wèn)題工具選擇直接決定排查速度。我這次用到的工具按優(yōu)先級(jí)排列示波器或邏輯分析儀必須要有而且?guī)挷恍枰芨?00MHz 就夠用SPI 協(xié)議分析功能有最好沒(méi)有的話用 GPIO 翻轉(zhuǎn)來(lái)輔助判斷時(shí)序也行。示波器的用法有三個(gè)關(guān)鍵點(diǎn)一是抓圖時(shí)把 SCK、CS、MISO 三個(gè)通道同時(shí)打開(kāi)這樣能整體判斷從機(jī)的響應(yīng)時(shí)序二是觸發(fā)方式設(shè)置為 CS 下降沿觸發(fā)而不是 SCK 觸發(fā)因?yàn)?CS 標(biāo)志一次傳輸?shù)拈_(kāi)始三是觀察 MISO 數(shù)據(jù)時(shí)要注意從機(jī)的數(shù)據(jù)是“在 SCK 上升沿或者下降沿采樣”的要在正確的沿上判斷數(shù)據(jù)電平。如果沒(méi)有示波器邏輯分析儀也能湊合但要注意采樣率不能太低。SPI 時(shí)鐘 4MHz 時(shí)邏輯分析儀的采樣率至少要 20MHz 以上越低越容易在邊沿處采到不確定電平造成誤判。6.4 移植中容易出問(wèn)題的 GPIO 配置最后提一個(gè)很多人會(huì)忽略的細(xì)節(jié)GPIO 模式配置。SPI 從機(jī)的 MISO 引腳必須配置為復(fù)用功能推挽輸出AF Push-Pull而不是開(kāi)漏輸出。這一點(diǎn)在 Nucleo 板上通常 CubeMX 已經(jīng)幫你配好了但如果你手動(dòng)從 F1 代碼移植過(guò)來(lái)就容易把 MISO 配成開(kāi)漏——因?yàn)?F1 的 SPI 從機(jī)在某些配置下 MISO 是開(kāi)漏輸出的H7 的 GPIO 電氣特性不一樣直接照搬就會(huì)導(dǎo)致 MISO 電平驅(qū)動(dòng)能力不足主機(jī)讀到的電平異常。另外從機(jī)的 SCK 和 NSS 引腳要配置為上拉輸入或者帶上拉的復(fù)用輸入避免引腳懸空時(shí)電平抖動(dòng)導(dǎo)致誤觸發(fā)。CS 引腳如果有長(zhǎng)線連接建議在從機(jī)端加一個(gè) 10kΩ 左右的上拉電阻確保主機(jī)未拉低時(shí) CS 保持高電平從機(jī)不會(huì)被意外選中。7. 寫(xiě)在最后SPI 從機(jī)調(diào)試永遠(yuǎn)先問(wèn)“總線上的電平是誰(shuí)產(chǎn)生的”這次排查 H753ZI 從機(jī) DMA 全 FF 問(wèn)題最大的心得可以用一句話總結(jié)調(diào)試 SPI 從機(jī)永遠(yuǎn)先問(wèn)“總線上的電平是誰(shuí)產(chǎn)生的”而不是先問(wèn)“我的代碼哪里錯(cuò)了”。0xFF 本身不是錯(cuò)誤它是總線空閑時(shí) MISO 的自然狀態(tài)真正的問(wèn)題是你期望從機(jī)去驅(qū)動(dòng)總線但總線沒(méi)有被驅(qū)動(dòng)。所以每當(dāng)你看到數(shù)據(jù)全是 0xFF先別急著查 DMA 參數(shù)和 HAL 函數(shù)按照“物理層有沒(méi)有動(dòng)作 - 從機(jī)選通有沒(méi)有生效 - SPI 參數(shù)是否匹配 - DMA 是否真的搬運(yùn)了數(shù)據(jù) - HAL 狀態(tài)機(jī)是否正?!边@個(gè)順序逐一排查大部分問(wèn)題都能在兩小時(shí)內(nèi)定位。從技術(shù)演進(jìn)的角度看H7 的 DMAMUX 架構(gòu)讓 SPI 與 DMA 的搭配更加靈活但也帶來(lái)了新的配置門檻。如果你是從 F1/F4 老工程遷移過(guò)來(lái)的建議先完全刪除 CubeMX 生成的 DMA 配置重新按 H7 的方式生成一次不要手動(dòng)改老代碼這樣能避免 DMAMUX 請(qǐng)求映射丟失這類隱蔽問(wèn)題。另外調(diào)試這類問(wèn)題的時(shí)候建議把 CubeMX 的配置文件、主機(jī)的 SPI 時(shí)序圖、從機(jī)的初始化代碼三份材料放到一起對(duì)照著看。很多時(shí)候主機(jī)和從機(jī)兩邊各自都覺(jué)得自己的配置是對(duì)的但就是參數(shù)沒(méi)有對(duì)齊把關(guān)鍵參數(shù)列成一張表逐項(xiàng)核對(duì)比一個(gè)人悶頭查快得多。最后再分享一個(gè)小技巧在HAL_SPI_Transmit_DMA()啟動(dòng)之后、數(shù)據(jù)發(fā)送完成之前的這段窗口期從SPI_SR寄存器讀一下TXNP位。如果這個(gè)位為 0說(shuō)明 SPI 外設(shè)正在等待數(shù)據(jù)被移出如果為 1說(shuō)明 TXFIFO 還有數(shù)據(jù)沒(méi)發(fā)完。配合調(diào)試器實(shí)時(shí)監(jiān)視這個(gè)寄存器能非常直觀地看到 DMA 和 SPI 外設(shè)之間的配合是否正常。有時(shí)候看到的變化趨勢(shì)比任何日志都好用。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日日鲁鲁鲁夜夜爽爽狠狠视频97 | 激情综合婷婷| 欧美综合五月丁香五月天| 在线视频区| 婷婷激情综合| 狠狠狠狠狠草| 开心五月婷婷六月丁香| 97亚洲婷婷| 99色视频| 色综合五月天| 丁香五月天激情| 色色色色色色综合| 97干婷婷五月天| 五月婷激情影院| 狠狠狠狠狠干| 天天爽免费视频| 久久久91| 黄色AAAAAAA| 色播五月婷婷| 五月丁香婷婷综合久久| 狠狠色综合图片| 久久婷丁香五月| 婷婷五月天色网久| 久热2025无码| 丁香五月综合激情久久潮喷| 婷婷伊人网| 大香蕉久久久久久久久| 亚洲精品第一国产综合亚AV | 伊人婷婷激情| 亚洲激情丁香五月天色| 异能之下短剧免费观看全集| 综合久久综合久久| 六月久久婷婷| 草草视频91| 久久久久久久8| 日本强伦片中文字幕免费看| 国产精品久久久久久久久久| 久操热线| 婷婷五月色情天| 草逼大片| 热99在线精品| 超碰人人操人人干| 午夜一区| 欧美成人在线观看| 日日操夜夜操中国无码| 久久婷婷色综合老司机| 亚洲婷婷激情综合激情999精品| 亚洲精品V天堂中文字幕| 九九久久99| 色婷操逼| 99,色| 免费看片在线观看| 久色88| 九月婷婷人人操人人舔人人爱| 激情五月综合网| 久久9视频欧美| 色九亚洲| 日本欧美成人片AAAA| 天天色视频| 色五月天堂| 激情网五月天| 特级西西4444www无码| 99久久久免费| 精品成人无码A片观看香草视频| 啪啪啪综合网| 99热精品超碰| 成人精品在线观看| www.91有码.com| 任你艹| 激情综合五月| 国产精品久久久丁香五月八戒视频| 99re这里只有精品国产99| 狠狠爱婷婷| 国产精品汇聚精彩第二页 - 高清完整版在线 - 青蛙AV | 中文字幕日产A片在线看| 色综合久| 91在线视频观看午夜福利| 丁香综合| 99热在线观看精品| 五月丁香久久| 五月天激情视频五月天| 啊V视频在线观看| 91精品婷婷国产综合久久| 这里只有精彩视频| 久久久久九九九九视屏小说88| 1769在线观看欧美国产| 91一起艹| 丁香五月婷婷无码AV| 激情五月天婷婷直播| 婷婷五月成人色综合| www.五月天婷婷.com| 五月大香蕉| 久婷婷色| 九九热这里只有精品一| 久久婷婷亚洲| 性无码专区无码| 色五月成人| 综合久久狠狠| 婷婷五月天视| 亚洲AV中文在线| 久久精彩视频| 97操碰在线视频| 六月婷婷视频| 这里只有精品免费| 婷久久| 色性日本| 三年高清大片免费观看国语| 九九热AV| 婷婷五月天久久久| 五月激香蕉网| 5月婷婷视频网站综合| 欧美成人精品一区二区| 亚洲色五月| 久久全色| 色欲五月婷婷| 国产看真人毛片爱做A片| 丁香婷婷五月综合| 久久er99| 97人碰人操| 九九九九综合| 99激情| 少妇被躁爽到高潮无码文| 国产色99| 五月丁香综合激情网| 偷拍五月丁香| 日韩美一级毛卡片| 九九热这里精品| 亚洲热视频| 少妇高潮呻吟A片免费看软件| 婷五月天六| 久久av电影| 色中色综合| 狠狠干综合| 99热99天堂| yellow视频在线观看91| 成人婷婷| 在线观看av网站| 操操操操操电影网| 丁香五月婷中字在线| 激情的五月婷婷蜜桃| 99视频只有精品| 1024人妻无码中文字幕| 丁香婷婷六月在线资源观看| 婷婷五月花.97| 丁香婷婷五月天校园春色| 国产激情综合五月久久| 69色婷婷| 婷婷激情六月综合| 91成人品| 国产这里只有精品| 婷婷六月天精品| 99精品色| 色色综合成人网| 午夜丁香综合婷婷| av网址在线| 婷婷无码五月天| 96色婷婷| 婷婷五月丁香五月| tingtingzonghewang| 专区无日本视频高清8| 丁香五月天天日| 蜜桃人妻无码AV天堂三区| 激情五月天丁香| 婷婷天天日婷婷| 天天色·欧美| 亚洲成人AV一区在线观看| 人妻啪啪啪| www。88热在线视频免费观看| 桃色伊人在线| 伊人成综合五月婷婷| 婷婷五月六月| 26uuu国自产精品| 任你艹| 另类小说五月天综合网| 日韩高清久久| 蜜臀AV在线观看| 五月丁香婷在线| 国产探花一片区| 五月婷婷草| 久久99婷婷| 男女啪啪做爰高潮无遮挡| 插少妇综合网| 日本久热| 亚洲综合色婷婷文学| 天天摸天天做天天爱天天爽| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 99热这里只有精品16| 激情五月丁香色色去久久| 超碰在线免费| 97色色在线视频| 久久女人天堂| 色婷婷啪啪综合网| 激情六月天| 26uuu国产激情视频| 日韩综合久| 九九aV| 天天五月情| 插逼综合网| 91操人| 五月丁香五月综合欧美| 五月丁香花伦理电影| 狠狠色中色| 色九网| 丁香五月天五码婷婷| 国产激情在线观看| 亞洲自怕| 少妇做爰免费视看片| 五月开心网| 青青热久精品视频在线观看| 丁香六月激情| 九九中文字幕九| 午夜色婷婷| 久色婷婷200| 丁香婷婷射| 99人人干人人| 99人人操| 色97啪啪| 久久久久久久,99精品视频| 日日色综合| 亚洲最大视频| 天天爱天天做天天| 五月天久久婷婷| 五月婷婷六月丁香综合视频在线| 国产精品成人AV在线| 99热这里只有精品国产免费| 久久性视频| 丁香97综合| 国产无遮挡又黄又爽免费网站| 欧美大香蕉视频| 婷婷五月视屏| 性日本精品| 五月丁香婷婷激情在线| 678五月丁香亚洲综合| 99热在线观看精品| www.91九色| 偷偷操九九| 色色色色欧美| 五月美女婷婷风骚| 色综合99无码| 日韩av高清| 国产在线网| 69精品人人人人人人人人人| 国精产品一区一区三区免费视频| 在线只有精品| 色五月激情网| 黄色热99| 亚洲AV无码电影| 日韩精品一区二区三区,四区,五区视频| 亚洲热视频| 这里只有精品2| 爽极品色| 五月天社区| www.夜夜| 一级片操逼视频| 疯狂做受XXXX高潮A片| 九九無妻| 欧美性猛交99久久久久99按摩| 超碰在线人妻| 九九精品大香蕉| 99久久97| 99手机在线精品视频| 亚洲色色五月天| 97干婷婷| 色色热| 五月天综合久久| 亭亭玉月丁香| 伊人婷婷福利网| 亚洲在线网站| 91九色国产在线| 激情另类综合| 国产又黄又爽又激情不遮挡视频在线观看| www.六月丁香看AV| 91超级碰在线视频| 777精品久无码人妻蜜桃| 国产真人做爰视频免费| www.99久久久久99| 99久久婷婷国产综合精品青桔| 超碰chaompinm| 午夜丁香婷婷| WWW,婷婷,COM| 在线成人网站| 五月天另类小说久久小说网| 亚洲综合婷婷五月| 天天综合天天玩夜夜玩天天玩夜夜玩| 丁香婷婷月| 97干免费视频| 婷婷五月天免费99| 9久久久久| 天天插天天插天天日| 只有久久精品免费| 婷婷六月色开| 婷婷色狠狠| 91日韩美女被插视频| 中文字幕丰满乱孑伦无码专区| 天天插天天很| 99色热视频| 色狠狠色噜噜AV天堂五区| 天天综合区| 色婷婷免费视频| 人人干天天操五月丁香| 丁香五月人妻| 久草五月丁香婷婷综合| 狠狠色五月激情| 99热在线免费| 人妻丰满精品一区二区A片| 日本久久九| 亚洲综合草草| 婷婷五月天小说网| 婷婷丁香五月综合网| 啪色综合| 五月婷婷综合潮喷| 五月丁香综合网| 日韩视频女神99| 婷婷国产日本欧美| 天天插综合网| 五月婷婷偷拍| 色日本五月天| 五月丁香亭亭激情操逼网| 91九色在线| 色情综合网| 狠狠操天天干| 婷婷色色狠狠| 五月婷婷婷| 国精产品一区二区三区| 色婷婷综合网站| 可以看的av网站| 97干婷婷| 婷婷国产成人| 丁香五月婷婷久久久| 五月丁香色色综合| 这里只有精品视频| 六月丁香激情综合网| 色色色免费视频| 亚洲亚洲人成综合网络| 激情综合网五月天天| 极品另类| 久久婷婷综合国产| 翔田千里 50岁 无码| 草榴成人影片| 天天爽,夜夜爽| 亚洲亚洲人成综合网络| 伊人综合网4| 开心五月婷婷激情| 亚洲 25P| 亚洲三级无码| www色中色综合| 天天干天天爽| 激情婷婷五月天网址| 色五月综合在线| AV在线观看网站| 九九AV在线| 操逼六区| 91精品婷婷国产综合久久| 久久精品五月| av在线免费网站| 色婷婷在线影院| 欧洲色色| 久久久五月天| 最近中文字幕2019视频1| 五月久久五月激情| 热久久思思热思思| 成人美女网| 678五月丁香亚洲综合| 天天干,夜夜爽| 99热这里只有精品268| 99ri国产| 六月婷婷之青青草| 婷婷97色| 亚洲人成色A777777在线观看| 久久99久久久| 亚洲色99| 呦呦v线| 日韩ww| 九九精品视频在线观看| www一起操| caop在线视频| 天天色天天爱天天舔| 精品人妻午夜一区二区三区四区| 激情六月婷| 久久五月天激情婷婷| 激情综合激情综合| 亚洲激情综合| 激情婷婷激情在线不卡| 欧美精产国品一二三区| 激情婷婷五月天网址| 婷婷视频在线碰| 亚洲男女激情| 精品国产va久久久久| 亚洲乱码日产精品BD| 丁香五月欧美色综合| 成人 九九九九| 性欧美日本| 七七九九色色| 99久久.www| 日本欧美在线| 久久久久人妻精选| 五月丁香久人妻中文| 五月天天丁香婷婷| 综合色图区| 色综合久久88色综合天天人守婷| 亚洲色婷婷五月天| 中国女人做爰A片| 色婷婷五月天不卡| 丁香五月天色综合| 五月丁香毛片| 超碰在线日夜| 婷婷基地爱| 婷婷激情五月综合丁香社| 99re热在线视频观看| 丁香六月综合激情| 色婷婷888| 色婷婷五月天激情综合| 成人片在线播放| 热久综合| 99精品国产在热久久| 裸体美女丁香五月天。| 人妻videos人妻高清| 五月婷婷六月丁香首页| 亚洲欧美成人在线观看| 婷婷五月成人| 操久久网| 亚洲色五月天| www.av骚货| 国产欧美日韩性爱| 久久香蕉福利| 久久婷婷综合色丁香| 99热精品在线| 噜噜在线| 深爱激情六月天| 激情五月天婷婷五月天| 3www激情| 久久草婷婷丁香网站| 婷婷六月激情| 久久婷网| www激情网站| 亚洲丁香花五月丁香花| 任你躁XXXXX麻豆精品| 日夜操B| 久久久天天啊| 五月天色不卡| 99热在线观看免费精品| 女人天堂 AV| 天天网站天天爽| 99精品久久| 久久久久久久久久91| 欧美在线ee日韩| 天天日天天舔| 欧美槡BBBB槡BBB少妇| 新97人人上人人| 欧美性爱一区| 国产成人AV在线| 天天在线XXX| 五月丁六月香| 久久丁香综合| 婷婷伊人综合中文字幕| 五月丁香激| 夜夜爽天天爽| 日本一级| 狠狠操狠狠爱| 久久精彩视频| 婷婷99狠狠躁天天久久久九九九| 婷婷欠久少妇| 色天使久久综合| 日碰日| 日本三级第一页| 国产99久| 99人人精品| 五月丁香亭亭AV女优| 91亚洲视频| 亚洲视频码| 色色综合热| 亚洲无码你懂的| 中文字幕性爱视频| 丁香五月激情婷婷视频| 激情五月综合ì香亚洲| 常久最新免费的色吊丝| 大香蕉久久婷婷精品综合| 久久久久亚洲AV成人无码电影| 欧美天堂久久| 激情九月综合| 五月激情偷拍婷婷| 99精品热| 五月婷婷影院| 中文字幕不卡网站| 婷婷九月综合| 欧美色播综合在线观看| 欧美成人网99网| 婷婷五月天AV在线| www.yw尤物| 国内精品99| 丁香玖玖视频大全| 婷婷五月成人有| 丁香五月婷婷天| 久色| 国产毛片欧美毛片久久久| 91919191919久久成人视频| 久久婷婷东京热大香樵| 啪啪色激情五月天| 欧美美美女性色视频| 97色在线观看视频| 国产熟妇乱子伦hd| 欧美婷婷日本| 丁香婷在线| 大香蕉久| 第1影院之五月婷婷| 日韩人妻无码专区| 婷婷.com| 欧美色频| 中文字幕激情综合| 激情九九这里只有精品| 天天插综合| 九九热视频精品999| 亚洲性爱电影| 伊人色综在线| 99自拍视频在线观看| 禁片二区| 嫩草综合网| 六月丁丁香| 校花娇喘呻吟校长陈若雪视频| 久久嘟嘟丁香| 玖玖福利视频资源| 丁香六月综合激情| 色五月色图| 激情五月色综合国产精品| 免费播放片大片| 91中文狠狠综合| 99精品久久久久久久婷婷| 任你躁XXXXX麻豆精品| 97色婷婷在线观看| www,天天干| 色婷五月天| www.黄色片-久久成人国产精品在线播放-999AV| 亚洲色情一区二区三区四区| 色情五月婷婷| 丁香婷婷九月| 狠狠色五月天| 91人人爽人人操| 婷婷丁香六月激情综合| 天天日天天爽| 国产日比| 91久操| 天堂爱啪啪| 婷婷色基地| 五月综合激情久久| 26uuu亚洲色| 狠狠插狠狠操| 色婷婷影视| 色情丁香五月婷婷精品| 香蕉大综综综合久久| 99热这里只有精品一区| 国产免费性爱| 精品成人无码A片观看香草视频| 丁香五月婷婷啪啪| 五月色丁香综合| 99热这里只有精品3| 婷婷激情人妻| 久久色婷婷| 丁香六月激情四射| 五月婷婷啪| 丁香五月婷婷色情综合| 成人在线网址| 色婷婷五月天天天天天| 色色色99| 色久五月| 久久久aaa| 天天檫天天爽| 亚洲视频在线观看区| 这里只有精彩视| 一级内射毛片| 欧美婷婷精品激情| A1片久久久| 日本久热| 色五月开心婷婷| 综合五月婷婷| 五月天激情网页| 中文字幕高清av| 婷婷五月综合社区| 色五月综合在线| 五月久久| 超碰女人天堂| 丁香五月天欧洲在线| 亚洲色婷婷| 激情播丁香| 四川BBB搡BBB爽爽视频| 五月激激激情综合网| www.99久久久久99| 99综合视频一体| 天天色·欧美| 婷婷五月六月丁香综合| 伊人久久大香线蕉亚洲五月天,| 五月丁香中文| 九九精品热| 欧美搡BBBBB摔BBBBB| 亚洲性色XXXXX| 婷婷五月激情五月丁香五月| 色五月婷婷影院| 五月激情偷拍婷婷| 婷婷狠狠97| 激情五月天网| 洗浴中心操B视频| 亚洲碰碰碰| 五月婷婷丁香| 天天天天天日| 狠狠草天天草| 艹天天射| 思思久久99热只有频精品66| 99精品视频免费观看| 性日本激情| 九九久久9 9在线观看| 天天日日夜夜| 狠狠色狠狠鲁| 玖玖无码中文| 九月停停| 中文字幕黄色片| www.国产色| 99热这里在线精品| 97碰碰在线观看视频| 狠狠操狠狠| 五月丁香综合激情| 婷婷色5月天在线。| 婷婷九月在线| 91嫩草国产线观看亚洲一区二区| 色综合丁香| 99综合激情久久精品久久| 色色色99| 色九九九九| 色狠狠色噜噜AV天堂五区| 欧美影院| 综合色色色色色色| 岛国av网| 九九蜜臀精品| 国产熟女大叫受不了| 日本操B视频在线观看| 99操碰| 九九色综合九九色| 五月丁香欧美综合免费视频| 婷婷五月丁香基地在线视频官网| 性爱人人网| 91五月花丁香| 久久性爱99国产| A久久| 激情综合在线观看| 色综合伊人网| 丁香色婷婷| 久久九精品| 99热这里只有精品手机在线观看| 丁香九月婷| 超级碰碰碰碰视频| 最新日韩久热免费视频看看| 强奸幻女毛片| 激情网婷婷婷| 婷婷舔| 五月丁了香蕉综合| 婷婷在线播放av| 久久久性爱视频| 2013AV天堂| 色开心五月丁香| 欧美日韩国产一二区| 91男女视频在线观看| 婷婷综合视频| 日本99视频| 色久综合| 色99在线| 国产真实乱对白精彩| www.夜夜| 久热在线中文字幕色999舞 | 色婷大香蕉| 亚洲一二三网| 色婷婷无吗| 九九热99在线视频| 人人爽欧美婷婷久久久五月丁香| 狠狠干在线| 9999热在线观看| 五月婷婷九| WWW,五月| 日木狠狠干| 婷婷色五月综合丁香| 熟女激情网| 久久五月天综合视频网站| .操區COm| 五月丁香六月婷婷手机无线| 99久久久| 亚洲精品视频电影| 丁香五月婷久久| 成人AV在线电影| 国外亚洲成AV人片在线观看| 97五月婷| 99久久精彩视频| 综合另类视频| 五月天·www·com| 99热99这里只有精品| 99这里只有精品|v| 亚洲成人网在线观看| 日本综合色色| 被强行糟蹋的女人A片| 丁香五月欧美婷婷综合| 欧美在线视频9| 婷婷五月天堂| 丁香花五月天| 婷婷五月六| 九九99精品| 少妇出轨做爰高潮A片| 色综合中文综合网| www.99久久久| 天天射天天射一道本日本社区| 夜夜干天天干| 精品乱码久久久久| 六月天丁婷婷| 丁香婷婷色情| 免费视频WWW在线观看网站| 91九九热| 人妻久久做| 深爱激情网综合| 97香蕉碰碰人妻国产欧美| 另类少妇人与禽zOZZ0性伦| 人妻Av在线| 丁香六月婷婷久久综合| 99综合免费视频| 婷婷亚洲天堂| 婷婷丁香五月在线观看91| 亚洲午夜视频| 久久婷婷五月综合伊人| 丁香五月在线| 国产综合久久久777777| 狠狠操天天操天天操| 五月丁香久久| 狠狠色综合五月人人| 五月婷婷五月天| 欧美激情综合色综合色| 久久婷婷五月| www热久久yy9| 天天插天天| www.五月.com| 99久久99视频| 婷婷激情丁香六月| 欧美成人精品A片免费一区99| 亚洲无码成人网| 开心五月综合激情综合五月| 激情五月天电影| 超热久碰.com| 色综合综合色| 丁香网站| 精a品a视a频| 久99久精品| 色婷婷五月综合色婷婷| 可以直接看的av网站| 激情五月综合| 99免费热视频在线| 亚洲另类日本| 在线免费观看激情视频| 五月永久激情| 99免费视频| 激情五月丁香婷婷夜夜操| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 激情五月丁香六月婷婷| 八戒青柠影视剧在线观看| 1024人妻| a在线观看| 人人人操| 99re视频在线播放| 一起草无码| 人人爱摸视频| www.99热在线| 色护士综合| 丁香婷婷在线| 91精选国| 操射国产日本| 人妻免费网站| 热热久久99| 色综合女人99| 99久久综合| 9久热在线精品| 最新丁香六月婷婷| 五月天激情图片网| 香蕉人在线香蕉人在线 | 超碰人人操| www.99热精品| 九九精品99| www.99热这里只有精品| 婷婷激情丁香五月婷婷激情丁香五月婷婷| 欧美日韩91| 性色欲情 网站| 综合五月婷婷| 99热日本| 欧美日韩国产成人在线| 亚洲操操操| 大香蕉伊人爱在线| 亚洲成人在线播放| 九九精品片一| 婷婷丁香激情五月天色色色| 九九亚洲视频| 偷拍91九色| 久久婷婷六月综合| 婷婷另类开心| 婷色综合| 婷婷射图| 日本的α片xxxwww| 一本色道久久综合狠狠躁一二三| 天天爱夜夜爽| 九九re精品视频在线观看| 九九色精品| 色五月开心五月激情五月| 久久综合26p| 天天插天天日| 人妻久久做| 在线免费视频caop| 狼人狠狠操| 欧美激情 日韩无码 婷婷 五月天| 97在线观视频免费观看| 色天五月天在线观看视频| 91黄址| 亚洲色无码A片一区二区麻豆| 五月激情网站| 另类图片天天影视在线观看| 国产古装妇女野外A片| 99精品小视频| 婷婷五月丁香五月| 六月五月天婷婷涩播在线| 色婷婷综合网| 六月婷婷五月丁香首页| 丁香五月激情五月| 九九热超碰| 超碰狠狠色| 中文字幕人妻在线| 久久久天堂国产精品女人| 人人操av| 亚州视频九九99| 1024婷婷综合久久五月天| 欧美人与性动交CCOO| 天天舔天天操| 综合激情五月丁香9999久久精| 欧美三级大片AA在线看| 激情五月综合婷婷| 婷婷五月天亚洲| 99色看这里只有精品| 影音先锋偷偷色男人站| 无码激情AAAAA片-区区| 丁香九月综合激情| 极骚大香蕉伊人| 久久婷婷亚洲| 99久久玖玖| 色噜噜伊人| 五月婷久久久| 99色嘟嘟精品网站| 九九在线精品| 亚洲99综合| 橾逼网| 久久婷婷五月综合色播| 九九九九毛片| 色色五月天com| 狠狠干.com| 97干在线| 婷婷综合激情| 伊人玖玖网| 国产日韩亚洲欧美在线观看| 国产日韩精品SUV| 久久激情五月| 天天爽天天爽| 色五月综合在线| 草婷婷在线| 五月婷婷开心深| 高清视频一区| 91久久综合亚洲噜噜成人在线| 99久久欧美| 亚洲乱码日产精品BD| 天天综合在线网| 婷婷五月天AV在线| 色噜噜五月天| 天天激情| www.亭亭五月天| 精品99只有。| 天天射综合网天天插| 丁香五月AV在线| 大香蕉啪啪啪| 91久久久久久久| 一级性感黄色内射视频| 人人操女人| 热热99爱爱| 热久久婷婷| 99热97美女| 日韩AV免费| 日韩欧美性爱| 色婷大香蕉| 国产人人操| 色约约视频一区二区三区四区五区| A短视频免费在线观看| 江苏少妇性BBB搡BBB爽爽爽 | 婷婷激情五月天桃花网| 九久久九精品视频| 99惹 精品在线| 26uuu成人网| 九一牛视频探花| 久久天堂色| 九九久久精品國產| 99热销国产这里有精品| 色噜噜狠狠色综合网| 色婷婷激情| 在线另类| 99热在这里只有免费精品| 婷婷丁香午夜综合影视| 热热久久久久久久久| 狠狠狠狠狠草| 一级黄色尤物综合视频手机在线观看| 久久99热在线观看| 97干在线观看视频| 五月成人网站| 国产成人精品一区二三区熟女在线| 狠狠精品干练久久久无码中文字幕| 婷婷丁香六月天| 伊人久久大香线蕉精品| 色色色色色日韩午夜激情 | 欧洲色色| 婷婷丁香五月天综合在线日韩| 亚洲一级 片内射网站在线观看| 香蕉五月婷婷| 91色逼| 国产永久一二一起草| 五月色婷婷AV| 思思热精品在线| 亚洲精品视频在线播放| 国产暴力强伦轩1区二区小说| 草草色情综合网| 九九九九九九综合| 99久久精彩视频。| 久久五月天影院| 久久艹网| 丁香 婷婷 激情 综合 五月| 五月天婷婷乱| 久热AA| 国产精品久久久久久久久久久久| 亚洲精品另类| 九九色人| 五月丁香色婷婷综合| 婷婷五月天成人网| 1024人妻| 亚洲Av成人在线观看| 五月开心婷婷中文字幕| 欧美狠狠地| 国产成人网| av五月天婷婷丁香| av在线观看免费| 五月天婷婷高清无码| 婷婷午夜精品久久久| 99精品偷自拍| 9l视频自拍九色9l视频在线观看| 热久久成人| www.狠狠| 97超碰免费超级在线观看| 日本WWW九九九| 五月婷婷免费| 婷婷啪啪| 六月婷婷最新网址| 婷婷五月AA五月在线| 婷婷五月天激情小说| 国产做爰视频免费播放| 人妻视频在线| 99青青草| 婷婷激情五月综合| 激情爱爱网站| 久久这里有精品视频| 日本久久精品| 玖玖爱综合网| 99re8这里只有精品99re8热视频| 桃色五月天| 欧美三级欧美一级| 久久综合人妻| 久草婷婷在线| sS丁香五月婷婷| 99丁香五月婷| 色播色丁香五月| 夜夜夜夜操| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 国产毛片精品一区二区色欲黄A片| 在线观看av网站| 99国产这里只有精品| 亚洲精品白浆高清久久久久久| 噜噜干日本| 久久人妻精品| 在线不卡的视频| 亚洲男人的天堂婷婷色五月| 开心深爱激情网| 丁香婷婷九月| 婷婷色五天| 六月丁香婷婷大香蕉| 九九热这里只有精品9| 日本天天操| 99热成人永久免费| 久久香蕉网| 噜噜干日本| 97影院一级片| 免费AV在线| 婷婷五月天视频亚洲| 91在线视频观看午夜福利| 色婷婷伦理| 乱岳熟女50岁| 人妻系列久久久久久久久久久| 五月丁香啪啪| www久久99| 婷香五月| 九九色精品| 综合色色色| 五月天婷婷色五月天| 欧美色婷婷| 婷婷97| 玖玖婷婷五月天| 色色日韩网| 成人丁香| 99 频99热国里只有精品| 99久热| 亚州激情在线视频| 99精品国产乱码久久久人妻| 日韩av干| 123日本不卡在线| 996日日爱| 91热手机在线| 久操福利| 九月丁香| 开心激情站| 99成人无码| 色婷婷丁香AV综合| 五月天综合色| 丁香激情网| 日本狠狠色| 亚洲开心激情网| 噢美99| 26uuu日韩| 亚洲av综合网| 狠狠操天天干| 亚洲色综合性| 九九综舍久久| 五月天色影院| 成人AV在线网站| 免费观看日韩成人av| 97色色色| 超碰久热| 五月丁香婷婷伊人| 色婷婷六月| 九九AV| 六月五月天婷婷涩播在线| 色视频五月天| 色综合色色| 99婷婷狠狠成为人免费视频| www.henhengan| 综合色色婷婷| 99原创自拍视频在线观看| www激情婷婷com| 色婷婷在线播放| 成人做爰A片免费看网站找不到了| 五月天影院| 久久东京热婷婷五月| 被男人添B超爽视频| 日日.c| 婷婷五月激情的图片| 久久加勤综合| 武则天精品久久| 亚洲色小说在线综合| 婷婷狠狠97| 538在线精品| 99爱视频在线观看这里只有精品| 草草视频91| 69久久久| 六月激情网| 终合激情网| 丁香婷婷五月天亚洲| 婷婷色基地在线看 | 少妇被躁爽到高潮无码文| 99久在线精品99re8| 婷丁香久综合| 成人AV网站在线| 亚洲中文字幕在线观看| 五月天激情图片| 狠狠va| 综合激情在线视频| 婷婷五月丁香青青草在线| 国产在线中文字幕| 亚洲色激情| 五月丁了香蕉综合| 中文字幕,综合,91| 五月婷婷丁香日韩在线| 99久热| 激情五月天婷婷五月天| 丁香桃色综合网| 99riAV国产精品视频| 九色视频九色九色91jiuseshipin| 久久综合爱| 丁香六月婷婷综合缴| 婷婷深爱五月亚洲综合| 丁香婷婷黄网站| 国产4P视频精品五区| 黄急一级视频| 激情网五月天| 最新av在线观看| 强伦轩人妻一区二区电影| 五月天婷婷色播| 99在线观看视频免费| 日本九九视频| 99caobi| 九色在线五月婷婷网址| 在线日韩视频| 久久草大香蕉| 丁香五月婷婷五月天| 啄木鸟丝袜美女福利视频| 国产欧美日韩一区二区三区| 婷婷丁香色五月亚洲| 99在线资源| 日本黄色精品| 色级婷婷| 欧美人人草草| 艹B高清无码| 天堂无码人妻精品AV一区| 99色网站| 婷婷五月天开心网| 97综合在线| 亚洲综合视频在线| 九九综合色综合| 天堂综合久久 | 麻豆五月丁香婷婷| 亚洲女婷婷五月基地综合久久久| 久月丁香爱婷婷综合| 成人色五月天婷婷| 国产韩日亚洲美州欧亚综合在线| AV在线免费播放| 97人人搞| 99操中文视频| 欧美性爱五月天| 五月丁香999| 开心五月激情网| 狠狠干婷婷| 成久综合视频| 综合在线网| 丁香久色| 无码婷婷五月天| 丁香五月冃欧美| 这里只有精彩亚洲视频推荐| 六月丁香婷婷六月激情综合| 激情性五月天免费小说视频| 国产精品热搜丁香五月婷婷| 婷婷五月情天| 激情五月综合| 97人人看| 五月天狠狠| 中文字幕按摩做爰| 成人国产欧美大片一区| 婷婷激情久久| 九九热re99re6在线精品| 亚洲成人网站在线播放| 五月丁香大相交| 天天狠天天叉| 99热精品在线| 少妇人妻丰满做爰XXX| 大香蕉在九| 狠狠色婷婷色| 欧美日韩国产一区| 第四色婷婷日本| 先锋男人99资源| 婷婷开心激情五月激情网| 亭亭玉月丁香| 777色色色| 免费看欧美成人A片无码| 五月婷婷综合天天操| 婷婷激情综合色五月久久图片| 色婷婷伊人| 青青草搞屄视频网站| 好激情在线综合网| 久草大| 五月丁香激情综合啪啪| av狠狠操| 91久久久久久久久久18| 婷婷五月精品中文| 五月婷婷基地| WWW.开心五月天.COM| 六月婷婷八月丁香| 五月天婷婷久久| 成人性生活免费观看。| 香蕉久久国产av一区二区| 婷婷丁香社区网| 99免费视频在线观看爱| 影视av久久久噜噜噜噜噜三级| 亚洲色热| 六月丁香啪| 婷婷五月综合激情| 五月婷婷精品无在线| 国产在线黄色| 一二线视频 另类| 亚洲五月激情| 五月天伊人日日噜影片AV| 天天干天天拍| 99热这里有精品| 欧美VA视频| 五月天色婷婷av| 丁香五月先锋| 成人做爰A片免费看视频| 成人av观看| 丁香五月天激情小说| 99日本黄站| 伊人喵咪a V| 青草网在线观看| 五月婷婷激情综合网| 色吧综合网| 色9月| 色久免费| 色色色com| 成人在线视频一区| 人妻久久久久久久久妻久久久久| 五月婷婷深深爱| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 91919191919久久成人视频| 久久网日本| 天天色天天爱天天爱天天爱y| 久久久久久欧美精品se一二三四| 91色干| 丁香五月综合亚洲| 99自拍视频在线| 色狠狠色综合久久久绯色AⅤ影视 大香蕉五月天婷婷丁香91 | 日日舔夜夜操| 精品无码久久久久久久久| 久久激情五月天| 丁香色五月婷婷| 人妻日日日| www。狠狠干。com| 开心五月综合激情网| 婷婷色五月天色色| 99热在线这里只有精品| 91色久| 日本一级黄色电影| 日本色色网站| 久人人操| 五月丁香人妻| 色色综合网www| 六月婷伊人| 亚洲激情久久| 九九色影院| 色99自拍| 国产AV不卡福利| 精品久久久人妻| 国产精品成人网址| 色五月激情基地| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 天天插天天插天天操| 激情丁香婷婷| www.黄色片-久久成人国产精品在线播放-999AV| 色情五月停停丁香| 色色五月天 亚洲| www.五月激情红色| 无人区码一码二码三码医生系列| 丁香五月天激情婷婷丁香六月 | 九九99久久精品| 五月色欧洲| 免费看欧美成人A片无码| 六月亚洲| 激情五月婷婷| 国熟女视频| aV直接看| 婷婷五月深深爱| 色综合99色| 夜夜夜夜夜操| 欧美亚洲成人在线| 天天操夜夜操| 五月婷婷中文字幕| 99自拍视频在线| 另类天堂| 色色色综合| 日日夜夜噜噜爽爽| 99草在线免费观看视频| 婷婷六月激情| 成人婷99最新|