亚洲有码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
返回資訊列表
欧美日韩操逼动图| 欧美一级黄色18片免费看| 久久国产熟女影院| 丰满人妻一区二区三区免费,| 亚洲男人的天堂AV| 综合网欧美| 综合久久欧美| JuliaAnn丝袜熟女系列| 亚洲色图久久精品蜜| 97超碰超欧美。| 日本一级特级毛片视频| 黄页大片在线观看| 国内伊人久久久久久网站视频| 国产 日韩 欧美一区| 伊人五月天| 成熟熟女国产精品一区二区| 久久九色| 国产精品99久久久www| 久久久婷| 欧亚日韩中文在线| 色噜噜综合在线| 俺去啦自拍| 亚洲蜜桃V妇女| 亚洲 欧美 第一页| 国产又黄又猛又粗又爽的网站| 亚洲区限制级| 欧州一区二区三区四区| 麻豆黄四叶草网站| 日韩亚洲中文字幕在线| 国产小炒后入式| 国产极品精品美女视频| 婷色五月| 偷拍亚洲| 欧亚第一综合网| 日本爽爽爽爽爽爽免费视频| 亚洲狼狼干综合1| 日本精品中文字幕视频| 青草影院内射高潮| 久99久视频| 亚洲永久永久永久永久一级一级一级精品| 婷婷五月天激情四射| 大香交伊人网| 亚洲国产91精品一区二区久久| 加勒比在线视频| 肉动漫无遮挡h在线观看| 91色爽欧美| 亚洲黄色AV电影| 亚洲人精品久久久| 亚洲黑人在线| 精品一二三区四视频| 不卡二三区人妻少妇| 99这里有精品| 国产精品毛片?v一区二区三区| 大香蕉宅男伊人| 天堂а√在线最新版在线| 久久精品视频28| 日日噜噜夜夜狠狠视频无| 久久久穴999| 日韩精品资源专区二区| av线电影| 又黄又爽在线观看视频| 午夜一区二区三区国产| 熟妇女伦乱视频| 青青草国产亚洲精品久久 | 婷婷九月丁香| 殴美牲| 香蕉国产精品麻豆亚洲欧美日韩| 欲色影视综合吧| 亚洲国产高清福利视频| 久操91视频| 日产成人久久| 亚洲色婷婷| 欧美精品日韩久久久九| 黄页av| 性性欧美| 青青网三级视频| 人人潮人人摸| 精品人妻15区| 色综合久久夜色精品国产天堂| 五月丁香六月激情综合| 国产女人高潮嗷嗷嗷叫小说| 99福利社| 日韩精品第3页| 国产精品无码论坛| 在线无码视频| 农村女一级毛卡片| 欧美天天综合站| 日本免费亚洲欧美| 日韩欧美aⅴ综合网站发布| 2017天天插| 久久久91福利姬| 婷婷日韩一区二区三区中文字幕在线| 中文字幕日本久久| 99久久久无码精品国产人| 国产人妻久久精品一区二区三区| 欧美暴力猛交| 天美传媒AV国产在线| 国产精品久久久久久片| 亚洲?V无码专区在线电影| 亚洲日韩美女丝袜美腿人妻视频| 天天摸天天操视频| 大干人妻| 久久精品91| 宅男午夜在线视频| AV中文在线可看| 9色在线| 99性爱在线观看| 国产对白刺激视频| 日本操逼视频不卡直接放| 日韩精品人妻一区二区| 精品久久97| 蜜桃香蕉久草精品在线| 青青伊人这里只有精品| 久久精品人人做人人看| 中文字幕乱亚洲美女精品一区| 天堂精品一区| 香蕉国产97| 亚洲97网站| 欧洲亚洲综合| 中文字幕精品专区搜索结果91| 日韩钢筋无码高清啾啾啾| 亚洲激情 欧美色图| 91女在线观看| 97超碰色屌| 97超碰美国| 视频在线观看一二三区| 欧美亚综合色图| 91亚洲不卡一区| 日本免费不卡二区| 色女99一级片在线观看| 蜜桃精品视频一区| 超碰久在线天天做| 草B在线| 美女的肌被草喷水视频| 美女主播色欲91抠b在线播放| 亚洲成人一二三区| 久久久久久久六六| 日本精品加勒比海一区| 丝袜足交视频| 丰满高潮18xxxx| 亚洲免费人妻在| 黄aaaaaaaaaaaaaaaaaa色网站| 无码人妻丰满热妇又大又粗| 亚洲中文字幕av| 超碰av人人人| 99九九精品| 婷婷丁香六月天| 国产11页| 人人搡人人肉久久精品| 偷偷人人精品女女久久| 国产一区二区免费福利片| 国产又黄又粗的视频| 一级性爱啪啪视频| 国产女性无套 免费观看| 色五月综合| 久久久蜜桃一区二区三区| 久久精品免费| 欧美韩国你懂得在线 | 亚洲人妻日日日| 日韩97P| 久久夜夜夜夜| 婷婷丁香人妻| 酒色综合网| 精品午夜福利国产一区二区在线观看| 国产性刺激| 亚洲电影91| 性色综合网| 激情抓乳插进去啪啪啪日韩 | 啊啊啊久久久视频| 午夜性生活av免费在线看| 午夜精品五区| 日韩超碰精品综合| 91精品国产91熟女| 国产理论视频在线播放| 暖暖精品二区三区观看| 欧美暴力猛交| 久久精品无码专区| 青青操综合网| 欧美超碰96| 欧美色图欧美| 婷婷视频在线免费观看| 97爱爱爱综合| 日韩天天综合| 国产一区二区a毛片| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 蜜臀久久99精品久久久久久酒店 | 91日产欧美| 欧美色干| 色色色色电影网| 国产偷仑| 91网站18禁| 欧美熟女操屄| 久久成人午夜狠狠| 亚洲 自拍偷拍 欧美| 婷婷视频网| 欲射影视| 一区二区精品日韩欧美在线观看| 久草成人福利导航| 亚洲一区制服诱惑| 日韩性爱1级片视频| 中文字幕 码 自拍 视频 区| 天天天操天天天爱| 国产第12页| 又大又黄国产| 熟妇在线视频一区二区| 国产白丝网站| 欧美天天插| 婷婷激情四射| 爽爽淫人网| 九九九九九九综合| 高清国产av无码| 91久久久老司机| 国产精品白丝在线播放| 99热超碰在线| 热热色中文无码| 一级AV性爱| 欧美欲色| 国产强奸乱伦xd| 96久久久精品| 伊人网青青| 美腿丝袜偷拍亚洲欧美| 精品无码欧美三级| 天天色怡春院| 免费一级欧美片片线观看| 今日头条成人一区二区三区四虎精品| 免费人成在线观看网站品爱网| 国产不卡中文字幕免费avi| 97在线免费视频| 中文字幕加勒比海高清无码免费视频| 天天cao在线| 日韩人妻操B| 精品亚洲天堂| 国产专区路线| 亚洲精品天堂久久A∨51成人漫| 久久九精品| 国产强奸AV在线| 东北老女人的激情视频| 国产人妖的免费的视频| 欧美国产操逼| 欧美一级做a爰片免费视频| 中韩中文字幕在线观看| 加勒比大香蕉视频在线| 乱抡国产91| 碰碰在线视频| 九九精品99| 青青草中日韩在线| 97九色人妻| 一级AV性爱| 98福利在线视频| 亚洲中文字幕av| 精品日韩| 精品九九九九九九九九九| 韩国一级做A片免费的| 97超碰欧美精品| 中文字幕天天天天天| 2017人人操,人人摸| 97精品网站| 91bbbbbb| 天天综合网~91综合网| 九九综合| 亚洲导航深夜福利| 精品一级毛片在线观看| 蜜桃精品视频一区二区三区| 东北夫妻性偷拍| 久操凹凸视频| 蜜桃狠狠色伊人亚洲综合网站| 做爱福利视频一区二区| 激情久久av一区av二区av| 一本久久久精品| 操人妻丝袜高跟| a天堂视频| V A在线| 色五月AV在线| 少妇诱惑视频| 欧美爆操91| 无码伊人久久大杳蕉中文无码| 黄片免费日韩| 一二三四区电影| 香港日本韩国人妇99www.wccm20| 久99久视频精选| 日韩人妻免费精品| 夜夜操美女| 中文字幕狠狠玩| 亚洲女人91| 91亚洲欧美综合高清在线| 久都青青视频| 黄片www.| 久久av一级av少妇av高潮| 懂色av一区二区三区天美传媒| 蜜臀AV成人精品蜜臀| 婷婷中文字幕| 日韩人妻一区二区精品| 免费一级a毛片久久久久久鸭绿欲| 久久噜| 色噜噜人妻av 中文字幕| 国模精品一区二区三区苹果色戒| 亚州免费啪啪视频| 黄片qw| 97伊人超碰| 嗯~啊~快点 死我视频| 综合色啪| 强奸乱亚洲| yw尤物av无码点击进入麻豆| 中出20p| 1000午夜黄色| 亚洲日本男人天堂网| 丁香六月激情综合| 激情AV| 黄色av片三级三级三级免费看| 青草精品视频-日本久久久久网站| 3级毛片一二| 欧美性生活内射| 六月天婷婷| 日韩性爱播放| 秋霞曰韩R级| 国产精品久久久久综合| 丰满人妻av一区二区三区| 少妇一区二区三区高速| 日韩高清黄片| 国产东北女人在线视频| 岛国1区2区3区在线观看| 中韩中文字幕在线观看| 91蜜臀人妻中文字幕在线| 天天操天天7| 四虎免费在线播放| 欧亚揄拍偷拍精品视频 | 人人射人人操人人摸| 五十路六十路七十路熟婆| 成人小说另类在线| 精品国产Av无码久久久伦古装| 四虎精品一区二区| 你懂的在线观看区国产 | 一区二区三区色综合| 久久鲁夜| 久草电影网| 精品久9| 97视频在线| 粉嫩av一区二区三区天美传媒 | 欧美日韩岛国大片在线观看| 1024人妻| 熟女精品一区二区三区| 97精品一二区| 九一综合网| 夜夜嗨TV| 天天色综合影视网| 久久久久99精品成人片蜜臀| 欧美一区二区一级岛国大片| 亚洲黄色a级片| 涩五月婷婷| 五月天色综合| 夜夜爽77777| 五月天色电影| 婷婷精品久久av影视| 欧美+日产+中文| www.亚洲黄色| 欧美极度丰满熟妇hd| 综合网欧美在线| 熟女中出视频| 欧美精品激情| 免费人成在线观看网站品爱网| 一级特级aaaa毛片免费观看| 国产超碰在线| 国产情色在线| 欧美在线播放| 啪一啪免费视频| 大香蕉乱伦视频网| 加勒比海成人视频网 | 97资源超碰| 国产精品密臀网在线观看| 美女爽到高潮91| 欧美亚洲综合高清在线| 国产69精品久久久久99尤物| 日本欧美韩国日产片片在线看免| 2017大香蕉国产精品久久| 日韩欧美中文字幕搭讪巨乳美人妻视频| 亚洲中文字幕av| 中国少妇啪啪视频| 中文字幕亚韩| 久久久九九九九| 九九九九免费| 九九色逼| 亚州色图片在线色| 一区不卡在线观看av| 屌逼传媒| 91无码人妻精品一区二区三区蜜桃| 久久加勒比| 操我无码| 亚洲熟女乱综合一区二区三区| 午夜福利一区二区三区四区五区色婷婷| 久久78| 色婷婷五月综合激情中文字幕| 91暧暧| 人妻熟女一区二区三区视频| 国产精点久久久成人| 天天综合网1| 97免费视频在线观看| 久久久免费的精品| 动漫av中文| 成人免费视瓶| 欧美在线视频观看一二三四区高清| 久久久一区二区三区四区五区| 5278欧美一区二区三区| 久久成人午夜狠狠| 操逼www.| 欧美男人亚洲天堂| 人人潮人人摸| 亚洲情色婷婷五月天| 97久久久久| 亚洲第一成人影院色播| 亚洲高清男人天堂| 日本色色色色色视频| 操死我了嗯嗯嗯| 亚洲av综合伊人久久| 亚洲熟女国产综合另类| 国产女同在线观看视频| 日韩一999精品| 国产捆绑一区| 亚洲人在线| 最新无码国产| 99久久综合| 欧美人人曰人人操人人射射| 久久久久ab| 黄色片,com| 亚洲宗合网| 九月丁香综合网| 天天摸夜夜操视频| 日韩免费看黄片| 日韩av电影网站| 日韩亚洲精品一区二区| 日韩精品三级片长长久久| 国产女人高潮嗷嗷嗷叫小说| 丰满少妇人妻久久久久久| 欧美视频一| 10000部十八禁看电影| 人妻啪| 精品综合久久久久久97| 99综合| 欧美天天射| 成 人 影视 一区 二区 三区 四区 | 激情小说亚洲| 欧洲乱码视频| 欧美人体性爱互联网第一页婷婷日本| 蜜色网色哟哟| 青娱乐国产剧情av一区| 日韩精品人妻中文字有码在线| 免费?级毛片无码?∨蜜芽试看| 一级黄碟| 五月天激情小说网| 少妇一区二区三区高速| 久9综合在线| 亚洲 欧美 天天| 免费观看网黄| 亚洲人在线成线成人| 欧美日韩在线小说 | 亚洲无码视频免费在线观看网址!| 草草草视频在线免费看| 干b在线性社区| 爱妃国产亚洲视频中文字幕| 免费毛片在线播放| 国产中文日韩欧美一区二区三区人妻丝袜美腿| 欧美特大AA级黄片| 91在线/欧洲| 亚洲一曲日韩精品| 中文字幕伊人| 97干天天| 亚洲九区| 91一区二区三区蜜桃| 欧美亚洲玖玖玖| 女优大全 - 91n| 黄页大片在线观看| 国产一区二区三区视频在线看| 超碰亚洲97| 国产日韩欧美中文在线播放| 中文字幕激情小说| 精国久久一区二区三区98| 久久精品日韩| 怡春院久久| 97自拍视频在线| 欧美组图日韩亚洲中文字幕| 日本孕妇孕交| 久久久三区二区一区| 丝袜夫妻自拍| 91oumei| 婷婷丁香五月天综合东京热| 色噜噜国产精品视频一区二区| 97香蕉人人乳| 岛国成人av在线播放网址| 黄片色区软件| 亚洲欧洲综合av在线| 亚洲av性爱电影| 男人精品区| av天堂加勒比| 揉揉日日日日| 欧美色日| 中文字幕神马久久| 日韩啪啪啪视频| 操人妻逼91| 91亚·色| 天天做天天爱天天爽AV| 欧美aⅴ99久久黑人专区| 天美传媒AV国产在线| 999综合色| 欧美最大综合网| 风间由美日韩欧美久久| 高清国产成人无码| 91av一区二区在线观看| 婷婷久草| 日本乱人伦片中文三区| 黄色无码高清黄色无码网站| 日韩在线国产字幕| 日韩三级在线观看网站| av爱爱爱| 午夜男女爽爽爽影院视频| 日韩国产不卡在线视频| 一级特黄aaa大片在线观看成人一级片在线观看| 91N综合网| 电家庭影院午夜69久久夜色精品国产69乱| 色九久| 97干在线| 久久性爱精品一区| 日本午夜久久电影| 99热精品在线| 亚洲无限观看| 日本女优在线视频福利| 天天爽人人综合免费7799| www.91色综合| 天天日美女的B| 青青草一区二区高清无码视频| 国产精品成久久久久午夜午夜| 国产视频一区二区在线观看| 玖玖爱一区在线| 一区二区播放| 天天色黄色影院天天操| 91碰碰碰| 国产激情久久久| 九九综合九九综合| 婷色五月| 97超碰免费人人性爱| 九九九网站| 91人妻素女| 亚洲永久AV无码精品秋霞| 人人操人人操人妻人| 国产免a费看黄片在线| 久久这里都是精品| V A在线| 久久人妻精品| 伊人国产成人av网站| 激情五月丁香五月| 亚洲丝袜二区在线| 麻豆啪啪啪视频| 91视频伊人| 欧美日韩性感| 久久精品国产Aⅴ| 狼天天狼天天大香蕉| 97免费在线观看| 一区二区娱乐网站| 高清不卡 中文 人妻| 风流老熟女一区二区三区l| 国产精品第二页| 国产久久成人| 国产精品一区二区麻豆| 成人性爱av.com| 97日本超碰综合| 日韩欧美性吧婷婷乱伦大香蕉| 欧美日韩99精品麻豆传媒| 日本黄色天堂| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 成人线上超碰| 91殴美大片| 婷婷五月综合在线| 天天色黄色影院天天操| 青青草原av| 久草综合网| 亚洲成av人片色午夜乱码| 精品免费囯产一区二区三区| 亚洲欧美日产国产91毛片| 日韩免费三级黄片电影| 成人草草视频| 加勒比综合a∨| 五月丁香六月婷| 丰满人妻一区二区三区性色| 91免费看中出视频| 久久99草| 久久亚洲天天做| 强奸a片网| 亚洲欧美自拍偷拍| 综合久久少妇中文字幕| 久久亚洲一区女同性恋中文字幕| 精品一二三区女同| 97超碰色屌| 91碰碰| 日本精品成人无码| 吖在线不卡一区二区国产剧情| 久久欧美激情| 揉揉揉夜夜| 九热超碰| 中国黄色特级精品一区二区三区片| 欧美第一页性| 人妻精品视频一区二区三区| 日本二区不卡| 91美女片在线| 天天肏天天干| 东北老熟女| 夜夜欧美 | 九九九九九九免费视频| 国产精品久久久九九九| 级品肉射| 亚洲骚逼少妇| 天天澡天天狠天天天做| 翔田千里A片一区二区| 最新日本中文字幕| 免费a v| 台湾一区国产高清在线| 欧美大香蕉久| 无码抄逼网| 亚洲日韩国产欧美综合v| 国产女性无套 免费观看| 无套内射性感少妇视频| 日韩人妻资源在线看| 97中文超碰| 亚洲色图 欧美热图 清纯唯美 另类自拍| 国产精品青青草| 四虎视频在线观看| 97 国产精品| 一二三区操逼国产91| 亚洲天堂女优在线 | 东京热综合久久一区二区| 亚洲少妇色图自慰直播| 一区二区三区麻豆| 亚洲啪啪视频免费| 综合激情五月天| 东北女人av| 精人妻无码一区二区三区伊人直播 | 亚欧美综合网。| 中国特猛少妇色xxx| 69XX一中文字幕人妻91| 探花一区在线| 高清国产av无码| 久久99久久99精品天美传媒棢·纸:. | 成人羞羞视频国产| 国产精品嫩草久久久久| 国产精品色| 四虎免费视频| 亚洲欧洲无码bt精品合集| 为用户提供免费看黄网址在线观看| 亚洲精品乱码久久久久久蜜桃麻豆| 精品国产少妇高潮视频| 插B在线观看| 黄色人人| 久久久久元码视频| 成人性爱av| wwe 天天干.com| AA丁香综合激情| 日韩78m视频| 亚洲国产婷婷在线播放| 日本一级不卡一二区| 人人操人人摸人人看人人干| 综合久欧洲| 国产在线观看一区二区三区| 性一交一乱一交A片久久四色| 亚洲999综合| 手机在线人成免费视频| 亚洲激情色片| 日本视频一区二区三区| 日本黄页视频在线观看| 老司机射| 亚洲欧美校园| 大香蕉综合在线| 精品免费囯产一区二区三区| 日本九九九九| 天天射夜夜骑| 亚91亚洲网| 国产69精品久久久久99尤物| 东北女人操比视频| 91精品大奶人妻| 97视频免费播放| 亚洲精品一区二区三区新线路| J?P?NESEHD熟女熟妇伦| 欧洲免费一区二| 成人免费毛片| 精品一区二区三区四区女| 国产日韩精品无码去免费专区国产| 超碰97久久观看| 欧美天天拍| 亚洲一本色道中文无码aV天美| 久久9精品| 60秒免费小视频| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 亚洲中文丝袜美腿诱惑字幕| 99re视频这里只有精品| 欧美综合狠| 97色欧州| 国内亚洲高清无码| 骚货操死你| 人人透人人操| 中文久久久| 久久精品91| 亚洲色悠悠久久88| 国产馆极品诱惑| 中文字幕亚洲在线一区| 天天爽夜夜爽夜夜爽精| 在线v中文字幕一区二区三区| 国产精品久久久久久久久久久久久久久久 | 亚洲少妇视频| 精品无吗m| 欧美AB在线| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 天天看夜夜看日日干| 久久成年片色大黄全免费网站| 婷婷久久大香蕉| 女人双腿搬开让男人桶| 丁香五月天堂网| 超碰亚洲97| 红桃视频高潮| 蜜臀va69| 亚洲 中文字幕 精品| 美國A片| 综合网欧美在线| 夜夜嗨绯色| J?P?NESEHD熟女熟妇伦| 亚洲九九视频| 婷婷丁香激情| 思思热在线cao| 久久国产视频性吧| 91撸色网 玖玖网 欧美| 欧美黑人91| 久久久久久网址| 婷婷色播婷婷| 天美麻豆黄色录像| 国产在线综合网| 99久久99九九99九九九| 偷拍超碰| 男人的天堂2019| 亚洲国产日韩欧美熟妇在线| 欧美青青视频| 中文乱码字字幕在线第5页| 国产日韩在线播放| 淫乱图区 | 五月婷婷爱六月丁香色| 天天超级碰碰碰| 免费?级毛片无码?∨蜜芽试看| 婷婷综合视频| 夜夜高潮夜夜爽夜夜爱爱一区| 国产精品久久久久久无码红治院| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 成人免费不卡在线视频| 亚洲色人| 欧美色图片| 97亚洲中文| 亚91网| 91老司机视频| 亚洲 图片 综合91| 亚洲中文字幕97久久精品少妇| 成全在线观看免费观看| 欧美成va视频网站| 国产特级毛片AAAAAA高潮流水 | 一区二区偷拍拍视频| 久久人妻精品| 97亚洲综合电影| 97精品视频免费| 久久仑合| 天天爱综合网| 久草新在线| 偷拍偷窥与盗摄视频专区| 亚洲欧美色图小说| 国产在线观看91精品一区| 亚洲欧美自拍偷拍| 国产精品亚洲一区二区三区四区| 国产 码在线成人网站| 偷拍网站久久男女男| 欧美少妇第一页| 欧洲精品区| 婷婷综合伊人一区| 国产亚洲精品美女久久久久久2021| 尤物黄色在线观看网站| 天天看,天天做| 大香蕉亚洲中文| 一直超碰| 超碰97护士| 成人a大片在线观看| 久久久婷婷| 日韩精品电影| 操国产高清| www网站黄| 极品后入免费视频| 加勒比综合| 五月天丁香网| 久久久久久久9999| 亚洲九月丁香| 欧美少妇色综合| 国产精品香蕉| 婷婷五月天补不补| 一二三四区操操Av| 国产女人操逼视频| 强奸熟女一区二区三区 | 97色欧洲| 免费一级欧美片片线观看| 国产黄色动态精品| 婷婷色综合欧美日韩| 日本狠狠干| 97综合激情| 午夜色婷婷| 抽插一区二区视频| www.激情| 精品午夜福利| 色爱欲亚洲| 欧美性爱系列| 死我十八禁| 欧美亚洲自拍另类人妻| 精品一区二区三区四区外站| 亚洲欧美综合网站| 麻豆色99999| 五月丁香色综合| 成人a大片在线观看| 狠狠操狠狠操操| 欧中美三级一区二区三区| 蜜屁Av| 日韩在线人妻网站| 七久久久| 天天操夜夜操| 婷婷五月综合在线| 操逼网站地址| 久久丁香五月天| 久久三| 图片区小说区| 亚洲中文字母在线播放| 岛国视频免费在线观看| 在线观看十八禁| 岛国视频免费在线观看| 九色精品视频导航1| 青青免费在线视频一区| 综合久久久久久久久91| 91欧美丝袜| 又大又长又粗又爽又黄| 后入人妻一区| 亚洲欧美成人在线| 777AV电影| 97色欧洲| 人妻在线大香蕉| 国产精品亚洲一级av第二区| 美女黄色一级A视频| 在线无码网站| 国模少妇一区二区三区| 91色五月俺来也| 肉丝网站91| 国产JDAV无码视频在线观看| 精品网站9999| 色色色色日本| 性欧美精| 蜜桃久久久久久久久久久久| 亚洲天堂五月天国产| 亚洲日精品| 91欧美另类| 伊人玖玖网| 性色乱AV一区二区| 国产精品久久久视频| 屌逼麻豆| 天天综合网久久ww| www.高清无码诱惑一区.com| 久久久久七视频| 欧美青青视频| 日本精品加勒比海一区| 日日爽熟女| 久久免费9| 欧美性爱18观看| 成人性爱美曰韩| 婷婷综合在线观看| 丝袜无码a片| 本道在线| 九九热精品视频六| 日本操逼无码| 国产激情av女片自拍| 精品人人插人人操| 欧美久久九九| 欧美在线55555| 亚洲高潮影院| 国产欧美日韩一区二区三区| 97综合| 亚洲成人福利电影免费| 长长久久免费视频| 亚洲丝袜99| 亚洲欧美一区二区网址| 女人被添高潮免费视频| 超碰97男人| 一本色道人妻久久| 亚洲成人无码影院| 少妇毛片久久| 老司机香蕉久久久久| 中文字幕奈奈美被公侵犯| 99久在线精品99re8| 亚洲天天影视色综合| 国产乱伦搜索结果91P| 99热精品在线观看| 啊啊啊啊在线播放| 欧美偷拍区| 中文久久一区| 欧美亚洲天堂| 精品91摸| 欧美激情欧美精品| 放黄片放3级黄片没穿衣服| 国产偷拍自拍在线视频| 蜜臀99999| 国产精品久久久久久久AV大片 | 亚洲国产中文字幕| 亚洲欧洲综合成人av一区| 四虎 精品 WWW| 日本中文熟女视频| 精品人妻一区二区三区-国产精品| 九九九精品美女| 裸体美女免费看网站青草| 综合五月天| 国产原创精品| 欧美日韩午夜精品一区二区三区| 欧美大码在线视频| www熟女乱伦com| 午夜综合在线| 日本道久久综合色色| 亚洲高清欧美总合| 真实高潮91| 草草影院最新网址| 怡红院网站在线视频| 亚洲无套久久嗯嗯| 久久久久久久久久久免费精品| caopeng97人妻| 欧美日本国产日韩激情视频| 亚洲欧美激情小说| 最新加勒比丝袜在线| 十八禁视频一区二区| 99精品丰满人妻无码| 一道本久久棕合爱| 日本成人A片网站| 激情婷婷丁香网| 欧美另类色| 九九碰九九爱97超碰| 人人玩人人添人人澡免费| 九九九精品| 久久熟女久| aⅴ日韩成人电影av在线免费看av大全 | 黄页大片在线观看| 欧美网站免费| 成 人片 黄色大片| 啊啊啊啊啊啊在线| 不卡六六在线91| 情色五月天网| 夜夜国产一区| 色综合中文字幕不卡| 欧美视频在线视频免费va| 亚洲精品无码成人久久久99| 中文操逼字幕| 97在线免费看视频| 四虎AV在线播放| 亚洲人精品午夜不卡| 综合激情一一91| 天天日天天操VV| 四虎在线播放| 男人的天堂2000| 91久久堂| 五月天加勒比啪| 久久精品视频一区三区小泽玛利亚| 伊人网在线观看| 国产白领连续中出在线播放| 男人久久精品| 制服诱惑亚洲一区二区三区在线观看| 一区二区三区在线美女| 97精品| 91在线秘 男同| 国产精品久久久久久久黄无码| 国产曰批免费观看久久久| 艹精品| 成视频在线观看免费看| 色性综合| 北条麻妃性愛视频| 视频在线97| 四虎国产精品永久在线囯在线| www久久国产精品| 综合久久六月久久婷婷| 国产色精品午夜大片| 97超级色碰碰| 色香91| 精品久久久久9999| 日韩精品电影| 久久无码成人| 四虎884a| 亚欧色图在线激情| av毛片aaaaa免费看| 2024人人操人人摸| 极品人妻少妇综合| 狠狠干婷婷| 综合色欧美| 女上位精品在线| 欧日a| 天天天操天天天爱| 国产AV高清AV无码| 欧美在线大香999| 日韩熟妇二区| 日韩三级在线观看网站| 97操97色| 中文字幕一区电影在线观看| 无毛精品| 日韩人妻 中文字幕| 中文字幕免费在线观看| 色噜噜综合在线| 内射小黄片| 97射欧美| 2025亚洲男人天堂| 干日本人少妇午夜寂寞影院| 色综合1991| 富二代亚洲精品99| 333kkkk·亚洲com久久| 综合久久9| 亚洲涩图欧美| 久久综合久久综合人久久夜精品| 欧美激情性爱视频网站| 一本色道熟妇| 伊人伊人LD| 亚洲天堂中文字幕无码男同| 欧美日韩日产免费网站看| 干B网| x97av| 久久m| 东京成人一区| 欧美躁死她一区二区| 亚洲国产成人精品无码专区| 东京热一区二区中文字幕| 超碰欧美COM| 亚洲男人综合网| 亚洲第一页欧美| 天天日夜夜| 六月激情婷婷| 日本高清有码网址视频| 蜜乳av一区二区| 人人操,人人插| 日语五十路和六十路亚洲国产精品| 亚洲人妻久久久| 超碰偷拍| 久久久久幕乱码| 亚洲熟妇综合久久久久久| 国产乱人妻精品入口| 5252色欧美在线| 熟妇艹鸡八| 爱爱久久| 欧美中字不卡| 另类老少妇| 欧美 色 亚洲| 丰满人妻一区二区三区免费| 狠狠爱夜夜| 五月丁香黄色网| 黄色电影在线播放综合网站| 国产成人午夜视频网址| 午夜120视频在线观看| 久草福利在线资源站| 国产这里只有精品| 天天色香欲综合网| A啊啊在线观看| 偷拍在线观看视频| 美女淫穴| 97资源欧美| 又黑又大又粗| A V少妇特黄三级| 五月婷婷色| 大鸡吧尹人在线| 2020中文字幕| 欧美少妇一区二区三区| 亚州操操穴网| 91+欧美| 婷婷激情一区二区三区俺也去| 富二代亚洲精品99| 久久av色| 经典丝袜一区| 色天天野狼综合社区| 久久成人东京热人妻| 91美女视频直播| 久久午夜色播影院免费高清| 91欧美大片| 久久五十路熟女人妻| 浪人综合网| 99视频内射三四| 国产精品久久久久久夜夜夜| 人人澡综合涩| 欧美中字不卡| 亚洲97在线观看| 在线无码网站| 人妻少妇色综合| 亚洲中文字幕日产无码久久| 91N综合网在线| 超碰97久久| 国产www色在线观看| 精品国产乱码久久久久久久久1| 天天爽夜夜欢视| 亚洲熟女一区二区| av一区二区三区四区| 97精品综合久久| 97日视频| 久久成年片色大黄全免费网站| 18禁美女裸体无遮挡啪啪| 日本熟妇熟色97一本在线观看| 亚洲码专区| 国产在线激情| av最新免费中文字幕| 97 九色| 97色碰| 开心五月婷婷| 欧美日本成人一区二区| 亚洲 欧美 天天| 国产中出内射一区二区| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 亚洲影院成人| 不卡超碰护士AV在线免费播放| 91丝袜美女视频| 97视频在线免费看| 999精品国产高清一区二区| 精品无码一二三四区| 不卡中文字幕aⅴ在线| 久草精品国产蜜臀 | 97视频在线观看播放与子乱对白在线……| 999 久久久| 曰韩成人免费视频| 天天干人人乐| 日韩av三四区| 色色色天美视频| 加勒比色99999| 91蜜臀在线久久久久| 看大黄色大片原件| 婷婷探花久久精品一区| 久久小视频| 欧美天天干| 啊啊啊啊免费视频| 日夜久久久九九九久| 国产小u女在线观看| aV中亚| julia ann久久| Av色五月| 久久98| 日日日日做夜夜夜夜无码| 97久久久久| 偷拍五区| 色盈盈影院| 防屏蔽在线视频| 91操人| 国产区91柔拿会所技师| 少妇综合网| 天天干人人乐| 97情超碰色| 九九国产| 91爰爱欧美| 亚洲少妇激情视频| 亚洲欧美九九| 男人的天堂亚洲| 蜜乳av首页| 操逼操操操91| 插日本熟女视频| 艹精品| 欧美aaaaaaa| 无码天天操| 中日韩久久久| 国产精品丝袜久久亚洲不卡| 欧美欲色| 久久AV色| 夜夜骑夜夜操| 欧 美 自 拍 偷 拍|