色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合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
返回資訊列表
天天看精品动漫视频一区| 91九九| 亚洲日韩成人性爱视频| 国产精品久久久久久久久久久久久久吹 | 丁香五月天婷婷姐| 精品中文字幕一区二区| 熟人人妻少妇精品久久| 欧美熟妇乱码在线一区| 日韩欧美亚洲一区二区三区影院| 欧洲精品一级二级精品综合视频综合 | 精彩久久中文| 欧美中字二区| 男人天堂2012| 人妻熟女一区二区| 九九久久久九九| 亚洲超碰在线| 性爱综合一区二区| 69精品| 国产精品不卡一区二区三区| 五月婷婷激情网| 99亚洲国产精品色一区二区三区| 国产一线二线三线av| 久久九七| 青女在线| 婷婷精品久久av影视| 久久香蕉超碰97国产精品| 婷婷久久综合久| 日本午夜精品理论片A级APP发布| 精品久久久久久AV无码| 婷婷干黄色| 蜜桃久久一区二区| 丁香七月婷婷| 国产成人在线观看网址| 毛片久久| 综合久久99| 狠狠爱大香蕉| 日韩性色| 十八禁av无码免费网站APP| 91情色| 超碰97国产欧美| 欧美草草高清日韩视频| 啊啊啊啊免费视频| 五月天伊人网| 69一区二区| 人妻人久久精品中文字幕| 日韩午夜国产| 超碰538| 青草影院内射高潮| 人妻五十路在线| 日韩无码三级影院| 免费一级黄色录像影片| 国产乱伦亚洲色图高清无码| 久久久久亚洲av综合波多野制衣| 人人做,人人操,人人摸| 日韩无码视频黄色| 天天狠操| 近亲乱伦一区二区| 中文字幕 国产 精品| 亚洲国产精品成人无码久久久 | 午夜乱轮操逼视频免费看| 天天看精品动漫视频一区| 超碰午夜| 2021国产成人精品久久| 1024人妻熟女一区二区三区| 欧美成人黄网色网站| 日本精品第一视频在'| 九九RE视频在线精品| 人人透人人操| 人妻 欧美 中文| 夜夜夜夜爽| 亚洲天堂另类| 国产精品一区二区手机看片| 五月开心网| 日韩av女优在线免费一区| 一区二区激情国产熟女| 欧美另类自拍| 97鸡把在线视频| 婷婷爽人人婷婷爽视频| 黄色人人| 五月天激情小说网| 亚洲天堂AV在线播放| 激情五月天插| 欧美操人| 欧美色天堂网在线视频| se..亚洲欧美| 无码高清专| 91无码中出人妻视频| 尤物av网站| 精彩久久中文| 久久精品女同亚洲女同13| 中文啪啪视频| 久久久国产精品亚洲精品| 国产青青综合伊人| 老外又粗又长一晚做五次| 日本精品无码三级网站| 天天影视网综合少妇| 日本97久久久精品| 男女啪啪网站免费视频| 欧美性爱视频免费一区一A| www黄片免费看com| 97超碰热线| 超碰久久.com| 在线强奷到舒服的无码视频 | 中文字幕五区| 国产精品伦理| 日本欧美国内在线| 久久久国产精品亚洲精品| 亚洲极品| 91丨豆花丨熟女| 色999人与兽| 色亚洲欧美| 国产成人无码啪| 亚洲欧美大香蕉| 91碰碰| 人妻精品视频一区二区三区| 天天天天操| 亚洲青青草| 亚洲欧美高清无码| 欧中日成人免费影视| 亚洲欧洲日韩中文字幕一区| 少妇高潮对白在线观看| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 欧美视频激情久久久久久| 欧美日韩色| 欧美午夜视频精品久久| 夜夜嗨一区二区三区三州加勒比 | 91强奸乱轮| 91殴美大片| 美女诱惑一区| 神马久久久久眼| 伊人网高清| 黄色AV影视| 欧美精品系列| 麻豆天美电影一区二区| 亚洲欧美清纯| 69人妻人人揉人人躁人人精品| 天干天干天干天天做| 超97在线精品视频| 超碰人妻久久| av在线人气| 17c嫩草51久久91嫩草| 五月天综合| 91天天| www.97在线| 欧美高清18A片| 国产不卡片| 亚洲婷婷丁香在线| 99热线麻豆 | 51久久夜色精品国产麻豆| 黄呦呦在线| 18禁免费视频| 舔人妻中文免费视频| 嗯啊视频免费在线观看| 色图综合网| 亚洲天堂第一页| 亚洲最新a在线观看| 日本 情色 1区2区3区| 久操精品网| 欧成人精品一区二区三区| 亚洲无码99| 97色97干| 啊灬啊灬啊灬啊灬高潮奶出了免费视| 日本熟女中文| 日日夜夜精品| 另类图片天天影视| 加勒比海成人视频网 | 天天日天天射天天干| 狠狠中文字幕| 精品97久久| 亚洲影视综合网| 中日韩一区二区三区欧美| 久久久久久91香蕉国产| 人妻中文字幕日韩电影| 少妇一区二区三区精选| 国产偷人伦激情在线观看| 91日产欧美| 亚洲午夜av| 东京热男人的天堂| 国产午夜福利合集| 久草毛片电影怡| 久草尤物| 中国特猛少妇色xxx| 欧美性暴力猛交XXXX| 婷婷五月天影院| 天美精品原创av片国产| 91男女| 精品免费一区二区三区在线亚洲人成| 亚洲国产高清福利视频| 看免费一级在线播放毛片| 一区超碰一区| 裸体美女久久久| 99在线观看| 国产熟女完整版中字| 91美女小视频| 日本媚薬中文字幕在线| 中出在线视频| 99久久综合| 黑人精品成人一区二区三区 | 你懂的在线观看区国产| 综合久久9| 精品二区三四区五电影 | 日韩不卡码| 久都青青视频| 蜜臀av一区二区三区免费观看| 久久久精品视频免费观看| 无码高清操逼网址| 色网站导航大全| 97碰碰色| 天天综合网~91| 96麻豆精品一区二区三区| 青青青草伊人精品| 欧亚韩国999| 激情黄色五月天| 97自拍一区| 少妇国产不卡| 精品.99999| 欧美天天拍| 久久久98网站免费视频| av中文字幕在线熟女| 无码高清专| 中文字幕成人理论在线| 天天看,天天做| 国产操逼逼网| 日韩精品永久在线观看| 熟女字幕| 黄色AV影视| 97天天搞在线| 性色乱AV一区二区| 操逼999| 黄日韩| 97视频www| 日本最新免费韩国1区2区视频播放| 中文字幕丝袜人妻| 天天操熟妇| 五月天亚洲网| 好爽免费视频| AV在线性爱| 欧美不卡五十路| 亚洲全色网| 老熟乱一区二区三区四区| 久热久| 亚洲综合另类色图| 国产精品一区二区三区免费视频| 中文字幕午夜精品久久久| 校园春色 亚洲| 久久二| 中日韩免费看男女操逼大全| 久热香蕉精品在线视频| 色99视频| 九九九九97| 97鸡把在线视频| 中文字幕在线观| av一区二区三区四区| 东京热男人的天堂精品| 五月丁香啪啪啪| 国产suv精品一区二区四区999| 大香蕉啪啪啪啪在线| 精品中文一区二区| 国产精品白丝| 人人操AV| 亚洲成人妻日韩在线| 可乐操亚洲蜜911| 国产精品人妻一区二区| h在线看免费版在线看| 欧美在线电影| 日本精品无码三级网站| 10000部十八禁看电影| 色综合 加勒比| 国产精品直播在线观看直播| 国产67194| 欧美黄色图片| 东京热综合久久一区二区| 一本大道不卡一二三区| 日韩钢筋无码高清啾啾啾| 黄页网站成人免费| 天天躁日日躁成人字幕aⅴ| 人妻-91porn| 天天天天天天天天综合| 国产 日韩 欧美一区| 午夜男女爽爽爽在线视频| 97一区二区蜜臀| 亚洲成成熟女人综合一区二区| 国产久久免费精品视频| 久久综合女优| 成人a级高清视频在线观看| 干婷婷综合网| 亚洲天堂资源| 日韩视频啪啪| 97日韩欧美亚洲| 国产精品黄色三级av| 97亚洲国产影视| 资源新线在线天堂| 91碰碰| 成人片视频| 人人操人人色人人摸| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 欧美一二在线| 第四色奇米影视777| 黑人精品成人一区二区三区| 成人片视频| 91影库| 性饥渴少妇av无码毛片| 亚洲天堂色图| 亚洲第一页色网| 五月综合婷婷久久网站| 国产精品久久久久久久免牛肉蒲团 | 襙一襙| 欧美国产日韩清纯唯美| 久久久新亚洲AV| 极品五月天噜噜| 亚洲欧美人妻| 久久精9| 一区操逼| 日韩美女高潮喷水视频| 亚洲成?V人片在线观看福利| 一二区在线观看视频| 国产一区二区在线电影| 日韩电影中文字幕| 美女啊啊啊啊pc| 99久久久无码国产精品性啊聊| 嗯嗯啊啊视频在线看| 精品日韩| 四虎国产成人精品免费一女五男| 黄视频免费| 九草在线大香蕉| 国产精品极品美女视频| 欧美大的香蕉有线电视视频| 天天在线91| 中文字幕乱码在线观看| 欧美啪啪啪91| 亚洲国产另类在线中文| 黄片免费日韩| 99人人干| 国产精品人妻无码久久久老鸭窝| 99999精品成人| 2019久久久久久久久福利| 九九九九九精品十六| 精品v日韩欧美国产| 丝袜美腿操av| 秋霞男人网| 韩国黄片aaaa| 久久久精品一区二区| 色婷婷狠狠18禁| 综合亚洲网| 香蕉一区二区三区在线视频| 操逼日批| 久久25| 丝袜亚洲91| 国产亚洲禁久一区二区| 99人妻| 综合网久久| 啪啪啪大香蕉| 少妇3P性爱自拍| 久久久久99精品成人片蜜臀| 欧美久久草熟女| 日韩亚洲欧美中文字幕| 嗯~啊~快点 死我视频免费看网站| 亚洲高清无码免费观看视频| 操操逼视频| 亚洲操操操无码| 亚洲另类色图片| 欧美性爱在线无码| ..日韩av毛片精品久久久| 色路综合| 999九九九九国产动| 青青草日逼视频| 最新中文字幕在线亚洲| 五月亭亭六月丁香| 97chaopengongkai| 国产精品国产| 60秒免费小视频| 亚洲性爱高潮影院| 性爱av在线免费观看| 亚洲欧洲中文日韩女优乱码| 浪人综合网| 国产精品4p在线观看| 任我爽在线视频免费观看 | 亚洲欧美精品一区天堂久久 | 欧美啪啪啪91| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 欧美高清色| 福利五区| 久久九操在线观看| 色悠久久久av| 69久久久久久久久久久久久| wwe 天天干.com| 91精品国产综合久久久蜜臀| 超碰97爽| 国产美女91视频| 九九久久首页| 五月天丁香网| 丁香五月AV| 中文字幕交换人妻| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲AV无码乱码| 91亚州| 97日韩欧美| 亚洲97综| 无码人妻精品一区二区中文| 搡老女人老妇女AAA一VU麻豆| www.久久制服糖| 国产又黄又粗又猛大片| 免费国产电影一区二区| 一二三四视频中文字幕在线看| 天天做天天爱夜夜爽毛片试看| 亚洲欧美天堂| 亚洲 欧美 另类 综合 偷拍| 无码伊人久久大杳蕉中文无码| 国产黄色av大片网站| 温婉少妇玩3p| 五月婷婷色色| 精品国产污一区二区三区| 久久久久9久久久久| 2025亚洲男人天堂| 欧美一区二区三区黄色影视| 亚洲AV不卡在线观看| 大香蕉色网| 亭亭在线资源| 国产路线专区| 日韩字幕一区| A 天堂在线观看视频| 亚洲第一在线视频| 中文字幕视频在线观看一区二区| 中文字幕日韩综合| 传媒免费一区二区三区| 春色综合免费| 日韩性爱一级片| 岛国黄| 五月天久久久| 99re95| 人妻无码久久一区二区三区免费| 9 1超碰九色| 97国产超碰| 午夜福利无毒不卡| 久久国产视频性吧| 91ise欧美| 天海翼久久| 九九久久玖玖| 日韩午夜精品一区二区三区电影| 偷拍欧美综合| 亚洲系列欧美| 狠狠久久手机视频精品| 牛黄色久午久| 国产小炒后入式| 奶水 人妻 哺乳 在线| 欧美一级AAAAAAA| 欧美综合区| 狠肏骚人妻| 97超碰伊人| 国产精品不卡一区二区三区av| 浓厚中出中文字幕在线| 五月激情天| 欧美91久久久久| 蜜臀久久99精品久久久久久-DVD原版全| 人妻少妇被猛烈进入中| AV一二区| 国产精品99999| 国产精品老师| 91色堂| 极品销魂美女一区二区| 中文字幕高清20页视频 | 人人摸人人叼| A啊啊在线观看| 日本欧美中文字幕| 人人人人人人少妇| 亚洲图片小说欧洲| 女人高潮大叫一级毛片| 99精品高潮| 强被迫伦姧在线观看无码网站| 国产精品麻豆成人AV艾秋| 久久精品中文| 思思热久久成人| 精品免费国产二区三区| 国内毛片欧美香蕉精品| 综合影院亚洲| 日本一级特级毛片视频| 啊啊啊好爽快点啊啊啊嗯嗯| 精品人妻15区| 920日本午夜免费| 亚洲久久天堂| 五月激情综合网| 精品无人区麻豆乱码1区2区图片| 在线看免费无码AV天堂的| 啪啪视频mP4| 97在线免费看视频| 欧美日韩99精品麻豆传媒| 97操b| av大香蕉| 91天天综合日韩欧美| 中文啪啪视频| 亚洲中文字幕精品一区| 欧美国产一区二区三区麻豆传媒| ji熟女.com| 亚洲精品蜜桃久久久久久久| 凹凸久久人人| 久操免费电影| 91蜜臀熟女| 欧美色999| 在线综合 亚洲 欧美中文字幕| 伊人国产成人av网站| 嗯嗯啊啊用力视频免费| 欧美的性爱网站免费| 日本一区三级韩国| 日韩欧美午夜一区二区| 啊啊啊不要嗯嗯在线观看| 51一区二区三区| 男人天堂网手机版婷婷| 天天爽天天操| 精品人成视频在线观看| baiduhicn.com。| 日本操嫩b网| 欧美91网| 久久999久| 欧洲一级性爱视频在线观看| 中文字幕三四五区| 热久久国产精品视频大陆精品| 黄色区免费观看中文字幕| 啊啊在线| 亚洲第一色页夜| 伊人女女资源在线观看| 老司机福利青青草| 国产亚热在线久久| 欧美综合色站| 五十路三级片| 大香蕉中文在线| 日韩视频小说在线观看| 91碰碰碰| 懂色av色欲av蜜臀av| 中文字幕乱妇免费视频| 99国产精品免费| 久久久中文| 亚洲成人贴图| 中文字幕av片| 亚爽爽爽爽爽爽爽爽| 国模无码一区二区三区在线| 91精品国产91久久青草| 精品丰满熟妇人妻一区| 欧美亚洲20p| 五月丁香啪啪啪| 黄色激情电影在线观看| 综合欧美色图| 亚洲AV在线资源| 中文字幕精品丝袜| 大香樵伊人网| 五月色网| 自拍大香蕉乱插| 日韩在线地址一| 先锋女优在线观看视频| 久久久一区二区| 亚洲永久永久永久永久一级一级一级精品 | 日韩情色视频| 思思热在线视频精品| 中日韩熟女| 精品无码一区二区三区| 天天干人人看综合| 四方色播| 色色九区| 人人操人人操人妻人| 色爱欲亚洲| 97精品一二区| 日韩女优中文字幕| 91呆哥人妻| 人人玩人人添人人澡免费| 精品视频一区二区| 另类图片五月天| 欧洲精品区| 午夜福利在线合集| 亚洲综合性网址| 精品亚洲俞拍视频一区| 67194无码不卡| 国产精品免费1区2区视频| 久热伊人99re| 欧洲免费一区二| 国产亚洲 中文欧美久久| 欧美日韩999| 久久亚洲AV无码专区国产精品 | 日韩无码黄色片| 精品人妻中文字幕4399| 不卡av在线中文字幕| 成人97人人超碰人人| 强奸乱伦免费网站| 日欧亚洲二三区大片不卡| 亚洲1区2区三区高清中文字幕| av午夜影院在线播放| 粉嫩不卡一区二区性爱| 久久精品国产亚洲AV片多多| 少妇滛荡视频| 99热综合在线| 六月丁操逼| 桃色六月天| 一直超碰| 九九九成人| 欧美日韩传媒| 国产无码高清操逼视频| 亚洲一卡二卡在线免费| 国产精品人妻熟女aⅴ| 青青伊人这里只有精品| www99热| 极品极品色影院| http://qxhbdz.com| 激情露脸爱| 婷婷15月天青娱乐| av橘色网站| 欧美成人一级麻豆| 成人麻豆av电影网站| 国产成人无码久久精品| 综合国产97| 欧美一级专区免费大片 | 狠狠操官网| 一起草精品人妻| 久久国产精品一级二级三级| 亚洲视频一二区| 老司机福利社视频在线观看| 国产91av在线播放| 久久99热这里只频精品6学生| 97日视频| 狠狠久久手机视频精品| 日本久久网| 国产精品3| 国产日韩欧美操逼视频| 婷婷五月综合在线| 日韩资源网| 欧美加勒比| 国产浮力影院第1页| 偷拍欧美激情| 99蜜月精品久久| 久久草草亚洲蜜桃臀| 深爱五月婷婷| 婷婷九月国产| 亚洲欧美不卡线| 最新日产中文在线麻豆| 99自拍视频在线观看| 好舒服视频| 婷婷五月天激情四射| 你懂得91| 丁香7月婷婷| 岛国片国产成人亚洲播放| 香港成人一级视频在线青青草| 天美传媒AV在线播放| 色色婷| 黑白配性爱AV成| 亚洲欧美日韩精品久| 精品国产久久乱码| 亚洲啪啪视频一区二区| 亚洲自拍欧美色综合| 亚洲精品性爱片| 人人噜夜夜操| 国产精品一区午夜福利| 久久精品夜色国产亚洲AV| 99这里只有精品国产| 一区二区三区 丝袜高跟| 精品国产三级av韩国在线| 99re这里只有精品3| 精品无码秘 人妻一区二区| 91老司机在线视频免费观看| 91久久久亚洲| 夜夜嗷嗷一区二区| 中文字幕亚洲永久精品| 激情久久日韩精品中文字幕麻豆| 亚洲第一无码播放立川理惠| 99热在线只有精品| 婷婷爱五月| 久久久999| 9 7超碰在线免费观看| 小视频国产| 手机av亚洲丝袜美腿日韩第一页二页| 男人的天堂一区三区| 亚洲天天自拍| 宅男91视频在线播放| 亚洲成人在线高清| 智利AV在线网| 男人天堂2012| 人人操人人舒服| 精品中文日韩字幕视频| 国产一区二区三区影片| 天天综合网在线观看| 久久这里精品国产99丫e6| 免费一级性爱久久| 97日韩欧美亚洲| 日本一二区免费| 免费1级a做爰片观看| 狠狠干妹子| 素人播放一区| 18禁免费视频| 日韩91网站| 天天看片麻豆| 91成人在线免费视频| 久久人妻无码毛片A片麻豆| 日本3级一区二区免费| 国产色产精品在线观看| 天天干一区二区| 色色毛片| 9999久久久久| 啊啊啊好湿久久| 久久一区二区三区入口| 大肥女高潮bbwbbwhd视频| 午夜性| 色婷婷99| 一本一道波多野毛片中文在线| 国产9l 大屁股| 天天操人人操骚逼网站| 男人的天堂网免费| AA特级绝黄| 国产偷拍网站| 久久久啊啊啊| 精品中文一区二区| 大香蕉欧美伊| 久久久久免费少妇| 久久久精品视频免费观看| 国产成久久综合片| 久久久久久久9| 亚洲图片偷拍欧美| 欧美国产成人在线| 人人爽夜夜操| 白嫩嫩一区| 人人扣人人操| 久久久精品无码亚免费| 2017人人操,人人摸| 欧美裸体美女日麻屄| 日日骚一区二区三区| 蜜桃一区二区三区| 色欲人妻一区二区在线| 欧美久久婷| 麻豆精品久久久久久久| 97av在线视频| 亚洲欧美中文日韩视频中国语 | 青青草在线视频欧美| 亚洲影视综合网| 另类小说五月天| 在线99热| 婷婷激情五月综合| 亚洲高清在线| 午夜色婷婷| 天天干天天狼在线视频| 天天视频综合在线观看视频| 99久久婷婷丁香| 男女性感激情网站| 国产性久久久| 色色香蕉| 亚洲一区二区三区欧美日韩| 91高清无码下载| 伊人久久大香线蕉无码| 91深夜夜| 狠狠色噜噜狠狠狠狠狠色综合久久 | www.久久| 国产欧美伊人| 一区二区三区日韩欧美 | 91熟女少妇| 啊啊啊轻点在线观看| 熟女久久| 99re视频这里只有精品| 极品另类| 人人操人人摸avav| 欧美一级久久久丰满| 伦伦成年午夜免费视频| 欧美极度丰满熟妇hd| 久久99久久99久久99人受| 97综合久第一页| 精品久操| 国产97在线 | 亚洲| 久久精品国产亚洲AV清纯| 国产福利视频精品视频| 国产精品久久久久亚洲av| 国产日本久久免费精品| 久操大香蕉手机视频在线看| 激情文学 国产一二三aV| 91丝袜在线视频| 国产三级中文字幕粉嫩| 91内射| 性影在线视频| 五月婷婷综合网| 亚洲不卡不卡中文字幕不卡| 婷婷五月天无码 | 欧美亚洲一级在线观看| 在线啊v一区| 久久久久久久久久久久久久久性生活视频| 欧洲中文字幕| 免看60秒涩涩视频| 精品人妻av区天天看片| 高清无码在线播放网站| 香蕉婷婷| 啊操爽品善一区二区三区| 自拍啪啪视频| 26uuu成人影片| 婷婷亚洲五月***久久| 久jiu久神马影院| 天天日熟妇| 黑人娇小av在线播放| 久草网站免费在线观看| 亚洲欧美校园另类春色| 碰超人人在线一区二区三区| 91亚洲人| 国产偷拍自拍在线视频| 天堂av2019| wuyechaopeng| 综合激情二| 99久热| 色悠久久久av| 色综合国产在线观看| 国产吞精a级片激情电影| 人人操天天爽| 狠狠爱夜夜| 中国女人内射6XXXXX| 北条麻妃99精品青青久久| 欧美精品亚洲精品日韩传电影| 在线播放成人高清免费视频| 综合久| 一区二区三区色综合| 最新无码国产| 麻豆天美国美国产AV| 超碰这里有精品| 成人av在线播放| 精品国产乱码久久久久久久久1| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 思思热久久成人| 亚洲 欧美 中文 日韩超碰| 国产精品另类一区大香蕉| 综合在线导航一区| 乱老熟女一区二区三区| 中文字幕天堂在线| 91啪9色| 亚洲丝袜综合| 麻豆久久久一区二区| av天堂加勒比| AAA久久| 97在线日韩中文字幕| 丰满人妻无码一区二区三区| 超硑97精品| 玖玖爱在线视频免费观看| 欧美亚洲国内自拍| 亚洲久久久久| 九九热精品免费视频| 色香天天| 99色综合| 国产欧美一区激情交| 日本在线伊人啪啪| 无套后入双马尾| HEYZO高无码国产精品227| 美女干逼2| 一本大道不卡一二三区| 久操在97| 亚洲黄色a级片| 91青青在线视频| 久久欧美性爱视频| 亚洲激情在线| 欧美极品女人的天堂| 亚洲91网| 欧亚第一综合网| 午夜亚洲国产理论秋霞| 涩涩久久精品| 欧美很很操视频| 天天肏夜夜肏| 国内精品999| 蜜乳成人AV| 日韩视频小说在线观看| 久久一级无码精品毛片6| 五月天AV资源| 五月丁香六月激情| 欧美精品精品一区二区| 亚洲一区二区 麻豆传媒| 无码精品一区二区三区潘金莲| 春色综合免费| 亚洲有码 欧美精品| 日韩免费在线观看不卡| 超碰碰激情97+久| 亚洲欧洲国产综合av| 成人国产二区三区在线,男女精品。| 久久黄黄| 操逼天美3区| 欧美另类天堂| 真实高潮91| 乱伦av.com| 国产97亚洲| 青娱乐手机日韩在线视频| 日韩激情啪啪| 激情文学88| 蘋果手機免費看成人Av| 婷婷五月天伊人| 日韩日本欧美在线观看| 色www精品视频在线观看| 色色婷婷五月天| 四虎国产精品永久在线囯在线| 曰韩香蕉97| 嗯嗯啊在线视频| 无码丰满熟妇一区二区浪潮AV| 青青草原香蕉日本Ap| 亚洲不卡不卡中文字幕不卡| 国产精品久久久无码AV网站| 亚洲一区二区AV| 日本新免费二区三区| 色五月婷婷五月天| 操逼不卡中文字幕| 亚洲本色精品一区二区久久| 另类老少妇| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 欧美性爱伊人| 人人干黄色| 欧美一级二级三级| 嗯嗯啊啊好大好爽| 黄色大片一区二区密桃丝袜| 亚洲AV成人无码久久精品播放| 女性喷水高潮在线观看| 中国91AV| 中文字幕一区二区三四五区日日骚| 婷婷香蕉欧美在线一区二区三区| 久久精视频美日韩在线视频| 国产精品久久久久久久无码AV| 91制服丝袜| 成人一级二级| 香蕉免费一区二区三区不读 | 欧美性夜| 天天综合站| 97er欧美性| 亚州综合电影| 日本一区二区三区欧美日韩中文字幕 | 色女综合| 久9久| 熟女丰满人妻一区| 大香蕉啪啪啪| 免费视频a级毛片免费视频| 99精品视频在线观看免费| 极品综合| 日本伦乱九九九综合| 青青色在线观看| 91熟女丨91老女人| 激情小说激情视频| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 国产成人啪一区二区| 久久久久斤小| 97天天在线| 国产精品3| 精品无码一区二区人妻久久蜜桃| 日欧毛片久久| 综合久久99亚洲人妻中文在线| 色婷婷婷五月天激情四射| 欧美色图天堂网m| 日韩钢筋无码高清啾啾啾| 少妇人妻无码| 日韩无码AB| 精人妻无码一区二区三区伊人直播| 97干综合网| 超碰偷拍| 夜夜欧美| 蜜臀久久99精品久久久电影| 欧美性xxxxx狂欢| 国产精品又黄又猛又粗| 1级黄色夫妻对换性交免费看| 91亚洲色人| 26uuu国产日韩综合在线观看| 韩国黄片aaaa| 探花激情视频| 黄色网址久久精品欧美喷水| 国产不卡片| 10000部十八禁看电影| 久色99999| 性色高清..……| 99久草| 亚洲欧美国产va在线播放频| 日本操逼视频不卡直接放| 东北丰满熟女国产一区| 熟女突然公开看18禁影片| 天天干,夜夜爽| 亚洲日本男人天堂网| 级品肉射| 麻豆一区二区三区在线看| 国产精品第一页国产大屁股视频免费区| 97色碰| 人人操人人操人人操人人操人人操人人人11.CM | 逼逼逼逼操操操操操操操操操午夜剧场| 国产一级做a爰大片免费久久| 99热综合| 中 文字幕一区二区三四 五 区日 日 骚| 91性感网站| 国产精品日日摸天天碰| 1769成人国产精品视频| 天天躁日日躁xxxxx| 99色在线视频| 久久深夜无码| 99re6在线视频播放免费精品| 人妻色偷色噜| 日韩亚洲Av人人夜夜澡人人爽| 五月天婷婷激情| 一区| 亚洲在饯| 国产综合网站在线播放| 91色艳| 狠狠干2020| 欧美性爱第一页久久| 高清在线偷拍自拍视频| 91欧美偷拍| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 欧美成人性爱视频在线播放| 日本色色的视频| 青青草亚洲一区 | 亚洲色综合| 九九九影院| 日少妇视频| 国产亚洲禁久一区二区| 九一综合精品视品av| 婷婷人妻激情| 思思热国产在线视频| 99热这里只有精| 亚州高清AV| 日本免费专区| 男人的天堂欧美| 97香蕉网| 久久婷婷五月天| 黄久久| 淫荡少妇免费| 欧美性,亚州色| 99热在线播放| 亚洲九区| 日本高清视频在线观看黄已三辽| 黄色视频60分钟| 国产精品视频电影| 人妻精品一区二区| 欧美日韩第一页| 亚洲人精品午夜不卡| 国产高清无码一区三区二区| 免费看污网站| 综合久久97| 蜜桃色色网站视频三区| 欧亚 另类 久| 亚洲激情在线一区二区| 日韩精品怡红院| 亚洲第一免费视频| 久久久久亚洲精品| 黄色人人| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 女性喷水高潮在线观看| 亚洲高潮少妇| 91色宗合| 懂色AV一区二区三区| 日本不卡在线二区三区| 成片免费观看视频大全| 亚洲成人帖图| 色99色| 婷婷人妻激情| 婷婷五月综合激情| 99热婷婷一区二区三| 久久99综合| 少妇熟女一区二区三区| 天天综合网站| 淫荡网址| 日本精品人妻少妇一区二区| AAAA级日本片免费视频| 97蜜桃综合| 97色伦97色伦国产欧美| 五月天久久婷婷亚洲 | 丁香五月天激情| 欧美日韩制服| 婷婷尹人大香蕉免费| 9Ⅰ老熟女| 欧美色图天堂网m| 岛国免费黄色网址| 日韩av电影网站| 婷婷五月天成人网| 亚洲欧美色图片| 狠插 制服 自拍| 欧美日韩国产三级黄色| 97国产精品久久久久| 午夜丁香| av三级电影在线播放| 东京热av男人的天堂| 欧美熟女操屄| 欧美 亚洲| 欧美色图私拍91| 家庭乱伦网站国产| 91美女小视频| 人妻少妇三级| AV综合中文字幕干| 97操| 久久噜| 中文字幕日韩综合| 九九热久久99精品re| 少妇人妻在线| 亚洲熟妇丝袜在线观看| 约操熟妇| 日韩大香蕉| 国产精彩女在线观看视频| 亚洲综合五月天| 日韩成人在线性爱视频| 亚州五月| 精品久久久久黄少妇| 牛黄色久午久| 天天上日日上日韩精品| 极品一区二区三区免费| 久久久9品一区二区三区| www.91理论| 91东北熟女| 91日日夜夜| 亚洲乱色视频一区、二区在线| 色久桃花影院在线观看| 亚洲天天综合| 9997se| 日韩久久超碰色| 90后性网国产欧美| 黄色激情电影在线观看| 人人妻人人澡人人爽人人精品浪潮| 色综和网| 无码91| 色综合久| 亚洲国产一区二区入口| 91亚洲综合| 99热线麻豆 | 91人妻在线视频| 久久久草草精品| 2019天天操天天爽天天拍| 婷婷丁香五月综合| 国产精品自在线发布| 桃花色综合影院| 天堂性色| 亚洲一区制服诱惑| 中文乱码99| 亚洲色偷偷色噜噜狠狠99网| 在线观看精品国产免费| 午夜激情成人在线观看| 91综合网| 日韩97P| 大香蕉人妻久久| 麻豆色99999| 亚州大图综合色图 | 91小视频| 欧美性爱日韩性爱| 69XX一中文字幕人妻91| 九九九九久久久久| 欧美日韩大陆黑人少妇99| 日日躁夜夜躁狠狠躁超爽| 97草草| 国产人妻一区二区三区欧美毛片| 精品女人999| 婷婷亚洲综合| 操人无码| 性做久久久久久免费观看软件| 久久精品中文字幕观看| 色欲三区| 国产在线视频二区| 亚洲成aⅴ人片不卡无码| 日本αv| www久久国产精品| 我要去看2个日本美女.com曹逼| 麻豆天美91| 人人摸人人入| 亚洲欧洲av影音| 久久无码一区二区二三区性色| 成 人 A V免费视频在线观看| 尤物网站91| 一级性爱视频免费观看| 国产辣妈在线视频福利| a男人的天堂久久一级A毛片| 日本成a人v网站在线观看| 日韩无码一级黄色av片| 欧美 精品国产制服第一页 | 中文字幕片| 极品内射| 天天插天天操天天摸天天射天天看| 91欧美综合在线| 人人妻人人色一区二区三区| 91欧美情色| 蜜臀久久99精品久久久久久无删减 |