色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

MicroPython下RP2040 DMA驅(qū)動UART串口:寄存器原理與實戰(zhàn)

MicroPython下RP2040 DMA驅(qū)動UART串口:寄存器原理與實戰(zhàn) 最近在樹莓派 Pico 上做一個小采集板串口數(shù)據(jù)一多MicroPython 的uart.read()就開始吃 CPU主循環(huán)明顯發(fā)卡。折騰了一天把 RP2040 的 DMA 接進(jìn) UART 鏈路之后才算真正體會到一個道理在 MicroPython 這種解釋型環(huán)境里能用外設(shè)硬件干掉的活千萬別讓 Python 循環(huán)去扛。這篇文章把我從踩坑到跑通的過程完整寫出來內(nèi)容包括 RP2040 DMA 的寄存器級原理、DREQ 觸發(fā)機(jī)制、UART 與 DMA 的握手方式、可復(fù)現(xiàn)的 MicroPython 配置代碼以及我在調(diào)試中遇到的典型問題和排查思路。涉及具體 API 的地方我會順帶提一下固件版本差異方便你用自己手上的 Pico 直接抄作業(yè)。如果你正在 MicroPython 下做串口數(shù)據(jù)采集、GPS 解析、傳感器數(shù)據(jù)流接收或者單純想讓 CPU 從逐字節(jié)搬運(yùn)中解放出來這篇內(nèi)容應(yīng)該對你有用。1. 整體設(shè)計思路拆解1.1 為什么要在 MicroPython 下折騰 DMA先說一個現(xiàn)實MicroPython 是解釋執(zhí)行的一條while循環(huán)里讀一串串口數(shù)據(jù)開銷比 C 語言大得多。RP2040 的 Cortex-M0 主頻最高也就 133MHz在沒有硬件浮點(diǎn)的情況下1200 行 Python 語句可能就跑掉好幾個毫秒。如果數(shù)據(jù)速率稍微上去比如 460800 或 921600 波特率輪詢模式基本是災(zāi)難。傳統(tǒng)做法有三種方案CPU 占用實時性實現(xiàn)難度適用場景輪詢read()極高數(shù)據(jù)密集時幾乎占滿差容易丟數(shù)據(jù)低低頻、零散串口數(shù)據(jù)中斷 緩沖區(qū)中等每字節(jié)都進(jìn)中斷較好但中斷頻繁中大多數(shù)通用串口場景DMA 自動搬運(yùn)極低搬運(yùn)由硬件完成好數(shù)據(jù)不丟中高大數(shù)據(jù)塊、高頻連續(xù)串口流DMA 的核心價值是把從外設(shè)寄存器把數(shù)據(jù)搬到內(nèi)存這件機(jī)械勞動交給硬件完成CPU 只需要在傳輸開始前配置好通道在傳輸結(jié)束后處理結(jié)果。MicroPython 下這個優(yōu)勢會被放大因為一條 Python 語句的解釋開銷本來就大把逐字節(jié)搬運(yùn)從 Python 代碼里拿掉等于直接把 CPU 釋放給了真正需要處理的業(yè)務(wù)邏輯。順帶說一句Pico 的第二個核心Core1如果跑著 MicroPython 固件本身也是共享同一塊 SRAM 的DMA 不會額外占用 CPU 對總線的訪問時間這對雙核應(yīng)用很友好。1.2 RP2040 DMA 的工作框架RP2040 的 DMA 控制器其實是掛在內(nèi)核總線上的一個獨(dú)立外設(shè)不在 Cortex-M0 處理器內(nèi)部。共有 12 個通道每個通道可以獨(dú)立配置源地址、目標(biāo)地址、傳輸長度、傳輸數(shù)據(jù)寬度、地址遞增策略以及觸發(fā)請求源DREQ。這里的關(guān)鍵是 DREQ 握手機(jī)制。UART、SPI、I2C、ADC 這些外設(shè)會主動向 DMA 控制器發(fā)出我有數(shù)據(jù)要給你或我需要數(shù)據(jù)的信號DMA 通道收到這個信號才開始搬運(yùn)一個數(shù)據(jù)單元。以 UART RX 為例當(dāng) UART 的接收 FIFO 里至少有一個數(shù)據(jù)時UART 就會持續(xù)拉高 DREQDMA 看到這個請求后完成一次讀 DR 寄存器并寫 RAM 的操作。這樣傳輸節(jié)奏完全由外設(shè)的數(shù)據(jù)流決定不會多搬也不會漏搬。在 MicroPython 下使用 DMA本質(zhì)上有兩條路線一是直接通過machine.mem32讀寫 DMA 寄存器二是使用較新固件v1.20 之后提供的rp2.DMA封裝類。無論走哪條路原理都是控制同一組寄存器所以接下來先把寄存器細(xì)節(jié)講透后面看代碼才能心里有數(shù)。2. 核心細(xì)節(jié)解析與實操要點(diǎn)2.1 DMA 通道寄存器地圖DMAC 控制器基地址是0x50000000。每個通道占0x40字節(jié)地址空間CH0 從0x50000000開始CH1 從0x50000040開始依次類推。我實際用到的寄存器主要是這幾個寄存器名相對 CHx 偏移作用READ_ADDR0x00源地址DMA 從這里讀數(shù)據(jù)WRITE_ADDR0x04目標(biāo)地址DMA 往這里寫數(shù)據(jù)TRANS_COUNT0x08待傳輸?shù)臄?shù)據(jù)單元個數(shù)遞減到 0 表示完成CTRL_TRIG0x0C控制位與觸發(fā)寫寫入即啟動傳輸CTRL0x10同 CTRL_TRIG 的控制位但不觸發(fā)啟動CTRL_TRIG 是整個 DMA 配置的核心我挑幾個最關(guān)鍵的位說明ENbit 0通道使能。DATA_SIZEbit 2 到 bit 30 表示按字節(jié)搬1 表示半字2 字節(jié)2 表示字4 字節(jié)。UART 的一次數(shù)據(jù)傳輸通常是 1 字節(jié)所以固定用 0。INCR_WRITEbit 4寫地址是否自動遞增。往 RAM 緩沖區(qū)寫時置 1往外設(shè)寄存器寫時清 0。INCR_READbit 5讀地址是否自動遞增。從 RAM 緩沖區(qū)讀時置 1從外設(shè)寄存器讀時清 0。CHAIN_TObit 15 到 bit 20傳輸結(jié)束后續(xù)接的通道可以實現(xiàn)鏈?zhǔn)絺鬏敗REQ_SELbit 21 到 bit 26選擇哪個外設(shè)的 DREQ 作為觸發(fā)源。BUSYbit 29只讀為 1 表示通道正在傳輸中。我在實際調(diào)試時最喜歡看 TRANS_COUNT因為它會從初始值遞減能直觀看到 DMA 有沒有在動。如果等了半天這個數(shù)沒變那問題多半出在觸發(fā)配置上而不是搬運(yùn)本身。2.2 DREQ 觸發(fā)源怎么選DREQ 編號不是亂來的RP2040 數(shù)據(jù)手冊里面有一張完整的表。和 UART 相關(guān)的部分如下DREQ 號含義0UART0 RX1UART0 TX2UART1 RX3UART1 TX比如我用 UART0 做接收TREQ_SEL 就填 0。使用 MicroPython 的rp2.DMA封裝時不同固件版本可能允許直接填這個數(shù)字也可能提供字符串形式的枚舉運(yùn)行時可以用help(DMA.config)查看現(xiàn)場固件的真實簽名。這里有個坑UART 的 DREQ 信號和 FIFO 深度是聯(lián)動的。UART0 RX 的 FIFO 深度是 16 字節(jié)只有當(dāng)系統(tǒng)時鐘使能了 FIFO 功能后DMA 請求才會按 FIFO 水位自動發(fā)出。如果初始化 UART 時沒有設(shè)置FENFIFO 使能位有些情況下 DREQ 行為會變得不可控。所以我的習(xí)慣是在寄存器初始化時明確把 UART 的 FIFO 打開避免后面排查半天。2.3 緩沖區(qū)管理MicroPython 最容易踩的隱形坑在 C 里用 DMA你拿著一個數(shù)組的地址直接填寄存器就行。但 MicroPython 里 Python 對象是被解釋器管理的GPIO、內(nèi)存分配、垃圾回收都可能影響緩沖區(qū)。最怕的是這樣兩個問題第一個是緩沖區(qū)被垃圾回收。MicroPython 不使用壓縮式 GC對象地址在存活期間不會移動但如果你把bytearray傳給 DMA 之后后續(xù)代碼里沒有變量再引用它GC 可能會回收這塊內(nèi)存DMA 還在后臺往里面寫輕則數(shù)據(jù)錯亂重則內(nèi)存越界導(dǎo)致 Reboot。對策是讓緩沖區(qū)對象活到 DMA 結(jié)束比如保存在全局變量或者用一個列表兜底引用。第二個是 CPU 與 DMA 并發(fā)訪問競爭。RP2040 的 Cortex-M0 沒有數(shù)據(jù) cache所以不存在緩存一致性問題但存在同一塊緩沖區(qū)DMA 正在寫入Python 循環(huán)也在讀的競爭。穩(wěn)妥做法是把 buffer 切成多塊一塊給 DMA 填另一塊給 Python 處理兩塊交替使用。后面我在不定長接收方案里會具體演示。2.4 MicroPython 下的兩種 DMA 操控姿勢如果你想快速實現(xiàn)功能優(yōu)先用rp2.DMA封裝類它會幫你處理對象到地址的轉(zhuǎn)換省去很多底層麻煩。示例大致是這樣from rp2 import DMA from machine import UART, mem32 UART0_BASE 0x40034000 UART_DR 0x40034000 # 數(shù)據(jù)寄存器 uart UART(0, 115200) rx_buf bytearray(128) dma DMA() dma.config( trigger0, # DREQ 編號0 對應(yīng) UART0_RX sourceUART_DR, # 固定讀 UART0 數(shù)據(jù)寄存器 destrx_buf, # 寫入字節(jié)數(shù)組 countlen(rx_buf), read_incrementFalse, write_incrementTrue, data_size0, # 8-bit 數(shù)據(jù)傳輸 ) dma.start()不同 MicroPython 版本的參數(shù)名可能有差異我在電腦上實測時發(fā)現(xiàn)有些版本把trigger寫成dreq有些版本count必須寫成關(guān)鍵字參數(shù)所以運(yùn)行前最好在 REPL 里執(zhí)行import rp2; help(rp2.DMA.config)看簽名。如果你要更精細(xì)地控制中斷、鏈?zhǔn)絺鬏敾蛘哒{(diào)試寄存器狀態(tài)那就直接上底層方式DMA_BASE 0x50000000 def ch_addr(ch, offset): return DMA_BASE ch * 0x40 offset # 配置 CH0 mem32[ch_addr(0, 0x00)] UART_DR # READ_ADDR mem32[ch_addr(0, 0x04)] buffer_addr # WRITE_ADDR mem32[ch_addr(0, 0x08)] 128 # TRANS_COUNT ctrl (1 0) | (0 2) | (1 4) | (1 21) # EN 8bit INCR_WRITE TREQ_SEL0 mem32[ch_addr(0, 0x0C)] ctrl # CTRL_TRIG 啟動不過底層方式會卡在如何拿到 MicroPython 字節(jié)數(shù)組的內(nèi)存地址這個問題上所以我還是更推薦優(yōu)先使用封裝類等你真正需要的時候再去看固件源碼了解它是怎么轉(zhuǎn)換的。3. 實操過程與核心環(huán)節(jié)實現(xiàn)3.1 第一步把 UART 初始化到可用狀態(tài)DMA 搬運(yùn)的目標(biāo)是外設(shè)寄存器但 UART 本身的波特率、FIFO 打開與否也得先準(zhǔn)備到位。直接用machine.UART類初始化有一個隱患這個類默認(rèn)會開接收中斷并向內(nèi)部緩沖區(qū)填充數(shù)據(jù)雖然不一定會和 DMA 打架但我更喜歡在 DMA 場景下用寄存器初始化把控制權(quán)完全握在自己手里。RP2040 的 UART0 基地址是0x40034000波特率分頻寄存器是IBRD偏移 0x24和FBRD偏移 0x28。計算公式是BRD PERCLK / (16 × baud)Pico 的默認(rèn)外設(shè)時鐘頻率是 125MHz。以 115200 波特率為例125000000 / (16 × 115200) 67.817整數(shù)部分 IBRD 67小數(shù)部分 0.817 乘 64 約等于 52所以 FBRD 52。如果用 921600125000000 / (16 × 921600) 8.477IBRD 8FBRD 30設(shè)置好分頻后再配置 LCR_H偏移 0x2C和 CR偏移 0x30。LCR_H 寫 0x60 就代表 8 位數(shù)據(jù)長度加 FIFO 使能CR 寫 0x301 是同時打開 UART、發(fā)送和接收。MicroPython 里的寄存器初始化片段from machine import mem32 UART0_BASE 0x40034000 UART0_DR 0x40034000 UART0_IBRD 0x40034024 UART0_FBRD 0x40034028 UART0_LCR_H 0x4003402C UART0_CR 0x40034030 baud 115200 ibrd 125000000 // (16 * baud) fbrd int(((125000000 / (16 * baud)) - ibrd) * 64 0.5) mem32[UART0_IBRD] ibrd mem32[UART0_FBRD] fbrd mem32[UART0_LCR_H] 0x60 # 8 位數(shù)據(jù) FIFO 使能 mem32[UART0_CR] 0x301 # UARTEN | TXE | RXE這里有個小技巧計算 FBRD 時加 0.5 再取整是避免浮點(diǎn)誤差導(dǎo)致最接近的分?jǐn)?shù)值偏差。實際使用中 115200 波特率下配置誤差遠(yuǎn)小于誤碼容限跑飛的可能性很低。3.2 第二步實現(xiàn) DMA 接收假設(shè)我要把 UART0 收到的一串固定長度數(shù)據(jù)比如 128 字節(jié)自動存進(jìn) RAM。用rp2.DMA封裝核心代碼就是配置好通道然后讓 DMA 在后臺干活。這里我用一個全局變量持住緩沖區(qū)防止 GC 回收from rp2 import DMA from machine import UART, mem32, Pin UART0_DR 0x40034000 rx_buf bytearray(128) dma None def setup_dma_rx(): global dma, rx_buf dma DMA() dma.config( trigger0, # UART0 RX sourceUART0_DR, destrx_buf, countlen(rx_buf), read_incrementFalse, write_incrementTrue, data_size0, ) dma.start()啟動之后UART 每收到一個字節(jié)DMA 就自動寫入rx_buf。當(dāng)rx_buf填滿 128 字節(jié)后TRANS_COUNT 會遞減到 0通道自動停止。如果后續(xù)還有數(shù)據(jù)需要重新配置 count 并再次start()。需要說明白的是這里說的零 CPU 干預(yù)更準(zhǔn)確的理解是數(shù)據(jù)搬運(yùn)過程零 CPU 干預(yù)啟動、處理和停止仍需要 CPU。真正的高負(fù)載場景下DMA 傳輸結(jié)束后應(yīng)該觸發(fā) IRQ讓 MicroPython 的回調(diào)函數(shù)在后臺把數(shù)據(jù)取走。如果對實時性要求不高也可以在主循環(huán)里輪詢 DMA 是否完成。輪詢版本也很簡潔while dma.active(): pass print(接收完成前 16 字節(jié):, rx_buf[:16])但我建議在正式產(chǎn)品中不要用這個忙等版本因為active()查詢語句本身也有開銷而且主循環(huán)會卡死。配合 IRQ 才是正路。3.3 第三步用 DMA 發(fā)送數(shù)據(jù)發(fā)送方向的結(jié)構(gòu)完全對稱但地址遞增方向反過來。我要把內(nèi)存里的一段數(shù)據(jù)從源地址連續(xù)遞增地讀到 UART 的 DR 寄存器源地址要遞增目標(biāo)地址是固定寄存器DREQ 選擇 UART0_TX。from rp2 import DMA from machine import UART, mem32 UART0_DR 0x40034000 tx_buf bytearray(bHello RP2040 DMA!\n) tx_dma DMA() tx_dma.config( trigger1, # UART0 TX sourcetx_buf, destUART0_DR, countlen(tx_buf), read_incrementTrue, write_incrementFalse, data_size0, ) tx_dma.start()發(fā)送完成后如果還想繼續(xù)用這個通道記得count重新賦值。RP2040 DMA 通道在 count 變?yōu)?0 后不會自動重置這是和某些 MCU 的循環(huán) DMA 模式不一樣的地方。如果數(shù)據(jù)長度變來變?nèi)ッ看伟l(fā)送前都要設(shè)置新的 count。這里還要注意UART 的發(fā)送是慢速設(shè)備而 DMA 是按 DREQ 節(jié)奏跑的所以不會出現(xiàn)DMA 一下子把 FIFO 塞爆的問題。FIFO 有空位UART 才拉高 DREQDMA 才搬一個數(shù)據(jù)過去天然形成背壓機(jī)制。3.4 不定長數(shù)據(jù)接收DMA 加空閑檢測的思路串口項目里最常見的需求其實是不定長數(shù)據(jù)幀處理。DMA 通道傻乎乎地只會搬固定長度怎么處理一幀長度可變的包我試過幾種思路最終覺得最可靠、也最省事的是DMA 持續(xù)接收 定時器判斷線路空閑。核心邏輯是這樣的DMA 配置成環(huán)形緩沖區(qū)或指定長度的大 buffer比如 512 字節(jié)。UART 每收到一個字節(jié)都會由 DMA 寫進(jìn) buffer。CPU 單獨(dú)跑一個定時器比如每 1ms 檢查一次 UART 的 FR 寄存器的 RXFE 位RX FIFO 空標(biāo)志并記錄當(dāng)前 DMA 的 TRANS_COUNT。如果連續(xù)幾個周期發(fā)現(xiàn) TRANS_COUNT 沒有變化說明線路已經(jīng)空閑這時把 DMA 已經(jīng)接收的數(shù)據(jù)一次性取出。這個方案不是零 CPU 干預(yù)的極致狀態(tài)但勝在實現(xiàn)簡單、容錯好。你也可以反過來用 UART 的空閑中斷某些 MCU 的 UART 有 RTO 或 IDLE 狀態(tài)但 RP2040 的 UART 沒有像 STM32 那樣的 IDLE 中斷所以我傾向于用定時器空閑判斷。在 MicroPython 里可以這樣實現(xiàn)初始化一個machine.Timer周期 1ms回調(diào)函數(shù)里讀取 DMA 當(dāng)前剩余計數(shù)字節(jié)dma.count()然后把偏移位置算出來把已收到的數(shù)據(jù)交給業(yè)務(wù)邏輯。注意定時器回調(diào)不要在中斷上下文里做重活用micropython.schedule()把數(shù)據(jù)處理放到主循環(huán)空閑時執(zhí)行。3.5 演示主程序把上面的模塊拼起來一個最簡單的 DMA 串口回顯程序長這樣from machine import UART, mem32, Pin, Timer from rp2 import DMA import micropython UART0_DR 0x40034000 rx_buf bytearray(128) rx_dma None def on_data_ready(): print(DMA 完成數(shù)據(jù):, bytes(rx_buf)) def setup(): global rx_dma # 寄存器方式初始化 UART0115200 8N1 mem32[0x40034024] 67 mem32[0x40034028] 52 mem32[0x4003402C] 0x60 mem32[0x40034030] 0x301 rx_dma DMA() rx_dma.config(trigger0, sourceUART0_DR, destrx_buf, countlen(rx_buf), read_incrementFalse, write_incrementTrue, data_size0) rx_dma.start() setup()跑這個程序然后用串口調(diào)試助手給 Pico 發(fā) 128 字節(jié)數(shù)據(jù)你會看到打印輸出。這個程序本身沒有太多實用性但它驗證了整條 DMA 通路是否正常。我建議所有剛接觸 DMA 的人都從這樣一個最小回顯開始不要一上來就搞環(huán)形緩沖加中斷鏈那樣出了問題反而不知道是哪一環(huán)壞了。4. 常見問題與排查技巧實錄4.1 五個最容易踩的坑我把自己實操中碰到的問題按頻率排了個序基本上能覆蓋新手階段的大多數(shù)翻車現(xiàn)場。問題一DMA 完全沒有觸發(fā)TRANS_COUNT 一直不遞減。八成是 DREQ 編號填錯或者 UART 的 FIFO 沒有使能。檢查 UART0 RX 對應(yīng)的是 TREQ_SEL 0UART0 TX 對應(yīng)的是 1不要和 UART1 混淆。再看 LCR_H 的 FEN 位是不是 1FIFO 關(guān)閉時有些 DREQ 行為不會按預(yù)期工作。問題二數(shù)據(jù)錯位或者每次接收都少幾個字節(jié)。最常見的原因是 DATA_SIZE 沒設(shè)對。UART 一幀傳 8 位數(shù)據(jù)DATA_SIZE 必須是 0按字節(jié)。如果設(shè)成 2按字搬每次 DMA 會從連續(xù)地址讀 4 字節(jié)結(jié)果就是數(shù)據(jù)前后錯位、長度也對不上。另一個原因是 INCR_WRITE 或 INCR_READ 方向搞反導(dǎo)致每次都把數(shù)據(jù)寫到同一個地址。問題三MicroPython 的 bytearray 被 GC 回收DMA 還在寫。表現(xiàn)為程序跑一會兒后死機(jī)或者打印出亂碼。檢查一下你是否在while之外的函數(shù)內(nèi)部創(chuàng)建了緩沖區(qū)函數(shù)返回后沒有全局變量引用它。解決方法是把rx_buf設(shè)置為全局變量或者用gc.mem_alloc()觀察內(nèi)存變化。如果你用rp2.DMA建議保持對dma對象的引用同樣重要。問題四DMA 傳輸完成后程序沒有反應(yīng)??纯赐ǖ朗欠裾娴慕Y(jié)束輪詢dma.active()或者讀mem32[ch_addr(ch, 0x08)]的計數(shù)值是否為 0。也有可能是你反復(fù)start()但沒重新設(shè)置count導(dǎo)致第二次傳輸立即完成。RP2040 DMA 的 count 是遞減模式不會自動重置。問題五同時開多個 DMA 通道時通道互相干擾。RP2040 有 12 個通道rp2.DMA()不傳參時會自動分配空閑通道但如果你手動指定了固定通道號要避免兩個任務(wù)共用同一個通道。特別是在鏈?zhǔn)絺鬏敾蛘咧袛嗷卣{(diào)里創(chuàng)建 DMA 對象時生命周期管理一定要清楚。4.2 調(diào)試驗證手段沒有邏輯分析儀的情況下調(diào)試 DMA 也不是完全瞎猜。我在調(diào)試時最常用的三件套第一打印寄存器狀態(tài)。用machine.mem32直接讀 DMA 通道的 CTRL_TRIG 和 TRANS_COUNT輸入以下命令觀察是否變化from machine import mem32 mem32[0x50000000 0 * 0x40 0x08] # CH0 TRANS_COUNT第二用 Pico 板載 LED 做狀態(tài)指示。在 DMA 完成的回調(diào)里翻轉(zhuǎn) LED如果燈閃了說明 CM0 確實收到了 DMA 中斷或回調(diào)有被觸發(fā)可以快速區(qū)分是沒傳輸還是傳輸了但處理有問題。第三降低波特率測試。波特率降到 9600 后即使邏輯有問題單字節(jié)的時間很長字節(jié)能觀察得清楚排查錯位問題更容易。等低波特率完全正常再逐步提升。4.3 關(guān)于 MicroPython 固件版本的一點(diǎn)建議不同版本 MicroPython 對 RP2040 DMA 的支持變化挺大。較老的 1.19 版本里rp2.DMA可能還不完整我在 1.23 和 1.24 上測試是正常的。如果你拿到的是某個定制固件最好先跑一下import rp2 print(hasattr(rp2, DMA))如果返回 False要么更新固件要么就只能走machine.mem32寄存器直寫的底子。另一個經(jīng)驗是先讀固件源碼里的rp2_dma.c里面會說明config的每個參數(shù)對應(yīng)哪個寄存器位這個文件在 micropython 官方倉庫的ports/rp2目錄下。自己讀一遍源碼比在論壇里搜零散答案效率高得多。根據(jù)我的個人經(jīng)驗DMA 不是越底層越高級而是要結(jié)合你的固件能力選。MicroPython 的rp2.DMA封裝已經(jīng)封裝好了地址轉(zhuǎn)換和通道管理除非你有非常極端的性能或者中斷時序要求否則直接用它就是最省心、也最不容易翻車的方案。先跑通最小回顯再做環(huán)形緩沖和空閑檢測慢慢把對 DMA 的理解建立起來。這套思路放到后續(xù)改用 C SDK 開發(fā)時也同樣適用因為底層寄存器、DREQ 編號、緩沖區(qū)管理這些知識是相通的。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
思思热国产在线视频| av草草在线电影| 亚洲国产ⅴ高清在线观看| 青青草影视蜜久久| 久草婷婷| 日韩精品作爱导航| 亚洲 欧美 日韩 国产一区二区 | 欧美日韩人妻婷婷一区| 青青草九九九九九| 综合久久中文字幕综合日韩精品| 黄色在线网站| 成人aⅴ一区二区三区| 91精片| 屌妞视频久久久久久久久久久久| 麻豆2区1区天美| 欧美日韩在线国产在线| 日韩人妻中文视频| 日韩福利综合一区| 国产高清亚洲日韩一区| 热99re69精品8在线播放| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 无码丰满熟妇一区二区浪潮AV| 性色高清..……| 狠色婷婷久久一区二区三区_| 天美国产精品| 97超碰9| 天天插天天操天天摸天天射天天看| 日韩一级二级| 东北女人av| 五月婷婷色| www.色五月| 日韩黄色成人性爱| 黄色高清无码无码破解免费暗网| 日韩乱伦影音先锋| 超碰成人国产| 国产精品麻豆成人AV艾秋| 91精品国产高清久久久久久,亚洲成人 | 国产亚洲精品无码三区| 男女性感激情网站| 精品久久久久av影院| 中文字幕乱在线伦视频中文字幕乱码在线 | 日韩激情小说一区二区| 久久久精品成人国产| 黄片直播三级黄片两女一男| 国产精品国产自产拍高清AV| 久久超碰97中文字幕| 一区| 天天爽入口| 九九精品网| 97在线精品| 日本中文字幕在线视频| 亚洲男人的天堂亚洲| 五月天丁香网| 极品粉嫩一区二区| 欧美激色| 少妇被c 黄 免费观看| 蜜臀久久99精品久久久电影| 92性色国产午夜福利在线661| 日韩一区二区精彩视频| 欧美熟爽综合| 久草草一二三四区久久| 精品视频一二三中文| www久久国产精品| 国产对白刺激视频| 丁香婷婷九月| 蜜臀亚洲中文| 老熟妇一区二区三区| 黑人精品欧美一区二区蜜桃| WWW啪啪的com| 丁香五月天啪啪| 九九九久千久久激情蜜桃在线看 | 欧美专区17页| 偷看洗澡一二三区美女| 精品中文日韩字幕视频| 人妻无码视频一区二区三区久久| 超碰97资源网亚洲| 色哟哟 日韩精品| 日韩一性一交一A片俄罗斯| 3p国产欧美99热| 欧美AB在线观看| 人妻人久久精品中文字幕| 东北少妇高潮zzzz| 色色激情五月天| 97激情97激情| 91色宗合| 色99色| 九九久久99| 97av,com| 翔田千里无码中出中文字幕| 白丝少妇一区二区| 屁股久久久久久久久久| 无码日韩人妻av一| 淫乱图区 | 亚洲色图综合网| 97视频在线播放| 久久久久久国产精品免费网站| 天天做天天爱天天高潮| 香蕉免费一区二区三区不读| 亚洲网站一区二区在线| 99色色网| 亚洲AV色图| 国产麻豆福利av在线播放| 日韩中文字幕熟妇人妻| 日本人妻最新在线中| 久久久夜夜嗨免费视频| 亚洲,欧美,综合网| 无遮挡猛进视频免费无限观看| 欧美熟妇乱码在线一区| 91视频精品| 日本三级韩国三级99| 综合一区二区影视| 亚洲黄色a级片| 97国产色图 | 污到发麻的视频 国产| 91操熟女视频 | 亚洲综合贴图91 | 加勒比伊人综合| 久久婷婷电影网| 91在线色综合| 精品一级毛片在线观看| 国产专区路线| 99re公开精品免费视频| 日本久久久精品电影| 欧美精品99久久久**| 操死我了嗯嗯嗯| 亚洲影院365| 精品四五区| 亲子敌伦对白在线播放| 精品大久久| 18禁在线视频| 久久成人午夜狠狠| 蜜桃久久综合视频| 欧美精品久久久久久久丰满| 都市激情人妻一区二区青青操视频| 国产福利视频精品视频| 中文一区二区| 99热思思| 日逼国产| 少妇精品久久| 射欧美综合| 日本操色导航| 嗯嗯啊啊啊好爽| 久久色人体| 91欧洲国产成人久久精品网站| 干B视频伊人网| 岛国网址国产 | 全球成人中文在线| 大逼色网站| 艳美熟妇先锋一二三区| 国产精品一二三在线看| 久久精品无码专区| 看黑丝美女操逼青青网站| 一牛影视成人片免费| 亚洲交换| 99青草| 日韩中文字幕精品一区在线| 亚洲激情久久久伊人综合| ′ !γ}丶。。久久精品欧美一区二区三区 | 日韩精品黄片免费观看| 麻豆视频一区二区| 天美传媒av在线| 91操碰| 襙一襙| 九一性生活免费视频| 婷婷久久五月| 天天干夜夜一操| 日本加勒比无码专区| 蜜臀久久久国产| 五月综合视频| 操高情无码| 91丨人妻丨国产丨丝袜| 久男人久久| 亚洲熟妇丝袜在线观看| 久久精品性| 秋霞成人一级在线观看| 屁股久久久久久| 亚洲另类色综合网站| 国产日韩精品一区二区三区| 日本99视频| 精品亚洲国产成人精品| 操逼逼一区视频| 精品69网| 色亚洲欧美| 中国黑人三级片网站上区| 久久男人的天堂国产| 在线无码操| gogogo免费高清看中国国语| 91亚洲电影| 老鸭窝日丰县女人| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 欧美亚洲AN| 夜夜夜久久| 大香蕉婷婷| 久久老子无码午夜伦不卡| 狠狠操官网| 精品久久久久久中文字幕视频免费| 韩国毛片一区二区三区| 另类专区加勒比| 嗯嗯啊啊视频一区二区三区| 嗯嗯啊好大| 成人女人国产| 91爱看| 亚洲综合99999| 亚洲精品骚逼| 中文字幕AV片| 九九九九九九综合| 另类欧美色| 欧美激情在线观看视频| 国产伊人精品在线| 无马一区二区| 极品色| 男人的天堂va在线| 射久久| 97免费视频在线| 成人怡红院| 色吧91| 亚洲国产综合图区中文字幕| 国产高清亚洲日韩一区| 十八禁的黄污污免费网站| 中文字幕一区电影在线观看| 中文字幕狠狠玩| 日韩色欲久久一二三四区| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 色婷亚洲五月在线观看| 国产精品视频电影| 中文欧丝袜诱惑| 91中文字幕在线观看| 久操视频在线| 国产激情视频一区区三区| 狠狠操狠狠操操| 成人性爱av| 日韩视频啪啪| 淫淫总合网| 亚州综合电影| 吊色| 免费人成毛片乱码| 五月天丁香婷婷综合网站| 一区二区三区视频| 一区,二区,三区网站| 91激情综合| 97鸡把在线视频| 人人做,人人操,人人摸| 精品国产肉丝袜在线拍国语| 天天日少妇逼AV| 成人AV素股で擦久久| 久久香蕉超碰97国产精品| 久操影视| 久久性爱视频免费看| 亚洲成人无码影院| 婷婷日韩一区二区三区中文字幕在线| 污污污8888| 高清视频一区| www欧美性爱| 亚州综| 欧美 日韩 亚洲 春色| 色色综合网站| 亚洲Av噜噜一区二区三区妖精| 日韩欧美三级| 一级特黄aaa大片在线观看成人一级片在线观看 | 亚洲蜜桃V妇女| 国产乱婷婷精品二区三区| 五月天欧美色图| 日韩福利电影网| 国产a级午夜毛片| 色综合加勒比四四季| 天美av在线| 亚洲最新av无码成人精品区| 麻豆AV短剧| 亚洲资源站| 日本高清一区二区在线| 久日91在线| 亚洲伊人成综合成人网| 久久麻豆一区二区| 综合五月天| 变态乱伦伪娘灌肠一区二区| 一区二区三区国产精产| 亚洲日韩电影| 久久精品国产亚洲粉嫩| 欧美午夜一区二区三区| 综合网亚洲1| 超碰色男人操熟女| 国产成人精品午夜福利| 精品久久久高清无码| 岛国小电影| 狠狠爱夜夜| 亚洲综合中文字幕有码 | 中文字幕日本久久| 亚州欧美综合| 国产呦精品一区二区三区下载| 2017大香蕉国产精品久久| 97在线免费观看视频| 五月丁香影视| 九九九久久久W精品| 日韩AV熟女乱伦| 亚欧美色图| 中文自拍欧美影视| 男人的天堂kva| 日韩精品一区二区三区色欲| 99精品无码| 大香蕉综合在线| 蜜臀久久99精品久久久久电影| 亚洲九月丁香| 67914在线兔费成人视频| 男男H黄动漫啪啪无遮挡网站| 青青草玖玖爱| 一区二区三区欧美激情| 超碰97伊人| 思思热在线| 91熟女视频| 中文字幕55555| 九九热九九热| 在线有码中文字幕| 91视频综合在线| 欧美日韩国内不卡| 中文久久久| 人妻在线中出视频| 亚洲精品一区二区三区在线播放 | 亚洲一区二区三区中文字幕| 男人的天堂com| 亚洲精品久久久久久久久豆丁网| 精品蜜乳AV免费观看| 加勒比日本在线| 国产久久av| 国产999精品久久久| 天天添天天干电影| 国产色呦呦| 97视频免费播放| 熟女自慰久久久| 国产精品嫩草影院免费| 一二三区精品视频| 97超碰人操| 色婷婷影视| 亚洲网站一区二区在线| 超碰是碰在线观看| 9热9热综合网| 青青草操逼逼视频| 国产av又色又爽又黄| 国产又粗又长的视频| 九一亚洲国产免费| 色婷婷久久| 日韩免费看在线黄色片| 欧美人妻制服| 91激情国产| 伊人久久国产免费观看视频| 久久久久久久久久8888| 亚洲三区视频| 成人毛片免费| 欧美色91| 人妻无码一区二区三区久久99| 久久一区无码| 欧美亚性天堂| 亚洲av强奸乱伦| 欧美Aⅴ| 人妻丰满熟妇av无码区蜜桃| 亚洲欧洲无码97久久精品| 五月天综合网| 超碰99在线观看| av绯色| 亚洲开心网| 亚洲美女高潮喷水视频| 国产一| 亚洲免费97免费| 玖玖97综合| 国产免费永久精品无码| 国产成人久久久精品免费AV| 日本 色 导航| 夜夜操青青草| heyZO天然素人无码AⅤ专区| 国产在线播放成人免费| 密臀视频三区免费网站| 天天夜夜rb| 欧美啪啪啪91| 欧美人妖内射| 亚洲一区二区三区婷婷| 风韵犹存大大大大香蕉 | 国产精选三级在线观看| 玖玖玖玖精品国产剧情| a v网站在线播放| 久久久久免费看少妇A片特黄| 精品免费视频国产一区| 偷拍三区| 综合免费无码中文| 成人性爱电影网| 亚洲精品日韩国产欧美| 国产伦乱91| 91天堂色男人的天堂| 日本性爱不卡视频| 熟女人妻一区二区三区| av天堂影视中文在字幕在线中文 | 亚洲男人天堂AV| 少妇蹲下露出大唇5| 亚州男人天堂| 思思视频免费看网站| 一级做a爰片性色毛片久久| 天天上日日上日韩精品| 国产多人在线观看视频| 久久肏大逼| 91一起操| 夜夜高潮夜夜爽高清视频一| 热久久国产精品视频大陆精品| 日日夜夜噜| 欧美高潮| 综合久久97| 99久久精品无码一区二区毛片免费| 国产精品日韩在线一区| 色婷婷99| 久久一二三四五六七八九区区| 91激情综合| 国产在线激情| 色五天伊人| 九九碰九九爱97超碰| 在现视频女上位好爽| 国产乱弄免费在线视频。| 日韩av电影网站| 久九色| 青草草免费网站av| 久久99久久99精品免视看婷婷| 九月婷婷| 欧美色综合图片| 日韩99999| 91大神精品长腿在线观看网站| 亚洲AV操| 欧美狠狠鲁| 一本色道久久综合亚洲二区三区| 日韩综合无码一区久久92| 成人午夜小视频手机在线看| 麻豆蜜桃视频在线观看| 欧美九一精品久久久熟妇| 玖玖综合网| 亚洲中文日韩欧美大香蕉视频| 婷婷五月天av| 人妻黑丝袜电影| 天天肏夜夜肏| av网站在线观看了| 99欧美| 欧美论理片| 精人妻一区二区三区| 欧美91精品国产自产| av午夜影院在线播放| 四虎AV在线观看| 丝袜综合| 无码精品啪啪啪一区二区三区三州| 久久超碰日韩精品| 国产 亚洲 丝袜 制服| 五月开心网| 少妇激情AV| 99久久久无码国产精品性啊聊 | 中文字幕在线第二页| 国产白丝av| 狠狠色色| 91艹| ji熟女.com| 日韩精彩免费| 天天射日日干| 91干熟女| 亚洲涩图欧美| 亚洲中字幕日本一区二区三区| 国产日韩欧美三级片| 97精品97| 亚洲?V高清一区二区三区尤物| 久久久精品无码亚免费| 好涩综合| 亚洲无码太久| 日本有码影片下载| 俞拍久久国应视频| 天天色播亚洲综合网站| 久久久精品一区二区| 99在线免费公开视频| 翘臀vidoes| 99热这里都是精品| 另类专区在线观看| 婷婷五月天色网| 天天精品| 精品妇操一区二区三区| 欧美亚洲色图另类国产| 先锋音影AV| 高清国产无码av| 欧美精品成人亚洲| 囯产精品久久久久久久久久梁医生 | 粉嫩av一区二区三区天美传媒 | 91AV老熟女视频| 欧美日韩国产成人高清| http://qxhbdz.com| 欧美大的香蕉有线电视视频| 久久婷婷一区二| 熟妇色99| 69超碰综合| 欧美亚洲手机在线| 大香蕉伊人一区在线观看| 97天天操| 美女啊啊啊啊pc| 黑人美精品 A片| 97热视频在线观看| 免费中文在线| 国产强奸乱伦第1页| 色老汉玖玖爱| 亚洲av成人精品一区| 啊啊啊啊啊好大好舒服想要| 人人贴人人摸| ...日韩成人一区二区三区字幕| 欧美v亚洲v日韩v最新在线二区| 在线小说视频一区| 九九99精品视频在线观看| 久久久久久久性爱| 中文字幕乱码人妻一区二区三区,99精品 | 一起草日韩| 天堂精品| 99色在线| av最新免费中文字幕| 日韩精品人妻中文字有码在线| 亚洲一欧洲中文字幕在线 | 亚洲AV性爱电影| 少妇精品久久久八区九区| 狠狠欧美| 天天综合网日韩7799| 久久是精品| 性色高清在线| 99久久精品国产高潮| 国产熟女无套内射| 爱丝福利| 久久久久中出| 97最新在线播放视频| 五码视频在线观看| 久久久涩| 欧美78| 国产最新AV| 欧美性爱91| 91制服丝袜| 国产性爱欧美性爱在线 | 九九九久千久久激情蜜桃在线看 | 久精品无码av一区二免费国产在线观看| 深喉吞精| 超碰97人人乐| 日韩AV一区二区三区三州三州| 国产A v无码专区| 九九九精品| 精品9999| 大香蕉宅男伊人| 男人的天堂2018东京热啪啪啪| 中日亚韩免费视频| 色姑娘综合网| 屁股久久久久久久久久| 激情婷婷丁香| 色好看av| 啊啊啊97视频| 91 国产丝袜在线放观看| 人妻少妇av在线观看| 国产精品爽爽v| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 久久久久久99AV无码免费网站| 国产成人五月天丁香花| 大香蕉青青9| 97亚洲资源| 国产夜夜操| 理论久久婷婷网 8| 97久久久| 天天综合精品| 中出91| 国产成人无码久久精品| 欧美另类精品xxxx| 岛国片在线播放| 国产又黄又爽又刺激久久久久久| 国产一级内射高清视频| 国语少妇精| 黑人在线91| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 啊啊啊啊啊啊啊国| 高清不卡一二三区视频......| 中文字幕亚洲在线一区| 色官网在线| 欧美人人曰人人操人人射射| 日韩精品在线放| 成人午夜高潮av猛片| 亚洲色图尤物视频| 欧美偷拍区| 青草草免费网站av| 强奸a片网| 亚洲最大无码中文字幕网站| 翔田千里av一区二区三区| 丁香五月天激情| 亚洲丝袜色| 91美女视屏| 和协影院中文字幕三区| 十八禁电影伊人网| 日本男人天堂| 电家庭影院午夜69久久夜色精品国产69乱| 日韩欧美加勒比| 国产日韩欧美操逼视频| 高清无码 国产精品| 亚洲欧洲日韩国产自在线| 狠狠干狠狠干| 色狠人在线99| 岛国999| 亚洲开心网| 亚洲色图尤物视频| 国产精品一二三在线看| 国产一区二区啪啪视频| 欧美亚洲丝袜人妻制服99| 亚洲天堂自拍| 91视频女生| 欧美爱爱97| 国产97视频免费观看| 日本99热| 久久久∴| 日本不卡二区| 国产福利小视频高清在线观看| 美女刺激久久国产欧美| 欧美色日本| 青青五月天| 国产一进一出视频网站| 99热国产| 日日夜夜模| 日本欧美中文字幕| 国产一区二区三区导航| 欧美一区二区传媒| 99少妇内射| 成人无码电影在线观看网| 日韩AV片| 九九九九97| 狠狠操使劲操| 亚洲少妇喷视频看| 夜夜免费视频| 国产亚洲美日韩Aⅴ中文字幕无码成人| 黄色av一区二区在线| 色爱欲亚洲| 麻豆久久一区二区三区| 一区二区视频在线播放| 欧美性爱一内片一区二区三区| 精品无码产区一区二| 免费1级a做爰片观看| 五月婷婷六月色| 日韩大香蕉精品在线视频| AV在线性爱| 狠狠中文字幕| 98超碰欧美| 插穴性爱视频在线观看| 久久水蜜臀亚洲AV无码精品| 亚洲欧美日韩免费观看| 午夜婷婷| 99在线精品观看视频中文| 色哟哟511老熟女| 久久精品72| 家庭乱伦国产精品| 精品夜夜澡人妻无码| 97视频一区| 亚洲色五月| 舔人妻中文免费视频| 亚洲精品无码少妇久久| www.男人天堂| 秋霞成人一级在线观看| 加勒比伊人综合| 99re公开精品免费视频| 美女AV一区二区| 国产亚洲精品农村妇女| 婷婷美人网| 日韩国产乱子伦App| 午夜毛片高清免费不卡| 老熟女搡BBBB搡BBBB视频| 性性欧美| 国产精品免费日韩| 欧美啪啪天堂| 啊视频在线| 999久久久久久久久| 99热精品在线| 97超碰欧美中文字幕| 国产有码一区| 偷拍亚洲熟女视频播放| 日韩啪啪啪视频| 国产精品视频白浆免费| 超碰在线在公开超碰在线在公开| 桃色五月天| 999久久久九九九九| 嗯嗯啊操我| 思思热一热婷婷热一热| 日本不卡免费二区| 中文字幕日韩综合| 国产老太乱伦一区| 欧美操逼视频二区| 日本中文字幕在线视频 | 精品国产乱码久久久久久蜜臀| 国产女人高潮视频| 亚洲av噜噜噜噜噜噜| 国产成自自拍在线观看| 你想操日本小逼吗| 亚州,欧美在线| 操逼视频免费日韩无码| 91在线欧美| 屌妞视频久久久久久久| 色吧五月| 国产丝袜美女在线一区| 欧美特黄视频网站| 美女黄色一级A视频| 韩国三级一线观看久| 97射欧美| 偷拍欧美激情| 日韩欧美一级特黄大片| 大色综合| 五十路人妻在线| 欧美日韩国第一区| 人人看欧美性爱| 在线欧美亚洲| 亚洲啪啪视频一区二区| 青青草在线视频播放器| 欧美国产成人在线| 五月丁香综合| 中文字幕123| 国产成人久久精品蜜臀| 加勒比少妇AV婷婷六月天超碰超碰| 爱爱动态120秒| 色婷婷视频| 超碰精品日韩欧美国产| 欧美图片校园春色| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 成人精品久久| 亚洲污污网站| 操我啊啊啊啊啊| 99热这里只有精| 国产探花精品在线| 五月天久久综合网| 无码粉嫩白虎一线天b区| 色欲人妻一区二区在线| 超碰公开久久网| 超碰成人国产| 自拍偷拍 日韩无码| 亚洲麻豆av一区二区| 裸体美女久久久| 蜜臀AV成人精品蜜臀AV久久| 久久久中文| www.色婷婷色综合| 日韩性爱小视频| 大香蕉人妻久久| 操淫穴亚洲五月丁香 | 男人的天堂2019| 欧美日韩欧美| 色网亚洲人| 青青操日韩| 综合激情一一91| 麻豆人妻偷人精品无码视频| 蜜臀AV成人精品蜜臀AV久久| 亚洲免费日韩在线一区二区| 日韩美一区| 狠狠干综合| 亚洲人成网www| 97人人草| 黄页大片在线观看| 丰满人妻-区二区三区免费| 91日韩在线| 久久婷婷视频| 久久精品三级影视| 亚洲日韩精品在线播放| 亚欧高清在线| 五月天婷婷久久| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 约操熟妇| 亚洲精品第一| 99碰碰| 亚洲欧美成人在线| 黑操B| 亚洲 欧美 中文 日韩超碰| 射丝袜高跟鞋99| 日韩影片中文字幕一区二区三区| 亚洲色图加勒比| 亚洲精品骚逼| 国产第11页| 色原狠狠天天天| 欧美人妖内射| 国产亚洲色停停久久99精品91| 99婷婷一区二区| 操逼国产免费| 乱伦系列一区二区| 欧美男人一区| 欧美超碰96| 色www精品视频在线观看| 精品9999| 美女啊啊啊啊啊| 成人一级性爱| 思思性爱| 800zy一区二区| 国产精品视频播放| 欧美色图20P| 欧美黄页| 欧美日韩另类在线播放| 亚洲五码一区二区三区| 狠狠狠狠狠狠| 狠色婷婷久久一区二区三区_| 亚洲熟女偷拍在线观看| 亚洲情欲| 亚洲国产精品9999在线观看 | 欧美青青视频| 精品999一区二区| 国产精品久久久久久高清无码免费看| 国产成人免费观看在线视频| 色婷婷丁香五月| 日日骚精品视频| 日本三级精品| 涩涩这里只有精品视频| 久久香蕉网| 午夜福利在线视频1000| 青草成人免费视频一COm| 五月天久久综合网| 亚洲图片欧美91N| 桃色人妻在线视频| 亚洲无线观看久久| 黑人精品成人一区二区三区 | 97五月天| www.AV有限公司一区| 欧美激情高清性猛交| 亚洲成a人片在线观看中文!!!| 六九九九| 欧美亚洲系列| 国产自产自拍| 超碰97色色| 麻豆av一区二区| 亚洲欧美精品福利在线| 日韩精品9999| 看免费一级在线播放毛片| 午夜免费福利视频一区| 色在线69堂| 最新亚洲黄色免费电影| 中文字幕精品一区二区精品| 久久久久斤小| 免费亚洲黄色视频在线观看| 7月婷婷综合| 97jingpin| 亚洲色 国产 欧美 日韩| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 国内91熟女人妻丝袜天天精品视频在线 | 91视频精品| 伊人色综合网| 日韩一卡二卡三卡| 亚洲欧综合另类无码一区| 97超碰热线| 午夜小电影在线插入淫高潮| 91大胆欧美| 日本欧美不卡| 日本91白丝| 超碰色图| 婷婷综合五月| 欧美手机在线综合| 国产精品久久久久久久电影渣男| 中文字幕人妻色偷偷久久皮 | 日韩国产十八禁| 乱伦一区二区三区‘| av情色影音| 91精品国产91综合久久蜜臀| 91女人的网站| 亲子敌伦对白在线播放| 在线女人91| 91在线免费精品视频| 超碰97网址| 69av一区二区三区| 日韩电影天堂视频一区二区| 亚洲国产欧美一区二区潘金莲| 91美女视频在线免费观看| 欧美日韩黄片精品在线| 性九九九九九九| 亚洲 国产 精品一区| 亚洲色性| 1024香蕉视频| 天堂69亚洲精品中文字| 中国黑人三级片网站上区| 视频国产精品未满十八禁止在线观看| 国产视频第2页| 激情久久久| 大香蕉日韩| 色 婷97| 久艾草在线精品视频在线观看| 99久在线精品99re8a| 夜夜影视四色| 精品久| 少妇毛片久久| 五月天丁香婷婷综合网站| 久久九九精品一区二区| 东北黄色电影| 成人26uuu| 欧美精品亚洲精品日韩传电影| 国产乱伦一二三区| 国产精品福利资源在线尤物| 国产亚洲精品美女| 亚洲操操操| 中文字幕在线免费观看2| 久久久九精品| 人人操AV| 国产午夜激片Av毛片不卡| 男人的天堂kva| 亚洲综合影片| 黄色大香焦1级‘′‘| 中文字幕在线观看网址| 日韩人妻精品中文字幕| 激情网五月天| 八戒无码国产午夜福利| 狠狠爱夜夜| 91成人在线| 欧美色图天堂在线| 91精品久久久久五月天精品| 激情欧美97| 在线亚洲精品久久久| 一区二区三区四区色图| 中文字幕,人妻,日韩| 九九九国产| 美女91在线观看| 老色69| 一级特级aaaa毛片免费观看| 亚洲精品国语在线播放| 国产精品久久久久999| 性色高清在线| 五月婷婷五月天| 亚洲国产一级精品毛一级精品看免费视频 | 亚洲精品久久久久久久久豆丁网| 日本精品无码三级网站| 人妻性爱一区二区| 夜夜黄| 日本道日本道中文字幕日本道最新日本道在线观看 | 亚洲阿v天堂无码z2018| 色香欲影| 91女日逼| 久久久性爱视频| 久久欧美按摩999| 亚洲精品国产精品乱码不99| 性在久久久久久| 日韩性爱长视频免费| 四方色播| 四虎免费在线播放| 人妻喷水| 乱久久久| 欧美综合网1| 久草色悠悠在线视频| 青青草吊丝| 九九探花视频在线观看| 日本国产高清色www视频在线| 琪琪精品免费一区二区三区 | 精品色色| 天天流夜夜操| 任你爽视频| 丰满人妻一区二区三区大胸懂色 | 日韩免费人妻色情网站| 久99| 久久丁香| 婷婷久久网| www.久久| 久久五月视频| 青青草日韩无码| 人人色人人操在线| 丁香五月天激情综合| 丁香婷婷九月| 五月丁香综合网| 91一起操| 78综合网| 91蜜臀熟女| 欧美色棕合| 欧美色图天堂网m| 天天天肏屄欧美| 久久久久9| 一区二区三区成人| 91狠狠狠| 欧美色综合网| 亚洲中文字幕熟女| 欧美日韩在线视频网站| 这里只有精品视频在线观看麻豆 | 青青草字幕AV| 日韩美女高潮喷水视频| 国产中文字幕在线观看| 中文字幕精品久久久久人妻红杏ⅰ| 激情小说亚洲视频| 极品人妻少妇综合| 国内外内射高清视频| 日韩中文字幕国产| xxx0国产在线播放| 99re在线观看| 艳美熟妇先锋一二三区| 日韩精品人妻中文字有码在线| 国产精品一区二区后入| 草草草视频| 老熟妇乱轮| 欧美激情性爱视频网站| 每日更新AV| 人妻熟女一区在| 九九九影院| 91色人| 成人毛片免费| 成人性爱视频在线看| 99综合视频| 先锋音影AV| 丝袜视频网国产90| 思思视频免费看网站| 93人人操人人| 91九久| 亚洲 综合 第一页| 97操| 日韩三级在线观看网站| 天天色播亚洲综合网站| 91新在线欧美| 97精品人妻一二三四| 内射老妇BBWX0C0CK| av天堂5| 人人澡综合涩| 亚州欧美在线| 天天操天天干一区二区 | 成人26uuu| 国产精品自产拍在线观看社区| 日本三级日本三级三级人妇四虎| 午夜福利在线合集| 国产成人91一区二区三区| 久久丁香五月婷婷| 色五月第四色| 国产精品人妻免费精品| 国产九九九九九九九九| 天天α片| 99热销国产这里有精品| 国产福利av精彩对白| 骚逼一区二区| 亚欧色图在线激情| 大香蕉伊人久久| 麻豆 亚洲 97| 性爱综合一区二区| 九九九九久久久| 精品国产a∨一区天美传媒| 手机在线人成免费视频| 天天操女人| 精品国产乱码久久| 无码自拍SM| www.acm成人黄色毛片| 色嗨嗨在线| 精彩国产视频播放1区2区| 国产高清亚洲日韩一区| 4399成人黄A片| 亚洲人妻久久久| 国产高清精品福利| 亚洲免费97免费| 久久久久久久九九九九九九| 亚洲日韩一区电影| 人人操人人肉久久精品| 天天干天天燥| 97爱b| 高清无码 国产精品| 久久神马影院| 人妻色偷色噜| 狠狠躁AV| 天天视频黄| 九九成人精品| 亚洲一区日韩精品中文字幕 | 狠狠入| 亚洲aV性爱| 欧美激情内射| 中文字幕啊啊啊在线观看视频| 亚洲春色欧美| 超碰人人妻| 九九九国产| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 日韩欧美一级特黄大片| 校园春色中文字幕AV| 日韩国产乱子伦App| 欧美激色| 激情接吻视频久久久久久| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 麻豆国产成人精品| 欧美黄色大片在线观看 | 青久操| 欧美黄色片AAAAA| 日本午夜福利影院| 97精品97| 少妇无码av专区线| 性爱欧美五月| 亚洲春色一区二区三区| 亚洲AV免费在线观看| 午夜国产成人精品视频| 加勒比大香蕉视频在线| 欧在线一二区| 亚洲熟妇图片| 日本色色视频网站| 亚洲色情在线影视| 五月天综合网| 人人干人人操人人爱| 中文字幕精品丝袜| 精品无码久久久久久久杏吧| 欧美综合第一| 精品伊人久久久大香线蕉小说| 老熟女网站| 小骚逼被操的爽不爽| 大伊香蕉在线视频免费| 啊啊啊在线观看| 日韩天堂av电影在线观看| 中文字幕一区二区在线日韩精品| 亚洲成人在线乱码色午夜| 九九亚洲| 美女极品一区二区三区| 啊啊啊啊啊啊在线| 青青操在线亚洲视频观看欧美在线 | 日韩亚洲中文有码视频| 精品人妻少妇| 俺去久久| 岛国视频免费在线观看| 91在线视频国产网站| 东北女人操比视频| 中文字幕国产精品1区| 另类 日韩 熟女| 精品午夜福利| 日本 情色 1区2区3区| 综合久欧洲| 黄色欧美性爱视频| 国产v片在线免费观看| 日韩人妻无码精品系列| 另类图片五月天| 家庭乱伦网站国产| 青青草中文字幕| 青青操日韩| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 欧美91精彩| 日本一区二区三区欧美日韩中文字幕| 综合 欧美 亚洲 日本| 被男人添B超爽视频| 欧美男女午夜啪啪| 久久性爱城| 一个人免费视频观看在线WWW| 性欧美999| 国产免费一区| 少妇被玩视频二三区| 色婷婷99| 久久AV无码网址| 桃花色综合影院| 探花精品 一区二区| 亚洲欧美天| 97超碰免费生活| 日韩中文字幕2020| 麻豆天美电影一区二区| 色婷婷影院| 亚洲AV成人在线| 精品人体无圣光凹凸| 精品无码久久久久久国产浪潮| 精品人成视频在线观看| 亚洲日精品| 综合网亚洲在线| 色九色久| 啊啊啊啊好疼视频| 高清不卡 中文 人妻| 大香蕉伊然在亚洲91| 天天天乱色综合全| 青青青青草av在线观看| 天天日天天舔天天喷天天射| 18禁网站在线播放| 欧美性爱视频免费一区一A| 9Ⅰ超碰| 亚洲人久久久久日| 日韩大香蕉| 婷婷爽人人婷婷爽视频| 火箭成精品视频884必出精品| 精品对白久久不卡| 国产综合久| 久久东京热久久| 2024黄色视频| 91骚熟女| 91啦人妻| 日本成人A片网站| 久久透逼视频| 九月丁香综合网| 天天插天天操| 国产精品亚洲免费| 亚洲无套久久嗯嗯| 欧美中文字幕一区| 亚洲AV无码天美传媒一区|