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

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
返回資訊列表
blacked精品一区国产| 男人兔费天堂| 丝袜美腿操av| 台湾佬中文娱乐自偷自拍| 岛国在线免费视频| 91久久九九精品国产综合| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚| 国产又猛又粗又爽又黄| 张柏芝国产一区在线观看| 青青草精品| 免费综合亚洲中文| 国产一区二区在线看| 草草影院在线视频| 久久婷婷视频| 五月天婷婷综合网| 国产亚洲色婷婷久久99精品91葵花宝典 | 国产一级αv免费看片| 国产三级片在线观看| 国产久久日韩网站导航| 精品四五区| 韩国三级理论在线| 国产亚洲日韩欧| 综合熟妇一区二区三区| 看看日B真人视频| 美女人妻色网站| 91人妻素女| 久久AV无码AV| 男人的天堂日韩| 婷婷色香| 久久99999| 日本欧美成人片AAAA| 亚洲一区二区三区在线激情| 色偷偷人人玩人人舔人人操人人摸人人爽| 成人色女网| 六月丁香网| 成人 日本A片无码8888| 人人摸人人摸人人干| 欧美成人A√在线一区二区| 国产一区二区在线看| 日日妻色网| 欧美白嫩在线放| 91扒丝袜综合在线| 久久999久| 美腿色图| 国产精品久久发布| 蜜桃狠狠色伊人亚洲综合| 91性高潮久久久久久久久| 国产探花精品在线| 性色av网站| 人人操我人人干| 亚洲狠狠入| 久久综合久色欧美综合狠狠| 蜜桃视频一区二区三区 | 伊人色综合超碰| 亚洲黑丝在线| 男人的天堂2018东京热啪啪啪| 99精品视频在线观看免费| 国产亚洲日韩欧| 久久久青青草| 久久国产在线一区二区| 国产亚洲女v在线观看| 三级激情网站| 99久久久久久久久| 翔田千里无码中出中文字幕| 久久久精品视频免费观看| 色噜噜精品一区二区三| 色99视频| 丝袜视频网国产90| 97视频网站| 亚洲 暴爽 AV人人爽日日碰| 天堂俺去俺来也www久久婷婷| 精品人妻中文字幕4399| 亚洲国产日韩欧美熟妇在线| 国产亚洲 中文欧美久久| 亚洲激情久久| 操B久久| 东北女人| 久久久久九九九九九| 91亚洲黄色网| 高清无码久操视频| 五月天激情综合网| 欧美激情超碰777| 60秒免费视频| 国产精品露脸在线观看| 人人操人人摸人| 看日韩美女二区三区免费操逼视频| 超碰三级秋霞| 91国产丝袜美女| 天天网综合| 久久久99免费| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 插欧洲美女欧美精品| 中文字幕 码 自拍 视频 区| 日本五区不卡| 囯戸精品高潮呻吟旡码| 女色综合| 操逼视频亚洲| 亚洲精品人伦一区二区| 亚洲网站一区二区在线| 中文字幕一区日韩精| 91原创在线观看| 和协影院中文字幕三区| 夜夜草天天| 99热在线播放| 亚洲色图综合网| 情趣丝袜无码操逼视频| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 操老熟女AV| 午夜性刺激视频免费观看| 性开放中文AV高清无码免费看| 色婷婷丁香五月天| 天天搞欧美| 日韩无码精品综合久久| 亚洲,欧美,春色,另类| 久久久久幕乱码| 亚洲精品97| 狼人久草| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 日本操BAV| 日本久久久精品电影| 亚洲高清视频在线免费观看| 国产 亚洲 丝袜 制服| 亚洲中文字幕乱码无码一区二区 | 逼逼逼逼操操操操操操操操操午夜剧场| 亚洲色图激情小说| av亚欧| 夜夜草网站| 久久熟妇五十路一区| 玖玖综合网| wwwcaobibi| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 精品亚洲成人免费在线| 精品99999久久久久久| 青青操国产夫妻| 国产激情综合| 欧美亚洲中文| 大香蕉九九| 国产高清在线自在拍69| 亚洲国产精品无码AV久久久| 男人天堂站| 韩国三级一线观看久| 久久久久久中文字幕中文字幕最新| 人妻丰满熟妇av无码区蜜桃| 开心激情站| 色欧美综合| 国产精品一区二区 尿失禁| 好爽免费视频,| 黄片aaaaa一区| av 模特一区了| 久久无码成人| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 欧美性性性| 欧美黄片视频在线观看免费 | 99热亚洲天堂| 91天美| 国产欧美美女免费观看视频| 999熟女精品| 亚洲av淫乱| 日韩有码中文字幕女同性恋| 中文字幕超碰CAO| 亚乱色| 人妻丝袜一区二区三区在线| 91肏屄网| 欧美 亚洲 偷拍自拍| 高潮9999外国| 美腿色图| 五月婷婷AV| 精品国产a∨一区天美传媒| 国产农村一一级特黄毛片| KK色在线影院| 欧亚无码视频| 少妇综合| 亚洲伊人久久精品影院| 日本三级韩三级99久久| 麻豆国产视频精品观看| 99热线麻豆| 男人的天堂.com| WWW操逼| 欧美日韩人妻婷婷一区| 丁香激情五月| 欧美成人A天堂片在线观看| 久久久999国产精品| 日本免费一区二| 亚洲无线码欧洲精品区别| 国产精品在线一区二区| 91 丝袜在线| 日本在线视频导航| 亚洲系列第一页| 亚洲精品乱码久久久久久蜜桃麻豆| 国产夜夜操| 精品国产精品一区二区| 午夜.DJ高清在线观看免费7 | 婷婷久久五月天| 日本色色视频网站| 精品一级毛片在线观看| 91成人18| 精品国产Av无码久久久伦古装| 熟啊v色欧美热| 91香蕉国产尤物视频| 亚洲涩图欧美| 天天插夜夜爽| 欧美大战久久久伊人| 6080yy午夜理论三级一区二区三区无码 | 亚洲少妇免费视频\| 欧美se亚洲| 天美精品av| 欧美黄色手机在线观看| 欧美78P| 久久久免费视频18| 丝袜色综合| 欧美精品偷拍| 九九热精品免费视频| 边做饭边操逼逼| 欧美天堂超碰97| 亚洲蜜臀懂色| 蜜乳av一区二区三区| 水多多映视AV| 2017天天插| 日韩性爱啪啪视频| 九九综合久久| 亚州人妻| 99蜜月精品久久| 天天操福利视频综合网站| 91熟女丨91老女人| 精品一区二区啪啪啪| 色欲久久99精品久久| 99久久免费看精品国产一区| 玖玖综合色| 欧美色老汉| 日本操大逼| 色男人色天堂东京热| 人人操我人人干| 熟女性视频| 久久久久久少妇| 99久久久| 麻豆人妻精品一区二区| 日韩九九九| 日韩熟女乱伦中出| 神马久久久久眼| 亚洲色91| 久噜噜| 双插性欧美一二三区| 色婷婷综合久久久久中文一区二区| 伊人久大| 少妇熟女视频一区二区三区| 激情久久av一区av二区av| 免看60秒涩涩视频| 视频二区美腿丝袜制服人妻欧美| 欧美亚洲系列| 日韩在线人妻网站| 美女写真| 欧美第二页| 日日骚 av| 成人三级片无码| 97久久国产精品女不卡| 欧洲综合视频| 2021久久国产综合精品青草 | 操啊国产| 亚洲综合影院| 亚洲图片91| 成人A片男人的天堂| 午夜欧美女人操逼| av爱爱爱| 97日韩| 91视频综合网| 人妻人人做人人澡人人爽欧美一区| 色偷综合| 亚洲成人精品久久久| 欧美日韩第一页| 久久精品国产亚洲AV高清演员表| 熟妇综合一区二区三区| 久久国语| 欧美日韩亚洲国产中文永久天天看| 一二三啪啪专区| 日本精品高清一二区一本到| 色翁荡息又大又硬又粗又爽| 日本操逼视频不卡直接放| 四虎在线观看视频| 日本幼女18+| 中文字幕55555| 91狠婷| 后入人妻一区| 亚洲欧美一区二区不卡视频播放| 亚洲AV成人无码一二三久久 | 另类TS人妖一区二区三区| 美女诱惑一区| 成人性爱免费播放| 欧美一区二区观看在线| 亚洲操逼网| 亚洲无码99| 亚洲精品欧洲精品| 三四中文字幕| 自拍偷拍草一草| 久久黄片国产一区二区| 国产精品一区二区 尿失禁| 国产精品免费视频人成| 5252色欧美在线| 色在线69堂| 欧美丝袜美女电影一二三四区| 欧美色图成人网一区二区 | 日韩图色| 家庭乱伦麻豆| 国产麻豆一级精品视频| 日本加靬比网站发布页| 传媒在线观看一区二区三区| 免费精品中文字幕| 毛片17S| 成人精品欧洲亚洲| 色综合V| 九九性爱网| 91天天综合网,天天综合网| 性九九九九九九| 人人做,人人操,人人摸| 亚洲精品色| 2017天天插| 强奸乱伦麻豆| 亚洲在钱| 97久久久| 欧美se综合| 91久久免费视频互動交流 | 欧美日韩性爱操大逼| 夜夜爽77777| 91成人社区| 国产日本一区二区三区蜜臀在线观看| 黄片无码在线制服| 中国91AV| 日韩97视频!在线| 亚洲精品1区| 国产日韩手机视频在线| 欧美日韩少妇色情| 白天啪啪晚上啪啪视频| 极品AV网站在线观看| 亚洲精品毛片在线观看| 国产和美国毛片| 中文字幕一区电影在线观看| 欧美日韩国产色五月综合在线| 日韩乱伦影音先锋| 午夜一区| 天堂在线一区二区| 熟女视频久久| 国产精品人妻无码久久久互動交流| 色婷婷在线视频| 日日不卡av| 欧美少妇第一页| 国产成人综合在线播放| 久久久96精品| 九九热免费国产视频婷婷伊人| 色99999| 男人的天堂在线| 天天爽天天| 久久无码一区二区二三区性色| 亚洲天堂电影网| 亚 欧 美 综合| 亚洲啪AⅤ永久无码| 2019男人的天堂| 99国产在线绯色一区| 亚洲精品国产精品乱码不99| 国产精品麻豆成人av| 91男同| 天天综合色电影| 色久桃花影院在线观看| 人人人摸人人| 日韩欧美午夜一区二区| 欧美精品成人一区二区在线观看| 加勒比aⅴ| 熟妇女伦乱视频视频| 欧美激情总合网| 免费看日本操逼视频| 2019精品国产无码成人| 青草成人免费视频一com| 啊啊啊操死我了| 欧美 亚洲 91| 学生妹天天看| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 啊好爽快点-国产一区二区三区撒尿在线-成人AV | 婬女免费一二三区A片| 俺去啦俺来也久久综合| 国产白丝精品在线观看| 欧美在线播放| 免费一级性爱久久| 国产精品女生av| 久久精品国产亚洲妲己影视| 波多野结衣AV无码一区| 精品高清一区二区三区三州| 欧美色视频在线| 亚欧成人中文字幕一区| 亚洲免费人妻在| 日本精品不卡一二三区| 天天操天天干一区二区| 国产AV高清AV无码| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 大香蕉123| 人妻天天夜夜爽一区二区| yazhousetuoumei| 碰超人人在线一区二区三区| 亚洲女优有码无码高清| 久久久艹艹艹| 综合97亚洲| 亚洲 日本 不卡| 伊人网免费视频| 69XX一中文字幕人妻91| 国产福利在线视频网站| 影音先锋国产精品| 老色69| 极品少妇久久久久| 飘花国产午夜精品不卡| 麻豆人妻精品一区二区| 欧美十八禁网站| 国产乱码久久| 久草电影网| 岛国A V在线免费看| 在线性黄高清免费视频| 中文字幕一二三区| 国产精品久久久亚洲第一牛牛_在线观看| 午夜视频久久久久一区| 欧美三级免费伊人| 91精品国产一区三一| 国产操逼逼网| 久草线上视频免费看| 大香蕉乱级| 久久久噜噜噜久久久| 色哟哟511老熟女| 久久激情视频| 强奸抽插av| 天天日天天射天天干| 欧美性爽xyxOOOO| 有码免费观看| 国产欧美日韩一区二区三区| 97精品97久久| 99国内精品| 日韩另类色图| 欧美人体性爱互联网第一页婷婷日本| 人妻另类 专区 欧美 制服| 一中国女人毛片水真多| 久久国内| 亚洲熟女乱色| 亚洲清纯综合| 91久久久亚洲| 人人操人人大香蕉| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 91熟女视频网| 亚洲av国产av综合av卡| 日韩婷婷| 亚州欧美总和| 91在线视频国产网站| 精品中文字幕一区二区l - 百度| 青青草密桃在线播放| 超碰97资源网亚洲| 国产在线视频二区| 防屏蔽在线视频| 精国久久一区二区三区98| 天天爽入口| 浓厚中出中文字幕在线| 日本成人A片免费看| 99热这里只有精| 99re这里| 淫荡少妇免费| 亚爽爽爽爽爽爽爽爽| 精品熟女呻吟久久91| 国产宅男宅女在线观看| 精品然女一区二区| 97在线免费观看| 婷婷国产精品九区| 男人久久天堂| 激情看片网站| 日骚逼视频| 浪人综合网| 日本久久综合| 欧美的性爱网站免费| 久久人人妻| 大香蕉视频啪啪啪啪| 岛国色情视频在线观看| 亚洲男人的天堂网| 黄色网址在线免费观看| 夜夜操夜夜高潮夜夜爽国产精品区| 欧美人人操人人插| 亚洲中文字幕日产无码久久| 国产一区二区三区高清视频| 97超碰逼| 国产高清精品一区二区三区毛片| 人妻密肉在线观看| 蜜乳Av成人片网站| 91少妇香蕉久久精品| 欧美日韩免费性爱| 蜜乳av一区二区三区| 亚洲砖码砖专无区2023| 蜜桃午夜视频一区二区| 丁香五月婷婷基地| 中文字幕一区二区三区50路| 婷婷五月综合在线| 蜜臀久久99精品久久久久久婷婷 | 男人天堂网手机版婷婷| 久久久精品成人国产| 欧美日韩系列| 另类图片五月| 国产黄色在线播放观看| 曰韩香蕉97| 9l视频自拍9l九色成人| 嗯嗯啊啊好爽| 日韩精品9999| 国产精品岛国片在线观看| 亚洲久草AV色图| 亚洲图片欧美在线视频| 亚洲成a人v欧美综合天堂下载| 久久男人的天堂国产| 国产精品第一区第一页| 操少妞在线视频| 免费看一级a性色生活片久久无| 青青操日韩| 成人AV素股で擦久久| 久艾草在线精品视频在线观看| 国产无马在线| 伊人在线大香蕉视频久久| 色婷婷香蕉| 91视频伊人| 麻豆a'v电影| 伊人aaa| 日本色婷婷| 天堂亚洲精品| 欧美情色亚洲| 日本一二区免费| 国产成人网站在线观看| 亚欧美综合网。| 欧美色图片欧美色图| 国产日韩久久| 99re99在线视频| av久日| 黄色AV影视| 一区二区三区四区免费视频| 日韩中文字幕精品一区在线| 97亚洲国产| 激情九月婷婷| 熟女色综合久久| 欧美性爱第一区| 日韩强奸av| 易易A毛视频| 欧美在线干| 色超碰综合| AV女优男人的天堂| 色综合美国| 91网亚洲| 爱爱动态60秒| 国产亚洲 中文欧美久久| 人妻日日干| 亚洲影院365| 日夜伊人网| 国产精品第一页国产大屁股视频免费区i| 亚洲欧美综合区自拍另类| 日日骚AV| 另类欧美色| 97资源站久久| 日韩美女高潮喷水视频| 神马久久久久久久久久| 久久亚州大香蕉| 校园春色宗合网| 97精品视频免费| 骚乳在线| 久艹伊人精品综合在线| 国产无遮挡| 大胆91| 自偷自拍的亚洲视频| 久久鲁干| 日韩欧美俄罗斯A片| 亚洲系列第一页| 7777奇米影视久久| 大学生口爆吞精| 国产在线综合福利网站| 亚洲人妻久久| 超碰91在线| 男人天堂资源| 亚洲影院无码在线| 成人一二| 又大又长又粗又爽又黄| 强奸乱伦亚洲第一页| 国产对白刺激视频| 51一区二区三区| 欧亚性爱视频免费看| 加勒比久久综合网高清| 久久久国产成人一区二区三区在线| 人人操人人插人www| 久久九九国产精品| 亚洲乱熟女一区二区三区大香蕉| 日韩精品国产一区二区| 亚洲无码?第一页| 国产精品久久久久久亚洲色欲| 秋霞操逼片| 岛国大片国产| 久久色情| 日本免费不卡二区| 欧美 亚洲 另类 综合| 久久偷偷色综合蜜桃| 欧美日韩小说| 欧美一级A一级a爱片久久| 欧美18 在线观看| 少妇无码av专区线| 亚洲另类在线观看| 一区久久久二区| 日本孕妇孕交| 肥佬影院91| 色哟哟AⅤ| 天堂中文日本在线观看| 亚洲激情综合| 在线一区| 久久久新亚洲AV| 大黄片做爱的大的| 再深点灬舒服灬太大了添视频| 国产一区二区啪啪视频| 97香焦色区| 骚女高跟AV在线| 欧美九九九九九| yazhousetuoumei| 亚洲色图伊人网| 蜜臀视频网站| 蜜乳性色无码专日粉嫩骚逼AV| 综合熟女| 国产成人主播| aV中亚| 久久99午夜精品一区人妻| 欧洲天天在线| 综合情欲网| 日韩簧片免费看| 国产毛片精品一区二区色欲黄A片| 5252色欧美在线| 一区二区三区一亚洲中文字幕、综合区灬| 狠狠操官网| 69精品少妇一区二区三区蜜桃| 日韩综合97P| 午夜舔阴达高潮视频免费看| 色墦五月丁香| 呻吟 欧美 日本 中出| 亚洲精品一二牛牛| 色五月激情网| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 欧美爆乳精品一区二区| 水澄无码AV| 中文字幕第二页| 777AV电影| 中文字幕版| 不卡在线观看视频| 这里只有精品久久| 熟女熟妇一区二区三区视频| 性爱边摸边日免费AV| sss视频华人在线| 亚洲欧美成人网站AAA| 亚洲激情综合| 91精品导航| 成人福利视频网| 99热在线不卡| 色欲天天婬色婬香WWW夜色| 日韩黄色电影网站| 色777999综合| 精品午夜福利国产一区二区在线观看| 精品.99999| 99999久久精| 国模精品娜娜一二三区| 丁香婷婷激情五月天无毒不卡 | 国产精品一区二区校花| 婷婷五月天久久精品视频一区二区三区| 亚洲在线91| 99久久婷婷国产综合精品草原| 四虎影视国产精品| 717影院理论午夜伦八戒| 亚洲在线A| 国产成人在线观看综合| 九九九九亚洲| 婷婷丁香五月综合| 国产高清成人免费视频| 人妻天天操天天爽视频免费| 99久久精品国产系列| 国产九九久久久精品| 国内毛片热久久思思热| 78p欧美| 国产成人自拍视频视频| 91久久久老司机| 国产中文字幕曰本毛片| 青青草大香蕉视频| 日本九九久久99播| av天堂精品久久| 美女让帅哥通她小鸡鸡| 99久久久久| 国产强奸乱伦无码视频| 国精综合一二三区影视| 色噜噜人妻丝袜a∨先锋影 | 婷婷久月| 伊人 俄罗斯 a v| 在线无码操| 热99这里有精品综合久久 | 久久精品国产Aⅴ| 日本久久综合| 婷婷五月天影院| 欧美一级黄色免费专区| 美女让帅哥通她小鸡鸡| 婷婷久草一区二区三区| 欧美福利视频啊啊啊啊| 综合大香蕉美。| 国产丝袜美女诱惑| 黄片aaaaa一区| 凌辱美少妇久久aV| 好屌色综合| 婷婷操逼| 最新岛国大片| 亚洲图片欧美偷拍| 男人的天堂2000| 丝袜 亚洲 偷拍| 26uuu性| 久久香蕉网| 小视频国产| 天天日天天干天天摸天天操| 精品免费国产二区三区| 啪啪91| 欧美一区二区三区另类精品| 密臀在线一区尤物| 学生妹天天看| 蜜臀av中字字幕网站| 国产精品秘 福利姬在线观看| 97精品| 99re这里只有精品2| 青青草十区九区爱夜| 97色碰| 啪啪AV导航| 亚洲国产精品无码AV久久| 97爱啪| 欧美成人色| 九九热精品免费视频| 国内毛片无码一级毛片| 无码免费在线观看黄色片| 中文字幕三四区| 超碰在线日韩一区| 久草老司机| 欧美亚洲涩涩| 殴洲老熟女| 女一区二区| 亚州操操穴网| 中日韩熟女| 国产久久av| 久久精品国产亚洲粉嫩| 久久久成人免费av电影| 精品人妻夜夜草| 91色综| 韩国久久97| 亚洲天堂中文字幕无码男同| 综合五月婷婷| 色爱综合网| 九九99精品视频在线观看| 欧美国产伊人久久久久| 在线中文字幕极品av| 91性色| 精品在线蜜臀| 亚洲综合在线第一页| 三四中文字幕| 国产中文字幕在线观看| 青青青草伊人精品| 99精品无码| 久久久精品,3| 色与欲影视| 偷拍 亚洲 欧美| 久久产精品一区二区三区电影| 干少妇视频| 国产精品爆乳懂色蜜乳| 欧美v亚洲v综合v国产v妖精| 日韩99精品视频综合区| 中文字幕奈奈美被公侵犯| 日韩欧美中文| 天天草天天干天天日| www.超碰| 天综合中文| 国产精品久久久久久久无码AV | 日韩性色b| 欧美性暴力猛交XXXX | 国产精品色片一区二区| 亚洲欧美成人在线| 日韩亚洲美州欧洲综三区一品在线| 91久久精品国产| 亚洲影院小综合| 手机av亚洲丝袜美腿日韩第一页二页| 美女91av| 91操熟女| av在线不卡一区二区三区| 精品性爱无码在线播放| 色婷婷丁香五月| 自拍视频大全亚洲专媒视频/一区二区三区| 秋霞男人网| a片亚洲一本通视频| 99草精| 欧美色图91| 欧美真人抽搐一进一出gif| 操逼大黄片| 九九综合久久中文字幕| 天天色天天干天天射| 丁香六月啪| 9久久9综合| 肉丝中文无码高清| 亚州一区二区| 深田咏美亚洲精品福利社| 成人资源中文字幕在线观看天天| 97天天弄| 一本色道熟妇| 亚洲AV噜噜狠狠网址蜜桃动漫| 久久人妻精品| 97视频www| 亚洲色婷婷久久久综合日本| 国产h片在线观看视频| 91操人| 日本超碰色精品| 草B在线| 日韩Va亚洲va欧美Ⅴa久久| 97操97色| 亚洲综合有码| 91爆操视频| 欧美一区二区情色| 亚洲小说视频| 又大又长又粗又爽又黄| 有码免费观看| 中韩中文字幕在线观看| 五月婷婷六月丁香网址| 激情五月综合| 青青草成人视频在线观看二区| 久久久久久久久999| 亚洲情色中文字幕一区| 无码 黑人一区二区三区| 黄网色一区二区三区四区精品| 久久久18禁| 东北女人操逼| 6080yy午夜理论三级一区二区三区无码| av操操不卡| 国产白丝精品在线观看| 淫妻综合网| 骚日日av| 成人午夜小视频手机在线看| 性色中出| 家庭乱伦麻豆| 欧美综合骚| 国产精品久久| 欧美性爱一级操| 日日干夜夜欢| 亚洲成a人片在线观看中文!!!| 欧美亚洲第1页| 色欲av国内精品久久久久久| 久久精彩视频| 好爽视频在线观看视频 | 欧美在线中M| 欧美的性爱网站免费| 9超碰免费| 天天看天天日天天操| 99热超碰| 在线αⅴ| 97资源欧美| 国产欧美精选激情视频| 国产午夜视频| 亚洲一欧洲中文字幕在线| 五十路熟女工口 | 丰满美女一级毛片在线播放| 夜夜爽妓女| 亚洲se91| 亚洲免费日韩在线一区二区| 欧美熟妇成人一区二区| 国产不卡中文字幕免费avi| 北约熟女超碰| 国产成人精品一区| 亚洲精品无码少妇久久| 99色热| 加勒比在线视频| 乱伦色图网址是多少| 国产乱码精品久久久久久| 手机看片1025| 91丝袜美女视频| 欧洲射精91| 久久首页| 日韩欧美女求操每天更新| 天天色悠悠激情| 欧美亚洲自拍另类人妻| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | www久久国产精品| 人妻 欧美 中文| 亚洲精品无码少妇久久| 人人妻人人爽| 久久超碰97中文字幕| 91小视频| 97亚洲欧美| 亚洲视频一二区| 手机看av网站在线看| 国产农村妇女毛片精品久久| 大香蕉黄色一区| 熟女精品日韩一区二区三区| 五十路熟女工口| 国产一区二区三区久久久精品| 欧美日本视频一区| 精品网站9999| 无码人妻丰满热妇又大又粗| 亚洲综合首页| 欧美大色交| 国产夜夜艹| 久久老子无码午夜伦不卡| 大学生美女口爆| 香蕉大久久久| 亚洲另类久操网| 国产大学生高潮在线播放| 搡老女人老91妇女老熟女| 久久精品成人一区二区三区蜜臀| 婷婷日韩一区二区三区中文字幕在线| 欧美大波激情xxxx| 97超级久久| 日日夜夜青青草母狗| 日日爽夜夜爽| 1024人妻熟女一区二区三区| 大学生美女口爆| avav青青草久久夜| 99在线视频播放| 无码一区二区三区四区五区六区七区八区九区十区视频 | 日韩欧美tv一区二区在线观看| 91精品网站| 男人的天堂在线| 久久人妻四季| 综合色图亚洲欧美| wwwcaobibi| 双插性欧美一二三区| 视频不卡中文字幕| 国产熟女无套内射| 97在线/亚洲| 久久久久久裸体| 日日夜夜模| 五月亭亭六月丁香| 99re久久| 蜜桃天美传媒AV一区二区三区| 久久久久78| 欧美第38页| 国产一区二区三区中文字幕| 啪啪啪综合网| 制度丝袜99| 波多野结衣一级视频| 蜜乳视频网站| 日韩操啪| 日韩中文字幕国产| 一区二区影视| julia国产在线| 久久精品无码熟妇一区二区三区视频导航| 殴洲老熟女| 久久婷婷欧美| 青青草玖玖爱| 色娱乐色呦呦夜夜夜夜av| 国产熟女精品区| 久久久久久波多野吉衣高潮| 老熟女区| 日韩美女高潮喷水视频| 樱花草社区www中国| 久操 高清| 久久欧美1卡2卡3| 一区二区三区国产精产| 中文字幕av久久爽Av| 黄色大片一区二区密桃丝袜| 丰满人妻一区二区三区四| 嗯啊不要在线观看嗯啊| 97免费在线视频在线观看| 日本免费不卡二区| 97高清啪啪| 香港日本韩国人妇99www.wccm20| 亚州乱码中文字幕综合久久久| 麻豆影音天美视频| 中亚黄色三级大片| 天天爱综合网| 中文字幕丝袜| av橘色网站| 屁股久久久久久久久久| 一区二区三区免费视频入口| 大二网站亚洲| 香蕉人人操tv| 色色热| 91ise欧美| 91国产美女丝袜足交精品视频| 色色综合97| 91青青| 久久永久无码人妻视频| 久久受www免费人成| 日本操BAV| 大香蕉久久| 天天综合网91入口| 久操av在线| 日本二三四区| 手机在线免费看的av| 人人操欧美风骚| 吖在线不卡一区二区国产剧情| 粉嫩av在线一区二区| 欧美国产日韩高清在线| 人妻在线臀日韩| A一级色女| 亚洲男人天堂2017| 国产欧美精选自拍一区| www.久久制服糖| 99久久e免费热视| 四虎影视在线| 78久久| 午夜性| 亚洲淫色网中文| 国产第25页在线观看| 丁香五月天激情网站| 日韩人成网站在线播放| 婷婷丁香五月综合| 91大神电影天堂| 超碰97在线中文| 最近二区三区视频大全| 天天躁日日躁成人字幕aⅴ| 国语av最新自产拍在线观看| 日本91白丝| 色麻豆AV| 校园春色五月天| 在线欧美69V免费观看视频| 日韩三级一区 | 99热大香蕉伊在线| 91丝袜在线观看| 亚洲天堂热| 免费草草草草草视频| 日韩精品在线视频,日韩精品……| 黄色欧美性爱视频| 久久国产99精品72福利| 女人香蕉久久毛毛片精品| 国模艳艳啪啪一区| 英伦大奶子熟妇吊带| 欧美亚洲特P| 色综合尤物| 蜜臀久久久国产| 欧美区亚洲区偷拍区| 色蜜AV| 国产超碰欧美| 欧美性爱1080p| 亚洲男人天堂2019| 亚洲精品熟妇1区2区3区。| 国产三级日产三级韩国三级 | 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 无码一区二区精品视频久久久春药 | 人妻中文字幕日韩电影| www.AV有限公司一区| 日韩人妻无码不卡网站| 99久久精品国产高潮| 亚洲十八禁止| 久久亚州精品成人Av无| 欧美 日韩 国产传媒| 偷拍偷窥与盗摄视频专区| 日韩有码免费视频| 午夜在线播放| 欧美精品第3页| 日韩一级二级三级| 东京日日夜夜| 91高潮| 一本道综合色图| 亚洲九九九| 欧美综合97www| 99色网| 中文字幕乱碼在线| 国产精品久久久久久高清无码免费看| 亚洲综合色男人网| 亚洲综合欧美| 免费一级毛片在线视频观看| 亚洲精品久久一区二区三区蜜桃臀| 操逼不卡中文字幕| 青青草中日韩在线| 婷婷色导航| 亚洲欧洲激情卡通另类文学四射小说网站| 午夜婷婷| 人人搞人人插人人操| 色女综合| 91影库| 亚洲双插| 久久天天摸| 久久久新亚洲AV| 人妻在线大香蕉| 欧美成人黄网色网站| 9九九国产| 男人的天堂2010| 98人妻精品一区二区色欲| 欧美大香蕉97| 五月天玖玖资源站| 亚洲在饯| 黄色小说亚洲| 欧美一区二区观看在线| 玖玖久久久| 中文字幕一区二区三区人妻少妇在线| 日本欧美韩国国产在线| 日日AAvv| 欧美美女自慰一区二区三区| 亚洲国产精品成人综合| 蜜臀aV午夜一区二区三区| 天天插天天操| 91精品人妻偷情| 亚洲色图第一页| 啊…啊…操我用力操我| 亚洲 日本 国产 综合| 淫纸中9区| 亚洲 中文 女同| 五月综合婷婷久久网站| 96久久久| 久久草视频污视频| 精品超碰中文在线| 一本色道综合久久欧美| 操逼国产免费| 日日AAvv| 青青草啪啪网| 国产激情久久久| se吧提供91精品国产91久久久久久 | 性高潮久久久| 一区麻豆 高清中文字幕| 一区二区三区精品视频| 试看60秒 爽| 91色伦| 欧美 日韩 另类 亚洲| 国产精品久久久三级无码| 免费看黄片现成| 人妻少妇精品视频一区二区三区| 涩爱AV在线| 日韩操人| 欧美日韩一区二区三区四区蜜桃| 一区二区三区成人| 亚洲中文字幕妇伦久久| 激情综合网五月婷婷| 97久操| 亚洲天堂资源| 91高跟美女在线播放| www.欧精品| 亚洲无码久久久久久久| 人人做天天爱| 久久只有精品| 美女黄页网站| 天堂av最新电影网| 色网在线| 操我啊啊啊啊啊| 人妻激情偷乱视频一区二区三区 | 青青草视频久久久久| 六月丁香五月婷婷| 亚洲熟女中文字幕在线| 偷拍亚洲熟女视频播放| 999久久久免费精品国产牛牛| 欧美精品黑人猛交高潮| 91网站18+| Julia Annxxxxx| 秋霞福利网| 国产亚洲欧洲在线观看| 国产夫妻一区二区| 美女露胸露奶头| 资源在线观一 二| 激情网五月天| 久操大香蕉手机视频在线看| 国产高潮AA片免费看| 色噜噜人妻丝袜a∨先锋影| 404操逼福利视频| 天堂中文资源在线bt| 男人天堂黄片| 久久久久久69国产一区二区| 国产黄色在线播放观看| 好色综合| 日韩精品中文字幕人妻| 欧美18老人禁| 天天影视之亚洲综合网| av草草在线电影| 亚洲亚洲亚洲天堂天堂 | 国产精品黄色三级av| 亚洲日韩在线a不卡99精品| 天堂无码| 亚洲天堂五月天国产| 蜜乳AV.COM| 可以在线观看的黄色网址| 一区二区三区探花在线观看|