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

ARTICLE DETAIL

資訊詳情

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

ESP32 USB CDC功能詳解:從原理到無線串口網(wǎng)關(guān)實戰(zhàn)

ESP32 USB CDC功能詳解:從原理到無線串口網(wǎng)關(guān)實戰(zhàn) 1. 項目概述為什么ESP32的USB CDC功能值得你花時間如果你手頭有ESP32-S2、ESP32-S3或者ESP32-C3/C6這些帶原生USB接口的芯片卻還在用傳統(tǒng)的USB轉(zhuǎn)串口芯片比如CP2102、CH340來和電腦通信那可能就有點“大材小用”了。今天要聊的USB CDCCommunication Device Class功能就是讓ESP32直接“變身”為一個虛擬串口設(shè)備省掉外部芯片一根USB線搞定供電、程序上傳和串口調(diào)試。這不僅僅是省了一個元件、幾根線那么簡單它意味著更穩(wěn)定的連接、更高的通信速率輕松上兆波特率以及更簡潔的硬件設(shè)計。對于做數(shù)據(jù)采集、物聯(lián)網(wǎng)網(wǎng)關(guān)或者需要高速日志輸出的項目來說這個功能簡直是“神器”。我折騰過不少ESP32項目從早期的純串口調(diào)試到后來用上CDC體驗提升是立竿見影的特別是調(diào)試那些需要頻繁打印大量傳感器數(shù)據(jù)的應(yīng)用時CDC的穩(wěn)定性優(yōu)勢就出來了。2. 核心原理與硬件選型不是所有ESP32都能玩轉(zhuǎn)CDC2.1 USB CDC到底是什么它和傳統(tǒng)串口有何不同簡單來說USB CDC是USB協(xié)議中定義的一個設(shè)備類別專門用于實現(xiàn)類似串行端口COM口的通信。當ESP32啟用CDC功能并通過USB連接到電腦時電腦操作系統(tǒng)會將其識別為一個新的串行端口比如COM5或/dev/ttyACM0你可以像使用普通串口一樣用Arduino IDE的串口監(jiān)視器、Putty或者任何串口工具與之通信。但它和傳統(tǒng)UART串口有本質(zhì)區(qū)別物理層不同傳統(tǒng)UART使用TX、RX、GND三根線進行異步串行通信。USB CDC則走的是USB協(xié)議使用D、D-差分信號線通信協(xié)議棧復(fù)雜得多。協(xié)議棧與驅(qū)動UART通信幾乎無需驅(qū)動或使用簡單的轉(zhuǎn)接芯片驅(qū)動。USB CDC需要設(shè)備端ESP32實現(xiàn)完整的USB設(shè)備協(xié)議棧并在電腦端安裝對應(yīng)的CDC驅(qū)動程序通常系統(tǒng)自帶或由Arduino IDE提供。性能與功能UART波特率有上限通常幾兆bps且是點對點。USB CDC基于USB總線速度更快全速USB 12Mbps高速USB 480Mbps并且可以與其他USB功能如HID、MSC復(fù)合在一個接口上。在ESP32上實現(xiàn)CDC本質(zhì)上是利用其內(nèi)置的USB外設(shè)控制器運行一個輕量級的USB設(shè)備協(xié)議棧并響應(yīng)主機電腦的CDC類請求虛擬出一個串口通道。2.2 硬件門檻認清你的ESP32型號這是最關(guān)鍵的一步。只有具備原生USB DeviceUSB OTG功能的ESP32系列芯片才能支持作為CDC設(shè)備。最常見的支持型號包括ESP32-S2單核擁有一個USB OTG接口是較早支持CDC的型號。ESP32-S3雙核性能更強USB接口功能更完善支持CDC也支持JTAG調(diào)試是目前的主流選擇。ESP32-C3基于RISC-V的單核芯片也支持USB CDC。ESP32-C6支持Wi-Fi 6和藍牙5.0同樣具備USB功能。重要提示經(jīng)典的ESP32如ESP32-D0WDQ6也就是我們常說的ESP32 DevKitC V4用的那種沒有原生的USB Device功能。它上面的USB口僅用于供電和通過板載的USB轉(zhuǎn)串口芯片如CP2102進行通信。所以如果你用的是這類開發(fā)板本文討論的“USB CDC”功能與你無緣你用的依然是傳統(tǒng)的UART over USB轉(zhuǎn)接芯片。實操心得如何快速確認看開發(fā)板原理圖。如果芯片的USB引腳通常標為USB_D / USB_D- 或 DP / DM直接連接到了Type-C或Micro-USB接口的對應(yīng)數(shù)據(jù)引腳而沒有經(jīng)過任何像CP2102這樣的串口轉(zhuǎn)換芯片那基本就支持。或者更簡單的方法是在Arduino IDE的板卡管理器里選擇對應(yīng)的S2/S3/C3型號如果“上傳方法”選項里出現(xiàn)了“USB CDC”或“Internal USB”之類的選項那就對了。3. 軟件環(huán)境搭建與核心庫解析3.1 Arduino IDE與板卡支持包的安裝安裝Arduino IDE確保使用較新版本的Arduino IDE建議1.8.19以上或2.0以上。舊版本可能對新的ESP32系列支持不完善。添加ESP32板卡支持URL打開Arduino IDE進入“文件” - “首選項”。在“附加開發(fā)板管理器網(wǎng)址”中添加以下URL如果已有其他URL用逗號分隔https://espressif.github.io/arduino-esp32/package_esp32_index.json安裝板卡支持包打開“工具” - “開發(fā)板” - “開發(fā)板管理器”。搜索“esp32”。你應(yīng)該能看到由“Espressif Systems”提供的“esp32”平臺。選擇最新版本進行安裝。安裝過程會下載所有必要的工具鏈和庫包括USB CDC所需的底層支持。3.2 關(guān)鍵庫USB CDC與TinyUSB在Arduino ESP32核心中USB CDC功能的實現(xiàn)主要依賴于兩個部分Arduino核心內(nèi)置的USB CDC類當你選擇了支持USB CDC的開發(fā)板后核心會默認啟用一個Serial對象但這個Serial可能指向的就是USB CDC虛擬串口而不是硬件UART0。具體行為取決于開發(fā)板的定義。底層的TinyUSB棧Espressif的Arduino核心使用開源的TinyUSB庫作為其USB設(shè)備協(xié)議棧的實現(xiàn)。這是一個輕量級、跨平臺的USB設(shè)備協(xié)議棧支持包括CDC在內(nèi)的多種USB設(shè)備類。對于大多數(shù)應(yīng)用你不需要直接調(diào)用TinyUSB的APIArduino核心已經(jīng)做了封裝。注意事項關(guān)于Serial和Serial0這是一個常見的困惑點。在傳統(tǒng)的ESP32無原生USB開發(fā)板上我們通常用Serial.begin(115200)來初始化與電腦通信的UART0連接著板載USB轉(zhuǎn)串口芯片。而在支持USB CDC的開發(fā)板上情況可能變化有些板型定義Board Definition會將Serial對象重定向到USB CDC虛擬串口。這意味著你直接使用Serial.print()輸出就會走到USB CDC。為了兼容性硬件UART0可能被映射到另一個對象比如Serial0。最可靠的做法是在代碼開頭通過#define或條件編譯來明確使用哪個串口或者查閱你所選具體開發(fā)板的文檔。例如在ESP32-S3-DevKitC-1開發(fā)板上常見的做法是// 使用USB CDC作為主調(diào)試串口 #define SERIAL_DEBUG Serial void setup() { SERIAL_DEBUG.begin(115200); // 初始化USB CDC串口 delay(1000); // 給電腦一點時間識別并打開端口 SERIAL_DEBUG.println(Hello from ESP32-S3 via USB CDC!); } void loop() { // 你的代碼 }4. 基礎(chǔ)功能實現(xiàn)與代碼詳解4.1 第一個USB CDC程序點亮LED并回傳信息讓我們從一個最基礎(chǔ)的例子開始實現(xiàn)通過USB CDC接收指令控制板載LED并回傳狀態(tài)。/* * ESP32-S3 USB CDC 基礎(chǔ)控制示例 * 功能通過串口監(jiān)視器發(fā)送 1 開燈發(fā)送 0 關(guān)燈發(fā)送 ? 查詢狀態(tài)。 */ #define LED_BUILTIN 48 // ESP32-S3-DevKitC-1的板載LED引腳根據(jù)你的板子修改 #define DEBUG_SERIAL Serial // 明確指定使用USB CDC虛擬串口 bool ledState false; void setup() { pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, LOW); DEBUG_SERIAL.begin(115200); // 初始化USB CDC波特率參數(shù)在CDC模式下有時被忽略但建議保留 // 等待USB連接建立。對于CDC電腦需要時間安裝驅(qū)動/創(chuàng)建端口。 while (!DEBUG_SERIAL) { delay(10); } DEBUG_SERIAL.println(\n\nESP32-S3 USB CDC Demo Ready.); DEBUG_SERIAL.println(Send 1 to turn LED ON); DEBUG_SERIAL.println(Send 0 to turn LED OFF); DEBUG_SERIAL.println(Send ? to get current status); } void loop() { if (DEBUG_SERIAL.available() 0) { char incomingByte DEBUG_SERIAL.read(); switch (incomingByte) { case 1: digitalWrite(LED_BUILTIN, HIGH); ledState true; DEBUG_SERIAL.println(LED turned ON.); break; case 0: digitalWrite(LED_BUILTIN, LOW); ledState false; DEBUG_SERIAL.println(LED turned OFF.); break; case ?: DEBUG_SERIAL.print(Current LED state: ); DEBUG_SERIAL.println(ledState ? ON : OFF); break; default: DEBUG_SERIAL.print(Unknown command: ); DEBUG_SERIAL.println(incomingByte); break; } } // 可以在這里添加其他非阻塞任務(wù) }代碼解析與注意事項while (!DEBUG_SERIAL) { delay(10); }這行代碼在USB CDC場景下至關(guān)重要。它等待USB連接被主機電腦正確枚舉并準備好。如果沒有這個等待程序可能在上電后立即開始發(fā)送數(shù)據(jù)而此時電腦端的端口還未就緒導(dǎo)致前幾條打印信息丟失。DEBUG_SERIAL.begin(115200)對于USB CDC實際的通信速率是USB總線速率這個波特率參數(shù)通常被忽略但設(shè)置一個值是一個好習(xí)慣保持了與傳統(tǒng)串口編程的一致性。引腳定義務(wù)必根據(jù)你的實際開發(fā)板型號查找正確的板載LED引腳。ESP32-S3-DevKitC-1通常是GPIO48。4.2 上傳代碼的特殊步驟無需手動復(fù)位使用USB CDC功能上傳代碼與傳統(tǒng)的UART上傳有一個顯著區(qū)別你通常不需要手動按板子上的“BOOT”和“RST”按鈕來進入下載模式。在Arduino IDE的“工具”菜單中選擇正確的開發(fā)板例如“ESP32S3 Dev Module”。選擇正確的USB CDC支持選項在“USB CDC On Boot”或類似選項中選擇“Enabled”。這確保芯片一啟動就初始化USB CDC功能便于IDE自動連接。選擇上傳方法選擇“USB CDC”或“Internal USB”。這告訴IDE通過USB直接與芯片的ROM引導(dǎo)程序通信進行上傳。選擇正確的端口將開發(fā)板通過USB線連接到電腦。稍等片刻你應(yīng)該會在端口列表中看到一個以芯片命名的端口如“ESP32-S3 USB Device (COMxx)”或“/dev/ttyACM0”選擇它。點擊上傳。IDE會先嘗試與開發(fā)板通信使其自動進入下載模式。你可能會在底部信息窗口看到“Connecting...”的提示然后開始編譯和上傳。整個過程應(yīng)該是無縫的。注意如果遇到上傳失敗提示“Failed to connect to ESP32: Timed out waiting for packet header”可以嘗試以下步驟確保USB線是數(shù)據(jù)線而不僅僅是充電線。按住開發(fā)板上的“BOOT”按鈕不放然后短暫按一下“RST”按鈕再釋放“BOOT”按鈕強制進入下載模式然后立即點擊上傳。檢查電腦設(shè)備管理器中是否有未知設(shè)備或感嘆號設(shè)備可能需要手動安裝驅(qū)動Arduino IDE安裝目錄下的drivers文件夾里通常有。5. 高級應(yīng)用與性能優(yōu)化5.1 復(fù)合設(shè)備CDC MSCU盤模式或 CDC HIDTinyUSB棧的強大之處在于可以輕松實現(xiàn)復(fù)合設(shè)備。例如你可以讓ESP32同時表現(xiàn)為一個虛擬串口和一個U盤Mass Storage Class, MSC或者一個虛擬串口和一個鍵盤HID。實現(xiàn)CDCMSC復(fù)合設(shè)備數(shù)據(jù)記錄器示例這個場景很實用ESP32將傳感器數(shù)據(jù)記錄到內(nèi)部的SPIFFS文件系統(tǒng)中同時通過USB CDC提供實時調(diào)試接口。當連接到電腦時它還能作為一個U盤讓用戶直接拷貝走數(shù)據(jù)文件。這通常需要修改開發(fā)板的配置文件boards.txt或自定義的platformio.ini啟用MSC支持并編寫相應(yīng)的文件系統(tǒng)操作和USB描述符配置代碼。在Arduino ESP32核心中可以通過定義宏來實現(xiàn)。由于涉及較深的配置這里給出概念步驟啟用MSC支持在代碼開頭或編譯選項中定義宏如#define CONFIG_TINYUSB_MSC_ENABLED 1。初始化文件系統(tǒng)使用SPIFFS或LittleFS庫初始化閃存文件系統(tǒng)。注冊MSC回調(diào)函數(shù)實現(xiàn)磁盤讀寫、容量查詢等回調(diào)函數(shù)并將其注冊到TinyUSB的MSC驅(qū)動中。USB描述符需要提供一個復(fù)合設(shè)備的USB描述符同時包含CDC和MSC的接口描述。實操心得創(chuàng)建復(fù)合設(shè)備對初學(xué)者有一定挑戰(zhàn)建議先從Arduino核心庫或TinyUSB的官方示例中尋找現(xiàn)成的復(fù)合設(shè)備例程在其基礎(chǔ)上修改。配置錯誤的描述符會導(dǎo)致電腦無法識別設(shè)備。5.2 提升CDC通信的可靠性與速度緩沖區(qū)管理增大發(fā)送緩沖區(qū)默認的串口發(fā)送緩沖區(qū)可能較小。對于高速數(shù)據(jù)流可以嘗試在begin()之前使用Serial.setTxBufferSize(size)來增大緩沖區(qū)例如2048字節(jié)防止數(shù)據(jù)丟失。及時讀取接收緩沖區(qū)在loop()中頻繁檢查Serial.available()并處理數(shù)據(jù)避免接收緩沖區(qū)溢出。對于命令解析建議使用狀態(tài)機或定長協(xié)議而不是依賴delay()。流控制Flow Control雖然虛擬串口不一定支持硬件流控RTS/CTS但可以在應(yīng)用層實現(xiàn)軟件流控制如XON/XOFF協(xié)議或使用自定義的ACK/NACK協(xié)議來確保大數(shù)據(jù)塊傳輸?shù)目煽啃?。例如發(fā)送方在發(fā)送一段數(shù)據(jù)后等待接收方的確認字符超時未收到則重發(fā)。非阻塞式設(shè)計與任務(wù)分離避免在loop()中使用長時間的delay()。對于需要定時發(fā)送數(shù)據(jù)如每秒發(fā)送一次傳感器讀數(shù)的場景使用millis()進行非阻塞定時。如果程序復(fù)雜考慮使用FreeRTOS任務(wù)將USB CDC的數(shù)據(jù)收發(fā)和處理放在一個獨立的任務(wù)中與其他傳感器采集任務(wù)分離提高系統(tǒng)響應(yīng)性。// 非阻塞定時發(fā)送示例 unsigned long previousMillis 0; const long interval 1000; // 間隔1秒 void loop() { unsigned long currentMillis millis(); // 處理接收到的命令非阻塞 handleSerialCommand(); // 定時發(fā)送數(shù)據(jù)非阻塞 if (currentMillis - previousMillis interval) { previousMillis currentMillis; sendSensorData(); } // 其他任務(wù)... }6. 實戰(zhàn)項目基于USB CDC的無線串口透傳網(wǎng)關(guān)讓我們結(jié)合一個實際項目將ESP32的USB CDC和Wi-Fi功能結(jié)合起來制作一個無線串口透傳網(wǎng)關(guān)。這個設(shè)備一端通過USB CDC連接電腦作為一個虛擬COM口另一端通過Wi-Fi連接到一個TCP服務(wù)器或者另一個串口設(shè)備實現(xiàn)雙向數(shù)據(jù)透傳。這在工業(yè)遠程調(diào)試、無人機數(shù)傳等場景非常有用。6.1 系統(tǒng)架構(gòu)與設(shè)計思路電腦 (串口工具) --[USB CDC]-- ESP32 --[Wi-Fi TCP]-- 遠程服務(wù)器/設(shè)備核心思路ESP32扮演一個橋接角色。它從USB CDC虛擬串口讀取數(shù)據(jù)通過Wi-Fi TCP客戶端發(fā)送到遠程服務(wù)器同時從TCP連接接收數(shù)據(jù)原樣寫回USB CDC虛擬串口。這樣電腦上的串口工具就像直接連接到了遠程的TCP服務(wù)一樣。6.2 核心代碼實現(xiàn)#include WiFi.h #include WiFiClient.h #define DEBUG_SERIAL Serial // USB CDC #define NETWORK_SSID 你的Wi-Fi名稱 #define NETWORK_PASS 你的Wi-Fi密碼 #define TCP_SERVER_IP 192.168.1.100 // 遠程TCP服務(wù)器IP #define TCP_SERVER_PORT 8080 // 遠程TCP服務(wù)器端口 WiFiClient tcpClient; bool wifiConnected false; bool tcpConnected false; void setup() { DEBUG_SERIAL.begin(115200); while (!DEBUG_SERIAL) { delay(10); } DEBUG_SERIAL.println(\n ESP32 Wireless Serial Gateway ); // 連接Wi-Fi connectToWiFi(); // 連接TCP服務(wù)器 connectToTCPServer(); } void loop() { // 1. 檢查并維持Wi-Fi連接 if (WiFi.status() ! WL_CONNECTED) { wifiConnected false; tcpConnected false; DEBUG_SERIAL.println(Wi-Fi disconnected. Reconnecting...); connectToWiFi(); } // 2. 檢查并維持TCP連接 if (wifiConnected !tcpConnected) { connectToTCPServer(); } if (wifiConnected tcpConnected !tcpClient.connected()) { DEBUG_SERIAL.println(TCP connection lost.); tcpConnected false; tcpClient.stop(); delay(1000); connectToTCPServer(); } // 3. 數(shù)據(jù)透傳USB CDC - TCP if (tcpConnected DEBUG_SERIAL.available() 0) { size_t len DEBUG_SERIAL.available(); uint8_t buf[len]; DEBUG_SERIAL.readBytes(buf, len); tcpClient.write(buf, len); // 發(fā)送到網(wǎng)絡(luò) // DEBUG_SERIAL.print([Sent] ); // 可選本地回顯已發(fā)送數(shù)據(jù)調(diào)試用 } // 4. 數(shù)據(jù)透傳TCP - USB CDC if (tcpConnected tcpClient.available() 0) { size_t len tcpClient.available(); uint8_t buf[len]; tcpClient.readBytes(buf, len); DEBUG_SERIAL.write(buf, len); // 發(fā)送到USB CDC // DEBUG_SERIAL.print([Rcvd] ); // 可選本地回顯已接收數(shù)據(jù)調(diào)試用 } // 短暫延時避免過度占用CPU delay(1); } void connectToWiFi() { DEBUG_SERIAL.printf(Connecting to %s, NETWORK_SSID); WiFi.begin(NETWORK_SSID, NETWORK_PASS); int attempts 0; while (WiFi.status() ! WL_CONNECTED attempts 20) { delay(500); DEBUG_SERIAL.print(.); attempts; } DEBUG_SERIAL.println(); if (WiFi.status() WL_CONNECTED) { wifiConnected true; DEBUG_SERIAL.print(Wi-Fi connected. IP: ); DEBUG_SERIAL.println(WiFi.localIP()); } else { DEBUG_SERIAL.println(Wi-Fi connection FAILED!); } } void connectToTCPServer() { if (!wifiConnected) return; DEBUG_SERIAL.printf(Connecting to TCP server %s:%d..., TCP_SERVER_IP, TCP_SERVER_PORT); if (tcpClient.connect(TCP_SERVER_IP, TCP_SERVER_PORT)) { tcpConnected true; DEBUG_SERIAL.println(SUCCESS); DEBUG_SERIAL.println(Gateway is now active. Data will be forwarded between USB CDC and TCP.); } else { DEBUG_SERIAL.println(FAILED); tcpConnected false; } }6.3 項目配置與使用流程硬件ESP32-S3開發(fā)板USB數(shù)據(jù)線。軟件準備在電腦上安裝一個TCP服務(wù)器模擬工具如NetAssist、Hercules監(jiān)聽8080端口。在Arduino IDE中打開上述代碼修改NETWORK_SSID、NETWORK_PASS、TCP_SERVER_IP為你實際的環(huán)境參數(shù)。操作步驟將代碼上傳到ESP32。打開Arduino IDE的串口監(jiān)視器你將看到ESP32連接Wi-Fi和TCP服務(wù)器的過程。在TCP服務(wù)器工具中你應(yīng)該能看到ESP32作為客戶端連接上來。測試透傳在串口監(jiān)視器中發(fā)送一段文字如Hello TCP Server在TCP服務(wù)器端應(yīng)該能接收到。在TCP服務(wù)器端發(fā)送一段文字如Hello USB CDC在串口監(jiān)視器中應(yīng)該能顯示出來。注意事項與優(yōu)化點緩沖區(qū)與性能這個示例使用了簡單的available()和readBytes()對于低速數(shù)據(jù)沒問題。如果數(shù)據(jù)流量大建議使用更大的環(huán)形緩沖區(qū)并考慮使用FreeRTOS任務(wù)分別處理收發(fā)。錯誤處理與重連代碼中包含了基本的斷線重連邏輯但在實際工業(yè)環(huán)境中可能需要更健壯的機制比如指數(shù)退避重連、看門狗等。安全代碼中Wi-Fi密碼是明文實際產(chǎn)品中應(yīng)考慮使用WiFiManager庫讓用戶配網(wǎng)或使用更安全的存儲方式。功能擴展可以很容易地擴展為同時支持多個TCP連接、支持UDP協(xié)議、增加AT指令集配置通過USB CDC配置目標服務(wù)器IP和端口等功能。7. 常見問題與深度排查指南即使按照步驟操作你也可能會遇到一些坑。下面是我在多次項目中總結(jié)出來的常見問題及解決方法。7.1 電腦無法識別CDC串口端口不出現(xiàn)這是最常見的問題。癥狀開發(fā)板已連接設(shè)備管理器Windows或ls /dev/tty*Linux/Mac中沒有出現(xiàn)預(yù)期的COM口或ttyACM設(shè)備。排查步驟檢查硬件與連線確認使用的是數(shù)據(jù)USB線并且連接到了開發(fā)板上正確的USB口有些板子有多個USB口僅一個支持Device模式。檢查板型與配置在Arduino IDE中務(wù)必選擇正確的、支持USB CDC的開發(fā)板型號如ESP32-S3 Dev Module并確認“USB CDC On Boot”選項已啟用。檢查驅(qū)動程序Windows打開設(shè)備管理器查看“通用串行總線控制器”或“其他設(shè)備”下是否有帶黃色感嘆號的“ESP32-S3”或“USB串行設(shè)備”等未知設(shè)備。如果有需要手動安裝驅(qū)動。驅(qū)動通常位于Arduino IDE安裝目錄的drivers文件夾下例如...\Arduino\hardware\espressif\esp32\tools\dist中的esptool驅(qū)動或者Espressif官方提供的CDC驅(qū)動。也可以嘗試讓W(xué)indows自動在線搜索驅(qū)動。Linux通常內(nèi)核自帶cdc_acm驅(qū)動會自動識別。如果沒有可能需要將當前用戶加入dialout組以獲得端口訪問權(quán)限sudo usermod -a -G dialout $USER然后注銷重新登錄。macOS通常即插即用。如果不行嘗試重啟電腦或使用ls /dev/cu.*查看。檢查代碼確保在setup()函數(shù)中有Serial.begin()和等待連接的循環(huán)while(!Serial);。對于某些板子如果“USB CDC On Boot”未啟用則需要按一下復(fù)位鍵才能在啟動后激活CDC。嘗試不同的USB口有些電腦的USB口尤其是前置或經(jīng)過集線器的供電或數(shù)據(jù)能力不足換到主板后置的原生USB口試試。7.2 上傳代碼失敗癥狀點擊上傳后Arduino IDE卡在“Connecting...”或提示超時錯誤。排查步驟確認上傳方法在“工具”-“上傳方法”中必須選擇“USB CDC”或“Internal USB”而不是“UART”或“Custom”。手動進入下載模式這是最后的殺手锏。對于ESP32-S3按住開發(fā)板上的BOOT或IO0按鈕不放。然后短暫地按一下RST復(fù)位按鈕。松開RST按鈕此時繼續(xù)按住BOOT按鈕。在Arduino IDE中點擊上傳。當你看到日志開始輸出如“Connecting...”時松開BOOT按鈕。芯片應(yīng)能進入下載模式并開始上傳。關(guān)閉占用端口的程序確保串口監(jiān)視器、其他串口工具或IDE已經(jīng)關(guān)閉它們會獨占端口導(dǎo)致上傳失敗。檢查端口選擇確保選擇的端口確實是ESP32的CDC端口而不是其他設(shè)備的串口。7.3 串口監(jiān)視器無輸出或輸出亂碼癥狀端口連接成功但打開串口監(jiān)視器后沒有數(shù)據(jù)或者顯示亂碼。排查步驟波特率匹配雖然USB CDC不依賴波特率但Arduino串口監(jiān)視器仍需設(shè)置一個波特率。確保監(jiān)視器的波特率與代碼中Serial.begin()設(shè)置的波特率一致通常是115200。檢查代碼輸出確認代碼中確實有Serial.print語句在執(zhí)行。可以在setup()里最開始加一句Serial.println(Setup Start);來測試。流控制設(shè)置在串口監(jiān)視器中將“流控制”選項設(shè)置為“無”None。等待時間如前所述在setup()開始時加一個短暫的delay(2000)或使用while(!Serial)等待確保電腦端驅(qū)動完全加載后再開始打印。亂碼問題如果輸出是持續(xù)不斷的亂碼很可能是波特率嚴重不匹配雖然概率低或硬件問題。如果只是偶爾出現(xiàn)亂碼可能是數(shù)據(jù)沖突或緩沖區(qū)問題檢查代碼中是否有多個任務(wù)同時訪問Serial對象需加信號量保護。7.4 USB CDC與硬件UART的沖突與共用有時你需要同時使用USB CDC和硬件UART例如連接一個GPS模塊到UART1。解決方案明確對象使用Serial代表USB CDC使用Serial1、Serial2等代表硬件UART。引腳分配ESP32的硬件UART可以映射到很多GPIO引腳。在初始化時指定TX和RX引腳。#define UART1_TX_PIN 17 #define UART1_RX_PIN 18 HardwareSerial SerialGPS(1); // 使用UART1 void setup() { Serial.begin(115200); // USB CDC SerialGPS.begin(9600, SERIAL_8N1, UART1_RX_PIN, UART1_TX_PIN); // 硬件UART1 }資源管理兩個串口是完全獨立的可以同時收發(fā)數(shù)據(jù)。在loop()中分別檢查Serial.available()和SerialGPS.available()即可。7.5 功耗考慮當ESP32通過USB連接時由USB總線供電功耗不是大問題。但在電池供電且需要USB CDC通信的場景下需要注意USB模塊本身會消耗一定電流毫安級。在不需要通信時可以考慮通過軟件禁用USB CDC以降低功耗但這通常比較復(fù)雜需要深度配置TinyUSB并可能涉及睡眠模式。對于大多數(shù)應(yīng)用如果連接了USB線通常就不必過于擔心功耗。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日韩午夜国产| 日韩一999精品| 久久久免费高清中文视频| 日本三级久| 秋霞无码av鲁丝片一区| 中文字幕后石码三区四区| 日韩精品电影| 国产原创精品| 四色永久成人网站| 中文字幕奈奈美被公侵犯| 好吊色青靑草| 酒色综合网| 黄久在线| 伊人四虎综合| 色天欧美| 国产一区二区在线看| 99热精品国产| 亚洲另类色图片| 日日操天天操| 国产久久久久久久久一区二区| 操逼无码操逼| 久久久久夜夜夜夜| 深爱伊人影院| 国产精品久久久久9999小说| 精品国产乱码久久久久久免费| 97 九色| 亚州操操穴网| 夜夜狼人妻| 精品一区二区三区蜜桃臀赵总 | 一二三区精品视频| 玖玖爱视频网站| 亚洲亚洲亚洲天堂天堂| 久久久草草精品| 美女爽爽爽刺痛洞洞| 精品999日本| 国产乱弄免费在线视频。| 欧美日韩国产男人| 97网址97| 亚洲资源一区| 国产99999| 99人妻碰碰碰久久久久禁片| 免费国产电影一区二区| 亚洲好看强奸乱伦| 激情综合久久| 久操99| 九一综合精品视品av| 5252色欧美在线| 日本不卡二三区| 久久久久久9999| 亚洲性感丝袜诱惑在线观看| 91亚洲黄色网| 国产亚洲日韩欧| 天堂а√在线最新版在线 | 中文字幕在线日亚州9| 91综合网| 涩综合导航| 无码人妻精品一区二区中文| 911粉嫩人妻| 亚洲欧洲偷拍一区| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 八戒无码国产午夜福利| 久久婷婷亚洲| 国产精品久久久久综合| 黄片在线免费在线观看| 亚洲天堂日本| 欧美图片校园春色| 国内毛片欧美香蕉精品| 亚洲色久| 人人噜夜夜操| 久久老熟女| 日本色日夜干| 国产女生在线| 97大色网| 边做饭边操逼逼| 男人高清无码一区二区| 东京热男人的天堂网| 欧美老妇女内射网址| 九九热午夜欧亚国产视频| 麻豆熟妇乱妇熟色A片在线看 | 性饥渴少妇av无码毛片| aaa一级黄片| 天堂麻豆天美| 少妇精品久久| 久久美女福利是上海美女| 91久久国产综合久久| 日日妻色网| 中欧人妻丝袜中文字幕| 国精品一区二区三| 精品国产乱码久久久A| 国产美女在线精品免费看| 日韩av不卡在线观看| 毛片视频白嫩| 狠狠爱夜夜| 天天色综亚洲91污| 秋霞午夜视频一区二区| 亚洲婷婷丁香在线| 男人兔费天堂| 26UUU欧美日本| 亚洲欧美一区二区三区一猛片| 蜜臀精品1区2区| 大奶的诱惑| 日韩欧美国产高清视频| 久操电影网| 国产毛片久久久久久久| www.AV有限公司一区| 日日骚中文字幕| 欧美视频在线视频免费va| 亚洲情色在线| 天天激情综合站| 蜜桃视频精品一区二区三区| 国产丝袜欧美在线视频| 国产精品。| 天天综合97| 五月婷婷色| 日本免费二区三区| 亚洲成人综合在线| 久久久久99999| 婷色五月天| 天天碰久久入| 啊好大好舒服| 大学生美女口爆| 97WW精品| 精品无码欧美三级| 成人热久久精品| 日韩无码视频黄色| 中文在线久久字幕| 国产家庭乱伦网址| 久久久无码精品人妻二区| 国产精品探花视频| 精品人妻久久久| 亚洲日本成人动漫| 国产日韩精品suv| 国产专区路线| 一区二区三区黄色片a| 后入内射蜜桃臀| 欧美 日韩 亚洲 春色| 夜夜騷av、一區二區| 1人人看人人摸人人操| 国产白领连续中出在线播放| 国产AV久久久蜜爱影集| 亚洲精品成人动漫在线| 久久久草草精品| 97在线精品| 偷拍盗拍亚洲色图图片 | 加勒比综合| 欧美日韩人人精品| 免费簧片在线观看| 一区二区三| 和协无码影院| 欧美日韩国产高清在线一二三区| 综合熟妇一区二区三区| 激情一区二区三区在线观看| 日韩精品人妻一| 欧美综合传媒| 亚洲妇色| 人人摸人人干| 中文字幕五月婷婷免费| 大屁股人妻女教师撅着屁股| 麻豆天美AV传媒第一页| 江都AV在线| 牛牛aV| 91性网| 精品九九九九九九九九九| 丁香五月婷婷色| 亚洲日韩精品久久久久一区壹牛| 啊啊啊啊啊舒服| 成 人 影视 一区 二区 三区 四区 | 啊v在线观看视频| 精久久久91| 97色欧洲| 香港日本韩国人妇99www.wccm20| 五月婷婷丁香六月| 日本东京热加勒比久久| 日本影视久久免费| 久久久久久久久久久精| 一区二区三区四区久久视1| 天天天天天干夜夜夜夜夜操| 亚欧成人中文字幕一区| 日本αv| 插B在线观看| 四虎影视在线| 亚洲国产综合久久久性感熟妇| 日人妻视频91| 日韩人妻制服丝袜av| 欧美劲爆第一页| 久久久少妇诱惑精品视频| 丁香五月天激情| 夜夜影视四色| 天天弄天天操| 综合欧美日韩在线观看| 青娱乐久久艹| 大香网站| 国产92麻豆天美精品色欲5| 亚洲乱码精品一区二区| 91综合熟女| 99在线免费公开视频| 91网站在线播放| 国产精品经典一卡久久久 | 天天综合青苹果| 老司机午夜福利视频一区二区| 综合色图亚洲欧美| 东京热激情视频一二三区| 亚洲偷拍自拍在线视频| 玖玖爱免费观看视频| 先锋激情∨在线视频播放| 日韩兔费看黄片| 久久精品无码专区| 花花AV导航| 久久女人| 亚洲九九九| 欧美色图色综合| 久久久新亚洲AV| A级在线视频| 青青青国产手线观看视频2| 国产高清成人免费视频| 国产一区二区三区高清视频| 伊人五月天婷婷| 日韩精品色呦呦| 精品人妻一区二区视频| 久久91精品国产9丨久久分亭| 性久久| 免费少妇一区二区| 91成人久久 | 欧美黑人与女人91| 91无遮挡| 精品国产91av一区二区三区| 婷婷深爱五月| 伊人久久88国产女| 97伪v| 天天综合91入口| 天堂亚洲欧美| 成人乱人伦一区二区| 淫荡熟女乱伦网| 欧美性爱另类综合| 人妻在线中出视频| 成人夜夜| 亚洲精品三区在线观看| 99色婷婷| 天天影视之亚洲综合网| 99国产精品| 国产一级高跟丝袜| 国产67194| 亚洲、日韩、综合、另类| 亚洲天堂日本| 一级二级在线观看| 日韩人妻一区二区精品| 青娱乐亚洲热| 久操免费电影| 东京热男人的天堂精品| 超碰激情808| 999热日韩精品| 91精品国产91久久青草| 国产精品午夜福利亚洲综合网| 欧美熟妇视频| 亚洲91网。| 美日韩一二三区| 99热一区二区三区四区| 狠日操| 夜夜操狠狠操| 国产欧美后入| 亚洲精品一二牛牛| Av色五月| 东京热男人天堂| 国产精品久久久久久久黄无码 | 大香蕉黄色一区| 淫色网综合| 亚洲双插| 91综合在线| 1024手机看片欧美日韩| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 中文字幕日韩人妻视频| 天天弄天天操| 亚洲第一页综合在线| 很很操在线| 五月婷婷久久综合| 激情五月天校园春色网| 国产主播福利| 91在线美女| 亚州五月| 大胆91| 一区二区播放| 伊人女女资源在线观看| 久久宗合亚洲| 一区二区三区免费岛国片| 国产传媒1234区| 久9无限国产| 无码伊人久久大杳蕉中文无码| 色男人色天堂东京热| 日日操免费视频| 狠狠狠一区二区三区| 老熟乱一区二区三区四区| 婷婷激情五月天小说网| 日韩欧美中文字| 日韩国产乱子伦App| 97国伦国色| 亚洲97成人在线观看| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 性饥渴少妇av无码毛片| 黑人中出21连凳花野真衣| www国产无码| 91色黑人少妇| 一本精品日本在线视频精品| 久久久久9| 亚洲国产成人精品无码专区| 97欧美综合网| 老鸭窝亚洲毛片| 97超碰精品| 亚洲情色五月天| 伊人国产成人av网站| 九九亚洲| 天天综合-91入口| 久久手机视直播| 青青青青操国内视频在线| 色色五月天婷婷| 久久人人爽av亚洲精品天堂桃色| 日人妻视频91| 日产精品久久久一区二区| 操比国产| 久久久久久久| 啊操爽品善一区二区三区| 精品一区99999| 九九久久久久久爱| 亚洲图片激情综合另类| 日日干男人的天堂| 岛国1区2区3区在线观看| 欧美岛国精品在线观看| 成年人黄色| 久操高青| 自拍偷拍亚洲熟女妇人精品| 人人摸人人舔一区二区| 97久久资源| 国内毛片国产欧美拍| 91欧美丨精品丨入口| 久久九九视频九九视频| 国产suv精品一区| 碰碰在线视频| 欧美成人一区二区三区在线播放| 夜夜爽夜夜操| 嗯嗯啊啊好疼| 九九九九久久久| 久久久久久久久久va| www.av不卡中文字幕| 天天插天天操| 亚洲无码偷拍| 97伊人超碰| 大香蕉 222| 在线中文字幕极品av| 精品国产乱子伦一区二区三区,精品一| 婷婷激情五月| 国产浮力影院第1页| 97干在线视频| 色偷偷超碰亚洲| 水野优香在线观看| 白天啪啪晚上啪啪视频| 五月天亚洲色图| 欧美大干日韩| 青青草视频久久久久| HEYZO高无码国产精品227| 亚洲国产另类在线中文| 99热线麻豆 | av天天在线观看| 免费的很黄很污的全部视频| 白丝被操91| 老色鬼成人精品视频下载大在线观看| 国产精品制服丝袜中文字幕日韩一区二区三区 | 熟女在线视频| 丝袜AV一二三区| 人人操人人摸人人看人人干| 久久性爱视频免费看| 蜜臀久久99精品久久久久电影| 久久国产精品一级二级三级| 牛牛aV| 国产精品内射婷婷一级二| 97超碰伊人| 乱码人妻一区二区三区| 任我爽在线视频免费观看| 日韩伦理视频| 大奶啊啊好爽 | 久久国产视频性吧| 亚洲日韩成人性爱视频| 欧美性爱日韩性爱| 思思热在线cao| 成年人网站在线免费观看| 97精品一区二区三区免费| 死我十八禁| 五毛骚逼极品美女怕怕| 国产性爱乱伦AV| 中文字幕精品一区二区精品| 蜜臀操逼黄色视频操的好爽| 一级黄色性爱A级片| 日本高清视频xxxx| 日日躁夜夜躁狠狠躁超爽| 日1区2区3区2020| 嗯嗯啊好大| 久久久久久91香蕉国产| 玖玖综合色| 国产精品久久久视频| www.99热| 日韩不卡一二三四| 一个人免费视频观看在线WWW| 丰满人妻一区二区三区四区| 国产精品熟女一区二区三区| 久久精品人妻一区| 亚洲国产成人7777| 丝袜剧情| 日韩久久三区| 国产suv精品一区二区四区999| www.夜夜| 国产福利夜| 18禁久极品美女久久哦哟呀!| 无码视频一区二区| 天天情欲宗合网| 亚洲AV人人澡人人爱| 香蕉色网| 亚州一区二区| 精品久久久久久无码| 国产午夜福利电影免费在线观看| 懂色Av| 日本黄色大片一级视频免费麻豆| 国产极品99热在线播放69| 日本成人电影资源网| 免费综合亚洲中文| 婷婷激情五月| 欧美91在线+|+欧美| 久久久av爱| 国产乱子伦一区二区三区免看| 做爱福利视频一区二区| 精品人妻视频一区二区在线播放 | 97久久久久久久精| 四虎视频在线观看| 久久久999国产精品| 天操天操夜操夜月月年年操操 | 极品极品色影院| 97天天爽| 亚洲国产精品久久久久婷婷老年| 亚洲美女精品九九视频| 日韩免费福利在线观看| 熟女精品va中文字幕| 久悠悠av| 中文字幕国产| 黄色激情电影在线观看| 亚欧精品久久久久久久久久久| 欧美色日本| 情色大香蕉| 91午夜无码| 色玖玖| 亚洲天堂美臀在线| 97超碰护士| 日韩不卡av一二三| 天天享受天天看| 黑人娇小av在线播放| 免费在线观看国内色片网站网址| 最新亚洲风情电影| 九久9精品| 久久九九综合| 亚洲男人天堂视频| 26uuu最新| 日韩性爱播放| 国产AV人人夜夜澡人人爽麻豆| 97资源久久| 日本www操操操| 久久大陆| 第四色奇米影视777| 成人综合色网| 午夜αv| 免费黄色片子| 综合色久欲| 激情国产乱伦Av| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 艳美熟妇先锋一二三区| 麻豆av一区二区| 秋霞视频一区二区 | 久久这里只精品免费福利| 中文字幕 人妻不满 在线视频| 后入日本1234| 综合欧美日本三级| 91九色丰满高潮| 亚洲αv一区二区三区| 欧美在线啊啊啊| 国产91福利小视频在线观看| 殴美,日韩国产伦精品| 99re免费| 91人妻视频| 日本性爱视频一级| 97人肏| 国产激情视频一区区三区| 综合影院亚洲| 亚洲97综| 免费网色网站| 天天干人人干天天日97| 亚洲欧美校园| 校园春色制服丝袜中文字亚洲 | 人妻AV 中文字幕的| 日曰骚久久精品| 五月丁香网站| 日韩三级伊人| 91n免费处女| 簧片免费看视频| 在线天堂资源亚洲| 欧美 传媒 麻豆 日韩 偷拍| 久久社区一区二区三区| 国产自偷| 泰国AV在线观看| 日韩操逼HD| 久久九操在线观看| 天天色播| 亚洲 自拍偷拍 欧美| 精品二区三四区五电影| 久久草草欧美精品| 搞中出久久| 国产精品伦理| 美日韩一卡二卡三卡免费人妻精品| 欧美性爱日韩高清| 18精品一区| 日韩,欧美,中文在线| 变态综合色| 亚洲91色在线| 国产免费久久久久| 91色人妻| 超碰久超碰久| 熟妇高潮一区二| 99性爱| 日韩有码 一区二区三区| 人妻素股| 欧美超碰96| 一级A啪啪啪啪| 日韩欧美大片免费高清啪啪| 欧美天天影院| 久久草视频污视频| 奸色色 男人天堂 天天射| 污污汅18禁网站在线永久免费观看 | 精品日韩| 欧美高潮| 熟妇艹鸡八| 亚洲熟妇极品| 丰满人妻一区二区三区大胸懂色| 中日韩免费看男女操逼大全| 精品在线78| 久久综合av| 国模限制级电影| 国产成人无码a| 亚洲97| 全国男人天堂网| 欧美久久久| 中文久久一区| 超碰超碰欧美| 五月丁香成人网| 老司机午夜精品视频| 超碰色97| 欧美色交| 欧美女同在线| 密臀成人视频久久久| 欧美情色贴图| 中文久久一区| 日韩中文字幕av在线播放| 盗摄 精品 另类 一区| 亚洲天堂无码| 99丝袜福利在线播放| 欧美性猛交美女自慰91| 亚卅熟女乱色| 日韩少妇一区二区三区| 日韩激情毛片一级久久久| 中文字幕99999| 国产一区二区二区按摩精品啪视频| 91热热色| 美女爽到高潮91| 日本二三四区| 久久岛国| 亚洲丝袜综合| 综合另类| 为用户提供免费看黄网址在线观看| 中国AAAAAA黄色片| 日本成人在线不卡一区二区三区 | 性欧美91| 97干在线视频| 色哟哟 日韩精品| 亚洲国产另类在线中文| 无码不卡亚洲成?人片| 老熟女天天操| 碰碰97| 亚洲97| 人人操人人爽人人操人人| 老子午夜伦不卡影院| 情趣丝袜无码操逼视频| 久草免费福利在线播放| www.色五月| 深夜啪啪啪视频免费| 混色激情av| 国产丰满少妇久久久精品影院| 欧洲精品人妻| 麻豆区久久久久亚| 人人妻天天做天天爽| 久久老熟女| 91色花堂| 成人乱人伦一区二区| 巨爆乳肉感一区二区三区竹菊影视| av九九| 小草精彩毛片| 粉嫩AV一区夜夜嗨| 色九色久| 欧美 亚洲精品首页| 亚洲婷婷丁香在线| 99精品久久久久久久婷婷| 亚洲日韩精品在线播放| 欧美日日夜夜| 精品国产99| 欧美性爱一区二区三区| 国产精品第一区第一页| 多乙久久久久久| 国产亚洲 中文欧美久久| 婷婷15月天青娱乐| 婷婷爽人人婷婷爽视频| 成人三一级一片aaa| 无码又爽又硬又激情免费视频| julia在线观看久久| 国内成人圈中文字幕无码视频| 天天久久| 操高情无码| 亚洲乱色视频一区、二区在线| 综合网亚洲1| 国产精品毛片| 人妻一区二区三区视频| 五月色综合| 亚洲偷91色| 呦呦一区| 啪啪啪综合网| av草草在线电影| 国产午夜精品在线观看| 五月婷婷激情网| 久久AV色| 久久国产熟女影院| 大香蕉碰碰| 天天干人妻视频| 久久久久久日韩| 九九玖玖精品| 国产97亚洲| 日本综合久久| 亚洲国产精品久久久久婷婷老年| 欧美中文综合| 最新亚洲人成网站在线影院| 91 丝袜在线| 91老熟女视频| 精品性爱一区二区| 国产精品一区二区在钱播放| 91在线观看,天天综合| 国产三级多多影院2022国产AA一级毛片无码 | 精品人体无圣光凹凸| 麻豆性爱视频在线播放| 曰韩人妻中文字幕在线| 大香蕉伊人色偷偷在线| 999久久久九九九九| 一级A啪啪啪啪| 五十路熟女,国产欧美精品区一区二区三区| 亚洲图片色图欧美另类| 九九九久千久久激情蜜桃在线看 | 天天综合网网欲色| 蜜桃久久一区二区三区| 亚洲欧美人妻| 国产伊人自拍| 高潮精品| 神马久久久久眼| 张柏芝国产一区在线观看| 天综合网| 精品无码久久久久久久杏吧| 亚洲熟妇无码一区二区三区| 日本爽爽爽爽爽爽免费视频| 日本大香蕉| 久操网视频| A一级色女| 探花精品视频| 亚欧成人一级片在线播放| 成 人 影视 一区 二区 三区 四区| 麻豆AV一区二区天美传媒| 色婷婷丁香五月| 成人一二| 亚洲欧美一区二区不卡视频播放| 人人潮人人摸| 精品在线78| 亚洲……91| 不卡中文字幕aⅴ在线| 久久噜| 91干熟女| 国产女大学生AV| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 欧美性爱www免费版| 日本天堂在线播放| 日本一区二区三区精品| 91丨九色丨国产丨人妻在线 | A一区片| 亚洲宗合网| 婷婷尹人大香蕉免费| 国产一级内射高清视频| 久久99草| 精品久久久中文字幕不| 精品人妻av在线播放| 日韩无码服务区| 精品国产污一区二区三区| 亚洲精品三区在线观看| 曰本91情色| 红杏大香蕉| 成人一级性爱| av网站免费看| 久久久少妇诱惑精品视频| 无码又爽又硬又激情免费视频| 精品成人无码| 丰满人妻-区二区三区| 午夜啊啊啊| 久久久人体| 国人欧美精品一区二区| 欧美午夜熟妇黑人精品91| 伊蕉97蜜桃97狠狠综合干| 激情小说五月天| 人人操人人大香蕉| 欧美成人A√在线一区二区| 校园春色美腿丝袜| ...日韩成人一区二区三区字幕| 黄色污污污污污污网站| 欧美日韩国内不卡| 性影在线视频| 网站A V在线| 亚州欧美综合| 亚州 综合 色图| 密桃99999| 综合网色| 国产精品一区二区三区,亚洲综合| 美女黄站| 丝袜AV一区二区三区| 屁股久久久久久久久| yirendaxiangjiashipin| 五月天偷拍| 大伊香蕉在线视频免费| 黑人白女精品一区| 国产日韩精品suv| 天天综合网~91| 久久久偷拍| 99久在线精品99re8| 10000部十八禁看电影| 91撸色网 玖玖网 欧美| 大香蕉伊利av| 中文字幕五区| 这里只有精品久久| 强奸a片网| 久久婷婷综合国际产色怕| 国产一区二区免费福利片| 丰满人妻-区二区三区| 欧美色图校园春色| 亚洲精品黄码久久久久| 欲色啪| 精品一区99999| 91人妻久久久久久久久久久久久| 国内97干免费看| 欧美少妇高潮久久91| 国产午夜视频| 99re在线视频国产| 少妇人妻激情四射| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照 | 久久一区二区加油站| 91影视亚洲| 亚洲高清在线se| 97色97好| 欧美伦乱爱| 91精产一区二区三区| 亚洲性猛交| 蜜臀网址在线| 午夜男人的天堂| 91麻豆天美| 黄片www视频免费| 一级片视频啪啪| 国产成人无码啪| 欧美日韩 强奸乱伦| 男男H黄动漫啪啪无遮挡网站| 激情接吻视频久久久久久| 日韩国产中文字幕| 综合久草| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 伊人宅男大香蕉 | 毛片中心9视频99| 欧美亚洲丝袜美女电影| 亚洲人在线| 日韩熟女视频二区| 国产又粗又长的视频| 日本色色色网站免费看不卡| 岛国1区2区3区在线观看| 国产av强奸美女| 色婷婷综合网站| 九九玖玖精品| 日韩中文字幕精品一二三事国产精品| 久久久亚洲熟妇资源| 欧美色就是色| 玖玖资源综合在线视频| 国产熟女少妇一区| 亚洲综合大片| 91丝袜视频在线观看| 人人妻碰人人免费| 静品嫩模一区二区| 久久综合久久综合人久久夜精品| 亚洲丝袜99| 91老司机在线| 艹精品| 婷婷色一区| 日产成人久久| 性videos欧美熟妇hdx| 欧美国产伊人久久久久| 小草三级久久观看| 色天天野狼综合社区| 高清有码一区二区| 久久国产视频性吧| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 啊啊啊啊免费视频| 久久久精品电影| 黑操B| 亚洲天天精品| 在线看的av| 东北黄色电影| 欧美色图99| av在线免费一区二区| 精品网站9999| 亚洲天天综合| 亚洲丁香花色| 大香蕉一人在线| 色吧 综合| 91婷婷| 超碰精品人妻狠狠干| 亚洲**2021在线观看| 狠狠中文字幕| 东京热,男人的天堂| av网页一区二区三区| 粉嫩AV一区夜夜嗨| 天天干天天操天天操夜夜操天天操 | 欧亚第一综合网| 特色a在线上| 操狠狠| 国内一级精品| 亚洲五月天激情| 色九色久| 日韩中文字幕二区| 中文熟女五十乱码在线| A片A5445444| 亚洲av热热色| 欧美综合加勒比在线| 无码不卡亚洲成?人片| 国内外色色色色色成人视频| 久久精品91| 日本一级二级三级网站| 丁香婷婷激情五月天无毒不卡| 亚洲欧美日韩偷拍色图| 小草精彩毛片| 狠狠操狠狠操操| 中文字幕一区二区三区蜜臀| 色牛牛AV| 人妻在线大香蕉| 人妻少妇精品久久久久久久| 日韩一级片在线看| 啊啊啊慢点| 国产 v乱码一区二| 久久久精品视频欧州站| 亚洲欧洲精品视频发布| 国产精品久久久久久久久久久久久久久久| 久久久久久亚洲Av无码| 欧美狠狠操| 视频在线观看免费一区二区三区| 久久精品国产99国产精品亚洲| 九九九九AV| 超碰激情808| 国产91亚洲精品一区二区三区| 96AV久久久| 呦呦影院| 熟妇国产免费一区| 人人看人人摸人人色| 亚洲人在线| 操逼不卡中文字幕| 后入福利| 亚洲精品色| 国产一区二区三区久久久精品| Aa东京男人的天堂| 国产成人无码网站在线视频| 亚洲动态色图| 蜜桃视频一区二区三区在线观看| 九月激情婷婷| 啪啪啪男女亚洲中文字幕99| 熟妇熟女视频一区二区三区| 国产精品视频91久久| 白丝少妇一区二区| 国产成人网| 一区二区中文| 人人喜人人妻| 亚州免费啪啪视频| 性生活性生大爱77AV国产| 成人AV素股で擦久久| 黄色视频60分钟| 成人小电影网站tex| 日本亚洲vr欧美不卡高清专区| 国产精品一级片在线看| 精品69网| 久久久久日本视| 亚洲 欧美 小说| 蜜臀久久99精品久久久| 欧美第38页| 欧美大香蕉专区网| 激情小说亚洲色图| 91爱看| 久久99久久99久久99人受| 成人小说另类在线| 日韩97精| 欧美白嫩在线放| 影音先锋国产精品| 九九精品99| 欧美色另类| 无码操逼天堂| 精品国产网站| 男人天堂一区二区| 亚洲第一黄色av网站| 人人搞人人插人人操| 男人成人黄色视频在线观看免费下载| 五月天激情国产综合婷婷婷| 国产欧美岛国精品一区| 91操熟女| 久久久精选| 天美传媒Av在线| 北条麻妃99精品青青久久| 一区三区啪啪| 国产精品久久久久久久毛片1| 亚洲丝袜诱惑| 免费视频观看60秒| 天天舔天天日天天射| 精品99999久久久久久| 一起草av| 亚洲少妇中文字幕网址| 在线a v| 亚洲精品乱码线路中文字幕 | 五十路熟女人妻一区二区三区四区五| 秋霞鲁丝午夜无码一区二区三| 青青草原综合久久大伊人精品| 狠狠综合网| 色色五月婷| 影音先锋乱| 97在线精品观看视频| 久久精品国产亚洲AV高清演员表| 搡老女人老91二区| 欧美少妇色图| 五月情色天| 天天干嫩逼网| 久久久久久人体| 91制服丝袜| 爱丝福利| 清纯唯美亚洲另类| 亚洲情色 无码专区| 亚洲污污网站| 裸体1区| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 国产av波波国产精品| 日本淫乱女一区二区三区视频| 撸无码不卡免费视频| 亚洲清纯综合| 国产亚洲禁久一区二区| 色色操| 色色色日本| 岛国1区2区3区在线观看| 超碰91在线| 一起草三级AV电影在线观看| 九热久| 亚洲无码电影久久久| 久96热在线观看视频| 国产超碰AV在线精品| 性综合网| 九九精品网| 97鸡把在线视频| 97欧美视频| 一区二区三区免费视频入口 | 免费精品福利在线观看| 黄片www.| 96AV精品| 人人摸人人干| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 日韩中文字幕视频在线观看| 人人操人人摸人人看人人插| 久久精品国产亚洲AV无码电影| www.色婷婷色综合| 丰满人妻一区二区三区在线| 欧美日本久久精品一区| 亚洲丝袜99| 亚洲风情综合网| 日韩av无码网站| 偷拍综合网| 色吧5亚洲| 欧美天天综| 老女人碰碰在线碰碰视频| 91美女高潮| 亚洲欧美第一页| 五十路六十路七十路熟婆| 伊人五月天| 久久久久一本一区二区青青蜜月| 嗯嗯啊啊视频一区二区三区| 亚洲丝袜二区在线| 51国产午夜精品视频| 小情侣高清国产在线视频| 九九伊人网| 国产欧美黑人丰满在线| 一区二区影视| 強姦亂倫a| 色婷婷小说| 亚洲男人天堂2016| 久久九操在线观看| 中文字幕av亚洲精品| 久久久久国产无av| 国精综合一二三区影视| 骚鸭AV| 波多野结衣被操50分钟免费视频 | 免费看A片毛毛片在线播| 男人天堂.AB| 天天综合网合集91| 国产91av在线播放| 国产女人高潮视频| 欧美久久人体| 人妻性爱一区二区| 欧美精品四区| 青青草一区二区三区四| 国产亚洲色停停久久99精品91| 国产福利av精彩对白| 天天干天天做| 亚洲性综合| 97免费在线视频| 亚洲91少妇| 亚洲人妻色图| 日韩性爱网址| 操逼精品视频| 啊啊嗯嗯好爽| 91麻豆va国产精品| 新精精品久久精品| 中文字幕人成乱码熟女香港| 99re6国产精品99re在线| 亚洲高清少妇| 夜夜天天噜狠狠爱2021| 久久深夜无码| 男人女人18禁片免费看网站| 五月天啪啪| 国际精品久久久| 国产成人自拍视频在线| 色娱乐色呦呦夜夜夜夜av| 日韩av免费一级电影| 超碰97起碰| 碰碰97| 久久九九综合| 色综九九九一区| 手机看片1025| 亚洲人人夜夜澡人人爽| 蜜乳性色无码专日粉嫩骚逼AV| 日韩精品熟妇| 男人的天堂午夜av| 天天影视激情欧美| 国产色综合亚洲色综合吹潮| 久久久久久久久久久久久久久性生活视频 | 玖玖视频在线资源一区二区三区| 久久r精品| 色丁香五月婷婷| 999久久芭蕾| 狠狠色婷婷7777久| 男人天堂导航| 亚洲精品一区中文字幕乱码| 另类欧美综合| 日韩三四五区| 国产真实子伦对白| 欧美色天堂网在线视频| 日韩欧美综合激情| 欧美极品色| 色婷婷综合视频| 精品人妻一区二区三区视频在线| 95人妻爽爽人人做人人澡| 91丝袜视频在线观看| 亚洲国产剧情少妇激情| 国产精品分类在线观看| 少妇色综合| 欧美色色色| 亚洲综合另类| 五月开心久久AV官网| 免费作爱一级视频| 中文区中文字幕免费看| 91 刺激在线| 久久精品国产亚洲妲己影视| 俞拍自拍| 亚洲AV免费在线| 2023天天操夜夜操| 99热综合在线| 亚瑟国产精品久久无码| 91欧美长吊| 新版天堂中文资源8在线| 欧美加勒比| 大香伊人在线一区| 国产精品久久久三级无码| 色香欲综合| 97精选久久| 尤物黄色在线观看网站| 蜜臀久久99精品久久久久电影| 骚乳在线| 国产综合永久精品日韩鬼片| 91爱| 精品人妻一区二区乱码一区二区| 在线看免费无码AV天堂的| 日本一二三免费久久| 欧美亚洲丝袜美女电影| 欧美中出1| 欧美国产精品久久九九| 久久久久久久久久久久欧美日| 国产精品一二三区福利| 午夜操逼不卡| 国产精品自拍视频| 亚洲图片欧美另类综合免费视频大大香| 色丁香五月婷婷| 最新中文字幕精品在线| 性色综合网| 亚洲欧美91√| 久久99网站| 大香网站| 日韩性爱视频在线免费观看| 女生看匆91网站| 91在线/欧洲| 人人妻人人操人人乐| 无套内射性感少妇视频| 日韩免费看在线黄色片| 91美| av日韩中文字幕| 久热精品色情| 九九九九九九九九九九九免费国产| 国产精品久久伊人| 国产精品亚洲无码| 97啪啪| 欧美色图99| 久久久久极品| 少妇色综合| 97人人中文网| 中文字幕国产精品1区| 黄色一级视| 黄在线| 青青操综合网| 日韩欧美亚洲自拍偷拍| 亚洲综合在线第一页| 超碰欧美97资源| 久久机热| 精品妇操一区二区三区| 久久神马影院| 亚洲蜜臀懂色| 久热99| 99热啪啪| 伊人AAA| 啊v视频在线观看| 婷婷伊人网| 色婷婷久久| 无码国产精品午夜不卡(| 天天色综亚洲91污| 日韩无码黄色片| 日韩色| 人人摸人人叼| 成人亚欧免费视频| 日韩啪啪网| 国产自制av蜜乳| 日韩av在线精品观看| 亚洲在线a| 成人精品无码| 91色色网站| 自拍偷拍第26|