国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成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亚洲欧美激情| 99色综合| 黄色网址在线免费观看| 亚欧性爱ab| 国产一区二区啪啪视频| 亚洲 中文 女同| 欧美日韩人人精品| 盗摄 精品 另类 一区| 欧美亚洲性爱一区二区| 热久久精品| 91天射| 欧美小说区视频区| 最新日本中文字幕| 成人一级性爱| 91综合在线| 91夜夜蜜桃臀1区2区3区| 丝袜狠狠草尤物 91| av日韩中文字幕| 夜夜爽夜夜| 日韩中文字幕视频在线观看| 偷拍亚洲高清图片| 99re这里只有精品2| 成人AV超碰免费在线| 色优久久| 五月开心久久AV官网| 久操免费在线| 射欧美综合| 日本中文熟女视频| 国产精品久久久久亚洲av| 色图综合网| 五月激情综合网| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 一区二区三区看视频| 日韩精品亚洲一二三| 久久青青草原免费视频| 亚洲国产综合久久天堂| 91视频在线观看18| 久热免费视频| 亚洲人妻色图| www久久99| 日日骚网站| 久久婷五月| 亚洲成成熟女人综合一区二区| 久久成人国产| 懂色影视久久| 婷婷色导航| 国产久久天堂资源| 草草影院在线视频| 91五十路| 人妻人人澡人人爽人人| 一本大道不卡一二三区| 强奸乱伦大香蕉| 亚洲 欧美日韩 另类| 日本人妻A片成人免费看片| 亚洲欧美综合| 啊啊啊啊免费视频| 日本一二区免费| 2019亚洲男人天堂| 亚洲高清欧美总合| 中文一区二区| 欧美三级免费伊人| 久久久久久久久久9| renqi久久久久久久久久久久| 国产丁香精品露脸视频| 粉嫩av在线一区二区| 青青草久草AV| 9999免费精彩视频| 亚洲人妻久久| 久久综合女优| 午夜国产成人福利视频| 不卡视频一区蜜桃视频| 性感女人网页在线观看视频| 97在线资源| 国产精品岛国片在线观看| 久久久久国产精品人妻aⅴ天堂| 欧美极度丰满熟妇hd| 综合色好色| 区二区亚洲婷| 天天色播亚洲综合网站| 大胆91| 精品国产a∨一区天美传媒| 免费一级特黄特色大片在线观看看| 亚洲蜜臀精品视频久久| 日本操逼视频在线| 90后性网国产欧美| 99国内熟女露脸视频| 久久有码视频| 艹少妇网站| 欧亚久久偷拍视频| 蜜臀久久99精品久久久久| 色色色日本| 91三级理论片播放器| 男人兔费天堂| 日韩欧美资源| 九月激情婷婷| 国产性刺激| 美女上床网站| 欧美黄色片在线播放| 色综合网1| 色蜜AV| 亚洲欧美一区二区不卡视频播放| 丰满人妻-区二区三区免费看| 欧美αv.com| 99精品在线| 色网1| 999久久久免费精品国产牛牛| 人人做人人妻人人夜视频| 少妇诱惑视频| 人妻91少妇| 欧洲黄色网| 欧美日韩性爱精品| 青青草在线视频播放器| a在线视频免费观看| 久久、1234| 免费精品无码一级毛片牛牛影视| 99久久婷婷国产综合精品草原| 久操操| 日婷婷| 国产视频一区二区在线观看| 精品少妇99| 国产剧情AV不卡在线观看| 亚州操操穴网| 国产强奸AV在线| 婷婷五月在线视频| 精品在线78| 俺去俺来也在线www| 欧美高潮在线| 中国操逼无码| 夜夜骑操视频| 国产 热久久久久国产精品| 污污污8888| 天天日天天操天天射河南省| www.色五月| 51一区二区三区| 免费视频a级毛片免费视频| 天天操人人操骚逼网站| www.99在线| 91痴汉| 日韩女模中文造逼| 天天综合网~91| 97色伦欧美| 丰满人妻-区二区三区免费看 | 国产高清在线自在拍69| 成人精品一区二区91毛片不卡| 人妻天天爽夜夜爽爽| 98久久超碰| 欧美在线播放aaaa| 女人久久久| 99热这里只有精品9| 久久久久九九九| 嗯阿好爽好紧| 在免费jIzzjIzz在线视频| 久久久草草精品| 精品一区二区成人| 91欧美网| 91 亚洲情侣偷拍 久久| www.夜夜| 国产午夜福利电影免费在线观看| 嗯啊啊啊轻点视频| 偷看洗澡一二三区美女| 国产又黄又爽| 天天摸天天舔天天操| 色婷婷九月天天综合| 日韩专区久久久| 男人夜色天堂ss| 天天夜躁日日躁狠狠2002| 久久精品国产久精国产| 日本大片日本一区二区免费高清| 日本黄色精品专区网站| 欧美日韩亚洲天堂| 亚洲男人天堂2013| 欧洲色| 国产亚洲性生活视频播放| 久操网在线| 婷婷综合久久| 草莓精品视频在线免费观看| 骚女天天综合网| 亚洲自拍欧美国产首页网曝| AV九九| 污污汅18禁网站在线永久免费观看 | 99自拍B亚洲 | 久久蜜桃一区二区| 超碰综合色| 在线不卡视频| 人人 操人人 操人人| 麻豆精品天美| 丰满欧美少妇| 亚洲天堂区| 日韩 欧美 视频 在线 一区| 国产极品馒头逼| 91在线/欧洲| 91美女视屏| 99久久亚洲精品无码毛片潘甜甜| 91美女视频直播| 96国产污污污丝袜| 热久久九九热| 麻豆国产成人精品| 亚洲国产剧情少妇激情| 亚洲 中文 女同| 中文字幕jul-617人妻熟女| 中文字幕人妻资源在线| 亚洲黄色电影| 大香蕉日韩欧美| 亚洲自拍欧美国产首页网曝| 午夜精品一区二区三区三上悠亚| 亚瑟国产精品久久无码| 国产精品熟女九色九色蜜臀| 免费看片黄| 另类欧美色| 色欲久久99精品久久| 蜜臀人妻少妇久久在线观看| 91伊人影视综合| 丁香六月婷| 国产69精品久久久久99尤物| 性爱视频无打码在线观看| 亚洲欧洲成人在线电影| 久久久性| 欧美综合国产精品久久丁香| 伊人网免费视频| 一区二区三区高清 | 色呦呦呦在线观看视频| 欧美极品性爱天天射| 香蕉欧美| 国产无马在线| 中国一级操逼视频| 久久精品国产亚洲AV片多多| 成 人片 黄色大片| 日日夜夜免费| 曰本人妻人人澡人人夹| 欧美操逼熟女| 香蕉久久国产AV一区二区| 日韩一性一交一A片俄罗斯 | 亚洲一二三四区在线免费看视频 | 熟妇一区二区| 色牛aV| 国产亚洲福利第一页丝袜| 强被迫伦姧在线观看无码网站| 97视频在线| 美日韩男女操屄视频| 综合伊人激情| 看一级黄色视频| 五月天开心网| 精品二999| 99精品无码| 92久久| 四虎午夜影院| 日韩黄色一区二区三区| 亚洲熟妇丝袜在线观看| 狠狠2050在线观看| 澳门色噜噜色噜噜色噜噜色噜噜色噜噜| 伊人九九九| 1240青青草一区二区三区视频天爱| 超碰97人妻在线| 亚洲熟女性高潮久久久| 亚洲熟妇自偷自拍另欧美| 91色艳| 男人精品天堂一区| 欧美加勒比| 欧美激情性久久久久久| 六月婷婷激情| 99re3这里只有精品| 婷婷亚洲综合| 日韩欧亚中文在线| 综合网天天| 中文字幕91页| 男人的天堂在线有码| 97精品一二区| 午夜欧美精品久久久| 伊人一级免费黄片| 日韩啪啪视频| 丝袜美女诱惑 91 视频| 亚洲天堂一区| 色婷婷五月综合激情中文字幕| 天天透伊人| 国产精品69久久久久孕妇欧美| 91九色丨风韵犹存| 黄色片大香蕉| 啊啊啊好疼| 国产无吗在线播放| 亚洲男人天堂2016| 亚洲精品国产精品成人| 91欧美| 天天日熟妇| Sekablack无码一区| 黄色av一区二区在线| 福利风月五月天影院| 97操碰| AV污污污污| 亚洲AV不卡在线观看尤物| 亚洲丝袜综合| 国产精品小视频一区二区三区| rivers-china.com| 日韩丝袜二区| 99999这里都精品| 欧美特大AA级黄片| 日本亚洲vr欧美不卡高清专区| 亚洲交性| 日本性爱欧美性爱| 人妻少妇精品久久久| 沈阳熟女高潮对白视频| 黄色高清久久无码依人| 午夜美女福利视频| 欧美色九九九| 老熟女网站| 亚洲AV无码乱码| 欧美九九爱| 欧美 亚洲 在线| 91丨九色丨43老版熟女| 97频视在线| 午夜精品久久久久久久99蜜桃一| 欧美亚洲清纯| 久久XX| 色九久| 精品久久久亚洲AV成人网站| 2017,超碰| www.夜夜| 人妻铁牛TV| 精品一区96| 欧美偷拍区| 果冻传媒A片一二三区| 嗯啊抽插大香蕉网页| 区自美91| 天天添天天干电影| 91综合网站| 91中文精品日韩欧美在线| 三级精品三级在线观看| 国产AV人人夜夜澡人人爽麻豆| 亚洲 一区二区 自拍| 综合欧美色图| 四虎AV无码| 福利社区午夜一区二区| 激情啪啪视频| www.色婷婷| 中国AAAAAA黄色片| 激情四射婷婷六月天| 欧美极度丰满熟妇hd| 熟妇一区二区| 日本大香蕉| 日韩激情电影中文字幕| 一本色道久久综合狠狠操| 免费的黄片wwwwww| 日韩极品无码B| 欧美青青视频| 久久黄黄| 日韩人妻免费精品| 成全动漫视频观看免费下载| 国内毛片四区| 刺激精品视频| 夜夜操狠狠操| av最新免费中文字幕| 97日韩欧美亚洲| 亚欧中文字幕在线视频| 九九色婷婷| 永久免费av无码网站国产app| 无套后入双马尾| 91美女视频在线免费观看| 九色97| 亚洲精品a人片在线观看视| 少妇久久久| 亚洲在线A| 97精品视频免费| 欧亚洲精品有视频| 99久久久久| 岛国大片国产| 国产成人精品必看| 国产偷人伦激情在线观看| 国产精品一区二区后入| 高清不卡国产| 区一在线观看| 日韩99神马视频播放片在线播放| 中文久久爆乳| 国模少妇一区二区三区| 日韩乱伦AⅤ| 97色亚洲| 亚洲色人阁| 91在线国产后入风骚翘臀美女素人| 大香蕉综合| 日韩不卡a级视频专区| 婷婷探花久久精品一区| 999 久久久| 国产suv精品一区二区四区999| 夂久色| 成人看片网站| 国产麻豆一级精品视频| 国产综合网站在线播放| 亚欧性爱ab| 激情国产乱伦Av| 最新三级网址| 日韩av不卡在线观看| 成 人片 黄色大片| 亚洲制服欧美另类内射| 3p国产欧美99热| 亚洲强奸乱伦影视网| 欧美一级A片不卡视频。| 欧美gv在线观看| 欧美碰碰综合色| 欧美日韩狠狠爱| 91精品国产91熟女| 少妇无码999| 亚洲小说视频| 亚洲综合欧美| 免费精品无码一级毛片牛牛影视| 九九久久玖玖| 92性色国产午夜福利在线661| 大学生美女口爆| 超碰78| 中文字幕在线免费观看2| 国产2.3.4区| 91美女视频在线观看| 国产精品操| 国产60页| 性色生活片久久毛片婬片免费放女人一级毛片 | 国产日韩美女小穴视频网站不卡| 久久精品超碰| 欧美伦乱| 人人干人人操人人爱| 蜜乳Av成人片网站| 国产第25页在线观看| 青青草天天亲夜夜操网| 极品五月天噜噜| 亚洲日本韩国极品一区二区| 密臀AV在线| 中文字幕一区二区三区蜜桃视频| 伊香蕉综合久久久久久久噜噜噜 | 中国zzijzzijzzwww精品| 午夜福利成人免费视频| 天天看综合网| 人妻丝袜肏逼| 五月天亚洲色图| 亚洲无线码欧洲精品区别| 亞洲久久直播| 中文字幕精品丝袜| 欧美偷偷网| 日韩猛交| 免费一级欧美片片线观看| 1956日韩精品| 丝袜色综合| 绯色一区二区三区不卡少妇| 欧美劲爆视频一区二区| 99国产精品久久久久久久成人热| 偷拍片久久| av爱爱爱| 国产精品九9| 亚洲 欧美 日本 国内 首页| 国产精品久久久久无码Av网曝门| 国产欧美日韩在线观看麻豆传媒公司 | 91欧美美女日韩国产婷婷| 91熟女视频网| 国产精品日韩在线一区| 亚洲天堂 视频你懂的| 欲香欲色天天天综合和网| 91精品网站| 日本在线播放不卡一区| 国产九区| 操逼无码操逼| 一本一道人妻久久一区二区三区 | 欧美日韩人妻精品一区二区三区 | 欧美天天谢综合网| 日韩精品-原创伙伴| 51一区二区三区| 狠肏骚人妻| 91狠狠狠| 黄片视频观看| 超碰激情808| 亚洲精品久久久久久久蜜桃臀| 欧美日韩中文亚洲v在线综合| 亚洲男人的天堂V| 丰满少妇一区二区三区免费看| www色色色com| 国产精品直播在线观看直播| 日韩在线观看AV| 人妻爽爽啪视频| 色综合久久夜色精品国产天堂| 九九热免费国产视频婷婷伊人五月| 五月天黄色激情视频| 家庭乱伦麻豆| 91美女视频。| 偷拍五区| 中文字日本乱码| 久久久久久久久久久97| 欧美激情欧美精品| 精品久久大胆人体| 后入日本1234| 精品视频久久区| 日产中文字幕2020| 日本 免费 一区二区三区 久久香蕉 | 久久精品人体| www.婷婷| 日韩激情视频| 智利AV在线网| 国产精品乱码久久久| 久久精品国产亚洲av水密被窝| 亚洲吊色| 日本不卡免费二区| 人人操人人肉久久精品| 国产成人无码啪| 黄网色一区二区三区四区精品| 99色天堂| 成人欧美日超碰| 九九九九久久久久| 美国aaaaa一级黄片| 日韩乱插| 东京热激情视频一二三区| 香蕉在线一区二区三区| 九九英色视频| 国内外毛片在线观看| 色网亚洲人| 青青青青青手机视频| 日韩操逼HD| 蜜色网色哟哟| 欧美精品欧美精品系列| 成人片在线播放| 婷婷99狠狠躁天天躁| 色狠狠 - 百度| 久操婷婷| 天天情欲宗合网| 无码动漫av中文字幕| 99久久婷婷国产综合| 裸体1区| 日本www操操操| 国内毛片无遮挡国产| 欧美一区二区三区另类精品| 97天天搞在线| 大香蕉日亚洲日本亚大 | 操啊国产| 在线另类| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 最新日产中文在线麻豆| 色婷婷九月| 天天干夜夜操一区二区| 日韩人妻有码免费视频| 亚州操操穴网| 98人妻精品一区二区色欲| 劲爆欧美人妖三区91| 思思热国产高清| 国产成人亚洲精品自产在线| 无码人妻一区二区三区免费九色| 深夜激情无码| 校园春色AV天堂| 亚洲精品视频二区| 天美传媒精品久久视频| 天美传媒av 在线| 亚州综合| 是还免费视频1727我| 国产午夜福利电影免费在线观看 | 欧美色性爱| 狠狠爱夜夜干| 少妇滛荡视频| 久久久久亚洲Av无码专区老牛影视| 婷婷色一区| 色在线亚洲视频www| 日韩资源网| 男人的天堂成人的社区| 中文自拍欧美影视| 欧美黑人熟妇精品91| av在线资源| 日韩欧美性吧婷婷乱伦大香蕉| 操我啊啊啊啊啊| 欧美劲爆视频一区二区| 国产精品免费久久久久久久久久| 欧美亚洲成人在线一区二区三区| 91超碰人人| 久久久激情| 亚洲av无线观看| 韩国毛片一区二区三区| 国产成人在线观看综合| 自拍偷拍第26| 国产又黄又粗又猛大片| 91日韩网站| 亚洲日韩XXX| 熟女精品一区二区在线观看| 亚洲国产精品久久久久久久久久| 欧美在线永久天堂| 超碰97护士| 亚洲女优有码无码高清| 九九九九一区| 综合少妇网| 中文字幕av片| 国产精品诱惑| 日韩日本欧美在线观看| 肉动漫无遮挡h在线观看| 久久久亚洲精品中文字幕人妻| 91伊人久久在线| 国产美女精品| 97欧美色| 亚洲情色综合| 岛国免费黄色网址| 国产成人99久久亚洲综合| 蜜臀久久99精品久久久久| 色噜噜狠狠色综无码久久合欧美| 久久粉色| 亚洲欧美日韩免费电影| 亚洲精品成人激情在线| 日韩无码专区| 嗯嗯啊啊好大好爽| 国产精品久久蜜乳av| 丝袜足交视频| 久久国产在线一区二区| 亚洲国产ⅴ高清在线观看| 性色生活片久久毛片婬片免费放女人一级毛片| 中文人妻av高清一区| 风流老熟女一区二区三区l| 日本黄色大片一级视频免费麻豆| 久久AV无码网址| 国产亚卅97| 日日躁天天躁狠狠躁| 蜜汁欧美| 亚洲AV秘 精品久久老牛影视| 欧美综合区| 99国内精品| 厕所偷拍在线| 国产精品农村妇女| 久久九九网| 久久日本熟女精品一区| 欧美狠狠鲁| 欧美成人贴图| 亚洲AV无码翔田千里网站| 五月丁香六月| 97美日韩视频| 日韩AC| 欧美在线大香999| 亚洲成人av电影在线| 99色色网| 干妹子| 天天天天天天天天天天干美女| 97精品97久久| 国产成人无码久久精品| 夜精品久无码| 国产家庭乱伦表演| 后入美女国产| 三上悠亚在线毛片91| 亚洲 图片 综合91| 亚洲欧洲中文日韩女优乱码| 久久国99999| 免费A V在线播放| 97bbn| 操操操五月天婷婷丁香影院| 1024亚洲中文字幕久在线看片你懂的| 麻豆视频一区二区| 日韩一级欧美一级在线观看| 欲香欲色综合天天伊人| 6080yy午夜理论三级一区二区三区无码| 91高清日| 久久久久骚| 欧美乱伦专区| 玖玖大干人妻| 97色色色综合网站| 中文字幕一区电影在线观看 | 人妻在线视频| 亚洲性天堂| 天天弄欧美| 久久性爱视频99| 亚洲超碰综合网| 免费av大片| 強姦亂倫a| 熟女精品一区二区在线观看| 男人的天堂激情| 五月天激情小说网| 无码国产Av| 1769一区| 伊人久久AV诱惑悠悠| 欧美综合中文| 俺也射| 九九九九97| 免费看污网站| 国产人妻精品久久久一区二区三区 | 蜜桃臀AV在线| 在线视频一区二区传媒| 五月婷婷无码| 亚洲欧洲偷拍一区| 色色婷婷五月| 婷婷六月色| 97精品综合久久网| 操少妇很爽av| 久久一区二区三区入口| 日韩A优精品在线观看| 蜜乳AV免费观看| 富女玩鸭子一级毛片| 黑人免费福利视频| 91亚洲欧洲| 狠狠入| 亚av顶级裸体一区二区三区四区五区| 久久大线蕉一区| 黄色片G G G| 蜜桃视频啊啊啊啊| 伊人少妇久久久| 91在线一起| 欧美一区二区三区成人性生活| 欧美日韩亚洲国产中文永久天天看| 男人的天堂99| 欧美传媒| 91黑人无码激情在线| 久热婷婷| 麻豆人妻少妇在线免费观看| 激情文学欧美| 日韩九九九| 久久综合九色综合欧洲98| av毛片aaaaa免费看| 91精品人妻一区二区三区蜜臀| 大香蕉懂9| 一区操逼日比视频| 日韩97在线| 一区二区免费电影久久| 亚洲成人久久一区二区| 六月丁香啪啪啪| 超碰99热中文字幕| 欧美色另类| AV乱伦国产| 丁香六月婷婷久久综合| 超碰97资源大奶| 91国内外在线| 久久国产逼| 国产欧美日韩女同性恋ww喷水精品 | 日夜伊人网| 国产精品点击进入在线影院| 91色婷婷综合久久中文字幕二区| 日韩人妻精品中文字幕| 国内精品a| 黄色小说亚洲| 欧美亚洲激情| 搡老女人老妇女老妇老熟女怎么读| 亚洲人妻日日日| 美女露胸露尿口| 东京热双插| 自偷自拍的亚洲视频| 久久美国毛片| 日本一级真人黄色性爱视频| 东京太热久久久| 97免费视频在线| www.色五月| 欧美日韩色| 99这里只有精品| 二级毛片| 爱射综合| 夜夜草天天| 欧美一二三区四五区| 色综合av综合久久| 色综合一本| 干b在线性社区| 人人操我人人干| 成人片视频| 久久鲁干| 亚洲欧美国产中文视频| 夜夜爽妓女| 亚洲无码视频免费在线观看网址! J?P?NESEHD熟女熟妇伦 | 91白嫩| 性欧美天天| 天天视频综合在线观看视频| 资源新线在线天堂| 熟女中出视频| 国产乱伦性爱AV| AV一起草在线| 玖草在线视频| 9997se| 操我啊啊啊啊啊| 亚洲成人免费中文字幕| 四虎免费视频| 久久啊哟| 人人干人人操人人..com| 欧美一级黄片视频在线| 久草精品一区| 目产99999久久999| 婷婷尹人大香蕉免费| 亚洲av综合色区无码一| 手机在线中文字幕国产| a'v在线资源| 夜夜爽夜夜操| 伊人精品国产| 97资源免费视频| 精彩国产视频播放1区2区| 欧美一级做a爰片免费视频| 伦激情人妻另类人妻| 中日韓欧美高清| 国产精品97超碰| 火箭成精品视频884必出精品| 台湾佬激情综合| 色婷婷五月天| 九九九综合精品| 一区二区三区四区五区高清无码永久视频 | 欧美18 在线观看| 久久狠狠色噜噜狠狠狠狠97 | aa片毛片| 欧 美 自 拍 偷 拍| 97人妻免费中文字幕| 色欲久久久久综合网| 精品无码一区二区三区| 日韩性爱毛片操骚逼| 黑人精品成人一区二区三区 | 欧美熟妇精品黑人巨大一二三区| 青春草A| 日韩国产九九精品一区二区三区毛片| 91熟女.com| 国产9熟妇视频网站| 男人天堂 天天射| 清纯唯美综合| 日韩人妻制服丝袜av| av无码av无码专区| 久久婷婷精品| 综合91网| www.av家庭乱伦| 国产多人在线观看视频| 欧综合网| 国产亚洲禁久一区二区| 欲香欲色天天天综合和网| JuliaAnnXXX888| 超碰精品国产无码| 99热精品在线观看| 成人免费看吃奶视频网站| 国产又色又爽又舒服的三级视频| 日韩紧密久久| 国产精品在线网站| 男女性扦B| 国产三级片在线观看| 亚洲欧洲国产综合av| 亚州色交| 亚洲小说视频| 97色婷婷| 物业黑人 AV一区| 色欲Av人妻精品一区二| 看日韩美女二区三区免费操逼视频| 在线啊啊啊啊| 三级色影综合网| 99欧美| 中国91AV| 婷婷久久五月| 国模久久在线| 在线综合 亚洲 欧美中文字幕| 欧美白嫩女HD| 午夜毛片亚洲精品片国产久久久| 欧美日韩超碰在线| 欧美亚洲激情| 久久天天躁日日躁狠狠躁| 日韩免费a级毛片无码a∨| 久久久久久久久久久久久久久性生活视频 | 春色综合网| 99啪啪视频| 美女操逼A A| 艾草av| 人妻91少妇| 超碰亚洲97| 免费又黄又裸乳的视频| 中文字幕第23区| WWW.加勒比人妻一区不卡.com| 天天操人人操狠狠插| 暴力av在线| 成人综合网 欧美| 国产精品视频一区二区三区八戒| 国产精品丝袜在线| 精品国产一级久久| 思思热一热婷婷热一热| 欧美精品 - 91爱爱| 天天操天天干一区二区| 欧美日韩欧美| 青青草原成人| 久久国产对白激情浪潮 | 北条麻妃99精品青青久久| 成人26uuu| 福利视频网站| 曰本特级特黄特色黄色A级网站高清在线免费看 | 性欧美| 日韩天天本| 久久国产精品91| 黑丝自慰喷水网站| 国产一区二区三区白丝| 中文熟女五十乱码在线| 天天看综合网| 大香蕉www.超碰| 久久国产熟女影院| 97国产超碰| 国产综合久| 美女黄色91| 久久久久9999妇女| 久久精品72| 91操碰| 狠狠操夜夜| 夜夜天天噜狠狠爱2021| 天天草夜夜草高潮片| 18禁无码永久免费无限制| 欧美色图综合| 激情抓乳插进去啪啪啪日韩| 尤物视频一区| 在线电影亚洲色图| 日韩精品午夜操呦呦不卡影院| 屁股久久久久久久久| 青青草原人妻| 天天澡天天爽日日av| 国产色产精品在线观看| 97无码视频在线播放| 久久香蕉国产线看观看亚洲女人| 精品少妇人妻一区二区三区| 亚洲交换| 色色97爱| 老子午夜伦不卡影院| 色欲无码人妻日韩欧美精品| 亚洲AV无码成人精品久久| 成人色女网| 亚洲毛片久久| 日韩亚洲中文字幕在线| 日本片日本片祼观看网站在线看中文版网页在线看 | 久久精品六区| yazhououmeizongya| 97操| 中文字幕一区日韩精| A啊啊在线观看| 日韩有码专区| a久久| 91碰碰| 久久久一区二区| 成全在线观看免费观看| 亚洲精品成人| 嫩草 我啊~嗯~在线| 香伊人在线| 91丨九色丨东北熟女| 久久熟妇五十路一区| 人妻丝袜美腿中文字幕| 亚洲 欧美 中文 日韩超碰| 97频视在线| 嗯啊抽插大香蕉网页| 国产成人精品午夜福利| 美女视频尤物网在线看| 在线综合 亚洲 欧美中文字幕| 热G综合热G中文| 丁香六月婷婷久久综合| 天堂射| 日本污ww视频网站| 搞中出久久| 啊啊啊97视频| 久久草在线综合视频| 91国产丝袜美女| 亚洲天堂,男人| 爱爱啊啊啊| 国产一区二区三区,在线观看观看| 69XX一中文字幕人妻91| 国产丝袜美女诱惑| 欧美色图91| 蘋果手機免費看成人Av| 久久91精品国产9丨久久分亭| 国产中午字一暮区| 久久精品性| 亚欧成人综合影院| 天天综合,91入口| 人妻久热在线| 亚洲天堂热| 欧美日韩97| 久久久免费视频18| 丁香六月啪啪| 看免费一级在线播放毛片| 成年在线视频日本亚洲在线视频区精品江靖宇公司 | 爱av免费| 久久丁香久草综合网| 久久大香蕉97| 青青草在线视频人人想人人上| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 久久久偷拍| 国产少妇内射| 中文字幕欧美日本乱码一线二线| 超碰久热| 99热91| 狼人久草| www.av在线观看| 国产亚州高清国产拍精| 黄色av网站在线播放| 日本在线观看网址| 国产三级中文字幕粉嫩| 97国产超湿| 最新日韩黄片| 女性喷水高潮在线观看| 丝袜AV一区二区三区| 欧美激情专区| 69视频入口| 美国日韩黄片| av最新免费中文字幕| 国产亚洲精品A在线观看下载| 天天躁日日躁AAAAXXXX国产| 中国女人内射6XXXXX| 久久性生大片免费观看性| 成人免费性爱视视| 日韩免费三级黄片电影| 午夜福利激情在线视频| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 操91| 人人妻人人澡人人爽人人精品浪潮| 后入式免费视频| 久久久亚洲| 日本一区二区不卡精品| 1769精品一区二区三区| 91婷婷| 久久99草| 一区二区三| 国产成人精品日本视频| 操人无码| 91 亚洲情侣偷拍 久久| 亚洲九九视频| 色黄污美女啪啪啪免费网站| 色情综合网| 91超碰碰在线| 天天爱天天操| 8050午夜少妇无码| 亚州再线| 中文乱码字字幕在线第5页| 色乱二区| 91欧美成人色站| 日本久久女同性恋视频| 强奸乱伦av电影| 美腿丝袜高跟网免费视频免费视频| 精品人妻一区二区三区鲁大师| 日本潮催一卡操| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 欧美极品女人的天堂| 97爱啪| 亚洲欧美综合区自拍另类| 91狠婷| 欧美Ⅴ性爱| 情色av电影| 亚洲在线网站| 熟女人妻av在线资源,黄色的资源| 天天舔天天日天天射| 亚洲第2页| 欧美综合色综合| www.黄色在线| 亚洲性刺激| 国产精品一级毛片不卡视| 青青草精玖玖69精品| 偷拍三区| 91熟女综合| 婷婷综合网站| 亚洲图片欧美偷拍| 91大学精品激情戏| 亚州欧美色图| 在线视频五十市| 亚洲国产欧美另类自拍| 91在线丝袜| 免费看黄视频亚洲网站| 黑人性欧美| 三上制服丝AV| 色综合久久88色综合久久天天| 麻豆天美在线| 91骚妇| 337p大胆噜噜噜噜噜91Av| 国产精品人妻无码久久久互動交流| 色女综合| 欧美性爱在线无码| 男人天堂网站| www.人人摸在线视频| 色综合潮| 人妻天天爽夜夜爽爽| 久久一区二区三区入口| 精品久操| 欧美色图成人网一区二区 | 日韩一级欧美一级在线观看| 91丝袜在线播放| 福利一级版子| 97青青操视频| 欧美在线伊人色| 五月香婷婷| 亚洲图片偷拍视频区| 色成人Www精品永久观看| 欧美精品三区| 夜夜爽夜夜| 91A欧美电影网站| 极品粉嫩少妇视频| 日韩精品作爱导航| 亚洲欧洲第二视频在线观看色图| 久久久久精| 欧美狠狠弄| n1038 一二三区| AV天堂丝袜| 青青草原人妻| 天天夜夜久久| 免费看污网址| 97在线资源| 婷婷丁香人妻| 91欧| 成人日韩3| 99热这里只有精品地址| 国产高清免费不卡av| 天天色黄色影院天天操| 精品v日韩欧美国产| 中国一区二区亚洲人妻| 色婷网| 5252色欧美在线| 国产精品欧美激在线| AV色五月| 国产女同在线观看视频| 影音先锋日本一区二区| 久操精品网| 96免费视频在线| 人妻喷水| 久久精品国产亚洲AV先锋| 国产精品制服丝袜清纯唯美| 伊人网av| 色哟哟精品1精品2| 污色区网站| 免费人成?大片在线播放| 97久久超碰国产网站| 一区二区三区四区在线不卡| 97干在线视频| 日韩欧美中文| 天天摸夜夜摸| 好属操| 伊欧美综合视频| 亚洲免费日韩在线一区二区| 欧美亚洲色的图| 日韩高清黄片| 熟妇人妻一区二区| 加勒比综合88| 久操网线| 青青草在线视频美女| 欧美一二三级精品在线| 男人天堂久久精品| 啊啊啊啊无码| 欧美操逼一二三区| 神马九九| 日日爽熟女| 五月丁香六月激情综合| 加勒比色99999| 免費黃色視頻觀看一| 偷拍综合亚洲| 国语国产操逼伊人AV网| 色网在线| 再深点灬舒服灬太大了好硬好爽| 91老妇女| 天天日日夜夜| 婷婷丁香激情| 2017大香蕉国产精品久久| 国产精品不卡高清在线观看| 超碰天天久久79| 欧美日韩在线国产在线| 久久久啊啊啊| 色色色色色色色色色色色色色色综合 | 久久啊啊啊视频| 久久人妻精品| 亚州一区二区| 亚洲drav色图| 欧美夜夜狠| 日本色色色视频| 亚洲精品国产熟女久久久| 99国产人成精品| 在线观看高清AV| 歐美一級亂黃99在綫精品| 亚洲精品无码久久AV| 99999国产精品| 91青青在线视频| 大奶啊啊好爽| 天天躁日日躁XXXXYY| 熟妇乱伦一区二区| 日本一天色道久久久精品视频| 国产精品亚洲美女久久久久| 69av一区二区三区| 欧美综合色,www| 大香蕉色网| 婷婷激情一区二区三区俺也去| av凤凰久久久| 日韩性爱再线视频| 青娱乐999|