亚洲有码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
返回資訊列表
久久久三区二区一区| 长长久久曰曰夜夜成人网| 人伦四五区| 日韩午夜精品一区二区三区电影| 97人人超| 啪啪视频亚洲第一| 九九九久久久| 后入日本1234| 亚洲国产第一页综合视频| 国产精品美女视频诱惑| 好涩综合| 91欧美经典| a片亚洲一本通视频| 精品四五区| 高清在线偷拍自拍视频| 看看小穴| 国产精品电影| 国产精品麻豆成人AV艾秋| 97国产高清视频在线观看| dy888午夜老子影视达达兔| 精品无人区麻豆乱码1区2区图片| 天美传媒AV国产在线| 91女优在线观看 | 国产精品伦理| 色妺妺在线视频| 久久亚洲AV成人精品无码| 伦激情人妻另类人妻| 欧美强奸乱能| 亚川综合视频| 一起草日韩| 91人妻精华帖| 91色综合| 欧美草草| 综合色91| 日韩欧洲操屄视频| 911av网站免费观看| 国产91福利小视频在线观看| a片在线播放| 人人妻碰人人免费| 熟女激情综合网| 日韩激情无码影院| 精品高清一区二区三区三州| 新版天堂中文资源8在线| 黄片免费看黄片免费看| 99热精品在线| 夜夜高潮夜夜爽| 久久久久久久久久久久久久久久9| 99精品在线观看| 麻豆天美国美国产| 亚洲青色欧美| 欧美同性恋 的搜索结果 - 91n| 中文字幕伊人| 97在线免费观看视频| 天天弄欧美| 国产专区第一页| 天天日天天干天天摸天天操| 久久精品一区二区三区四区五区| av一区二区三区不卡| 丰满人妻无码一区二区三区| 五月天婷婷久久| 亚洲 中文 女同| 久久宗合亚洲| 四虎午夜影院| 日韩综合色图| 免费人成毛片乱码| 人人操肉肉| 天天日天天屌天天操| 自拍大香蕉乱插| 蜜桃久久一区二区三区| 内射中国少妇高清视频免费视频| 18岁禁 茉莉成人久久| 69精品| 婷婷色色五月天福利| 人妻熟女字幕一区二区| 啊啊啊好湿国产一二| 婷婷月色| 加勒比海成人视频网 | 色香阁在线| 激情婷婷丁香| 麻豆AV一区二区| 无码色| 淫穴高潮色图| 欧美亚洲91| 国产精品色色| 免费在线观看国内色片网站网址| 丁香五月婷婷五月| 夜夜操一区二区| 99999精品| 国产99 中文字幕日韩小视频| 91天天综合网,天天综合网| 久久内射| 国产欧美日韩精品中文| 国产精品久久久久久久久久久久久久久 | 久久久一区二区三区四区五区| 人人模人人看| 美女大乳久久久久久久女人18| 91A欧美电影网站| 亚欧美色| 亚洲二区精品在线观看| 熟妇人妻一区二区三区| 欧美高清第一页| 蜜臀av在线播放一区二区三区| 夜夜肏2021| 欧美色91| 清柠毛片| 桑老女人九区| 人人爱操| 蜜臀久久99精品久久久久久无删减| caoni国产亚洲av| 亚洲日本天堂| 日本三级R| 亚91网| 91精品91久久久中77777| 男人的天堂99| 91人妻爽爽人人做人人澡| 四虎影视国产精品| 中文高清一区二区的| 日本成人在线不卡一区二区三区| 久久人妻丝袜一区二区三| 亚洲欧美综合网| 大香蕉手机视频| 日韩欧美性爱电影在线观看| 神马福利久草| 一级片在线观看高清无码| 天天插夜夜爽| 日韩欧美中文| 色妺妺AⅤ| 人妻一区二区三区| 婷婷视频在线免费观看| 国产精品96久久久久久| 欧美少妇第一页| 丰满岳乱妇一区二区三区| 啊啊啊在线看| 久草视频观看视频在线| 99精品久久久久久| 无码伊人久久大杳蕉中文无码| 国产欧美精品日韩区二区麻豆天美| 色激情综合网站| 欧美熟女丝袜| 精品一区二区三区蜜桃臀赵总| 成人性交免费视频| 久久精品视频久久久| 精品国产www久久| 亚洲夜夜欢无码一区二区| 久久精品人体| 国模少妇一区二区三区| AVE乱伦| 日韩成人人妻网站| 夜夜騷av、一區二區| 蜜臀精品1区2区| AA级电影三区| CCYY草草影院地址入口| 亚洲人精品午夜不卡| 91强热人妻| 日韩电影在线观看网址| 亚洲在钱| 黄色视频60分钟| 欧美日韩一二三| 激情四射五月天| 99精品无码| 国产色呦呦| av影片在线观看不卡| 五月天亚洲网| 97天天在线| 麻豆婷婷成人一二三| 99热在线观看| 五月丁香啪| 日韩性爱小视频在线观看| 1人人看人人摸人人操| 九七超碰| A级在线视频| 一卡二卡在线播放| 老熟女综合网| 日韩一级二级三级| 亚洲精品九九九| 精品大全99999| 久久久久少妇| av九九| 欧美性爱无码一区二区三区| 日韩操逼性鲍| 免费精品中文字幕| 亚洲欧美在线观看免费| 久久久久久久唑| 人人做天天爱| 国产一在线观看| 二级毛片| 另类专区加勒比| 热热色色综合| 超碰人人干天天射| 2017大香蕉国产精品久久| 欧美熟女少妇| 97干色天堂| 97精品一二区| 久久同城AV| 欧洲一区二区三区四区在线观看| 蜜臀久久99精品久久久久电影| 91美女视屏| 岛国A V在线免费看| 天天综合网日韩| 99后入| 91在线色综合| 伊人综合色网| 欧美天天谢综合网| 国产精品久久久久久久久久二区三区| 可乐操亚洲蜜911| 97操b| 蜜臀久久99精品久久久久| 视频国产欧美在线播放| 淫荡熟女乱伦网| 午夜丁香婷婷| 婷婷五月成人| 中文字幕神马久久| 天天干天天操天天操夜夜操天天操| 国产农村妇女精品| 亚洲va有码在线天堂| 99热国产| 老女人91| 天天视频网站黄| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 欧美精品三区| 日操粉逼逼| 啊啊啊com| 男人天堂久久精品不卡| 强奸乱伦 亚洲一区| 美国一区二区免费视频| 亚洲日韩精品在线播放| 啊啊啊啊啊好大好舒服想要| 麻豆成人影音在线| 亚欧高清在线| 美熟女逼导航AV操逼| 欧美日本不卡在线| 淫荡少妇免费| 久久极品一区二区| av日韩中文字幕| 色欲久久久久综合网| 亚州AV无码国产精品| 久久久熟妇熟女国产| 美女网站91| 国产亚洲禁久一区二区| 色天欧美| 欧美自拍偷拍免费观看| 有码人妻系列| 91骚熟女| 91在线视频免费中出| 大香蕉92| 日本中文字幕在线视频| 999久久芭蕾| 午夜高清成人在线视频| 97日韩欧美| 欧美熟妇精品黑人巨大一二三区| 91欧美www| 五月婷婷丁香中文字幕| 99久热精品99re6热| 精品一区二区久久| 欧美Aⅴ| 亚欧美天堂在线| 在线人成亚洲视频免费观看| 超碰 另类 欧美| 天天操天天射青青草| 日韩精品亚洲专区在线影视| 久久久一级| 男人天堂2017| 综合网,亚洲,欧美| 操婢日韩| 99热线麻豆| 中文字幕日韩综合| 欧美自拍偷拍综合图片| 国产一线二线三线av| 性生活久久久久久久久久| 强乱老妇中文字幕| 黄色大片一区二区密桃丝袜| 97色97好| 日韩精品 资源| 男人天堂欧美| 中亚黄色三级大片| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 五月激情综合网| 久艹免费| 91网站18在线| 玖玖婷婷五月天| 日韩欧美女求操每天更新| 97干日韩| 精品人妻美妇91job| 超碰97欧美| 亚洲999综合| 欧亚在线视频| 美女被啪到深处抽搐视频| 国产精品视频在线播放 | AA丁香综合激情| 亚洲欧美精品国产一区二区| 国产日韩精品一区二区三区| AV污污污污| 免费1级a做爰片观看| 久久精品视频久久久| 18禁无码永久免费无限制| 日日夜夜国产综合| 亚洲天堂综合AV| 九九干| 97在线视频免费观看| 99999这里都精品| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 亚洲.欧美.丝袜.中文.综合| 亚洲国产美女久久久久 | 精品人妻一区二区乱码一区二区| 色五月首页| 青娱乐二区免费| 亚洲精品91| 黑白配性爱AV成| 九九九九免费高| 密臀AV在线| 久久伊人在线五区| 国产h片在线观看视频| 女欧美一区二三区| 欧美日韩香蕉| 欧美激情一区| 天天日B狠狠操| 91爽啪| 国产日韩欧美操逼视频| 69视频入口| 三上悠亚在线毛片91| 少妇激情一区二区三区视频| 亚洲欧美不卡线| 神马久久69| 欧美精品庄| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 嗯啊啊啊轻点视频| 这里是精品| 日韩伦理视频| 久久神马影院| 高清不卡 中文 人妻| 无毛精品| 美女黄页网站| 欧美日本成人一区二区| 亚洲αv一区二区三区| 国产精品久久发布| 久久亚洲天天做| 亚洲综合影视| baiduhicn.com。| 亚洲综合校园春色| 国产在线激情| 热99这里有精品综合久久 | 色五月婷婷五月天| www.91理论| 78m成人视线| 密臀在线一区尤物| 国产精品美女视频诱惑| 国产AV精久久| 亚洲精品男人的天堂| 麻豆天美国美国产AV| 亚洲AV无码久久久国产精品| 国产欧美伊人| 日日AV加勒比| 亚洲欧美天| 免费视频一二三区| 一二三四视频中文字幕在线看| 99久在线精品99re8a| 国产久久一区二区三区野外在线| 精品乱码在线观看| 欧美人黑A片无码免视费| 思思热国产在线视频| 国产精品国产拍高清AV| 好好的日:com久久九九| 天天欧美| 97超碰天天爱天天爱| 91 刺激在线| 操曰本熟女| 色狠狠一区二区三区香蕉| 91久久九九精品国产综合| 国产极品99热在线播放69| 天堂伊人久久| 九九九精品色乱九九九| 中文字幕欧美丝袜07资源| 婷婷丁香五月天亚洲天堂网| 亚洲一级黄色毛片| 91九色首页| 日本精品人妻少妇一区二区| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 欧美日韩在线小说 | 亚洲AV无码乱码在线观看性色| 激激五月| 青青草AV色| 色久桃花影院在线观看| 一区 欧美 日韩 麻豆| 国产精品熟女一区二区三区| 亚洲天堂久久| 亚洲的天堂网| 日韩欧美中文日韩欧美色| 午夜精品久久久99热蜜桃的功能特点| 成人区人妻精品一| 国产av强奸美女| 九热大香蕉| 日本欧美不卡| 国产精品制服丝袜中文字幕日韩一区二区三区 | 大鸡巴久久| 国桃视频产巨乳精品一区二区在线| 国产精品在线网站| 欧美亚洲今日在线| 国产精品交换一区二区| 99精品人妻| www欧美性爱| 日日97| 激情丁香婷婷| 成·人免费午夜在线观看| 91neishe| 日韩 国产 欧美自拍| 99操| www…国产操逼| 日本高清熟女久久一区| 人人做人人妻人人夜视频| 综合一区中亚洲国产成人综合精品 | 久久久久久日韩| 97一区二区三区视频| 亚洲最新中文字幕免费| 日韩精品人妻中文字幕不卡乱码| 五月天婷婷综合| 国产人妻久久精品一区二区三区| 东京热免费视频| 亚洲无线观看久久| 国产视频大全| 嗯嗯啊啊视频在线看| 男人女人18禁片免费看网站| 亚洲精品97中文字幕| 日韩精品黄片免费观看| 91精品导航| 97人肏| 人妻一区视频| 久久久久久999| 91久久伊人婷婷青青草| 91久操| 久久 国产 无码| 色吧91| 蜜乳Av成人片网站| 人妻丝袜二区| 麻豆天美国美国产AV| 国产又黄又爽又刺激久久久久久 | 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 亚洲成人性爱网站在线播放| 亚洲在钱| a人欧美综合天堂麻豆| 91啪啪视频| 国产精品亚洲天堂网址| 成人三级片无码| 99久久99九九99九九九| 久久熟女人| 99久在线精品99re8| 小视频国产| 久久午夜色播影院免费高清| 清纯唯美综合亚洲| 少妇厨房愉情理伦片bd在线观看| 久久艹逼视频| CCYY草草影院地址入口| 91天天综合日韩欧美| 风月影院男女十八禁| 婷婷国产精品九区| 天天综合精品| 中文字幕老熟妇黄色视频| 日本韩欧美在线播放a| 私人尤物在线精品不卡| 欧美天天综合网| 青青草一本道福利视频| 欧美亚洲清纯| 神马久久69| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 超碰97综合在线| 国偷自 一区二区| 在线天堂999| 99青草| 男人的天堂,欧美亚洲另类国产日韩,日本高清一区二区 | 欧亚日韩三区| 亚洲中文字幕乱码无码一区二区 | 五月天日日操夜夜操| 成年人免费观看网站| 屁股久久久久久久久| 欧美熟女逼久久久久久| 96精品久久久| 日韩在线电影| 99re98| 熟女乱3伦999| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 欧美激情综合色综合啪啪五月| 亚洲国产欧美中日韩成人综合视频| 2018天天干在线视频| 亚洲日韩美国人妻| 人人考人人摸人人干| 久久久久成人蜜桃精品| 大香蕉天天看妹子| 91精品久久久久久| 熟啊v色欧美热| 国产午夜视频| 激情另类激情| 五月丁香社区婷婷日韩欧美精品影院| 亚洲一本色道中文无码aV天美| 欧美色综合影院| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 日韩美女,国产传媒,视频一区| 不卡一区视频| 久久国产乱子伦精品免费女,网站| 九九热免费国产视频婷婷伊人五月 | 中文字幕熟女人妻丝袜| 午夜精品久久一区二区| 图片区小说区| 蜜臀AV一区二区三区激情综合| 亚洲色图欧美另类在线| 玖玖超碰熟| 欧美激情内射| 日韩性爱1级片视频| 国人欧美精品一区二区| 欧美熟妇视频| 天堂中文日本在线观看| 婷婷啪啪| 超碰 国产熟女精品一区| 狠肏骚人妻| 97在线公开视频| 性爱Av免费| 久操热线| 九九久久国产精品| 91亚洲最新在线| 久一区久久蜜桃| 一级性爱视频免费在线| 亚洲高清无码AAA久久久精品| 色区久久| 二级久久网| 欧美亚洲日韩人妻在线观看| 欧美乱妇狂野欧美在线视频| 欧美亚洲自拍另类人妻| 天天综合色| 国产乱青青草久久| 丰满熟妇大乳做爰| www.91久久| 大香蕉92| 婷婷激情一区二区三区俺也去| 天天流夜夜操| 伊人aaa| 综合在线导航一区| 久久久久久九九九九九九| 国产欧美精选自拍一区| 国产精品久久久久综合| 天堂8在线新版官网| 欧美|91色综合| 台湾佬中文娱乐网久久久久久久久久com| 亚洲AV麻豆Aⅴ无码电影一| 韩国久久97| 岛国黄色大片网站| 国产精品久久久久久夜夜夜| 78精品| 小少妇| 精品欧美乱码久| 操逼逼中文字幕| 日韩综合97P| 蜜乳av一区二区| 大吊色| 久久久久深夜无码| 欧美性爱超碰97| 手机在线观看不卡无码av| 天天综合站| 中文字幕少妇色 | 亚洲精品国产av天美传媒| 欧美传媒| 男人天堂免费| 激情五月天综合网| 亚州精人品大香蕉| 91丝袜在线观看| 欧插网站| 午夜啪啪片| 五月天伊人网| 97超碰逼| 色婷婷六月| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 亚洲中文一区二区三区视频| 欧美色网络| 鸥美插入视频| 色五月综合| 极品欧美一区二区三区| 91综合天天看| 亚洲中文字幕乱码无码一区二区| 国产一区二区三区,在线观看观看| 亚洲国产麻豆一区二区三区| 亚洲第一页色网| 1区2区3区中文字幕日韩| 国产成人无码高清| 欧美性色欧美| 操少妞在线视频| 亚洲天堂东京热| 深夜国产一区二区三区在线看 | 人人操人人色人人摸| 久久爱超碰网| 婷婷五月天激情网| 亚洲av强奸乱伦| 欧美在线啊啊啊| 在线观看高清AV| 97国产精品| 97超碰精品图片| 亚洲av热热色| 天天添天天干电影| 亚洲黑丝在线| 人妻熟女av国产网站| 日逼国产| 青娱乐国产盛宴视频| 97国产精品一区| 天美一区在线| 午夜精品久久久久久久99| 九九热在线精品视频| 久久久中文版| 欧美日韩亚洲电影| 尤物AV免费网站| 99久久免费看精品国产一区| 欧美桃色网| 人妻精品视频一区二区| 亚洲欧洲日韩国产自在线| 国产熟女免费观看久久| 亚洲综合激情五月久久| 91精品久久久久久综合五月天| 欧美亚洲日本视频久久久| 日韩精品碰碰| 天天色综亚洲91污| 九色视频91| 九九热视频在线观看| 日本在线不卡123| 97综合在线| 超碰日本97美女人妻人人玩人人爱| 综合网,亚洲,欧美| 日日夜夜青青草母狗| 97公开久久| 草草影院日本第一页| 欧美一级A片不卡视频。| 久久肏大逼| 日韩欧美俄罗斯A片| 五月天偷拍| 物尤视频一区二区| 久久99干一本高清| 另类小说欧美激情校园春色| 秋霞色色影院| 深夜国产一区二区三区在线看| 日本在线激情一区二区三区| 国产精品久久久久av| 五月天黄色av| 骚货 中文字幕 av| 欧美激情久操网| 少妇高潮特黄A片| 91国产丝袜白虎| 午夜福利 成人 91| 亚洲无码成人精品| 久操大香蕉手机视频在线看| 欧美 日韩 另类 亚洲| 色综合天天爱去电影网| 曰韩操B| 蜜臀av一区二区三区免费观看| 伊色综合天堂色97| 久久久无码精品人妻二区| 精品丝袜无码一区二区三APP| 性色av婷婷久久一区二区点复制| 中文字幕制服欧美久久一区| 欧美激情一| 国产精品久久久| 久久无码成人| 日韩草久视频| 日本国产高清色www视频在线| 26uuu欧美| 91超碰丝袜制服| 高清视频一区| 色99视频| 综合色区偷拍| 日韩美女操b| 亚洲欧洲精品成人| 亚洲图片欧美偷拍| 中文字幕日韩人妻视频一区二区三区| 一区二区你上我| 操久久久久| 婷婷丁香成人| 99久久免费看精品国产一区| 8050无码八戒| 久久m| 国产精品熟女九色九色蜜臀| 久久国内| 天天躁日日躁XXXXYY| 亚洲 欧美 另类 日韩 人妻一区| 极品综合| 欧美国产一区二区三区麻豆传媒| 日韩少妇无码| 中文字幕国产精品1区| 亚洲色天堂九9| 97色碰| 日韩av不卡在线看| 国产成人亚洲精品自产在线| 天天干天天操天天拍| 欧美亚州手机在线| 黄色高清久久无码依人| 极品色社| 韩日男人的天堂| 艾草av| 日本www操操操| 国产成人精品亚洲日本| 婷婷涩嫩草鲁丝久久午夜精品| 一个人免费视频观看在线WWW| 九九亚洲视频| 色图四区| 亚洲综合激情五月久久| 极品出轨视频网站| 91精品久久久| 视频在线97| 在线精品福利免费播放| 麻豆精品.欧美精品.日韩精品.| 丁香五月天社区| 91制服丝袜| 激情五月激情综合网| 搡老女人老91二区| 成人精品视频一区二区| 国产传媒一区二区三区| 91久久久久久久| 久热最新在线杭州| 中文字幕 码 自拍 视频 区| 人妻色偷色噜| 亚洲三级。日韩三级| 久久久96精品| 岛国人妻少妇av在线观看| 大稥蕉免费视频这里只有精品| 色香综合天天影视综合| 国产精品成人午夜福利| 精品国产一区二区三区av在线资源| 久久五月婷| 亚洲欧洲色情高清| 女色视频社区| 久久久久久久久久久免费精品| 999热日韩精品| 久久婷婷在线观看视频| 天天躁日日躁AAA片李宗瑞| 99热在线只有精品| 91中文精品日韩欧美在线 | www.99在线| 欧美十八禁视频| 91模特在线观看| 亚洲老司机123专区| 草b在线 | 性做久久久久久免费观看软件| 97欧美日韩综合| 国产视频小说| 精品一区二区三区最新| 黄片免费久久久久久久| 被窝影院午夜看片无码| 精品人妻一区二区三区四区不卡在| 国产免费内射视频| 91欧美性| 亚洲AV成人无码一区二区三区在线观看 | 中文字幕乱码在线| 超碰在97| 亚州人妻| 亚洲激情网一二三四区| 国产精品免费视频不卡| 日本操大逼| 人人操我人人干| 国产成人亚洲精品无| 日本男人天堂| 伊人网高清| 国产 亚洲 丝袜 制服| 一二三区操逼国产91| 国产精品久久久啊| 日韩小电影| 亚洲爽图| 91精品老女人| 中文乱码字字幕在线第5页| 亚洲欧美黄| 精品人妻中文字幕高清| 1区2区3区视频| 精品无码欧美三级| 黄色片一区二区三区四区五区| 日本1区2区不卡视频| 久久青青草原免费视频| 久久香蕉综合一本到3atv| 色色婷婷五月天| 亚洲中文字幕97久久精品少妇| 亚洲激情深爱文学小说网站| 外国免费性情大片| 91bbbbbb| 男女猛烈无遮掩视频免费软件| 成人国产二区三区在线,男女精品。| 国产精品乱码久久| 一级二级三级黑人无码| 性色av网站| 6080yy午夜理论三级一区二区三区无码| 最新国产亚洲精品精品国产亚洲综合| 91狠狠综合久久| 99热色这里只有精品| 99久热精品99re6热| 国产精品97视频| 国产无码三级视频在线观看| 69精品久久久久中文字幕| 防屏蔽在线视频| 蜜乳AV.COM| WWW啪啪的com| 五月婷婷激情网| 国产精品九9| 成人日本片久久久蜜桃| 亚洲欧美97| 国产毛片在线| 久久日韩毛| 超碰久草| 精品人妻中文字幕4399| 中文久久爆乳| 丁香婷婷激情五月天无毒不卡| 91中文字幕制服丝袜免费视频| 国产成人精品必看 | 精品一区二区3区| 91网站在线播放| 国产精品福利资源在线尤物| 五月婷婷爱六月丁香色| 99精品丰满人妻| 在线视频97| 物业黑人 AV一区| 97在线视频免费看| 97任你吞精| 青草香蕉网| 少妇综合网| 亚洲一区二区精品福利| 欧色性第一页| 亚洲码在线中文在线观看| 久久精精区一区二区一蜜桃一区二区| 日韩精品人妻中文字有码在线| 牛牛AV人人夜夜澡人人爽| 日韩人妻少妇 一区二区三区| 日影院久久婷婷夜夜网| 日本精品中文字幕视频| 江都AV在线| 成人一二| 久久e6只有精品| 国产在线播放成人免费| 久久发布国产伦子伦精品| 97chaopengongkai| 亚洲日韩一区电影| 97色97好| 丰满岳乱妇一区二区三区 | 天堂麻豆天美| 丝袜人妻av一区二区| 人人操AV| 91成人18| 啊啊啊不要啊啊受不了了视频在线| 大香蕉免费3| 亚洲日韩乱码中文无码蜜桃臀网站 | 97精品97| 国产欧美日韩精品中文| 国产精品久久久午夜夜伦鲁鲁| 99ri精品| 老司机福利青青草| 操香逼| 亚洲欧洲自拍图片专区满春格| 熟女欧美日韩综合婷婷| 国产区性爱在线视频秋霞豆| 日韩午夜国产| 欧美很很操视频| 亚洲一区二区三区不卡国产欧美| 精品亚洲国产成人精品| 天天性射网| 激情综合五月天| 韩日男人的天堂| 另类小说综合网| 大乔未久88一区| 天天干,夜夜爽| 亚洲精品一区二区精品| 欧美精品不卡一二三四在线91| 日本日逼视频网| 亚洲 小说 欧美 激情 另类| 9长久久精品| 大香樵伊人网| 综合免费无码中文| 福利视频网站| 韩国毛片一区二区三区| 91扒丝袜综合在线| 高清国产av无码| A级毛片在线看免费| 日韩精品操少妇| 18禁超污无遮挡无码免费网| 国产性爱强奸乱伦大全| 土豪酒店各种姿势玩弄极品幼稚| 国产熟女少妇一区| 操逼日韩无码| 欧美一级久久久久久久大片动画| 亚州精品人妻一二三区| 久久999久| 天美传媒AV在线播放| 98福利在线视频| 欧美一二三区四五区| 久久免费精彩视频| 精品欧美А∨无码黑人大荫蒂 | 日韩精品黄片免费观看| 亚洲欧洲av影音| 好吊色青靑草| 久久99干一本高清| 亚洲第一二区另类图| 玖玖爱免费观看视频| 人人贴人人摸| 91视频伊人| 久久粉色| 欧美综合网A| 91白虎| 高潮9999外国| 自拍视频大全亚洲专媒视频/一区二区三区 | 欧美性爱日韩高清| 亚洲 暴爽 AV人人爽日日碰| 性色综合网| 72av视频| 青青草华人在线欧美在线| 我中文字幕6区| 少妇人妻激情四射| 大香蕉日亚洲日本亚大| 女生自91网站| 91撸色网 玖玖网 欧美| 亚州乱码中文字幕综合久久久| 美女黄频a美女大全免费皮| 国产无码高清操逼视频| 亚洲中文字幕熟女| 亚洲天天更新| 亚洲精品自拍| 成人97人人超碰人人| 亚洲va有码在线天堂| 日本一区二区三区午夜观看| 热99这里有精品综合久久| 中文字幕一区二区视频在线观看| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 亚洲九九视频| 久久99国产精品| V A在线| 在线αⅴ| 欧美日韩精品一区二区三区高清| 人看人人摸人人操| 狠狠色婷婷7777久| 亚洲码和欧洲精品激情系列| 熟女高潮合集-永久久久-成人AV| k频道色撸撸| 夜夜欧美 | 亲子敌伦对白在线播放| 日韩性爱视频在线免费观看| 操逼无码操逼| 成年女人18级毛片毛片免费观看| 翘臀vidoes| 五毛骚逼极品美女怕怕| 中文字幕99999| 狼狼色丁香久久婷婷综合五月| 99色在线视频| 黑人中出21连凳花野真衣| 99re在线视频这里只有精品| 国产精品操| 国产精品免费视频人成| 韩国轻伦国内自拍一区| 亚洲人精品久久久| 蜜乳中文字幕a在线| 国产欧美日韩在线不卡第一页| 操我啊啊啊啊啊| 大香蕉99re| 欧美一级久久久久久久大片动画| 天天综合AV| 性生活性生大爱77AV国产| 东京热天堂网| 999岛国大片| 精品国产久久乱码| 欧美A片中文字幕| 九九热男人天堂| 亚洲超碰综合网| 日韩操逼性鲍| 亚洲人妻一区二区三区| 蜜桃臀久久| 制度丝袜99| 精品免费1| 久久9精品| 日韩一级片在线看| 亚洲射综合网| 国产黄色剧情影片麻豆免费播放| 看一级黄色视频| 亚洲久草AV色图| 精品成人动漫一区二区| 久久毛卡| 麻豆伊人网| 国产精品麻豆成人av| 91在线视频免费中出| 黄页av| 特污免视频| 天天看天天日天天操| 艳美熟妇先锋一二三区| caopeng97人妻| AⅤ片水多多| 青青草国产亚洲精品久久| 人人妻人人澡人人爽久久av| 五月婷婷性爱| 亚洲一二三四区| 懂色AV一区二区三区| 国产高清自拍| 色色婷婷丁香| 国产熟妇 码视频户外直播| 大色综合网| 深夜视频| 婷婷综合在线观看| 91肉片| 欧美中文狠| 午夜免费福利视频一区| 精品国产乱码久久久A| 色情综合| 91A欧美电影网站| 夜夜高潮夜夜爽| 中文字幕精品日韩中文字幕| rivers-china.com| 色综合美国| 日本熟女中文字幕一区| 不卡六六在线91| 日本一区三级韩国| 成人五月天丁香激情综合| 欧美一区二区成人一卡| 亚洲熟女中文字幕在线| 九九碰九九爱97超| 国产精彩女在线观看视频| 91久久婷婷| 国产日逼视频| 97在线欧| 日韩少妇丰满亚洲| 综合国产影视三级| 亚洲高清欧美总合| 国产在线76页| 91av一区二区在线观看| 97超碰亚洲| 偷拍伦理视频| 私人尤物在线精品不卡| 老色鬼成人精品视频下载大在线观看| 久99久视频精选| 91亚洲色人| 亚洲电影中字一区二区| 1024精品在线| 在线情色电影 91大| av天堂手机版追回| 色欲无码人妻日韩欧美精品| 九热中文字幕| 91女日逼| 丰满丝袜少妇AV| 久偷拍| 亚洲欧美爆| 国产精品小视频一区二区三区| 黄色人人| 欧美性高潮在线| 欧美少妇性爱网站| 亚洲巨爆乳一区二区三区四季网| 欧美色图 人妻| 欧美熟妇人体| 日日日啊啊啊| 久久不卡一区二区 | 男女性感激情网站| 大香蕉一区二区在线观看.| 天美传媒AV在线播放| 99在线观看无大码| 六月丁香啪啪啪| 色狠狠综合| 婷婷丁香五月天综合东京热| 七月婷婷综合| 啊啊啊啊好疼| 久久久久久九九九九九| 亚洲综合欧美| 天天天操天天天爱| 亚拍在线| 久久国产999| 黄总AV色图| 精品视频专区| 东京热精品97综合网| 男人天堂站| 久久精品亚洲婷婷| 色婷婷丁香五月| 超碰调教97| 一区二区激情国产熟女| 五月开心网| 欧美视频边做饭边橾| 操美女高潮抽搐白浆| 26uuu国产| 日韩欧美午夜视频在线| 思思热国产在线视频| 入口操逼网站| 色优久久| 欧美97日韩| 老鸭窝在线视频播放| 国产老太乱伦一区| 色五天伊人| 九九性爱网| 四虎免费看黄| 99黄页网站| 欧美日本不卡在线| 日本人妻中文字幕精品| 3P乱轮视频| 高凊专区人人操| 日本精品性生活久久久| 97爱碰| 久久久久久久91| 国产精品自在线发布| 人夜夜精品网站香蕉嫩草| 金典av| 国产久久久久久| 天天搞在线综合网| 亚洲欧美激情另类色图| 天堂涩涩| 亚洲精品久久久久毛片A片拉屎| 国产精品视频内谢女人| 在线人人人人人人精品超| 欧洲无码一区二区| 日本高清一本二本免费不卡| 欧美人体性爱互联网第一页婷婷日本| 日本国产欧美高清在线| 日韩超碰精品综合| 亚洲欧美天| 国产欧美精选激情视频| 久久久久国产亚洲一区欧美色图日韩| 亚洲AV不卡在线观看| 人人操 欧美| 射 色综合| 2017天天操天天日| 日韩黄色av中文字幕| 99re这里只有精品3| 亚洲欧美日韩不卡人妻| 亚洲熟女性高潮久久久| 欧美AB在线观看| 国产欧美日产一区二区三区 - 国产欧美日| 97超碰人人模人人拍人人| 美女被啪到深处抽搐视频| 少妇人妻太紧太深av| 粉嫩在线一区二区懂色| 亚洲凸凹超碰成人| 国产精品嫩草影院免费| 99蜜桃臀亚洲成人在线观看| 亚洲成人精品在线一区| 亚洲情色五月天 | 337p大胆噜噜噜噜噜91Av| 中文一区二区婷婷视频| 嗯嗯啊好爽| 日本人人操人人操| 午夜精品久久久99热蜜桃的功能特点| 久久精品人体| 久久产精品一区二区三区电影| 国产精品成人蜜臀AV在线| 啊啊啊啊啊啊好湿好爽视频| PMv在线观看| 91最新综合| 国产高清成人免费视频| 少妇蜜汁| 伊人操你| 情侣操 逼视频99| 丝袜剧情| aV中文麻| 久久久婷婷| 亚洲春色一区二区三区| 久草成人福利导航| 成人免费视瓶| AV丝袜东京热| 任你爽视频| 久久久久亚洲Av无码专区老牛影视 | 91操碰| 超碰97人妻免费在线| 97色视频在线| 国模精品娜娜一二三区| 思思热国产高清| 久久香蕉国产传媒一区剧情天美| 啊v在线观看视频| 久久97资源 网| 欧美特大黄一级片片免费| 日本一区二区做爱的视频| 日本2020一区二区| 97WW精品| 成人性爱视频在线看| 伊人麻豆传媒| 国产乱码精品久久久久久|