色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合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
返回資訊列表
18一区二区三区| 欧美 亚洲 在线| av天堂精品久久| 免费精品无码一级毛片牛牛影视| 国产av青草| 中日韩欧美精品无码AⅤ一区二区| 亚洲综合色图欧美| 激情文学亚洲| 蜜屁Av| 99色在线视频| 国产三级多多影院2022国产AA一级毛片无码 | 精品国产人成在线| 黑人白女精品一区| 18禁看网站一区| 久久亚洲日韩国产欧| 嗯嗯嗯啊啊啊操的我好爽| AV中文在线| 人人操人人操人人操人人操人人操人人人11.CM| 蜜臀99久久精品| 欧美色图 人妻| 97天天爽| 亚洲天堂另类美腿| 日本三级久| 亚洲成人性爱在线观看| 日本性爱欧美性爱| 天天色播亚洲综合网站| 开心婷婷五月| 17c在线成人免费A片观看| 亚洲视频精选| 台湾佬大香蕉| 欧美97超碰| 亚洲自拍小说| AV有码在线| 亚洲欧美视| 亚洲精品 欧美精品| 国产在线76页| 美女超碰978| 天天插天天干| 91九久| 91黑丝露脚| 91啪啪| 狠狠穞A片一區二區三區| 国产福利小视频高清在线观看| 少妇高潮流水av免费| 69天堂| 超碰色老头| 超碰久草| 国产精品乱码久久久| 青青五月天| 色狠狠一区二区三区香蕉| 91欧美www| 在线播放中文字幕| 97啪啪| 欧美乱伦专区| 国产 热久久久久国产精品| 三级色综合| 亚州操逼图| 国产不卡免费在线视频| 亚洲啪啪性视频| 啪啪啪综合网| 久久久久久久少妇| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 日本阿v天堂在线观看| 亚洲图片激情小说| 九九精品美女高溯喷水 | 超碰538| 久久噜| 日韩一卡二卡三卡| 极品综合| 亚洲各类熟们中文字幕| 欧美72网页| 少妇人妻在线| 国产91亚洲精品一区二区三区| 一级性爱视频免费观看| 在线可观看的黄色网址| 久久久久久91香蕉国产| 天天操福利视频综合网站| 天天看片青娱乐| 亚洲性爱成人| 九九九九久久久| 亚洲综合一| 96国产精品| 国产精品午夜福利亚洲综合网| 激情无码日韩| 澳门成人网站久国产日韩| 精品久久艹| www国产无码| 国产亚洲精品美女久久久m| 淫妻综合网| 9久精品视频在线观看| 色欲久久99精品久久| 操国产逼| 开心五月深爱五月| 日夜尻逼网| 84YTCOM性无码| 欧美视频在线视频免费va| 天天碰操中国年青熟妇| 日韩性爱啪啪视频| 人人妻人人操人人乐| 天天草AV| 一级二级三级黑人无码| 99国产精品人妻人伦| 欧美综合自拍亚洲综合图| 亚洲中字幕日本一区二区三区| 狠狠爱综合网| 无码人妻丰满熟妇区毛片| 国产精品内射婷婷一级二| 日本福利二区视频| 亚洲交换| 秋霞视频一区二区| 日韩精品9999| 国产极品精品美女视频| 亚洲色图加勒比| 中文字幕二区| 8050无码八戒| 尤物网站91| 志村玲子视频一区二区| 久久久久久99999国产精品| 永久免费av无码网站国产app| 精品国产乱码久久久久A| 日比av无码| 国内毛片免费h片在线| 天天日美女的B| 亚洲一区二区三区中文字幕| 综合久久97| 91社操逼| 人人澡人人澡人人| 日本超碰在线国产一区| 欧美日韩国产成人高清| 国产性感骚丝袜在线| 淫荡网址| 97色爱| 99re免费视频精品全部| AV色五月天| 人人考人人摸人人干| 久久久久久99999国产精品| 美女国产一区二区久久| 欧美激情内射| 偷窥自拍亚洲色图| 老熟女搡BBBB搡BBBB视频| 91l欧美在线| 欧美丝袜制服久久| 97超碰国产亚洲精品| 中文字幕一区二区三区视频播放| 精品美女少妇一区二区| 97青青操视频| 一区二区影院| 男女激烈网站最新| 欧美精品欧美精品系列 | 射丝袜高跟鞋99| 天天看天天日| 97天天弄| 婷婷亚洲色| V A在线| 在线观看A啊啊啊| 黄片com.| 亚洲图片第一页| 综合 青草 伊久久 影院 综合| 高清一区AV无码| 5252色欧美在线男人的天堂| 欧美日韩淫加| 亚洲国产欧美中文永久| 搡老熟女免费视频| 新91视频.cmp| 欧美日韩国产色五月综合在线| 97啪啪| 毛片久久| 亚洲97资源| 91色艳| 国产欧美一级在线观看| 极品国产内射| 日韩精品人妻| 国产熟女一区二区| 欧美在线l亚洲| 婷婷久久五月天| 再深点灬舒服灬太大了添视频 | 一起草在线视频| 日韩人妻精品中文字幕| 久久久久久久少妇| 26uuu国产| 91爆操视频| 乱操乱伦AV| 蜜臀久久99精品久久久久久成人小说 | 日本久久超碰| 亚洲欧美激情小说| 啊啊啊久久久视频| 夜夜 中文视频rt| 曰韩欧美国产传媒麻豆第一区| 91成人久久| 色哟哟AⅤ| 欧美 色 亚洲| 亚洲欧美91| AV色五月| 欧美综合777| 国精综合一二三区影视| 精品一区二区麻豆| 亚洲情色一区综合| 日本不卡高清免v欧美日韩在线观看| 亚洲蜜乳av| 午夜男女爽爽大片免费观看| 超碰九7| 九九九999久久久网站| 91精产一区二区三区| 久久人妻四季| 亚熟在线| 综合网久久| 亚洲 欧美 天天| www久| 亚洲欧美精品福利在线| 人人操人人大香蕉| 一区二区三区精品视频| 午夜大香蕉| 99热久| 婷婷五月天福利| 男人的天堂网免费| 亚洲有薄码区日本系列中文字幕| 欧美美女啪啪视频| 久久综合日韩亚洲欧美| 亚州国产成人精品女人久久| 天天性射网| 99re6在线视频播放免费精品| 亚洲啪啪啪啪视香蕉| 老司机午夜福利视频一区二区| 日本淫穴在线| 精品国产乱码久久久久久日本公司| 久噜噜| 99re在线视频| 校园春色五月天| 在线视频 亚洲精品| 色激情综合网站| 一级性爱视频免费观看 | 成人熟女视频一区二区三区| 影音先锋一区二区在线资源| 狠色婷婷久久一区二区三区_| 99精品伊人| 在线免费试看60秒| 2020中文字幕在线观看| 在线岛| 日韩激情啪啪| 北条麻妃99精品青青久久| 91亚州欧美| 欧美中字二区| 老司机香蕉| 少妇熟女1区2区3区| 大香焦A片| 久久婷五月天| 久久久久亚洲一区女同性恋中文字幕| 欧美激情黑人| 性爱乱伦视频免费| 婷婷在线精品| 日韩精品一区二区高清| 操我无码| 2019天天操天天爽天天拍| 亚州日韩97| 欧综合网| 日韩一性一交一A片俄罗斯| 韩国一级婬片A片AAAAA| 欧美内射少妇| 99热这里都是精品| 中日高清无码操逼视频| 97国伦国色| 久久久成人免费av电影| 亚洲精品尤物yw在线影院| 午夜婷婷| 青草影院内射高潮| 色色色色日本| 久久久久网站-538在线视频-欧美永久乱码 | 美女网站黄页| 曰韩精品视频一区二区| 亚洲最大黄网| 欧美se综合| 中文字幕精品一区二区精| 亚洲另类色图片| 青青草原香蕉日本Ap| 久久中文字幕一区不卡| 夜夜騷av、一區二區| 97人人爱人人乐| 波多野结衣被操50分钟免费视频| 99.色网| 婷婷爽人人婷婷爽视频| 色蜜AV| 97伊人超碰| 色色色欧美| 国产农村妇女精品1区二区| 国产一二三在线视频五十路| 国产丝袜视频| 亚洲一区二区在线观看91| 美女被艹尤物视频| 欧美精品庄| 翔田千里av一区二区三区| 欧美最大综合网| 亚洲天堂五月天国产| 中文字幕二区日韩天堂| 97视频播放| 婷婷色婷婷| 床戏久久久av一区二区麻豆| 国产精品99久久久www| 日韩一级二级三级免费看完整版国语版| 91操操操操| 久热久一区二区三区| 国产99999| 欧美|91色综合| 精品午夜福利| 97激情97激情| 人人玩人人添人人澡免费| 日日干日日操五月天伦理视频| 国产成人亚洲精品无| 国内91熟女人妻丝袜天天精品视频在线 | 久操频道免费在线呗看| 久久精品国产精品亚洲艾通辽熟妇| 亚洲图片小说欧洲| 在线观看十八禁| 亚洲无992tv| 99爱久久视频频| 无码操逼视频一下| 亚洲综合情色| 国模精品一区二区三区苹果色戒 | 久久老女人| 欧美激情亚洲色图| 岛国毛片在线观看免费| 97草草| 欧美一级A片在线看视频性色| 久久日韩肥臀| 激情亚洲天堂| 午夜丁香婷婷| 囯戸精品高潮呻吟旡码| 国内成人圈中文字幕无码视频| av天堂手机版追回| 好色综合| 人澡逼| 久久精品欧美一区蜜桃| 2020中文在线一区二区三区| 欧美色图 色综合图| 国产欧美一区二区| 偷拍自拍在线视频观看| 久久久久久久| 亚洲一区二区 麻豆传媒| 综合久久欧美| 国产精品露脸在线观看| 国产精品不卡少妇白| 精彩国产视频播放1区2区| 在免费jIzzjIzz在线视频| 美女91| 久啪| 亚洲情色1区| 五月婷婷基地| 国产精品国产拍高清AV| 国产精品久久久久久无码红治院| 综合色欧美| 97频视在线| 久久人妻丝袜一区二区三| 十八禁av无码免费网站APP| 国产区在线| 日韩美女高潮喷水视频| 上床不卡网站| 狼人综合婷婷激情四射 | 国产精品乱码久久久久久久久| 国产亚洲欧洲在线观看| 成人综合网 欧美| 爱我干综合| 伊人网综合在线视频| 亚洲日韩国产精品| 日韩91网站| 超碰在线综合97| 久久草视频污视频| 天天操人人操骚逼网站| 免费久久9999| 欧美少妇高潮久久91| 快点操死我| 91在线页| 中文高清一区二区的| 激情五月天社区| 国产无马视频| blacked精品一区国产| 中国AV美女| 日本国产亚洲一区在线观看| 欧美性爱一区二区| 91在线免费精品视频| 东京热,男人的天堂| 大香蕉在线SuP| 91AV天美在线视频| 国产熟女自拍| 99在线精品观看视频中文| 欧美日韩美女精品久草一区二区三区 | 乱码人妻一区二区三区| 99re热| 亚洲超碰综合网| 九九九精品一区二区无码| 91n处女在线观看| 超碰在线日韩一区| 操www| 国产综合永久精品日韩鬼片| 近亲乱伦一区二区| 久久宗合亚洲| 一区三区啪啪| 日本免费二区三区| 欧美有码激情视频一区二区三区| 美女91网址| 色一色综合网| 欧美欧美少妇| 夜夜操老骚逼视频网站| 国产精品一区二区亚洲人成毛片| 91色爽欧美| 又粗又长又爽在线观看| 久久久专区| 亚洲图片欧洲图片aⅴ| 97天天插| 蜜臀少妇一区二区| 亚洲电影中字一区二区| 美性中文综合网| 亚洲国产尤物yw在线观看| 人妻无码视频一区二区三区久久| 91精品无码人妻系列| 日本一二三免费久久| 亚洲人妻一区二区三区| 国产精品人妻熟女aⅴ| 天美传媒av在线| 人妻少妇精品一区二区三区| 亚洲无码精品AV久久久| 久久婷婷欧美| 色婷婷av在线观看| 岛国大片在线观看网站入口| 春色91| 中日992视频| 国产乱人妻精品入口| 91精品成人www| 日日操免费视频| 78m成人视线| 97人人爱人人做人人乐| 丁香五月影院| 亚洲欧美精品福利在线| 一本大道不卡一二三区| 成全动漫视频观看免费下载| 美女啊啊啊啊啊| 欧洲精品欧洲精品| 欧美日韩婷婷中文| 青青草亚洲一区| 插入综合网| 99视频内射三四| 黑人精品成人一区二区三区 | 亚洲成人妻日韩在线| 强上我不卡卡| 老熟妇一区二区三区啪啪| 啪啪资源网| 台湾大香蕉99热| 99在线精品视频| 黑丝少妇麻豆| 抽插一区二区视频| 国产精品白丝在线播放| 国产精品老师| 亚洲官网在线| 中文字幕一二三| 亚洲图片欧洲图片aⅴ| 久都青青视频| 亚洲精品久久久久久| 国产精品久久久久久久久久梁医生| 国产成人一级av88| 亚洲综合码| 国产深夜福利| 九九黄色网| 尤物视频偷拍免费| 久久91精品国产9丨久久分亭| 成人欧美一区二区三区黑人一| 精品人妻一区二区三区夜夜| 欧美不卡在线一区二区| 亚洲一区二区麻豆影院| 亚洲第一页色网| 成人aⅴ一区二区三区| 国产精品午夜成人福利| 碰碰97| 激情五月婷婷| 日韩性色| 欧美天天拍| av三级电影在线播放| 欧洲Au麻豆| 91精品久久久久久久久久| 熟女精品va中文字幕| 久久夜嗨| 三级色综合| 尤物黄色在线观看网站| 国产成人无码高清| 深夜激情无码| 九九九草| 国产精品一二三| 国产AV人人 夜夜人人澡| 99在线精品视频| 五月丁香激情综合| 高清无码在线播放网站| 97久久网| 偷拍导航视频网站| 国产精品人妻无码久久久老鸭窝| 九九九久久久| 97草草| q2午夜理论片夜色av| 国产宅男宅女在线观看| 东京热伊久| 97精品视频在线| 中字一区| 久久视网78| 精品乱码在线观看| 婷婷丁香人妻| 欧美十八禁视频| 人妻干天天| 日韩三A大片在线观看| 波多野结衣一级视频| 午夜精品久久久| 久久久久9| 欧美大香蕉久| 久久9精品| 怡春苑东京热| 最新精品久久蜜桃 | 97网站在线观看| 亚洲色图久久精品蜜| 成人激情无码在线视频| 午夜精品久久一区二区| 欧美另类天堂| 青青草成人视频在线观看二区| 91黑丝在线播放| 欧美亚洲| 日韩无码黄色片| 欧美传媒| 欧美欧美啪啪视频| 思思久热在线精品66| 女优大全 - 91n| 久久亚州大香蕉| 龙兴卡官方查询| 亚洲激情色片| 2000亚洲男人天堂| 夜夜福利| 日韩少妇无吗| 欧美一级专区免费大片| 精品一久久久| 欧美 熟女 日韩| 国产精品在线一区二区| 欧美玖玖爱免费玖玖| 日日日色色色色色| 蜜桃香蕉久草精品在线| 青草成人免费视频一COm| 日韩综合97p| 亚洲色欧美| 国产高清无码一区三区二区| 天天躁日日躁xxxxx| 伊人黄色视频免费观看| 国产67194| 97人妻色| 中文字幕人乱码中文字的预防方法 | 无码高清国产AV| 日韩人妻一区二区| 国产欧美精选激情视频| 亚洲av无码成电影在线播放| 特色a在线上| 天天上日日上日韩精品| 丰满岳乱妇一区二区三区| 床上啊啊啊一区二区三区| 久久超碰、| 亚洲欲色| 亚洲一卡2卡3卡4卡乱码网站 | 清纯唯美激情| 超碰 国产熟女精品一区| 亚州色图欧美| 秋霞午夜视频一区二区| 色综合久久夜色精品国产天堂| 久久精9| 国产60页| 老司机老司机午夜影院| 999久久芭蕾| 国产中文大片资源中文字幕| 91丝袜人妻| 少妇天堂网络| 国产福利夜| 中国大陆国产高清AⅤ毛片| 亚洲最大黄网| 亚洲一区二区三区中文字幕| 欧美综合第一页| 成人贴图日韩欧美| 青青草日本中文字幕| 啊啊啊啊无码| 97爱| 少妇免费视频| 亚洲第一男人天堂| 久久久久久91香蕉国产| 天天摸夜夜添无码小视频| 偷拍视频青青草在线视频| 台湾肥佬网一区二区三区| 色97综合中文字幕| 欧美日韩妖精91com| 凹凸 69堂 在线播放| 日韩久久.一级黄色片| 五月香婷婷| 伊人久久亚洲色欲综合网站| 91青视频| 日韩熟女无码| 日本一区二区三区四区免费观看| 免费AV中文网在线观看| 91站街按摩店老熟女熟女| 天天操夜夜操狠很操| 色欲久久99国产精品久久久久久| av在线免费一区二区| 人妻少妇久久| 丁香五月激情五月| 玖玖综合网| 激情综合五月| 91熟女丨91老女人| 日本精品人妻少妇一区二区| 欧美 亚洲 在线| 国产成人无码久久精品| 欧美第一页| 大香蕉www.超碰| 日本高清加勒比| 亚洲啪啪视频免费| 久久中出在线| 国产亚洲中文不卡二区| 国色综合天| 亚洲欧美另类小说| 操逼操逼视频操逼| 成人网欧美风情| 区二区亚洲婷| 怡红院成人av| 是还免费视频1727我| 91美女视频电影| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 超碰97久久观看| 激情五月综合网| 性爱乱伦视频免费| AAAA欧美日韩| 超碰97日韩| 色香综合天天影视综合 | 精品人妻二区三区| 狠狠色婷婷| 99精品成人免费看| 久久99午夜精品一区人妻| 俄罗斯一区二区视频在线观看| 97欧美资源| 欧美后入式| 欧美,日韩,中文,另类| 久久宗合亚洲| 国产精品大屁股999| 东京热AV男人的天堂| 色网1| 日韩一级二级三级免费看完整版国语版 | 插B在线观看| 欧美亚州色的图| 蜜臀aV午夜一区二区三区| 一直超碰| 操老熟女AV| 97亚洲自在精品在线观看| 国产综合久| 亚洲97综| 草草影院最新网址| 91在线视频观看国产| 国产精品色片一区二区| 亚洲av乱伦色图网站| 大香蕉手机视频| 麻豆视频test| 日日夜夜噜| 欧美一二级| 网友自拍第一页| 亚洲AV无码翔田千里网站| 99久久久无码国产精品性男| 久偷拍| 九九九九AV| 嗯嗯啊啊好大好爽| 内射老妇BBWX0C0CK| 97天天在线| 亚洲精品欧美专业| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 亚洲天堂电影精品一区| 蜜乳AV色欲AVAV无码| 色天使亚洲综合在线观看| 午夜爽爽爽| 91观看 国产白丝| 四虎av在线| 久久成人午夜狠狠| 婷婷15月天青娱乐| 亚州欧美综合| 中文字幕第7页| 91网站在线播放| 色女女女导航| 中文字幕88av在线| 国产青视频| 色综九九九一区| 亚洲 欧美 日韩另类 麻豆| 欧美瑟综合| 国产精品九九| 曰本道人妻久久久在线不卡色视频| 久久美国毛片| 日本一久是| 可乐操亚洲蜜911| 少妇无码999| 四虎精品永久在线播放| 777AV电影| 日本福利二区视频| 六月丁丁香| 操亚州| 男人精品区| 国产美女自拍AV| 久久综合99| 日韩精品9区| 麻豆天美一区二区| 色成人Www精品永久观看| 青青草中文-久久青草精品一区二区三| 91视频国品一二三区| 绑缚麻绳人妻寝取完整版| 蜜臀Av一区二区三区| 免费观看网黄| 男人的天堂2018东京热啪啪啪| 操逼999| 97伊人网| 天天摸,夜夜摸| 天天亚洲| 在线播放中文字幕| 超碰偷拍| AV免费在线播放一区| 极品白嫩福利在线| 亚洲欧美人妻| 超碰亚洲欧美日韩无| 99久久99九九99九九九| 亚洲激情在线| 色五月av| 人人爽夜夜操| 激情小说五月天| 国产视频三区四区| 日韩精品中文字幕人妻| 曰本精品久久久| 97在线免费观看视频| 成人影 天天操 亚洲| 中文字幕黄片在线| 亚洲熟女乱熟乱熟妇综合网二区| 免费家庭乱伦视频| 夜夜爽夜夜摸夜夜操免费视频| 天天看天天在线精品| 亚洲九九爱| 920日本午夜免费| 国内毛片热久久思思热| 91精品久久久久久77777| 六月色色| 乱伦一区二区三区‘| 欧美亚洲韩国视频十五区| 99免费视频| 亚洲第一免费视频| 98久久超碰| 暖暖精品二区三区观看| 精品一区二区成人| 国产无马在线| 丁香六月激情| 精品人妻中文字幕4399| 老熟女区| 国产92麻豆天美精品色欲5| 麻豆一区二区三区在线看| 中文字幕一区二区三区蜜臀| 久久精品中文字幕观看| 青青操在线视频| 九九九精品一区二区无码| 人人做人人妻人人夜视频| 人人操人人色网| 久久精品一区二区三区蜜桃臀| 午夜精品99久久久久传媒| 久久久麻豆精品| 看大黄色大片原件| 欧美aa一级片| 亚洲欧美在线观看无码| 俞拍久久国应视频| 青青草原av| 97视频免费在线| 土豪酒店各种姿势玩弄极品幼稚| 妇人噜噜| 射丝袜大香蕉| 91N综合网在线| 风月影院男女十八禁| 日韩一999精品| 中文字幕在线观看AV| 亚洲国产综合久久天堂| 欧美白嫩女HD| 欧美高清在线| 2003天天干夜夜操| 国产免费小视频| 国产v亚洲v日韩v欧美v片另类| 大香蕉伊人75| 丝袜人妻av一区二区| 日本三级A片网站com| 日本熟女不卡视频| 在线综合色| 天天天天天天天天天天干美女| 大香蕉免费乱伦视频| www.yw尤物| av午夜玫瑰| 日韩欧美~中文字| 欧美国产婷婷久久| 欧美黄片免费在线观看视频| 日韩av乱伦| 精品无吗久久| 国产美女高潮视频| 国产高清视频无码在线| 欧美视频边做饭边橾| 人妻少妇一区二区| 91视频综合在线| 亚洲最新av无码成人精品区| 欧美18老人禁| 久久社区一区二区三区| 天天综合色| 色香欲天天天天综合色| 色吧5亚洲| 超碰99在线观看| 9长久久精品| 熟女熟妇一区二区三四区| av在线免费一区二区| 97色伦欧美| 激情婷婷丁香网| 蜜臀99久久| 激情婷婷五月天| 国产精品另类一区大香蕉| 黄色电影在线播放综合网站| 国产一区二区三区不卡手机在线| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 91美女視頻| 精品人妻av在线播放| 伊人网在线视频| 成 人片 黄色大片| 日韩资源网| 国产欧美日韩精品中文| 精品人妻一区二区三区视频| 欧美强奸乱能| 欧美亚州色的图| 乱伦av麻豆| 偷拍亚洲视频一区二区三区四区| 天天躁日日躁XXXXYY| 72av视频| 成人综合网 欧美| 岛国视频免费在线观看| 亚洲精品久久一区二区三区蜜桃臀| 乱伦1色页| 亚洲图片 欧美电影| 久久色人体 | 亚洲综合性感在线| 国产精品不卡av免费在线观看| 久久综合18p| 精品毛片av一区二区| 操淫穴亚洲五月丁香| 五月天黄色激情视频| 国产日韩中文字幕欧美| 屌色在线97视频| 操逼逼一区视频| 人妖欧美一区二区| 亚州久久9| 色五月网址| 成人a级高清视频在线观看| 欧亚 另类 久| 啊啊啊啊啊啊啊在线| 日本不卡高清免v欧美日韩在线观看| 无码免费精品高清| 欧美一级美片在线观看免费| 老熟女天天操| 欧亚韩国999| 婷婷五月天无码 | 丁香六月啪| 精品人体无圣光凹凸| 韩国三级一线观看久| 99少妇| 日本在线999| 国偷自 一区二区| 国产乱弄免费在线视频。| 亚洲欧洲另类| 国产精品国产拍高清AV| 亚洲各类熟们中文字幕| 日韩性爱再线视频| 深田咏美亚洲精品福利社| 亚洲国产一区二区入口| 无码天天操| 中文字幕精品一区二| 亚洲综合欧美| 色吧5亚洲| 亚洲国产欧美一区二区潘金莲| 操www| 91强奸乱轮| 五月婷视频| 69超碰综合| 天天享受天天看| 国产视频第2页| 精品人妻免费观看| 9Ⅰ超碰| www.91视频网| 国产精品不卡av免费在线观看| 亚欧成人一级片在线播放| 五月丁香黄色网| 久久久久久久国产a∨| 中文字幕免费看大片| 嗯嗯,啊啊,国产精品| 综合网久久| 亚洲校园激情| 日本东京热久久久电影| 国产美女高潮叫床视频| 九九热精品| 亚洲资源网| 99精品综合久久久久五月天| 啊啊啊想要| 自拍偷拍2025在线观看| 青青草黑寡妇男人天堂| 精品国产乱码久久久影院| 84YTCOM性无码| A V少妇特黄三级| 国产一区二区精品在线视频| 9久在线视频只有精品| 极品色www影院| 美女91av| 国产精品69人妻无码久久久| 一区二区三区男女操逼黄色小电影| 超碰综合97在线| 免费一级性爱久久| 久久久中文版| 人人弄人人摸| 欧洲综合视频| 极品另类| 国产suv精品一区二区四区999| 综合色91| 性爱动态120秒| 日日夜夜免费| 日韩99神马视频播放片在线播放| 亚洲高清欧美总合| 日韩欧美女优电影| 激情黄色片在线观看| 免费农村成人少妇人妻Aa一区二区视频 | 久久xxxx| 欧美综合另类| 熟妇在线视频一区二区| 伊人久久AV诱惑悠悠| 麻豆 欧美 日韩| 日B操| 亚洲污污网站| 日本亚洲熟女视频| 一区二区三区看视频| 日韩欧美亚洲国产日韩| 色综合天天| 99少妇内射| 欧美最婬乱婬爆婬性视频 | 欧美日韩黄色片一区二区三区四区人与兽做爱 | 欧美99999| 韩日巨乳美女免费视频在线观看| 老熟女乱子伦中文字幕一区二区| 日本精品久久久久久久| 国产精品无码在线| 欧美亚洲激情| 超碰是碰在线观看| 1区2区3区中文字幕日韩| 日韩乱伦视频| 国产三级资源在线观看| 伊人97| 色综合20p| 欧美日本天堂| 久久久久日本视| 91精品人妻电影| 韩日色费| 男人的天堂99| 亚洲狠狠入| 99热精品青草在线| 3028国产精品| AA级电影三区| 亚洲高清自拍| 99日视频在线免费| 夜夜综合| 日本欧美色| 亚洲欧美国产中文字幕| 精品大久久| 青青草在线视频人人想人人上| 人妻精品视频一区二区| 日本一区二区三区四区免费观看| 在线观看不卡一区二区三区| 91人妻人人澡人人爽人人精品| 91国模| 97久久精品| 中国AAAAAA黄色片| 日韩无码专区| 五月婷婷AV| 深夜啪啪啪视频免费| 亚洲夜色在线| 五月婷婷hd| 少妇精品久久久| 久久久神马影院| 久久欧美激情| 综合网天天| 久久精品国产亚洲AV无码做| 91碰超| 伊人久久88国产女| 夜夜国产一区| 成人夜夜| 国产成人亚洲精品无码最新在线| 国内精品久久人妻性色av| 天天做日日爱夜夜爽| 日韩乱码Av| 亚洲色香| 国产精品高朝久久久久久久| 天天日天天干天天操| 伊人操你| 欧美人妻精品| 欧美大色交| 污色区网站| 999久久久精品国产| 国产中文福利| 97超碰大| 自慰白浆在线观看| 99色婷婷中文字幕乱色| 91超碰在线| 亚洲va综合va国产va中文| 欧美天堂亚洲电影院一区在线播放| 91制服丝袜中文字幕| 久久免费精品视频免一| 91丝袜在线视频| 国内毛片欧美香蕉精品| 麻豆60秒| 精人妻一区二区三区| 人人操人人大香蕉| 福利在线视频一区二区| 亚洲国产av中文字幕久久| 青青草在线成人视频| 成人日本视频人妻在线| 欧美在线综合| 亚卅熟女乱色| 久久久久久久久9| 艹我哪美一区无码| 精品免费一区| 精品人妻1237| 欧美精品一区二区少妇免费A片 | 东京热一区二区三区四区五区六区| 久久久久久久久9| 精品国产乱码久久久久久久久1 | 色色毛片| 加勒比海成人视频网| 家庭乱伦网站国产| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 热无码中文亚洲H一道本一区二区| 人妻一区久久二区三区色播| 中字幕人妻一区二区三区| 中文字幕视频一区视频二区| 涩涩这里只有精品视频| 伊人欧美大香蕉视频| 天天插天天干| 97人人操人人摸| 啊啊啊好舒服视频| 欧美 亚洲 另类 综合| 91碰碰碰| 国产极品粉嫩馒头一线天av| 精品无人区麻豆乱码1区2区图片| 久久综合婷婷| 精品久久久久久中文| 黄色视频高清无码网站| 超碰97综合网| 麻豆一区在线| 亚洲天堂热| 国产黄片在线免费观看| 日韩免费在线视频观看| 欧美线天码中字| 91爰爱欧美| 天天操女人| 成人在线视频二区| 无码高清专| 亚洲伊人a线观看视频| 人妻三级在线中文字幕| 麻豆熟妇乱妇熟色A片在线看| 秋霞午夜视频一区二区| 久久久久久亚洲精品中文字幕人妻| 十八禁视频网站| 久久欧美性爱视频| 国产精品乱码久久| 国产精品第二页| 丰满欧美少妇| 中文字幕在线24| 又黄又爽在线观看视频| 色综合久久88色综合久久天天| 色在线综合| 久草精品国产99| 小日子操bb在线看| 欧美不卡二区| 日本五十路熟女一区二区| 亚洲一本大道中文字幕无码在线| 9国产超碰| 伊人久久大香线蕉无码| 九九探花视频在线观看| 天天色播亚洲综合网站| 丁香六月激情综合| 91粉芽高清在线一区二区| 超碰超碰欧美| 亚洲免费97免费| 国产精品在线一区二区| 久9爱精品| 国产精品网址| 欧美性爱第一区| 色色热| 区一二区日韩亚洲乱码av电影| 色天堂在线观看| 日韩小电影| 蜜臀操逼黄色视频操的好爽| 色女女女导航| 久久人妻一区二区三区高清| 大香蕉综合网| 国产精品毛片?v一区二区三区| 成人三级片无码| 97超碰资源网| 欧美综合亚洲综合| 亚洲经典啪啪| 久久亚码| 日韩三级伊人| 99这里只有精品| 超碰到97情色| 亚欧免费| wwe 天天干.com| 国产精品久久久久婷婷二区次| 翔田千里一区二区三区奶水| 国产免费一区二区三区最新不卡| 少妇人妻激情四射| 久久成人午夜精品影院| 美国美女AV在线| 亚洲国产精品无石码久久 | 思思热在线视频免费| 9999免费精彩视频| 亚洲AV在线资源| 久久香蕉国产线看观看猫咪av| 久久亚洲人妻| 青青伊人这里只有精品| 中国小夫妻勾搭露脸淫荡对白| 98人妻精品一区二区色欲| 超碰在线人妻不卡| 亚洲精品一区二区精品| 精品97精品97| 夜间福利片1000无码| 精品无码产区一区二| 国产成人无码网站在线视频| 乱伦系列一区二区| 日本一区二区亚洲综合| 国产精品 午夜福利| 国产大陆天天艹| 一区二三区四区视频大全套| 最新国产亚洲精品精品国产亚洲综合| 亚洲精品 欧美精品| 色99视频| 国产操逼视频在线观看| 97超碰色中文字幕| 免費人妻夜夜爽天天爽爽一区| 国产a级精品| 黄aaaaaaaaaaaaaaaaaa色网站| 高颜值美女口爆高潮浪叫| 亚洲色图超碰在线| 操逼免费视频无码国产| 精品少妇人妻一区二区三区| 久草久热| 亚洲一区日韩| 岛国激情视频软件| 91久久久久久久久18| 懂色av中文字幕一区二区三区天美| 亚洲欧洲综合视频在线| 欧美性生活男人的天堂| 91网站18+| 秋霞午夜视频一区二区| 亚洲情色婷婷五月天| 精品在线观看视频在线| 亚洲最新Av| 亚洲情欲| 精品天堂| 亚洲中文字幕熟女少妇一区二区| 色九九综合AV| 激情五月天校园春色网| 躁躁日曰躁2020|