日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

RP2350雙Type-C開發(fā)板實(shí)戰(zhàn):從C SDK到MicroPython的USB開發(fā)指南

RP2350雙Type-C開發(fā)板實(shí)戰(zhàn):從C SDK到MicroPython的USB開發(fā)指南 把開發(fā)板直接插進(jìn)電腦 USB 口就能燒錄、調(diào)試、運(yùn)行程序這是很多嵌入式開發(fā)者夢寐以求的體驗(yàn)。微雪 RP2350-USB-CM 就是這樣一塊形態(tài)特別的迷你開發(fā)板它把樹莓派最新的 RP2350 雙核微控制器和兩個 Type-C 接口組合在一起其中一個 Type-C 是公頭可以直接插到電腦、樹莓派或擴(kuò)展塢上另一個 Type-C 是母座可以再連接其他 USB 設(shè)備。換句話說不需要額外準(zhǔn)備數(shù)據(jù)線拿起來一插就是一個即插即用的 USB 小模塊。本文會從 RP2350 這顆芯片講起分析這塊開發(fā)板的接口形態(tài)和硬件設(shè)計(jì)思路然后帶你把 C SDK 和 MicroPython 兩種開發(fā)環(huán)境都搭起來完成點(diǎn)亮 LED、GPIO 控制、串口輸出和 USB 設(shè)備模式幾個實(shí)戰(zhàn)。最后整理常見的插上沒反應(yīng)、識別不到設(shè)備、編譯報錯等問題的排查方法和最佳實(shí)踐希望能幫你快速上手這塊有意思的開發(fā)板。1. RP2350 與這塊開發(fā)板的定位1.1 RP2350 芯片到底強(qiáng)在哪RP2350 是樹莓派基金會繼 RP2040 之后推出的新一代雙核微控制器也是樹莓派 Pico 2 系列使用的核心芯片。對熟悉樹莓派 Pico 的用戶來說RP2040 已經(jīng)給大家留下了“性價比高、外設(shè)豐富、資料齊全”的印象而 RP2350 在它基礎(chǔ)上做了明顯升級。首先是內(nèi)核變化。RP2350 內(nèi)置雙核 Arm Cortex-M33 處理器主頻最高可以跑到 150MHz 左右相比 RP2040 的 Cortex-M0 雙核在指令集、浮點(diǎn)運(yùn)算、中斷響應(yīng)和安全特性上都有提升。更特別的是這顆芯片還支持 RISC-V 架構(gòu)的 Hazard3 內(nèi)核你可以通過修改 SDK 的編譯參數(shù)把程序編譯成 RISC-V 版本運(yùn)行。這種“一顆芯片兩種內(nèi)核”的設(shè)計(jì)在主流 MCU 里非常少見對想學(xué)習(xí)不同 CPU 架構(gòu)的開發(fā)者來說是很好的實(shí)驗(yàn)平臺。其次是存儲和安全性。RP2350 內(nèi)置 520KB SRAM相比 RP2040 的 264KB 翻了一倍。它還加入了安全啟動、簽名固件校驗(yàn)、硬件隨機(jī)數(shù)生成器等功能雖然這些功能在簡單的學(xué)習(xí)項(xiàng)目里不一定用得上但在產(chǎn)品原型和需要固件保護(hù)的場景下價值很高。從生態(tài)角度看RP2350 保持了和 RP2040 高度一致的 GPIO 和外設(shè)框架大部分 RP2040 上的 SDK 代碼、驅(qū)動庫和 datasheet 閱讀經(jīng)驗(yàn)都能直接遷移過來。如果你已經(jīng)玩過樹莓派 Pico那么轉(zhuǎn)到 RP2350 的成本非常低如果你是第一次接觸樹莓派微控制器直接學(xué) RP2350 也是不錯的選擇畢竟這是當(dāng)前樹莓派 MCU 生態(tài)里的最新方案。1.2 雙 Type-C 公頭/母座的形態(tài)價值微雪 RP2350-USB-CM 這塊板子最大的辨識度就是它沒有用傳統(tǒng)的 Micro USB 或者單獨(dú)的 Type-C 座子加數(shù)據(jù)線方案而是把 Type-C 公頭直接做在了板子一端。使用時直接把公頭插進(jìn)電腦 USB 口、樹莓派的 USB 口或者任何 USB-A/Type-C 擴(kuò)展塢板子就完成供電和數(shù)據(jù)連接了。母座則給你保留了繼續(xù)擴(kuò)展的能力。你可以把 U 盤、Type-C 轉(zhuǎn)串口模塊、傳感器 Hub 等設(shè)備插到母座上。因?yàn)?RP2350 自帶 USB 控制器這塊板子可以做 USB Host 方向的實(shí)驗(yàn)也可以做 USB Device 方向的實(shí)驗(yàn)一個公頭一個母座正好把兩種模式都覆蓋了。這種形態(tài)特別適合幾類場景硬件原型驗(yàn)證不用再找線、理線直接把板子插上去寫代碼桌面清爽很多。USB 設(shè)備開發(fā)比如做 HID 鍵盤、鼠標(biāo)、USB 串口、自定義 HID 設(shè)備時公頭直插電腦非常方便。與樹莓派配合板子公頭插到樹莓派 USB 口母座還能再接其他外設(shè)形成一個緊湊的測試節(jié)點(diǎn)。便攜實(shí)驗(yàn)板子體積很小適合裝在口袋或者小盒子里拿到哪插到哪。當(dāng)然這種形態(tài)也有需要注意的地方。比如公頭直插后板子的方向是固定的如果兩邊設(shè)備距離近可能會擋到旁邊的 USB 口又比如公頭長期直接插拔對 PCB 焊盤的機(jī)械強(qiáng)度有一定要求插拔時最好拿住板子兩端不要只捏著公頭用力掰。1.3 這塊開發(fā)板適合誰用如果你屬于下面幾類人這塊板子會比較對胃口想低成本體驗(yàn) RP2350 新特性的樹莓派 Pico 老用戶。需要快速做 USB 外設(shè)原型的嵌入式工程師。在樹莓派上做串口通信、傳感器數(shù)據(jù)采集的愛好者。喜歡收集各種形態(tài)開發(fā)板研究 Type-C 接口設(shè)計(jì)的硬件愛好者。高校嵌入式課程、創(chuàng)新實(shí)訓(xùn)項(xiàng)目里需要一個“小巧、可靠、容易上手”的 MCU 平臺的學(xué)生。如果你只是需要一塊最傳統(tǒng)的、帶排針、方便插面包板的開發(fā)板那 Pico 2 或者帶排針的 RP2350 板子可能更合適但如果你想體驗(yàn)“即插即用”的開發(fā)方式或者對 USB 開發(fā)感興趣這塊板子的設(shè)計(jì)就很值得一試。2. 開發(fā)環(huán)境準(zhǔn)備2.1 開發(fā)方式選擇C SDK、MicroPython 還是 ArduinoRP2350 官方推薦的開發(fā)方式是 C/C SDK也就是 pico-sdk適合對性能、外設(shè)控制、USB 協(xié)議棧有要求的場景。MicroPython 則適合快速驗(yàn)證、學(xué)習(xí) Python 語法、操作 GPIO 和簡單外設(shè)。此外樹莓派官方也維護(hù)了 Arduino 內(nèi)核支持如果你習(xí)慣 Arduino 生態(tài)也可以用 Arduino IDE 開發(fā)。如果你之前沒有嵌入式開發(fā)經(jīng)驗(yàn)我的建議是先用 MicroPython 把硬件接口跑通理解 GPIO、PWM、I2C、UART 這些概念然后再切換到 C SDK 做更深入的開發(fā)。如果你有單片機(jī)基礎(chǔ)可以直接從 C SDK 開始這樣對 RP2350 底層機(jī)制的了解會更扎實(shí)。本文會先講 C SDK 的搭建再給 MicroPython 的實(shí)戰(zhàn)例子。因?yàn)楹芏嘈掠脩粼诃h(huán)境搭建階段容易卡住這里盡量把步驟拆細(xì)。2.2 C SDK 工具鏈搭建在 Windows 上推薦使用樹莓派官方提供的 Pico VS Code 擴(kuò)展它會自動幫你安裝 CMake、ARM GCC 編譯器和 pico-sdk。如果不想用 VS Code也可以手動安裝ARM GNU 工具鏈也就是 arm-none-eabi-gcc。CMake 3.13 以上版本。Ninja 或 Make 構(gòu)建工具。Git用于拉取 SDK 代碼。在 Linux例如 Ubuntu/Debian上可以用下面的命令安裝基礎(chǔ)依賴然后再手動拉取 SDK。注意這里以常見環(huán)境為例版本需要根據(jù)你的系統(tǒng)實(shí)際情況調(diào)整sudo apt update sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential git拉取 SDK 和示例代碼git clone https://github.com/raspberrypi/pico-sdk.git cd pico-sdk git submodule update --init cd .. git clone https://github.com/raspberrypi/pico-examples.git在編譯任何工程之前需要設(shè)置環(huán)境變量PICO_SDK_PATH讓 CMake 能找到 SDKexport PICO_SDK_PATH/path/to/pico-sdk如果你用的是 VS Code 擴(kuò)展擴(kuò)展會自動處理 SDK 路徑不需要手動設(shè)置。如果你是在命令行編譯記得每次打開新終端時重新 export或者把它寫進(jìn)~/.bashrc。2.3 MicroPython 固件準(zhǔn)備RP2350 可以運(yùn)行樹莓派官方 MicroPython。你可以在樹莓派官方文檔或 MicroPython 官網(wǎng)找到適用于 RP2350 的 UF2 固件文件。下載后把開發(fā)板的 Type-C 公頭插到電腦 USB 口按住板子上的 BOOT 按鍵再上電不同板子進(jìn)入燒錄模式的方式可能有差異具體看板載絲印和原理圖電腦會彈出一個名為 RP2 的 U 盤。把下載好的.uf2文件拖進(jìn)這個 U 盤板子會自動重啟并進(jìn)入 MicroPython 模式。如果你用的是 C SDK 編譯出來的 UF2 文件也可以用同樣方式燒錄。這個拖拽燒錄機(jī)制是 RP2040/RP2350 系列開發(fā)板非常方便的地方不需要額外的下載器。2.4 怎么判斷電腦是否識別開發(fā)板無論是燒錄還是后續(xù)調(diào)試首先要確認(rèn)開發(fā)板已經(jīng)被電腦正常識別。在 Windows 下可以打開設(shè)備管理器展開“端口 (COM 和 LPT)”或者“通用串行總線設(shè)備”分類。如果板子處于 MicroPython/UF2 模式通常會顯示為一個串口設(shè)備或者出現(xiàn)一個名為 RP2 的 USB 大容量存儲設(shè)備。如果處于未知設(shè)備狀態(tài)說明驅(qū)動或連接可能有問題。在 Linux 下可以用lsusb查看 USB 設(shè)備列表用dmesg | tail查看內(nèi)核日志lsusb dmesg | tail -20如果看到類似Raspberry Pi RP2或者Pico的條目說明設(shè)備已經(jīng)被識別。如果沒有任何輸出可以先換一個 USB 口、換一臺電腦試試排除公頭接觸問題。3. 雙 Type-C 接口與 RP2350 引腳剖析3.1 Type-C 接口的通用引腳認(rèn)知既然這塊板子的核心特色是 Type-C先來梳理一下 Type-C 接口常見的引腳概念。Type-C 連接器通常有 16 個引腳左右不同引腳承擔(dān)不同功能VBUS 和 GND電源引腳負(fù)責(zé)供電。CC1 和 CC2配置通道用來協(xié)商供電方向、電流能力、設(shè)備角色。D 和 D-USB 2.0 數(shù)據(jù)線用于 USB 2.0 通信。SBU1 和 SBU2邊帶使用引腳一般用于音頻、DisplayPort 等模式。高速差分?jǐn)?shù)據(jù)對用于 USB 3.0/3.1、DisplayPort、Thunderbolt 等高速信號。在這塊開發(fā)板上公頭直插電腦D/D- 信號會連接到 RP2350 的 USB 數(shù)據(jù)引腳CC 引腳會處理好設(shè)備角色識別讓電腦把板子識別為 USB 設(shè)備。母座則可以用來接入其他 Type-C 設(shè)備做 USB Host 實(shí)驗(yàn)時會用到。這里要特別提醒Type-C 的引腳定義雖然看起來統(tǒng)一但不同設(shè)備的供電方向和 CC 邏輯不一樣。直插公頭開發(fā)板的設(shè)計(jì)已經(jīng)把設(shè)備端的 CC 電阻、上拉下拉邏輯集成好了。如果自己畫板子或者改線一定要仔細(xì)看參考設(shè)計(jì)否則很容易出現(xiàn)“插上沒反應(yīng)”的情況。3.2 這塊板子的 GPIO 與引腳布局RP2350 最多可以提供幾十個 GPIO支持 UART、SPI、I2C、PWM、ADC 等常見外設(shè)功能。微雪 RP2350-USB-CM 由于板子很小可能沒有把所有 GPIO 以排針形式引出來而是通過半孔、郵票孔或者金手指方式引出。具體引出哪些引腳、板載 LED 接在哪個 GPIO、按鍵接在哪個 GPIO一定要以板子配套的原理圖為準(zhǔn)。我在下面所有例程里都會把引腳號定義成宏或變量而不是直接硬編碼。這樣做的好處是如果你的板子 LED 不在 GPIO 25只需要改一個宏代碼其他部分不需要動。同時要記得RP2350 是 3.3V 邏輯電平的芯片所有 GPIO 不能直接輸入 5V 電壓。如果要把 5V 傳感器模塊接到 GPIO需要加電平轉(zhuǎn)換電路或者使用支持 5V 容忍的引腳具體要查 datasheet 確認(rèn)。給開發(fā)板供電時公頭插入的 USB 口一般提供 5V但板上會通過穩(wěn)壓電路轉(zhuǎn)成 3.3V 給芯片使用。3.3 雙 Type-C 串接時的電源與信號注意這塊板子兩個 Type-C 接口都在同一個電氣路徑上使用時要特別注意電源方向。公頭插電腦時母座那邊輸出的電源取決于板子內(nèi)部是否做了 VBUS 轉(zhuǎn)換。如果母座也接入了一個外部設(shè)備而這個設(shè)備本身就是供電設(shè)備可能會造成兩個電源同時供電或者反向電流的問題。在實(shí)際項(xiàng)目中我建議不要同時在公頭和母座兩端接入兩個主動供電的 USB 設(shè)備。如果需要母座外接大電流設(shè)備先確認(rèn)板子的電源路徑設(shè)計(jì)和電流承載能力。進(jìn)行 USB Host 實(shí)驗(yàn)時盡量用帶外部供電的 USB Hub避免從 MCU 板載電源取太多電流。在向板子供電前最好用萬用表測量 VBUS 和 GND 之間電壓確認(rèn)方向正確再插設(shè)備。4. 實(shí)戰(zhàn)一使用 C SDK 點(diǎn)亮板載 LED4.1 新建工程結(jié)構(gòu)現(xiàn)在來寫第一個 C SDK 工程。先創(chuàng)建一個簡單的工程目錄rp2350-led-demo/ ├── CMakeLists.txt └── main.c這個工程只需要兩個文件。為了便于在不同板子上復(fù)用代碼里不直接寫死 LED 引腳而是通過宏定義指定。4.2 編寫 CMakeLists.txtCMakeLists.txt負(fù)責(zé)讓 CMake 找到 pico-sdk并生成編譯目標(biāo)cmake_minimum_required(VERSION 3.13) include(pico_sdk_init.cmake) project(rp2350_led_demo C CXX ASM) pico_sdk_init() add_executable(led_demo main.c ) target_link_libraries(led_demo pico_stdlib ) pico_enable_stdio_usb(led_demo 1) pico_enable_stdio_uart(led_demo 0) pico_add_extra_outputs(led_demo)這里幾個關(guān)鍵點(diǎn)pico_sdk_init()必須在project()之后調(diào)用。pico_enable_stdio_usb(led_demo 1)會把標(biāo)準(zhǔn)輸入輸出重定向到 USB 串口方便后面用 printf 打印信息。pico_add_extra_outputs(led_demo)會生成.uf2和.hex等額外輸出文件。4.3 編寫 main.c#include pico/stdlib.h // LED 引腳號請根據(jù)你手上板子的原理圖修改 // 樹莓派 Pico 2 官方板一般默認(rèn) 25其他板子不一定是這個值 #ifndef LED_PIN #define LED_PIN 25 #endif int main() { // 初始化 stdio以便使用 printf 輸出 stdio_init_all(); // 初始化 GPIO 為輸出 gpio_init(LED_PIN); gpio_set_dir(LED_PIN, GPIO_OUT); while (true) { // 點(diǎn)亮 LED gpio_put(LED_PIN, 1); printf(LED ON\n); sleep_ms(500); // 熄滅 LED gpio_put(LED_PIN, 0); printf(LED OFF\n); sleep_ms(500); } }這段代碼的邏輯很簡單先把 LED 引腳配置成輸出模式然后循環(huán)里 500ms 亮、500ms 滅。每次狀態(tài)切換時通過 USB 串口打印一條日志方便我們在電腦上看到程序確實(shí)在運(yùn)行。4.4 編譯工程在工程目錄下執(zhí)行cmake -B build -DPICO_SDK_PATH/path/to/pico-sdk cmake --build build如果 CMake 配置正確你應(yīng)該會在build目錄下看到生成的led_demo.uf2文件。4.5 燒錄到開發(fā)板把開發(fā)板公頭插到電腦 USB 口按住 BOOT 按鍵然后在保持按鍵的狀態(tài)下再次上電電腦會彈出名為 RP2 的 U 盤。把led_demo.uf2拖進(jìn)去板子會自動重啟運(yùn)行。如果你在使用picotool也可以用命令燒錄picotool load build/led_demo.uf2 picotool rebootpicotool的優(yōu)點(diǎn)是燒錄前可以查看板子的狀態(tài)比如固件是 ARM 版本還是 RISC-V 版本燒錄時也更方便集成到自動化腳本中。4.6 驗(yàn)證結(jié)果如果一切正常你會看到板載 LED 以 1Hz 的頻率閃爍。打開串口終端連接板子的 USB 串口波特率設(shè)置為 115200可以看到不斷打印的LED ON和LED OFF。如果 LED 不亮優(yōu)先檢查LED_PIN 是否和原理圖一致。板子是否真的進(jìn)入運(yùn)行模式。串口終端連接的端口是否是板子枚舉出來的端口。5. 實(shí)戰(zhàn)二使用 MicroPython 控制 GPIO、PWM、ADC5.1 連接 REPL如果你想快速驗(yàn)證硬件MicroPython 是最方便的方式。下載 RP2350 對應(yīng)的 MicroPython UF2 固件后拖拽燒錄到板子。再次插入電腦時設(shè)備管理器會出現(xiàn)一個串口。用串口工具如 PuTTY、Thonny 或 VS Code Serial Monitor連接這個串口默認(rèn)波特率 115200就能進(jìn)入 MicroPython REPL 環(huán)境。如果你用的是 Thonny直接在右下角選擇解釋器為 MicroPython (Raspberry Pi Pico)連接后就可以在編輯器里寫代碼并一鍵運(yùn)行。5.2 控制 GPIO 點(diǎn)亮 LED在 REPL 里輸入from machine import Pin import time led_pin 25 # 請按實(shí)際板子原理圖修改 led Pin(led_pin, Pin.OUT) while True: led.value(1) time.sleep(0.5) led.value(0) time.sleep(0.5)如果不方便輸入多行代碼可以先把腳本保存為main.py然后放到板子的可移動磁盤中。MicroPython 啟動時會自動執(zhí)行main.py。5.3 用 PWM 實(shí)現(xiàn)呼吸燈PWM 是嵌入式開發(fā)里非常常用的功能可以用來控制 LED 亮度、蜂鳴器音調(diào)、電機(jī)轉(zhuǎn)速等。RP2350 的每個 PWM 通道可以輸出不同占空比的方波。下面的例子用 PWM 讓 LED 從暗到亮再變暗形成“呼吸”效果from machine import Pin, PWM import time led_pin 25 # 請按實(shí)際板子原理圖修改 pwm PWM(Pin(led_pin)) pwm.freq(1000) # 設(shè)置 PWM 頻率為 1kHz duty 0 step 1000 # RP2350 的 PWM 通常為 16 位最大占空比 65535 while True: duty step if duty 65535 or duty 0: step -step pwm.duty_u16(duty) time.sleep_ms(2)注意不同 MicroPython 版本對 PWM 的 API 有所差異有的版本使用duty_u16()有的使用duty()。以你下載的固件版本為準(zhǔn)。如果報錯AttributeError可以在 REPL 里用help(PWM)查看支持的方法。5.4 讀取 RP2350 內(nèi)部溫度傳感器RP2350 內(nèi)部有溫度傳感器可以做一個不需要外接任何傳感器的實(shí)驗(yàn)。在 MicroPython 中內(nèi)部溫度傳感器通常通過 ADC 通道讀取具體通道號需要查芯片數(shù)據(jù)手冊。以常見的 RP2040 經(jīng)驗(yàn)來說內(nèi)部溫度傳感器一般映射到 ADC4RP2350 的映射方式我建議以官方 MicroPython 文檔和 datasheet 為準(zhǔn)。下面是一個示例思路from machine import ADC import time # 請根據(jù)實(shí)際固件和芯片文檔確認(rèn) ADC 通道 adc ADC(4) while True: val adc.read_u16() voltage val / 65535 * 3.3 temperature 27 - (voltage - 0.706) / 0.001721 print(Temperature:, temperature, C) time.sleep(1)如果讀數(shù)明顯異常不要直接使用先把 ADC 電壓換算公式和芯片手冊里的對應(yīng)關(guān)系核對清楚。5.5 通過 UART 與樹莓派通信USBCM 公頭插到樹莓派的 USB 口后很容易把這塊板子當(dāng)作一個 USB 串口設(shè)備。但在 MicroPython 層面如果你想和樹莓派的 GPIO UART 直接通信可以用板子引出的 UART 引腳對接。下面是一個簡單的回環(huán)測試from machine import UART, Pin uart UART(0, baudrate115200, txPin(0), rxPin(1)) uart.write(bHello from RP2350\r\n) data uart.read() if data: print(data)UART 的引腳號和 UART 編號要根據(jù)板子引出的引腳來配置。實(shí)際通信時兩個設(shè)備的 TX 接 RX、RX 接 TXGND 必須共地。5.6 保存 main.py 開機(jī)自啟MicroPython 的一個特點(diǎn)是只要把腳本保存為main.py放在板子的文件系統(tǒng)中每次上電都會自動執(zhí)行。不過要注意如果在main.py里寫了死循環(huán)程序會在后臺一直運(yùn)行可能會影響到你通過 REPL 交互。調(diào)試階段建議先不要保存為main.py而是在 REPL 里邊運(yùn)行邊改確認(rèn)邏輯沒有問題后再保存成開機(jī)自啟腳本。6. 實(shí)戰(zhàn)三USB 設(shè)備模式初體驗(yàn)6.1 為什么這塊板子適合做 USB 開發(fā)很多開發(fā)板雖然帶 USB 接口但那個 USB 口只是用于燒錄或者串口調(diào)試芯片本身并不能編程成自定義 USB 設(shè)備。RP2350 自帶 USB 控制器配合樹莓派官方的 TinyUSB 移植可以實(shí)現(xiàn)非常多的 USB 設(shè)備功能。再加上這塊板子是公頭直插設(shè)計(jì)做 USB 開發(fā)時連數(shù)據(jù)線都不用準(zhǔn)備。下面我會演示兩個例子一個是把板子模擬成 USB 鍵盤另一個是模擬成 USB 串口。這兩個例子都不需要額外硬件只需要一塊板子和一臺電腦。6.2 TinyUSB 的 HID 鍵盤示例思路TinyUSB 是樹莓派 Pico SDK 里默認(rèn)集成的 USB 協(xié)議棧。pico-examples 倉庫里有一個usb/device/dev_hid_composite例程里面實(shí)現(xiàn)了鍵盤和鼠標(biāo)的復(fù)合設(shè)備。我們可以參考這個例程做一個輕量版本按一下板子上的按鍵電腦就會被輸入一串字符。需要注意HID 鍵盤功能可以用來做各種自動化輸入但這種能力只應(yīng)該在你自己電腦、測試環(huán)境、以及獲得授權(quán)的設(shè)備上使用不要用于未經(jīng)許可的自動輸入或繞過限制等行為。做實(shí)驗(yàn)時目標(biāo)設(shè)備最好是你自己的開發(fā)測試機(jī)。核心邏輯可以這樣設(shè)計(jì)配置 TinyUSB HID 回調(diào)。按鍵按下時在tud_hid_keyboard_report()中發(fā)送一次按鍵狀態(tài)。松開時發(fā)送空狀態(tài)表示沒有按鍵按下。在 C SDK 中關(guān)鍵偽代碼如下#include bsp/board.h #include tusb.h extern void tud_hid_keyboard_report(uint8_t report_id, uint8_t modifier, uint8_t keycode); static void send_key(uint8_t keycode) { tud_hid_keyboard_report(0, 0, keycode); board_delay(50); tud_hid_keyboard_report(0, 0, 0); } int main(void) { board_init(); tusb_init(); while (1) { tud_task(); // tinyusb 必須周期調(diào)用 if (board_button_read()) { send_key(HID_KEY_A); } } }tud_hid_keyboard_report()的具體簽名、HID_KEY_A等鍵碼定義會隨 TinyUSB 版本變化建議直接參考 pico-examples 里的dev_hid_composite例程。編譯和燒錄方式與第 4 章的 LED 工程完全一致。6.3 模擬 USB 串口打印數(shù)據(jù)除了 HID 鍵盤把 RP2350 模擬成 USB 串口也是很常用的用法。這樣開發(fā)板插上電腦后會多出一個 COM 口你可以用任何串口工具和 MCU 交互。pico-examples 里的usb/device/dev_lowlevel、dev_hid_composite都包含 CDC 串口功能但更簡單的方式是直接使用 pico_stdio 的 USB 重定向?;仡櫟?4 章的 CMake 配置pico_enable_stdio_usb(led_demo 1) pico_enable_stdio_uart(led_demo 0)只要把 stdio 輸出重定向到 USBprintf()的內(nèi)容就會通過 USB CDC 虛擬串口發(fā)送到電腦。這個方法寫日志非常方便適合在做傳感器采集、狀態(tài)監(jiān)控時使用。有一點(diǎn)需要提醒如果在代碼里大量使用printf()而電腦沒有打開串口終端USB 的 CDC 緩沖區(qū)可能會滿導(dǎo)致程序卡在printf()處。生產(chǎn)代碼中建議限制日志輸出的頻率或者在輸出前判斷tud_cdc_connected()。6.4 運(yùn)行驗(yàn)證把編譯好的 UF2 燒錄進(jìn)板子后插到電腦上。Windows 會識別到一個 USB 輸入設(shè)備或 USB 串口設(shè)備。如果是鍵盤示例你在文本編輯器里點(diǎn)擊一下光標(biāo)位置按下板子按鍵文本編輯器里應(yīng)該會出現(xiàn)對應(yīng)的字符。如果是串口示例打開設(shè)備管理器找到新出現(xiàn)的 COM 口用串口工具連接應(yīng)該能看到板子打印的日志信息。你也可以在樹莓派上做同樣的驗(yàn)證。樹莓派插上這塊板子后系統(tǒng)會識別出/dev/ttyACM0或/dev/ttyUSB0用screen /dev/ttyACM0 115200打開串口就能看到板子發(fā)送的數(shù)據(jù)。這種“樹莓派 RP2350 開發(fā)板”的組合在很多物聯(lián)網(wǎng)項(xiàng)目的原型階段都很實(shí)用。7. 常見問題與排查思路在實(shí)際使用中尤其是第一次接觸 RP2350 或 Type-C 公頭形態(tài)開發(fā)板時可能會遇到不少問題。我把常見的現(xiàn)象、原因和解決思路整理如下。問題現(xiàn)象常見原因解決思路插入電腦后沒有任何反應(yīng)公頭接觸不良、板子未供電、電腦 USB 口故障換 USB 口試、檢查公頭是否插到位、換電腦試彈出未知設(shè)備或驅(qū)動錯誤板子處于異常固件狀態(tài)、USB 數(shù)據(jù)線接觸問題進(jìn) BOOT 模式重新燒錄查看設(shè)備管理器狀態(tài)C SDK 編譯報錯找不到 pico-sdk未設(shè)置 PICO_SDK_PATH 或路徑錯誤檢查環(huán)境變量確認(rèn) SDK 已經(jīng) clone 到本地?zé)?UF2 后程序不運(yùn)行固件本身異常、板子沒有正確重啟、燒錄文件不對重新進(jìn)入 BOOT 模式燒錄換其他 UF2 驗(yàn)證LED 不亮引腳號錯誤、GPIO 配置錯誤、板載 LED 損壞查看原理圖確認(rèn) LED 引腳用萬用表測量MicroPython 無法進(jìn)入 REPL固件沒燒成功、串口端口選擇錯誤重新燒錄 MicroPython檢查設(shè)備管理器端口號使用 USB 串口時程序卡死CDC 緩沖區(qū)滿、電腦未打開串口終端連接串口工具限制 printf 輸出頻率公頭插入樹莓派后板子供電不足樹莓派 USB 口供電限制、線材問題使用帶外部供電的 USB Hub下面挑幾個重點(diǎn)展開。7.1 插入后電腦沒有反應(yīng)這是大家遇到的第一個坎??赡苄杂腥惖谝还^接觸問題。有些 Type-C 公頭因?yàn)橥鈿す畈迦牒鬀]有完全卡到位VBUS 或 D/D- 接觸不良。可以稍微用力推緊或者換一個 USB 口試。第二板子處于某種未激活狀態(tài)。如果之前燒錄過異常固件可能會禁用 USB 功能。這時按住 BOOT 按鍵再重新插入 USB強(qiáng)制進(jìn)入 UF2 燒錄模式看電腦是否彈出 RP2 盤符。第三電腦 USB 口本身有問題。臺式機(jī)前置面板的 USB 口供電不穩(wěn)可以先插到主機(jī)背面接口試試。如果手邊有其他開發(fā)板也可以對比驗(yàn)證。7.2 編譯報錯找不到 pico-sdkC SDK 編譯時最常見的錯誤是Could not find PICO_SDK_PATH原因通常是環(huán)境變量沒有設(shè)置。在 Linux 下執(zhí)行export PICO_SDK_PATH/your/path/pico-sdk在 Windows 下可以通過系統(tǒng)環(huán)境變量設(shè)置。如果你用的是 VS Code 擴(kuò)展檢查擴(kuò)展是否已經(jīng)下載 SDK。另外如果 pico-sdk 是通過 git clone 下來的一定要先執(zhí)行g(shù)it submodule update --init否則里面依賴的 TinyUSB 等子模塊是空的編譯到 USB 相關(guān)代碼時會報錯。7.3 MicroPython 無法連接 REPL如果燒錄完 MicroPython 固件后設(shè)備管理器沒有出現(xiàn) COM 口可能是固件沒有燒錄成功??梢园醋?BOOT 再插一次確認(rèn) U 盤出現(xiàn)后重新拖入 UF2。如果串口工具連上了但輸入回車沒有反應(yīng)檢查波特率是否為 115200同時確認(rèn)沒有別的軟件如 Thonny占用同一個串口。7.4 與樹莓派連接時的供電問題樹莓派的 USB 口能夠提供一定的電流但如果同時給 RP2350 開發(fā)板以及母座上外接的設(shè)備供電可能電流不夠。一個典型表現(xiàn)是板子插到樹莓派上偶爾能識別但外接設(shè)備一工作就掉線。解決辦法是用一個帶外部電源的 USB Hub或者給母座外接設(shè)備單獨(dú)供電但要注意電氣隔離和共地問題。7.5 排查 checklist遇到問題不要慌按順序檢查插上板子后電腦有沒有彈窗提示設(shè)備管理器是否多出 USB 設(shè)備或 COM 口按住 BOOT 鍵再插是否出現(xiàn) RP2 U 盤是否燒錄了正確的固件文件串口工具選擇和波特率是否正確板子是否有明顯發(fā)熱、異味等異常換一臺電腦、換一個 USB 口是否能復(fù)現(xiàn)大多數(shù)問題都可以在這幾步里找到答案。8. 最佳實(shí)踐與工程建議8.1 先讀原理圖再寫代碼微雪這類小尺寸開發(fā)板引腳引出方式和常見 Pico 開發(fā)板有差異。動手寫代碼前一定先打開官方的原理圖和引腳圖確認(rèn)板載 LED 連接的是哪個 GPIO。板載按鍵連接的是哪個 GPIO按下時是高電平還是低電平。哪些 GPIO 引出來了哪些沒有。公頭和母座的 VBUS、D/D-、CC 信號在板上是怎么連接的。這樣能避免很多低級錯誤。尤其是 LED 引腳號不同板子差異很大直接照抄 Pico 的 GPIO 25 不保證通用。8.2 用宏和配置文件管理硬件差異嵌入式工程里硬件引腳盡量不要散落在代碼里。一種常見做法是在頭文件里統(tǒng)一做宏定義#define BOARD_LED_PIN 25 #define BOARD_BUTTON_PIN 12這樣換板子時只需要修改頭文件不需要改動業(yè)務(wù)邏輯代碼。如果項(xiàng)目比較大還可以把板級配置做成 CMake 選項(xiàng)在編譯時通過-D參數(shù)指定不同硬件平臺。8.3 合理使用 printf避免阻塞問題在 USB CDC 模式下printf是通過 USB 協(xié)議棧發(fā)送的。如果電腦沒有打開對應(yīng)串口或者 CDC 緩沖區(qū)滿了printf可能會阻塞 MCU 運(yùn)行。在調(diào)試階段沒有問題但在產(chǎn)品原型或長時間運(yùn)行場景中一定要控制日志輸出頻率比如每 100ms 打印一次而不是在死循環(huán)里快速打印。8.4 Type-C 公頭插拔的小技巧這類開發(fā)板的公頭直接焊接在 PCB 上機(jī)械強(qiáng)度取決于焊盤設(shè)計(jì)和外殼。插拔時不要只捏著公頭左右搖晃應(yīng)該拿住板子兩側(cè)垂直方向用力。頻繁插拔后如果發(fā)現(xiàn)接觸不良可以用酒精棉簽輕輕擦拭公頭觸點(diǎn)不要用硬物刮擦。8.5 安全邊界與合法授權(quán)RP2350 可以做很多 USB 設(shè)備模擬實(shí)驗(yàn)比如模擬鍵盤輸入、實(shí)現(xiàn)自定義 HID 協(xié)議。這些功能本身是正常的開發(fā)技術(shù)但請務(wù)必只在你自己擁有或明確獲得授權(quán)的設(shè)備上進(jìn)行測試。未經(jīng)許可在他人電腦上模擬鍵盤、自動輸入、繞過登錄驗(yàn)證等行為可能涉及安全和法律風(fēng)險千萬不要嘗試。8.6 用 Flash 存儲和日志記錄關(guān)鍵信息RP2350 的 SRAM 雖大但掉電丟失。如果項(xiàng)目需要保存配置參數(shù)或運(yùn)行日志建議使用外部 Flash 存儲。在開發(fā)早期就設(shè)計(jì)好參數(shù)存儲結(jié)構(gòu)比如使用 JSON 文本或固定二進(jìn)制格式并做好讀寫校驗(yàn)?zāi)鼙苊夂笃诠δ軓?fù)雜后難以遷移。8.7 定期備份固件和 SDK 版本開發(fā)板固件、pico-sdk、MicroPython 固件這些組件的版本變化很快。今天能編譯通過的代碼過幾個月可能因?yàn)?SDK API 更新而報錯。建議在項(xiàng)目里記錄 pico-sdk 的 commit 號。保留編譯好的 UF2 文件作為備份。重要工程使用 git 管理源碼。鎖定 MicroPython 固件版本不要隨意升級。9. 總結(jié)與下一步方向從芯片層面看RP2350 是一顆很值得投入時間學(xué)習(xí)的雙核微控制器尤其是它同時支持 Arm Cortex-M33 和 RISC-V 這一點(diǎn)能幫你同時打開兩條架構(gòu)知識線。從開發(fā)板形態(tài)看微雪 RP2350-USB-CM 雙 Type-C 公頭/母座的設(shè)計(jì)非常巧妙——公頭解決供電和通信母座保留擴(kuò)展可能特別適合 USB 外設(shè)開發(fā)和無線的桌面實(shí)驗(yàn)。本文帶你把 C SDK 和 MicroPython 兩種開發(fā)方式都走了一遍從點(diǎn)亮 LED 到 PWM、ADC、UART 再到 USB HID 和 CDC 串口示例。代碼和配置都可以直接復(fù)制使用但記得根據(jù)你手上的板子原理圖修改引腳和配置項(xiàng)。接下來你可以往這幾個方向繼續(xù)深入研究 RP2350 的 DMA、PIO、硬件定時器做更復(fù)雜的外設(shè)控制。嘗試編譯一個 RISC-V 版本的固件對比 Arm 和 RISC-V 在編譯產(chǎn)物和運(yùn)行時的差異。使用 TinyUSB 實(shí)現(xiàn)復(fù)合 USB 設(shè)備比如同時做鍵盤和串口。把這塊板子作為傳感器采集節(jié)點(diǎn)插在樹莓派上跑一個小型數(shù)據(jù)采集系統(tǒng)。閱讀 pico-sdk 的源碼和官方文檔自己封裝一套方便復(fù)用的板級驅(qū)動。一塊開發(fā)板最值得花時間的部分不是把官方例程跑通而是去理解它的原理圖、SDK 結(jié)構(gòu)和 USB 枚舉過程。當(dāng)你把 Type-C 公頭插進(jìn)電腦的那一刻電腦經(jīng)過什么樣的流程識別出這個設(shè)備固件是從哪一步開始執(zhí)行的這些問題如果都能在腦子里有清晰的答案你的嵌入式功底就又深了一層。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲 无码 有码 中文字幕| 蜜臀久久99精品久久久| 天天干天天操天天干天天操| henhen91| 99蜜桃臀久久久欧美精品网站| 秋霞蝌科网日本一区| 新怡红院| 欧美激情 日韩精品| 欧美精品23| 日本久久999| 久久久激情| 曰韩精品视频一区二区| 日本亚洲嫩草影院啪啪| 天操老女人| 91超碰人人操| 99久久精品无码一区二区| 丝袜美腿丝袜| 日产成人久久| 情色五月天就去干| 东京热熟女亚洲视频网站| 丁香五月婷婷啪啪| 26uuu性物| 一级片视频啪啪| 97在线观看免费| 人妻夜夜爽天天爽麻豆三区网站| 国产精品视频精品一二| 人人操人人操草草| 国产一区二区三区视频在线看| v91av| 91国产丝袜美女| 五月香婷婷| 亚洲1区2区三区高清中文字幕| 死我十八禁| 欧州激情视频在线一区二区| 日韩97视频!在线| 在线观看日韩av不卡| 国产美女口爆吞精视频| 91色人妻| 13小男生GAY自慰脱裤子| 我要色综合网| 亚洲色交| 探花视频免费观看国产专区| 超碰色综合| 亚洲男人在线观看天堂 | 一区二区三区四区五区高清无码永久视频 | 成人热久久精品| 极品极品色影院| 日本成人免费一区二区三区| 亚洲加勒比久久日本道| 被男人吃奶很爽的毛片| 黄色AV免费| 黑人免费福利视频| 一区AV| 26uuu国产亚洲综合| 国产毛片在线| 亚洲国产日韩欧美熟妇在线| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 大香网伊人久久综合| 无码日韩网站| 超碰av人人人| 欧美熟妇人体| 成人情色综合网| 欧美最婬乱婬爆婬牲视频| 久久久999国产精品| 99热线麻豆| 91欧美色| 在线综合 亚洲 欧美中文字幕| 国产操逼视频在线观看| 俺去俺来也在线www| 成人性爱电影一区二区| 精品视频日日夜夜| 人妻少妇久久| 极品另类| 加勒比在线视频一区二区三区 | 国产精品久久久久绯色| 久久久91福利姬| 欧美日韩另类字幕中文| 国产a级精品| 十八禁黄色成人网站观看| 夜夜骑天天燥| yaouchengrenav| 精品一区二区啪啪啪| 久久草草欧美精品| 一二视频神马久久传媒| 97视频在线免费观看| 欧美自拍偷拍综合图片| 亚洲av无线观看| 国产精品无码论坛| 精品无吗久久| 骚日日av| 久久亚洲AV成人精品无码| 日韩人妻一区二区精品| 人妻精品4K4K4K4K4| 国产大片精久久久久久| 翘臀vidoes| 超碰这里只有精品| 天美传媒婬乱在| 人人操我人人干| 992这里有精品| 91黑丝美女| 青娱乐啪啪视频| 人人做,人人操,人人摸| 老熟妇一区二区三区…| 人妻精品一区二区全免费| 九九九九欧美| 久久在线观看免费视频 | 九九九九日本 | 欧美日韩第一页| 一区二区三区网站日日骚| 精人妻无码一区二区三区伊人直播| 夜夜嗨绯色| 亚洲男人电影天堂| 婷婷五月花| 中国熟女网站| 大香蕉久久| 激情五月婷婷| 日本精品一区二区三| 成人自拍三级在线观看| 久久99精品九九久久久婷婷| 超碰免费人妻人人| 国产精品一区二区三区在线密挑| 伊人欧美大香蕉视频| 日本性爱视频一级| 久久AV无码1区2区3区| 大香蕉中文在线| 99热色精品| 天天碰操中国年青熟妇| 国产极品粉嫩馒头一线天av| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 国产欧美岛国精品一区| 亚洲有码第一页| 国产黄色在线播放观看| 日日夜夜国产综合| 国产精品蜜臀久久久久无码AV| 蜜臀精品1区2区| 成人国产二区三区在线,男女精品。| 91在线精品| 天天澡天天狠天天天做| 96AV精品| 黄色免费一级在线毛片| 日本不卡码黄色| 丁香婷婷五月| 色欲人妻一区二区在线| 欧美日韩国内不卡| 欧美熟妇精品黑人巨大91| 日本三级韩三级99久久| 香蕉99秘 一区精品蜜桃臀| 亚洲av在线免费观看| 日韩91网| 桃色五月天| 九月伊人中文字幕| 精品乱子一区二区三区99| 中国91AV| 大香蕉综合| 97爱| 99蜜桃臀亚洲成人在线观看| 国产网站在线播放| 日日骚av| 啊啊啊不要啊啊受不了了视频在线| 亚洲黑人在线| 亚洲少妇激情视频| 天天插天天操| 97色碰| 99操| 91oumei| 香伊人在线| 女同性恋中文字幕| 爱干爱射网啊啊啊| 大香网伊人久久综合| 亚洲一二三四区| 亚洲 另类 丝袜 自拍 动漫| 99这里有精品视频| 国产一级内射无挡观看| 精品国产99999| 91色五月俺来也| 在线观看黄色电话| 免费的黄片有限公司| 亚洲熟女少妇免费视频| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 性爱动态120秒| 亚洲另类小说卡通动漫| 热热色青青草| 日韩97精| 2020中文字幕在线| 亚欧Av| 久久久人妻| 你懂的在线观看区国产| 国产精品白丝www| 亚洲AO在线| 超碰99热| 蜜臀无码视频在线观看| 91色婷婷综合久久中文字幕二区| 无码人妻丰满熟妇奶水区毛片| 最近的最新的中文字幕视频| 97超碰碰| 亚洲综合伊人无码久久| 日韩青久久| 欧美老妇综合网| 婷婷综合| 91麻豆天美国产欧美日| 乱色视频中文字幕| 亚洲一本大道中文字幕无码在线| 性爱Av免费| 干超碰碰熟女| 清纯唯美综合| 日韩熟女视频二区| 亚洲高清少妇| 日韩精品电影| 色 亚洲 91| 看黑丝美女操逼青青网站| 婷婷丁香六月天| 91午夜无码| 人人弄人人摸| 97超碰色| 被窝影院午夜看片无码| a片久久久久久久久久久久| 欧美日韩亚洲天堂| 无码高清少妇久久| 欧美日韩大香蕉| 东京热男人的天堂| av影片在线观看不卡| 亚洲欧美日韩中文播放 | 欧美顶级黄色大片免费| 国产激情在线| 免费精品福利在线观看| 国产欧美伊人| 亚洲宗合网| 啊啊啊久久久视频| 97干色天堂| 成人精品一区二区三区| 天美欧美国产| 久久精品一区二区三区蜜桃臀| 天天躁狠狠躁av| 青女在线| 999久久芭蕾| 色综合20p| 日日夜夜模| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 亚州性9| 日日爽熟女| 操91| 美欧色综合| 五月天亚洲色图| 黑人综合网| 国产高清午夜成人在线观看| 大香蕉一区二区在线观看.| 超碰久超碰久| 久久国产在线一区二区| 操逼视频亚洲| 中文字幕 一区二区 亚洲无码| 免费视频在线观看啊啊啊啊啊| 青青操97| 少妇熟女一区二区三区| 久久久精品中文字幕爱豆| 日韩精品在线观看观看| 五月丁香成人网| 亚洲少妇诱惑| 天天操熟妇| 色网亚洲人| 亚洲欧美综合| 久操网址| 亚州操操穴网| 精品人妻一二三四区视频| 欧美综合网A| 天天谢天天干| 69超碰综合| 丝袜制服字幕在线| 九九九九九九免费视频| 男人天堂2019| 欧美天天干| 中文字幕在线观看丝袜| 日韩性爱1级片视频| 亚洲成人性爱在线观看| 日本 免费 一区二区三区 久久香蕉 | 中文在线久久字幕| 东京太热男人的天堂久久久| 久热在线精品免费观看| julia高潮后不停追击中出| 久久手机视直播| 97视频在线观看网站| 99re98| 乱伦日本色图AⅤ| 黄色乱论网站| 亚91网| 奇米四色影视777久久久| 亚洲最大黄网| 亚洲最大黄网| 欲香欲色综合天天伊人| 国产激情在线| 蜜桃狠狠色伊人亚洲综合 | 欧美92| 亚洲91在线播放影院| 人妻少妇久久久| 国产欧美黑人丰满在线| 午夜性刺激视频免费观看| 蜜乳av一区二区| 很很热性爱视频| 久久精品免费| 天堂精品一区| 国产乱伦性爱AV| 97在线观看免费| 国产精品无码av嫩草| 二对二中文字幕。| 亚洲资源吧| 婷婷丁香五月天综合东京热| 日本黄色天堂| 国产无马av| 中文字幕无码不卡啪啪| 手机在线看片免费人成视频| 中文久久96| 国人欧美精品一区二区| 日本不卡一区二区三区| 性在久久久久久| 伦在线97| 亚洲精品视频二区| 强奸抽插av| 免费的av网| 无码区蜜乳| 亚洲欧美中日韩| 91综合色噜噜| 久久久久9999精品九九九| 美女91AV| yazhousetuoumei| 亚洲中文字幕一区二区| 久久最新免费视频23| 欧美激情一| 高潮毛片无遮挡高清免费| 日本999精品视频| 情趣丝袜无码操逼视频| 一区| 日本污ww视频网站| 天天狂操夜夜狂日| 夜夜夜夜夜夜夜夜夜狠狠狠狠狠狠狠| 2019久久久久久久久福利| 日本天天干天天搞一区| 色优久久| 无遮挡一级毛片视频免费的| 国产偷仑| 欧美色性爱| 后入精品| 无码一区免费在线不卡| 在线97在线| 欧美性爱1080p| 日夜尻逼网| 人人污日韩一区二区| 国产强奸乱伦xd| 欧美96交| 色欧美天天| 免费视频在线一区二区不卡| 欧美日韩天堂| 96精品在线| 色狠狠 - 百度| 少妇熟女一区二区三区| 亚洲色图欧美色图制服诱惑| 97天天摸天天碰| 精品三级在线专区| 热热色青青草| 91 亚欧| 老熟女区| 北条麻妃99精品青青久久| 免費黃色視頻觀看一| 中文字幕制服诱惑| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 色综合99999| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 欧美天天在线| 激情综合五月| 91九九| 国产极品99热在线播放69| 最新制服中文第一页| 成人热久久精品| 黑操B| 中国小夫妻勾搭露脸淫荡对白| 亚洲精品色| 91成人在线免费视频| 99久久久无码国产精品性啊聊| 99精品在线| 国产女人91精品嗷嗷嗷嗷| 日本性爱视频一级| 思思热在线视频免费| 大JI巴好深好爽又大又粗视频| 亚洲影视高清第一页| 中文字幕88av在线| 丁香久久| 国产成人无码久久精品| 岛国AB视频| 中文字幕一区二区三区四区在线视频| 久久久久亚洲熟妇熟女| 91国产操逼视频| 久久69| 亚洲熟妇AV日韩熟妇在线| 国产极品久久久| 一区二区三区日韩欧美| 蜜臀久久99精品久久综合| 精品一区二区三区蜜桃臀赵总 | 国产特级毛片AAAAAA高潮流水| 白丝一区| 国产一区免费午夜视频| 久久久精品电影| 一级毛片电影免费看| 久9九综合在线| 97超碰超| 香蕉欧美| 青草草免费网站av| www.91逼逼.com| 亚州AV无码国产精品| 亚州AV无码国产精品| 中文字幕精品一区二区精| 青草一区二区| 水多多映视AV| 天天操女人| 少妇免费视频| 国产情色在线| henhen91| 免费A片三p视频| 免费一级黄色录像影片| 日韩性爱再线视频| 精品 码产区一区二-1080P高清在线www-B029AV| 日韩成人综合网| 丁香六月婷婷综合| 99re6国产精品99re在线| 欧美色图亚洲特色| 欧美综合色站| 99热18这里只有精品| 超碰九九| 国产午夜福利电影免费在线观看| 亚洲码专区| 91操人视频| 久草综合视频| 欧美天天搞| 成人免费毛片| 超碰久热| 伊人久久亚洲中文字幕不卡| 色爱天堂| 91社区拍啪人妻| 可以免费观看的AV| 今日头条成人一区二区三区四虎精品| 人人妻人人爽人人精品| 国产精品久久久久久照片| 91呆哥人妻| 日韩一级性爱无码| 日本日逼视频网| 不卡九肏| 伊人操| 日本在线激情一区二区三区| 射欧美综合| 欧美综色欧| 国产强奸乱伦xd| 亚洲精品一区中文字幕乱码| 日本东京热大香蕉a片| 99999国产| 国产黄色 A 片免费看| 欧美精品系列| 日本爽爽爽爽爽爽免费视频| 亚洲天堂区| 蜜臀久久精品久久久久视频| 激情久久日韩精品中文字幕麻豆| 91精品微拍福利| 人人人人人人少妇| 日韩特一级久久| 无码最新| 日韩欧美丝袜诱惑| 天天综合网91| 五月综合激情| 久久三区四区| 久久婷婷色| 热的中文 热的有码 热的国产| 秋霞色色影院| 东北夫妻性偷拍| 亚州中文字幕超碰97| 91精品无码久久久久久久| 色婷婷电影网| 91爰爱欧美| 操操操五月天婷婷丁香影院| 蜜桃精品一区二区三区ww| 久操视频这里只有精品| 91色久| 9精品久久久久| 欧美性爱在线无码| 人妻少妇精品久久久| 啪啪啪精品| 中文97国产| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 男人干美女| 大屁股人妻女教师撅着屁股| 欧美综合97www| 亚洲色图伊人网| 久久久久久久久久久免费精品| 日韩情色AV| 国产一区二区三区白丝| 使劲用力艹少妇视频一区二区| 久久精品国产亚洲AV高清演员表| 五十路熟女工口 | 久草精品热视| 国产一区二区免费福利片| 伊人五月天| 亚洲天堂久久久久久粉红视频| 久久黄黄| 国内亚洲高清无码| 久久久熟女一区| 九九黄色网| 婷婷视频网| 欧美日韩狠狠爱| 久久久9品一区二区三区| 99最新日韩偷拍视频| 欧美久热| 欧美性爱第一页久久| 99re95| 精品性爱无码在线播放| 欧美色狠| 久草线上视频免费看| 99色热| 国产辣妈在线视频福利| 色偷综合| 久操视频免费在线观看| 18禁精品网站在线看| 国产第11页| 日本午夜久久电影| 免费看片黄| 在线电影亚洲色图| 中文一区二区婷婷视频| 人人操人人操草草| 91久久青青草原精品| 97精品久久久久中文字幕| 婷婷性爱| 香蕉久久AⅤ...| 96一区二区| 91女优在线观看| 国产免费永久精品无码| 欧美gv在线观看| 91老司机精品| 日日噜噜夜夜久久亚洲一区二区| 五月天婷婷成人网| 中文一区二区三区影院| 99色热| 色诱avtt| 玖玖综合.com| 大香蕉啪啪啪| 国语对白在线播放视频| 亚洲国产成人精品999| 97色欧洲| AV久日| 久久九七| 亚洲一二三精品久久网| 色五月激情网| 亚洲综合999| 骚货操死你| 久久久久9| 9久久9综合| 国产91美女视频| 久久99精品九九久久久婷婷| 亚洲情色一区三区| 日韩AV中文字幕电影| 91丨九色丨大屁股| 大香蕉一线视频| 亚洲国产av中文字幕久久| 色网色网色网色网色网色| 天天操福利视频综合网站| 日韩另类色图| 精品少妇后入一区二区三区四区人妻巨乳 | 肉丝中文无码高清| 久久国语| 日韩少妇在线视频| 免费成人在线熟妇网| 日本九九久久99| 日本久久久久久久久| 五月丁香婷婷色| 五月丁香综合网| 婷婷综合五月| 五月天色色色| 高清成年美女黄网站免费大全| 大香蕉乱级| 综合伊人网12色| 天天躁日日躁成人字幕aⅴ| AVE乱伦| 亚洲高清综合网| 老熟妇一区二区三区啪啪| 欧美伦乱爱| 大香蕉色欲AV| 天天影视之亚洲综合网| 97亚洲国产| 久久伊人东京热| 91麻豆天美国产欧美高潮| 久久线上视频免费看| 亚洲天天更新| 日本爽爽爽爽爽爽免费视频| 一本大道不卡一二三区| 午夜久久无码1000合集| 激情久久久| 久久久精品国产亚洲伊人| 爆乳免费黄网站| 人妻少妇精品久久久| 青青草无码视频| 欧亚 另类 久| 男女做爰猛烈动高潮A片免费应用 少妇厨房愉情理伦片bd在线观看 不卡中文字幕aⅴ在线 | 午夜精品久久久久久久99蜜桃一| 色爱三区| 国产美脚女优尤物在线观看| 日韩精品人妻中文字有码在线| 国产精品又黄又猛又粗| 色成人Www精品永久观看| 97在线精品| 内射日韩大臀美女| 96AV久久久| 97精品97久久| 日韩精品人妻| 国产操操日韩三级黄| 国产精品老师| 亚洲 图片 欧美 色图| 99国内精品| 人妻素股| 成人精品在线免费视频| 性色AV网站| 婷婷午夜清品久久久久久久性色视频观| 最新日本中文字幕| 在线性黄高清免费视频| 蜜桃传媒一区二区亚洲| 精品少妇人妻一区二区三区| 激情综合网亚洲| 亚洲精品乱码久久久久久蜜桃麻豆| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 精彩国产视频播放1区2区| 久久綜合很很很| 国产又粗又长又大的视频| 久草免费福利在线播放| 久久理论字幕视频| 加勒比综合在线| 一区二区三区成人高清视频| 亚洲图片欧美91N| 亚洲91网。| 久久久四区| 18禁的网站在线| 狂操嫩妻视频一区二区三区| 999熟女精品| 人人操人人干xxx| 成人av在线播放| 人妻少妇久久久| 蜜臀99久久精品| 69国产对白刺激| 国产这里只有精品| 中文字幕国产| 91c色| 99久久com免费视频′| 夜夜精品视频一区二区| 蜜桃视频成a人v在线| 久久久久久久九九九九九九| 99re在线视频| 波多野42部无码喷潮在线观看| 91偷拍欧美亚洲| 色综合 加勒比| 人妻少妇被猛烈进入中| 佐山爱中文字幕| 日本性感人妻91| 久久e6只有精品| 五月综合视频| 综合少妇网| 久热免费视频| 中文久久久| 殴美大黄片| 屁股久久久久久久久| 精品成人动漫一区二区| 在线小视频| 国产粉嫩出水在线播放| 欧美色亚洲色| 日韩另类色图| 免费成人自拍视频在线| 日本精品人妻少妇一区二区| 竹菊一区二区三区AV线| 9久久精品| 国产精品久久久久久久久久久久久久吹| 亚洲熟女av日韩熟女| 国产AV天美传媒一区二区三区 | 亚洲AV不卡在线观看| 国产精品一区二区 尿失禁| 91精品操美女| 中文字幕精品一区二区精品| 天天综合网网欲色| 久久这里精品国产99丫e6| 69av一区二区三区| 成人黄页| 欧美一级色| 亚洲一区二区三区麻豆传媒| 思思视频免费看网站| 久久久久幕乱码| 色亚洲欧美| 一区二区乱码福利| 亚洲人妻五月丁香婷婷| 电家庭影院午夜69久久夜色精品国产69乱| 淫淫综合网| 亚洲无码视频免费在线观看网址!| a片偷拍视频| 福利伊人玖玖国产| 一区二区三区美女超清| 国产18精品亚洲精品| 97香蕉碰碰人妻国产欧美| 国产女人高潮视频| 偷拍亚洲情色| 国产免费一区2区3区| www.亚洲黄色| 日韩精彩免费| 亚洲色图欧美色18直播在线| 日韩性爱视频在线免费观看| wwwss在线观看| 欧美韩国你懂得在线| 中文有码9| 美日韩男女操屄视频| 一区二区三区视频在线观看免费| 色九九九九| 大香蕉99re| 国产91乱伦| 亚洲黄色网址视频| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 人妻熟女av国产网站| 夜嗨影院| 99xav| 国语对白露脸XXXXXX| 日韩一级片在线看| 91九九九逼| 蜜桃臀一区二区三区久久| 天天网综合| 97人人超| 人妻 欧美亚洲| 国产传媒午夜理伦精品| 天天爽天天爽| 性91| 人妻激情另类| 亚洲春色一区二区三区| 中文字幕人妻色偷偷久久皮| 日韩免费中文字幕视频| 超碰碰97| 婷婷五月天社区| 久久97| 日韩一级二级三级| 国产又大又硬又长又粗| 亚洲欧美激情小说| 精品免费1| 啊啊啊啊啊啊在线| 丰满少妇高潮无码| 伊人五月天| 天天综合~91| 久久久久久久久久黄色网| 国产99 中文字幕日韩小视频| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 国产精品久久久亚洲一区| 亚洲成人精品在线一区| 蜜臀网址在线| 中文字幕视频一区视频二区| 97人人夜夜精品视频| 97看操| 色婷婷色99国产综合精品| 中日韩免费看男女操逼大全| 成人热久久精品| 色99视频| 婷婷久久久| 久久人人舔人人爽舔人人av片| 南澳成人一级片在线播放| 亚洲国产综合久久久性感熟妇| 婷婷操逼| 日韩成人免费电影| 国产成人一级av88| 人人搞人人插人人操| 先锋激情∨在线视频播放| 天天干夜夜操一区二区| 亚洲啪啪啪啪视香蕉| 婷婷综合网| 日韩欧美俄罗斯A片| 国产成人精品网站| 欧美日韩国产色五月综合在线| 天天色怡春院| 99re99视频在线免费观看| 人妻在线臀日韩| av午夜玫瑰| www.色婷婷| 久久久久久精品免费看A级| 亚洲av青草久久一区二区| 啊啊啊好舒服视频| 一区AV| 一区不卡在线观看av| a男人的天堂久久一级A毛片| 日本人妻中文字幕 | 超碰99热中文字幕| 色拍偷亚洲| 亚洲图片 欧美电影| 国产精品肉丝自拍| 116美女午夜| 久极品在线观看| 国产一区二区精品在线视频| 神马久久免费电影观看| 欧美色综合网| 久久久久久性爱免费视频| 男人午夜天堂| 亚洲乱伦图片视频| 啊啊啊啊啊啊啊国| 久久久久久大| 97超碰巨乳| 欧美在线中M| 国产精品久久久久9999小说| 自拍偷拍 日韩欧美| 欧美激情五月天| 精品久久久不卡一区二区| 日韩欧美三级| 91精品久久久| 色爱三区| 亚洲自拍欧美国产首页网曝| 四虎av在线| 一区二区精品日韩欧美在线观看| 一级性爱aaaa| 伊人久久亚洲色欲综合网站| 一级性爱视频免费观看 | 一区二区中文| 极品白嫩美女白浆成人福利在线看| 精品一久久久| 亚洲人成网站7777| 五月天色电影| 热热色中文无码| 超碰人人超在线观看| 欧美页片| 深夜福利黄片| 人妻久热在线| 亚洲精品人体| 无码又爽又硬又激情免费视频| 乱久久久| 国产精品内射婷婷一级二| 一级特级aaaa毛片免费观看| 夜夜嗨绯色| 3D污黄视频在线观看| 97在线国产精品| 久操免费观看| 少妇 综合| 亚洲国产精品99久久久| 九区国产| 9999久久久久| 国产精品乱码久久久久久久久| 日韩不卡毛片Av免费高清| 成人久久精品| 欧亚性爱啪啪| 69一区二区| 日韩啪啪啪视频| 日日碰狠狠添天天爽超| 91九色丨风韵犹存| 国产人伦精品一区二区三区| 东北丰满熟女国产一区| WWW美腿丝袜香蕉中文| www99热| 另类亚洲一区二区三区| 久久极品一区二区| 久草午夜| 日韩成人人妻网站| 亚洲人妖网| 内射中出日韩在线观看视频| 免费一级黄色录像影片| 97在线播放 | 久久97视频| 色男人色天堂东京热| 久久人妻视频网| 成人av福利在线观看| 国产suv精品一区二六| 射丝袜高跟鞋99| 开心激情婷婷| 国产精品久久久久久 百度| 国产精品福利资源在线尤物| 啊啊啊啊好爽好舒服一区二区易域| 天天射夜夜| 欧美性后入| 丰满人妻-区二区三区免费| 香蕉黄色一级视频| 午夜性生活av免费在线看| 超碰97国产欧美| 久久噜| 人妻人妻天天碰| 欧美78| 美女91av| 成人熟女区| 东京成人一区| 超碰97欧美日韩| 久热大香蕉网站| 亚春色色| 精品欧美乱码久| 18禁久久| 日韩大香蕉AV影片| 精品国产AV一区天美传媒| 97热视频在线观看| 中文字幕一品色图| 亚洲无码一区成人免费午夜| 欧美性第一页| 岛国黄色短视频| 九九在线精品| 开心激情婷婷| 欧美性暴力猛交XXXX| 久久欧洲| 四虎国产成人精品免费一女五男| 9精品久久| 久久综合97| 亚洲天堂在线怕怕视频| 国产白嫩漂亮KTV在线| 久久日韩毛| 美女让帅哥通她小鸡鸡| 日本女人久久久| 777奇米影视777四色| 亚洲国产av中文字幕久久 | 91粉芽高清在线一区二区| 加勒比AV网| 午夜在线播放| 日韩综合成人免费视频| 99热综合| 中日韩久久久免费看| 骚女天天综合网| 日韩人妻 中文字幕| 国产人伦精品一区二区三区| www.人人摸在线视频| 欧美激情综合网| 91九九| 啊啊啊爽爽| 亚洲超碰在线| 可乐操亚洲蜜911| 无码WWW免费视频网站| 啊好大好舒服| 超碰色老头| 日本一级婬片试看三分钟| 欧美亚洲综合色| 亚洲综合20p| 亚洲色图久久成人| 欧美色性情| 亚洲欧综合另类无码一区| 人妻无码久久一区二区三区免费| 欧美亚洲清纯| 日本精品成人无码| 大香蕉一人| 性做久久久久久免费观看软件| 麻豆天美电影一区二区| 蜜臀久久99精品久久久久电影| 成人性爱美曰韩| 久久偷偷色综合蜜桃| 免费αV在线视频| 亚州综合图片| 99热久| 激情小说图片亚洲首页| 天美传媒av在线| av强奸乱轮| 欧美体内射精| 一区二区三区日韩欧美| 大香蕉久| 一起草视频在线| 亚洲男人的天堂AV| 熟女人妻一区二区三区| 欧美色女人| 亚洲美女黄色| 大香蕉宗合网在线| 中文人妻av高清一区| 97伊人超碰| 开心五月婷婷| 女同女同恋久久级三级| 色天使大香蕉| 国产九九九九九九九九| 999熟女精品| 搡老女人老妇女老妇老熟女怎么读| 少妇天堂| 亚洲脚交| 欧美人妻二区三区| 女优免费一区二区永久| xxx0国产在线播放| 亚洲日韩精品久久久久一区壹牛 | 永久电影三级在线观看| 啊啊啊啊,啊啊好多水| 91日日| 97欧美精品综合| 九九热视频这里只有精品| 艳美熟妇先锋一二三区| 午夜激情床戏激情| 九九久久一区二区三区| 97资源超碰| 97干天天| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 伊人视频| 少妇天堂| а√天堂资源官网在线资源| 久久大香蕉97| 精品少妇一区二区三区| 国产精品电| 无码九九九九| 天堂av最新电影网| 精品九九淫乱男| 视频二区熟女人妻| 天天干夜夜| 天天激色| 少妇蹲下买菜露大唇0| 国产不卡的视频| 日韩精品第3页| 91国产大片| 精品人妻伦一区二区三区久久| 男人网站婷婷| 日韩大香蕉精品在线视频| 很很很很操| 丰满人妻一区| 四虎免费在线观看| 无码高清操逼网址| 97摸视频| 天天摸夜夜添无码小视频| 欧美性爱十八禁| 免费国产| 免费视频观看60秒| 欧美色www亚洲国产阿娇要播| 亚洲欧美日韩中文播放| 国产女大学生AV| 在线观看中文av字幕| 91校园春色长篇| 超碰在97| 日本影视久久免费| 久久av成人无码免费| 91丨国产丨白浆| 桑老女人九区| 国产精品盗摄 偷窥盗摄| 亚洲精品一区中文字幕乱码| 乱老熟女一区二区三区| 亚洲图片 欧美电影| 欧美传媒| 中国一区二区亚洲人妻| 九九九午夜| 日韩青久久| www.久久制服糖| 亚洲老熟妇xxx| 操淫穴亚洲五月丁香 | 国模无码人体一区二区三| 婷婷综合| 天天影视之亚洲综合网| 国产精品人妻免费精品| 久综合网| 久久久久96| 国产欧美日本亚洲精品| 中文字幕一二三区| 91性感在线| 一区在线国产播放| 蜜屁Av| 青青免费在线视频一区| www.色婷婷| 天堂性色| 啪一啪免费视频| 青青草白白色| 日韩欧美成人午夜福利| 九九玖玖精品| 国产精品网址| 色狠狠色| 亚洲欧美骚| 8050午夜少妇无码| 碰超人人在线一区二区三区| 国产精品爱欲| 熟妇人妻一区二区三在线 | 狠肏骚人妻| 精品女同一区二区三区| 国产亚洲禁久一区二区| 亚洲欧美变态| 熟女突然公开看18禁影片| 小骚逼被操的爽不爽| 日韩成人精品| 久久人妇| 一级做a爰片久久毛片图片| 91亚洲黑人| 色噜噜狠狠色综无码久久| 97超碰磁| 伊人精品视频| 日韩成人精品视频自拍| 91高跟美女在线播放| 久久精品国产99精品亚洲蜜...| 91丝袜在线视频| 久久综合亚洲色1080p| 老熟妇一区二区三区啪啪| 无码国产Av| 欧美亚洲韩国视频十五区| www.色婷婷色综合| 综合 亚洲 欧美| 久久天天摸| 亚洲小电影免费涩涩成人在线高清| 久久夜嗨| 亚洲古典另类欧美在线| 男同专区一区二区三区在线| 婷婷色婷婷| 老外又粗又长一晚做五次| 97干天天| 午夜电影在线观看无码专区| 久久精品人妻一区二区三区| 99这里只有精品| 韩三级a视频在线观看| 色www精品视频在线观看| 国产一区二区三区精品观看啪| 秘书高跟黑色丝袜国产91在线| 男人的天堂网免费| 亚洲人成网站7777| 国产久9| 欧美老妇女内射网址| 五月丁香影院| 日本色日夜干| 国产人妻一区二区三区欧美毛片| 口爆吞精在线观看| 97亚洲在线| 91成人在线| 久久首页| 东北女人操比视频| 人人人人人人少妇| 国产中文大片资源中文字幕| 亚洲男人天堂视频| 伊人大香蕉在线| 日本三级网页| 懂色Av一区二区三区| 男人的天堂色偷偷青青草视频婷婷网| 东京热男人的天堂精品| 婷婷五月天激情四射| 大香蕉综合久久| 欧美有码激情视频一区二区三区| 一级@啪啪视频| 国产久久久| 91黑丝操| 欧美天堂超碰97| 日韩av不卡在线看| 岛国免费视频在线| 国产午夜在线观看| 蜜桃av综合网发布| 成人精品在线免费视频| 国产第二页| 久久啊哟| 人人干人人操人人..com| 亚洲无码com| 欧美后入式| 麻豆性爱视频在线播放| a久久| 免费1级a做爰片观看| 精品国产乱子伦一区二区三区,精品一| 97精品97| 大吊色| 黄色AV影视| 人妻中文字幕日韩电影| 亚洲乱色熟女一区| 色噜噜狠狠色综无码久久合欧美| 欧美在线第五页| 九九九久久久久| 青青草日本无码| 强奸乱伦AV网站| 亚洲 无码 偷拍| 久久超碰日韩精品| 91熟女视频网| http://qxhbdz.com| 26uuu性物| 女性喷水高潮在线观看| 4虎在线观看| 日韩干B| 狠狠干妹子| 热热色国产一二区AV| 91偷拍欧美亚洲| 国产欧美一区激情交| 强奸乱伦大香蕉| 国产精品久久妻无码网站| 久久九色| 国产无码成人无码| 亚洲欧美日韩激情不卡| 青青草一本道福利视频| 久久中文字幕女同性恋一区| 国产一区二区久久| a人欧美综合天堂麻豆| 天天日日日射| AND人妻系列| 青青草十区九区爱夜|