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

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
返回資訊列表
欧美日韩青操| 成人av免费观看| 97干天天| 国产小视频91| 狠狠操狠狠燥| 丁香六月啪啪| 少妇精品久久| 五月丁香在线| 亚洲另类欧美精品| 麻豆人妻少妇在线免费观看| 第四色奇米影视777| 一区二区首页| 欧美黑人精品一区二区| 亚洲素人综合| 国产欧美日韩在线观看麻豆传媒公司| 99超碰碰| 久草资源在线视频官方总站日韩丝袜美腿| 九九九久久久| 日本不卡码黄色| 天天弄天天操| 十八禁黄色| 伊人久久婷婷| 久久性爱精品一区| 97亚洲色图| 亚洲天堂 视频你懂的| 国产成年女黄特黄| 国产丁香精品露脸视频| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 极品销魂美女一区二区| 日本大香蕉| 熟女乱伦二区| 欧美伊人久久综合网| 插老姨肥穴| 最近的最新的中文字幕视频| 久久成年片色大黄全免费网站| 在线亚洲丝袜视频网站| 色色色网站| 国产亚洲日韩欧| 久久久涩| 久久久久久久久国产| 久久XX| 欧美成人性爱视频在线播放| 久湿久久| 四虎884a| 久久一二三四不卡| 99999精品成人| 人妻熟女av国产网站| 韩国三级一线观看久| 亚洲精品蜜桃久久久| 高树玛利亚无码流出| 国产在线精品偷| 一区二区三区 日韩欧美| 26uuu久久| 中文字幕一二三| WWW美腿丝袜香蕉中文| 色诱中文字幕| 大香蕉天天看妹子| 久久‘黄片视频| 久久久精品视频免费观看| 91丨九色丨国产丨人妻在线| 综合伊人网12色| 黑人性欧美| 在线啊啊啊| 亚洲se电影| 东方亚洲在线操逼天堂| 国产黄色动态精品| 蜜臀精品1区2区| Av色五月| 乱码熟妇人妻久久久| 国产乱码久久| 99re这里只有精品3| 蜜臀久久一区二区| 熟妇熟女一区二三区| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 精品少妇一区二区三区| 欧美色91| 日本成人免费一区二区三区| 黄片www视频免费| 日韩亚洲欧美中文字幕| 97超碰香蕉| 天天射夜夜操| 国产熟女完整版中字| 国产成人精品必看| 韩国黄片aaaa| 欧亚综合一卡二卡中文字幕| 国产高清不卡视频| 死我十八禁| 97碰碰色| 欧美性爱中文字幕无线码| 国产黄色影片在线观看| 亚洲av乱伦色图网站| 人妻少妇视频在线播放| 日韩传媒在线| 99热这里只有精品1| 亚洲性天堂| WWW操逼| 欧美一级黄片视频在线| 九热视频| 久久噜| 亚洲欧美日韩中文播放| 国模艳艳啪啪一区| 欧美色棕合| 福利社区午夜一区二区| 日本特黄f c2| 日本三级精品| 操逼片中文| 夜夜操天| 深喉吞精| 久久精品欧美一区二区三区不卡| 久久久蜜桃一区二区三区| 国产欧美日韩女同性恋ww喷水精品 | 日本1区2区不卡视频| 国产51色综合久久免费| 五月丁香在线| 精品人妻视频一区二区在线播放 | 操B久久| 色妇综合网| 五月天婷精品激情| 99久在线精品99re8热视频在线| 国产精品九九| 在线人成亚洲视频免费观看| 91 刺激在线| 蜜桃臀一区二区aV| 草草影院最新网址| 久久久久元码视频| 操逼不卡中文字幕| 日韩欧亚中文在线| 日韩成人精品| 欧美72网页| 国产精品久久久吖| 最近的最新的中文字幕视频| 色噜噜人妻av中文字幕| 国产亚洲国产超碰| 国产日韩欧美| 黄色片大香蕉| 精品九九淫乱男| 亚洲一区操| AV天堂男人的天堂| 国产操偷| 噜噜瑟| 国产精品一区二区黄片| 精品人妻一区二区三区视频在线| 久久婷婷六月综合| 亚洲精品少妇| 粉嫩小泬久久久一区二区| 亚洲一区操| 亚州久久9| 色哟哟综合| 神马久久久久久久久久| 人人贴人人摸| 蜜臀99久| 97资源免费视频| 立川理惠加勒比无码| 97鸡把在线视频| 亚洲日本韩国极品一区二区| 国产狂喷潮在线精品| 欧美一二三区四五区| 久久av成人无码免费| 国产精品午夜福利| 东北女人被操| 久久这里只精品99re66图| 囯产精品久久久久久久久久二区三区| 日韩久久艹| 国产精品久久伊人| 性色AV网站| 欧洲精品久久| 床上啊啊啊一区二区三区| 操逼A∨| 国产自产22区| 亚洲综合影视| 亚洲图片偷拍视频区| 丰满人妻一区二区三区免费 | 亚洲黄色电影| 人妻精品一区二区全免费| 亚洲中文一区二区三区视频| 免费观看国产不卡av| 免费精品无码一级毛片牛牛影视| 久超碰这里只有精品| 天天干一区二区| 免费久久精品麻豆一区二区av| 无码人妻精品酒店| 这里只有97精品| 俺也射| 日本淫穴在线| 日韩精品人妻中文字幕有码午| 5278欧美一区二区三区| 尤物黄色在线观看网站| 91成人18| 国内一区二区免费| 亚洲欧美综合| 亚洲美女av无码| 九九伊人网| 欧美呦呦性爱| 日韩熟女无码| av毛片aaaaa免费看| 亚洲校园激情| 欧美日韩小说| 亚洲国产97在线精品一区| 69综合网| 欧美天天综合站| 精品白丝一区| 超碰地址久久| 亚洲无码精品AV久久久| 亚洲,日韩,欧美,成人播放| 亚洲欧美一区二区网址| 久久在线观看免费视频| 久草国产在线视频| 亚洲人妻AV| 91精品国产综合久久久蜜臀| 日本九九久久99播| 久欲AV| 九九九九欧美| Aa东京男人的天堂| 蜜臀AV午夜精品久| 日本操逼视频在线| 欧美黄色大片在线观看 | 亚洲。天堂。日本在线观看| 啊啊啊啊好疼视频| 婷婷国产精品一区二区| 私人尤物在线精品不卡| 国产精品黄色三级av| 天堂中文资源在线bt| 成人在线视频网| 黑操B| 欧美 日韩 国产传媒| 久久亚洲熟妇在线视频| 久久偷偷色综合蜜桃| 另类欧美色| 91精品亚洲内射孕妇| 欧美强奸乱能| 久久亚洲影院一区二区| 无卡一区=区| 97AV在线观看| 操高情无码| 亚洲日韩一区电影| 久久久久久久久久久久欧美日| 日本不卡一区二区三区| 99无码| 人人操人人摸人人看人人干| 操人无码| 91超碰丝袜制服| 91视频伊人| 中国一区二区亚洲人妻| 亚洲熟妇丝袜在线观看| 亚洲 欧美 日本 国内 首页| 国产精品分类在线观看| 欧美另类色图片| 天天操天天7| 99色网| 欧美综合自拍成人自拍第二十页| 无毛精品| 大学生口爆吞精| 激情自拍 校园春色| 久久是精品| 夜夜草天天| 99热亚洲| 综合久久2017| 五月综合久久| 97视频播放| 国产97色在线| 综合色久欲| 日逼逼免费看| 欧美 熟女 日韩| heyZO天然素人无码AⅤ专区| 熟妇视频一区二区三区在线观看| 欧美资源| 奸色色 男人天堂 天天射| 噜噜噜噜天天狠狠| 夜夜影视四色| 精品免费成人久久| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 九九玖玖精品| www.男人的天堂| 人人扣人人操| 欧亚日韩一区在线| 99999久久久久9国产精品| 亚洲 日本 一 二 三| 在线视频资源| 久久久久久久极品香蕉视频| 熟女乱3伦999| 国产外初女出血视频| 成人a大片在线观看| 国产二区三区粉嫩在线| 欧美天天干| 97在线青| 丁香久久| 国产日韩精品无码去免费专区国产| 久久超碰、| 国产白嫩漂亮KTV在线| 久污| 麻豆天美电影一区二区| 伊人黄色片| 国产精品国产| 国产不卡片| av一区二区三区不卡| 99re69| www.色操逼| 一区二区中文| 精品久久艹| 亚洲色综合| 射久久| 亚洲综合贴图91| 亚洲精品成人| 91AV入口| 99色在线| 亚洲色堂免费视频| 一区二区三区成人高清视频| 欧美一级二级三级| 啊啊啊啊啊啊啊啊啊啊在线观看| 欧美精品自慰系列寂寞少妇| 亚洲欧美高清无码| AV色女综合| 亚洲精品国产精品乱码不卡| 26uuu偷拍亚洲欧洲综合| 欲香欲色综合天天伊人| 亚洲一二三| 亚州色交| 乱伦AVxx| 涩涩涩综合| 爱妻综合网| 毛片中心9视频99| 一级特级aaaa毛片免费观看| 国产精品无码成人精品| 夜夜欢天天干| 亚洲综合草草| 亚洲精品97中文字幕| 久久熟女人| 无码少妇精品一区二区60岁老人| 久久偷拍人| 久久性爱免费送| 日韩激情无码影院| 天天综合97| 校园春色亚洲色图| 亚洲资源一区| 欧美亚洲手机在线| 天天操妹子| 久久久三区二区一区| 超碰人妻中文在线| 九九夜精品九九在线| 久久综合18p| 有码免费观看| 中文字幕精品人妻丝袜| 日韩熟女精品无码专区一区二区| 国产按摩一区二区三区| 色九月| AV中文在线| 无码 有码 国产18p| 26uuu偷拍亚洲欧洲综合| 亚洲自拍97| 另类天堂| 日本成人A片免费看| 黄页网站免费高清在线观看| 综合免费无码中文| 久久亚洲AV成人精品无码| 欧美经典一区二区三区| 性色av网站| **一级毛片国产| 欧美激情五月天| 久久超碰久| av在线人气| 香一区二区三区| 97精品久久久久久久| 噜噜噜亚洲精品| 91激情国产| 97视频免费| 69视频入口| 欧美亚洲素人制服精品| 亚洲综合中文字幕有码| 嗯嗯啊中文字幕| 高潮内射在线| 亚洲图片欧美另类综合免费视频大大香| 爱妻综合网| 欧美九九九| 2017av无码免费无线播| 日韩欧美aⅴ综合网站发布| 性爱1区| 九九九综合精品| 欧美国产一区二区三区麻豆传媒| 干美女人妻| 中文三一区| 黄片免费视频2019| 狠狠综合| 蜜桃臀一区二区三区久久| 狠狠入| 1人人看人人摸人人操| 国产精品岛国片在线观看| 天天综合色电影| 天堂亚洲精品久久老牛| 人妻性爱一区二区| 五月花婷婷| 久久久99999久网站| 亚洲毛片基地专区| 思思热er精品视频| 亚洲色图 图片| 人妻精品一区二区| 国产精品久久久鸭无码的功能| 熟妇一区二区三区| 日本成人在线不卡一区二区三区 | 69天堂| 日韩久久激情精品| 欧美日韩另类字幕中文| 亚洲国产av中文字幕久久 | 亚州色图欧美色图| 嫩草影院性色| 久久亚州大香蕉| 欧美性生活免费网| 97色视频在线| 国产色综合亚洲色综合吹潮| 精品无人区麻豆乱码久久久| 久久久中文| 日韩性爱长视频免费| 国产av尤物| 美女91在线| 99ri视频| 91美女小视频| 国产欧美一区二区| 国产精品免费久久久久久久久久| 中文字暮97| 99999re| 暖暖精品二区三区观看| 亚洲精品黑丝| 99热精品在线播放| 蜜桃av色偷偷av老熟女| 成人老鸭窝人人在线视频| 天美传媒婬乱| 大香蕉综合在线| 超碰在线香蕉| 欧美最大综合网| 国产亚州高清国产拍精| 国产97色在线 | 亚洲| 91精品国产麻豆国产自产在| 综合色欧美| 91大胆欧美| 一级二级三级黑人无码| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 丰满熟女人妻一区二区三五十一路| 一区二区影院| 久这精品中文在线观看视频| 一区二区三区男女操逼黄色小电影| 免费操逼91| 亚州乱码中文字幕综合久久久| 东北丰满熟女国产一区| 亚洲少妇视频| 韩国女主播青草在线| 久操网视频| 91无码人妻精品一区二区三区蜜桃| 香蕉久久国产AV一区二区| 蜜臀久久99精品久久久久久-DVD原版全| 亚洲熟妇乱女区二区三区| 国产一区免费午夜视频| 风间由美日韩欧美久久| 97国产天堂岛| 亚洲色鬼| 中国乱伦一区二区| 日韩免费高清大片在线| 国产成人无码网站在线视频| 97日韩欧美亚洲| 亚洲熟妇丝袜在线观看| 丁香激情五月天| 色999五月色| 国产懂色精品国产av| AV和黑人在线播放| 亚洲AV无码AV吞精久久久久| 高清无码在线播放网站| 免费一级黄色录像影片| 精品国产无码中文| 国产精品久久久久久久久久久久| 欧洲人妻视频| 国产女同在线观看视频| 国产精品com| 最新日日夜夜天天干干| 美国一区二区三区视频| 91精品久久久久久综合五月天| 国产免费久久久久| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 日本久久999| 日日日日做夜夜夜夜做无码97| 一区不卡在线观看av| 97在线视频网站| 欧美色综合| 久久精品福利影院| 国产超碰人人操| 国产亚洲人妻综合日韩 久久| 高清不卡国产| com 首页 18岁 禁区 女优 免费 精选 同城 | 超碰爽人妻熟女Av| 亚洲 91 在线| 黄色小说亚洲| 欧美啪啪天堂| 国产亚洲精品精AV.| 人人操人人叉人人插人人| 日韩性爱再线视频| 中文一区二区婷婷视频| 黑人粗大V S日韩女优视频| 97超碰色色| 精品久久久久久中文| 亚洲精品丝袜-不卡成人免费……| 久久一二三四五六七八九区区区 | 久久欧美按摩999| 国产日韩人人| 97精品免费| 欧美性爱视频免费一区一A| 啪啪视频mP4| 综合大香蕉美。| 100啪啪视频大全| 日本一级黄色电影| 91在线限制级| 91精品导航| 操逼视频亚洲| 亚洲永久永久永久永久一级一级一级精品| 日本无码1| 日本一区二区做爱的视频| 欧美激情一区| 国产 无码 一区二区| 熟妇熟女亚洲天堂网| 欧美黑人日韩少妇色情| 狠狠操狠狠操操| www99热| 99re在线精品78| 影视综合无码少妇| 久久超碰97中文字幕| 欧美天天射| 亚洲欧美国产va在线播放频| 囯产精品久久久久久久久久梁医生 | 中文字幕艹艹| 综合第一页| av天堂5| 9精品久久| 第四色奇米影视777| 中文字幕片| 99这里只有精品国产| 性欧美体内射精| 日本三级A片网站com| 日产中文字幕2020| 日本性爱欧美性爱| 欧美伦乱爱| 九九干| 国产又大又粗又长视频| 国产精品成人无码av无码免费| 亚洲精品蜜桃久久久久久久| 欧美另类综合久久| 久久噜噜噜精品国产亚洲综合| 日本成人电影资源网| 精品少妇人妻| 狠狠色综合网| w w w.久久精品| 嗯阿好爽好紧| 日本女优在线视频福利| 国产嫩草精品A88AV| 最近2019中文字幕国语免费版| 人妻超碰青青草98| 婷婷伊人綜合中文字幕| 日少妇视频| 东京热av男人的天堂| 亚洲日韩美国人妻| 9久久久久| 日本97久久久精品| 国产乱伦性爱AV| 久九九九| 天天日美女的B| 亚洲高潮少妇| 日韩人妻制服丝袜av| 国产又粗又长又大的视频| 爽爽歪在线视频| 国产福利在线视频网站| 天天做天天爱| 久久色一区二区| www.色五月| 欧 美 自 拍 偷 拍| 麻豆天美AV传媒第一页| 精品久久久久黄少妇| 亚欧美色图| 欧美日韩中文亚洲v在线综合| 天天干18禁| 亚洲一区亚洲天堂| 99热免费| 大香蕉啪啪啪| 爽极品影院| 九七超碰| 日韩在线电影| 黑人在线91| 大香蕉伊然在亚洲91| 人妻熟女一区二区三区在线| 久久久精久久久| 色五91| 亚洲午夜免费狠狠干| 一区二区娱乐网站| 免费A V在线| 成人乱人伦一区二区| 国产精品美女久久久久久网站| 97久操| 国产一区二区在线看| 色777999综合| 九九亚洲| 久久产精品一区二区三区电影| suv精产一二三区| 久久久啊啊啊| 91精品人妻一区二区三区蜜桃| 国产三级中文字幕粉嫩 | 天天天天天天天天天天干美女| 天天躁日日躁成人字幕aⅴ| 超碰欧美| 超碰国产精品无码| 涩涩这里只有精品视频| 亚洲制服aⅴ中文字幕| 亚洲啪啪视频一区二区| 欧美一区二区观看在线| 婷婷色播婷婷| 天天综合网国产| 国产美脚女优尤物在线观看| 你草精品在线视频| Aa东京男人的天堂| 后入精品| 欧美精品三区| 尤物视频一区| 丰满人妻无码一区二区三区| 亚洲精品乱码久久久久久蜜桃麻豆| 日本在线激情一区二区三区| 夂久色| 国产丝袜视频| 久久久久密臀视频| 久伊人网78| 日韩欧无码一区二区三区免费不卡| 久久久96| 久久久麻豆精品| 97九色人妻| 和协影院中文字幕三区| 天天性射网| 男女性无套 免费九一| 波多野42部无码喷潮在线观看| 日本精品成人无码| 日日日啊啊啊| 久久久天堂| 老熟女乱伦片| 五月色网| 久草男人天堂| 97在线视频免费| 亚洲日韩美女中文字幕乱| 一区二区日韩欧美久久| 国产亚洲精品美女| 欧美日本成人一区二区| 天天看,天天做| 久久久久久中文版| 日韩猛交| 亚洲一级特黄大片在线播放91| 天天干一干| 欧美日韩97在线| 一级二级三级黑人无码| 精品丰满人妻一区二区三区免费观| 欧美日韩人妻婷婷一区| av毛片aaaaa免费看| a网站免费观看| 国产乱不卡| 日韩在线性爱免费视频| 中文字幕精品丝袜| 男人天堂电影院| 97精品综合| 超碰在线1234区| 精品人妻一区二区视频| 欧美精品偷拍| 久操婷婷| 青娱乐 成人娱乐在线| 亚洲精品国产拍免费91在线| 午夜AV人气不卡| 屌妞视频久久久久久久| 飘花国产午夜精品不卡| 国产suv精品一区二区四| 亚洲日韩电影| 99亚亚热| 亚洲av噜噜噜噜噜噜| 亚洲精品久久久久久久久豆丁网| 色呦色呦色精品| 被男人吃奶很爽的毛片| 色天使大香蕉| 久久久久亚洲AV无码专区少妇| 精品无码一二三四区| 国产精品久久久久久照片| 欧美日动态视频| 日韩一级特黄av毛片| 尤物视频偷拍免费| 狠狠色综合网| 综合久久9| 第二页中文字幕| 大黄片做爱的大的| 老女人91| 中文字幕五区| 一级AV性爱| 伦理日韩国产久久| 色一情一乱一乱一区91Av| 女人久久久| 一区二区三区四区久久视1| 国产精品呦一区二区三区| 国产91精品久久久久久久网曝门| 操逼逼中文字幕| 精品人妻少妇| 国产亚洲欧洲在线观看| 性开放中文AV高清无码免费看| 青青草在线视频美女| 天天影视网综合少妇| 一级人妻性爱视频| 怡红院网站在线视频| 啊啊啊啊啊啊啊国| 浪人综合网| 婷婷五月天激情四射| 使劲用力艹少妇视频一区二区 | 亚洲第一黄色av网站| 亚洲图片 欧美电影| 日本天天吊| 奇米狠999| 裸体1区| 亚洲欧洲小说图片视频 | 欧美日韩国产中文超碰| 国产强奸91| 一区二区视频在看| 99热aaa| 伊人成人中文字幕久久网| 手机在线播放国产福利| 欧美中文字幕精品人妻| 天天综合站| 麻豆 亚洲 97| 精品熟女一区=区三区| 欧美性爱1080p| 夜夜爽夜夜| 久久精品噜噜噜成人看免欧美大片| 97精品97| 麻豆九九九| 麻豆2区1区天美| 免费在线观看国内色片网站网址 | 国产欧美精选自拍一区| 夜夜性| 校园春色美腿丝袜 | 成人久久久精品| 欧美 亚洲 大香| 亚洲s在线观看| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 欧美探花网| 看免费一级在线播放毛片| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 综合亚洲欧美精品日韩?v| 欧美在线天堂| 变态综合色| 美女9118禁| 九热中文字幕| 日韩无码极品| 久久av无码| 人人看人人插| 成人激情无码在线视频| 一级岛国大片| xxx0国产在线播放| 92午夜免费福利视频| 久久鲁干| 一区二区偷拍拍视频| 人人妻人人澡人人爽久久av| 91亚洲青青草原精品1区| 久久久久久久人妻| 99精品久久| 密桃99999| 久久色人体| 爽爽爽免费视频| 99久久综合| 久偷拍欧美日韩三区| 天天情欲宗合网| 肉丝中文无码高清| 日韩啪啪视频| 中文字幕一二三| 国产精品美女视频诱惑| 大黄片做爱的大的| 秋霞视频一区二区| 精品无码久久久| 午夜综合在线| 97ai亚洲| 夜夜草天天| 日韩中文字幕在线视频观看| 久久XX| 亚洲色图a| 天天爱综合网| 亚洲97在线观看| A一区片| 丁香五月婷婷基地| 淫骚熟女一区二区三区| 欧美亚洲特P| 人人摸.人人色| 99性爱| 欧美中字不卡| 美女天天干| 日本欧美国内在线| 97干com| 999熟女精品| 无码直播久久久| 亚洲成人在线播放| 欧美亚洲厕所精品偷拍91| 天天干嫩逼网| 永久免费发布性爱网| 白丝1区2区3区| 青草一区二区| 在线观看国产黄色| 亚洲污一污二| 极品销魂美女一区二区| 1024日韩| 五十路人妻在线| 天天日天天搞天天干| 蜜色网色哟哟| 精品熟女呻吟久久91| 亚洲第一成人影院色播| 国产亚洲色婷婷99精品91| 清纯唯美亚洲综合| 国产成人网站在线观看| 91劲爆| 亚洲啪啪视频一区二区| 区二区亚洲婷| 高清无码在线播放网站| 久久一二三四五六七八九区区区| 91国产美女丝袜足交精品视频| 久久久久国产精品久久久| 91色色色| 欧洲精品二区| 99色| 五十路熟女人妻一区二区在线观看| 日本99久久| 99re这里只有精品2| 乱伦Av网| 天天在线91| 婷婷亚洲综合| 欧综合网| 啊a一区在线| 欧美18老人禁| 性爱AV天堂| 亚洲一欧洲中文字幕在线| 中文字幕神马久久| 破苞ⅩXXX性无码动漫无码| 亚洲中文电影| 中文字幕精品日韩中文字幕| 天操天操夜操夜月月年年操操| 亚洲精品无码少妇久久| 精品人妻一区二区三区四区| 九九色影院| 国产91精品在线免费| 青青草精品| 久久亚洲AV无码专区国产精品 | 国产激情av女片自拍| 亚洲自拍欧美色综合| 中文字幕在线高清男人的天堂| 日韩欧美三级| 鲁鲁色综合网| 日韩乱伦AⅤ| 91无摭挡| 98色网| 中文字幕一区二区三区高清| 狠狠躁天天躁日日躁97| 亚洲国产精品久久久久久久久久| 欧洲黄色网| 人妻喷水| 综合网久久| 国产AV激情无码久久无码| 日韩九九九| 青青草色插素人| 色色色色色色色色色色色色色色综合 | 色情五月丁香| 欧洲亚洲国产综合在线| 国产午夜精品一区二区三区牛牛| 在线天堂999| 久久九九99| 免费一级a毛片久久久久久鸭绿欲 国产精品亚洲天堂网址 | 熟女在线视频| 中文字幕日韩精品久久| 南澳成人一级片在线播放| 91熟女综合| 夜夜操2028| 99热自拍| 九九探花视频在线观看| 日本黄大片在线观看视频| 九九五月天| 在线一区| 亚洲自拍欧美国产首页网曝 | 97干天天| 国产免费大片| 婷婷五月成人| 婷婷丁香五月激情啪啪| 国产日韩欧美亚洲精品95| 国产精品女aA片爽爽视频| 成年人免费观看网站| 国产欧美成人精品| 蜜臀久久在线视频| 日韩一999精品| 东京热男人的天堂网| 99热亚洲| 五月开心网| 国产懂色精品国产av| 特级特黄一级毛片免费| 中文字幕三四区| 亚洲图片欧美| 女人天堂av在线播放| 97欧美精品| 日韩无码极品| 三级日本一区二区三区| 青娱乐国产剧情av一区| 国产精品黑人一区二区三区| 91P0RNY大屁股人妻| 精品国产一区二区三区四区在线看| 亚洲日韩视频二区| 日本免费人成视频播放120秒| 在线观看高清AV| 特级毛片特黄久久免费看| 人人爱人人操人人性| 综合久久欧美| 91N欧美| 日韩av三四区| 欧美在线 亚洲| 五月天婷婷社区| 亚洲综合电影| 亚洲五区熟女| 人人操人人射人人干| 加勒比综合在线| 一区二区高清视频| 亚洲精品自拍| 日人妻视频91| 久操九九九九| 久久久久亚洲精品| 粉嫩av一区二区三区四季| 97中文热色| 第四色奇米影视777| 97人人模人人爽人人| 天天干一干| 校园春色中文字幕AV| 精品1区2区3区| 日韩性爱1级片视频| 久久av成人无码免费| 天堂九九九九九九九九九| 大香蕉欧美日韩| 大奶的诱惑| 男女激情黄色网址| 一二三啪啪专区| 91在线一起| 日韩精品一区二区高清 | 五月激情小说| 九九热精彩视频| 欧美色网| 韩国一级婬片A片AAAAA| 91网站18在线| 日韩一级二级三级免费看完整版| 中文字幕aⅴ在线视频| 国内毛片婷婷六月色| 99性爱视频| 中文字幕国产| 丝袜剧情| 玖玖爱一区在线| 另类天堂| 少妇高潮99p| 精人妻一区二区三区| 日本人妻中文字幕精品| 亚洲情色第一页| 中文字幕av片| 黄片aaaaa一区| 北京美女一区二区| 一级二级三级黑人无码| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 青青草啪啪网| 深夜福利黄片| 97亚洲综合电影| 东京热,男人的天堂| 很很热性爱视频| 日韩欧美中文字亚洲慕| 亚洲成?V人片在线观看福利| 欧美久久婷| 五十路一区无码| 日韩精品 视频一区二区| 久久99草| 免费久久一级毛片大黄| 久久久久久中文版| 欧美精品日韩久久久九| 亚洲天堂电影精品一区| 自拍啪啪视频| 99在线精品视频| 国产91 丝袜在线播放00-百度| 九月色婷婷| 色激情综合网站| 大香蕉一人在线| 操逼啊啊啊91| 91操熟女视频 | 国产不卡精品91| 丰满美女一级毛片在线播放| 另类av天堂| 日本三级一区二区 在线| 99日免费视频中文字幕| 久热91| 欧美劲爆第一页| 免费的av网| 欧美高清18A片| 中文熟女五十乱码在线| 超碰av人人人| 亚洲国产蜜臀系列在线观看| 成人一级性爱| 五月综合久久| 九九碰九九爱97超| 91老熟女逼| 中文字幕99999| 欧美精品1区2区3区| 亚洲中文电影| 老司机福利青青草| 2011国产精品| 日日躁夜夜躁狠狠躁超爽| 日韩无码黄色片| julia国产在线 | 欧美日韩不卡a片| 久热精品在线| 久久超碰亚洲人| 高潮的A片激情扒开一区| 色九色久| 美女AV一区二区| 伊人AAA| 国产91啪| 美女久久久| 五月天人妻综合| 狠狠操一区二区| 久久婷婷五月天| 中国国国产一级特黄毛片| A 天堂| 我爱操| 加勒比久久av| 1956日韩精品| 99热超碰在线| 偷拍自拍在线视频观看| 无码一区免费在线不卡| 日本大香蕉综合网| 国产精品电| 素人无码中文字幕| 嫩草 人人网精品| 亚洲夜色在线| 亚洲αv一区二区三区| 亚洲精品久久久久毛片A片拉屎 | 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 日产精品久久久一区二区| 日日嗨AV一区二区夜夜| 亚洲另类久操网| 级品肉射| 日本三级网页| 欧美丝袜美女电影一二三四区| 操迟操逼在巾线Fre看| 久久久专区| 香蕉人欧美综合| 欧美少妇第一页| 国产精品电影大全| 中文字幕88av在线| 超碰97人人cao| 色噜噜国产在线| 中文字幕奈奈美被公侵犯| 97超碰国产精品| 欧美一区二区三区入口| 亚州欧美综合| 久久婷婷国产一区二区色| 亚洲国产成人精品999| 97亚洲欧美日韩| 久久av一级av少妇av高潮| 精品中文一区二区| 日本午夜精品理论片A级APP发布| 深夜激情| 91美女在线视频| 伊人久久大香大香线蕉中文| 狠狠爱综合网| 日韩欧美中文字| 久7色| AV天堂国产| 亚洲资源站| 99热精品青草在线| 久草视频分类在线| 欧美一级美片在线观看免费| 亚洲另类色综合网站| 欧美熟妇精品黑人巨大一二三区| 综合伊人激情| 亚洲天堂加勒比| 精品久久青青草| 思思热er精品视频| 欧美在线永久天堂| 中文字幕乱妇免费视频| 久久九操在线观看| 欧美色图亚洲特色| 97舔舔| 五月天激情网图片| 亚洲成人久久美女| 欧美操逼熟女| 国产人妖的免费的视频| 欧美熟妇精品黑人巨大91| 中文字幕一区二区三区蜜桃视频| 大香樵伊人网| 五月激情小说| 偷窥自拍A片| 深夜激情无码| 亚洲 一区二区 自拍| 亚洲欧洲综合成人av一区| 操国产逼| 97超碰人人模人人拍人人| 日韩射精| 午夜精品久久一区二区| 久久熟女嫩草成人片免费| 亚洲欧美国产中文视频| 久久天天躁日日躁狠狠躁| 国产女人操逼视频| 国产色呦呦| 综合影视国产无码| 久久久精品中文字幕爱豆| 放黄片放3级黄片没穿衣服| 国产美女裸体秘 永久无遮挡| 一区二区三区高清| 国内毛片欧美香蕉精品| 天天射天天| 国语对白在线播放视频| 日本精品高清一二区一本到| 无码日韩人妻av一| 一起草日韩| 激情久久av一区av二区av| 3P乱轮视频| 一区在线观看中文字幕| 99ri精品| 老司机午夜精品视频| 欧美成人性爱视频在线播放| 黄色无码高清黄色无码网站| 少妇综合| 人人操人人操人人人操| 人、人、摸,人、人、草| 69超碰综合| 日日橹狠狠爱欧美超碰| 麻豆精品A片免费观看| 精品制服美女中文一区二区三区| 天欧美在线| 精品国产乱码久久| 日韩卡一卡二卡三在线| 丁香六月激情| 怡红院亚洲怡春院av| 人妻精品一区二区三区| 国产精品不卡高清在线观看| 国产毛片在线| 乱精品一区字幕二区| 久久久久9999精品九九九| 骚女高跟AV在线| 91亚洲欧洲| 岛国黄| 中文字幕国产精品1区| 蜜臀99999| 大鸡巴久久| 国产成人精品必看| 99免费在线视频| 久久美国毛片| 久久精品一区二区一8| 久草福利在线资源站| 国产九月婷婷| 亚洲人精品久久久| 97在线免费观看| 精品久热| 日本免费二区三区| 国产三区免费在线观看| 中出789在线视频| 久久久久久999| 91天天美女| 91性色| 午夜亚洲WWW湿好大| 国产精品色色| J?P?NESEHD熟女熟妇伦| 久久久久久久久久久久欧美日| 伊欧美综合视频| 国产91 丝袜在线播放00-百度|