色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

基于FreeRTOS與STM32的物聯(lián)網(wǎng)環(huán)境監(jiān)測(cè)終端:從多任務(wù)設(shè)計(jì)到PCB實(shí)戰(zhàn)

基于FreeRTOS與STM32的物聯(lián)網(wǎng)環(huán)境監(jiān)測(cè)終端:從多任務(wù)設(shè)計(jì)到PCB實(shí)戰(zhàn) 如果你正在尋找一個(gè)既能學(xué)習(xí)嵌入式實(shí)時(shí)操作系統(tǒng)又能掌握硬件設(shè)計(jì)還能做出一個(gè)真正可用的物聯(lián)網(wǎng)設(shè)備的綜合項(xiàng)目那么今天這個(gè)“STM32智能環(huán)境監(jiān)測(cè)終端”開(kāi)源項(xiàng)目可能就是為你量身定制的。很多嵌入式學(xué)習(xí)者都面臨一個(gè)困境學(xué)完單片機(jī)基礎(chǔ)會(huì)點(diǎn)燈、會(huì)串口但一到實(shí)際項(xiàng)目就無(wú)從下手。傳感器數(shù)據(jù)怎么穩(wěn)定采集多個(gè)任務(wù)如何協(xié)調(diào)不卡頓硬件電路怎么設(shè)計(jì)才可靠這些問(wèn)題往往分散在不同的教程里缺乏一個(gè)貫穿始終的實(shí)戰(zhàn)案例。這個(gè)項(xiàng)目恰恰解決了這個(gè)痛點(diǎn)——它不是一個(gè)簡(jiǎn)單的代碼Demo而是一個(gè)從軟件架構(gòu)FreeRTOS多任務(wù)、到硬件實(shí)現(xiàn)PCB設(shè)計(jì)、再到云端連接可選的完整解決方案。本文將帶你深度拆解這個(gè)開(kāi)源項(xiàng)目。我們不止步于“它是什么”而是要搞清楚為什么選擇FreeRTOS而不是裸機(jī)輪詢多任務(wù)設(shè)計(jì)中有哪些隱藏的“坑”自己畫(huà)PCB需要注意哪些關(guān)鍵細(xì)節(jié)才能一次成功通過(guò)這個(gè)項(xiàng)目你不僅能獲得一套可編譯、可燒錄、可焊接的完整資源更能建立起一個(gè)完整的“產(chǎn)品級(jí)”嵌入式開(kāi)發(fā)思維。無(wú)論你是想豐富簡(jiǎn)歷、參加競(jìng)賽還是為自己的小屋打造一個(gè)環(huán)境看板這篇文章都將提供清晰的路徑和避坑指南。1. 這個(gè)項(xiàng)目解決了什么實(shí)際問(wèn)題在開(kāi)始研究代碼和電路圖之前我們首先要明白這個(gè)智能環(huán)境監(jiān)測(cè)終端究竟瞄準(zhǔn)了哪些真實(shí)場(chǎng)景下的痛點(diǎn)。傳統(tǒng)方案的局限性如果使用裸機(jī)while(1)循環(huán)開(kāi)發(fā)你需要自己管理所有傳感器的讀取時(shí)序、數(shù)據(jù)顯示刷新、數(shù)據(jù)上傳邏輯。當(dāng)任務(wù)增多時(shí)代碼會(huì)變得復(fù)雜且難以維護(hù)一個(gè)傳感器的阻塞讀取比如DS18B20溫度傳感器可能導(dǎo)致整個(gè)系統(tǒng)“卡頓”屏幕刷新停滯。這種架構(gòu)在簡(jiǎn)單系統(tǒng)中尚可但一旦需要同時(shí)處理網(wǎng)絡(luò)通信、用戶交互等實(shí)時(shí)性要求不同的任務(wù)時(shí)就顯得力不從心。本項(xiàng)目的核心價(jià)值它通過(guò)引入FreeRTOS這一小型實(shí)時(shí)操作系統(tǒng)將系統(tǒng)功能解耦為多個(gè)獨(dú)立的任務(wù)Task。例如傳感器采集任務(wù)專心、周期性地讀取溫濕度、空氣質(zhì)量等數(shù)據(jù)。顯示刷新任務(wù)以固定的頻率更新OLED或LCD屏幕顯示最新信息。數(shù)據(jù)上傳任務(wù)如涉及負(fù)責(zé)將數(shù)據(jù)打包并通過(guò)Wi-Fi/4G模塊發(fā)送到云端即使網(wǎng)絡(luò)延遲也不會(huì)影響本地?cái)?shù)據(jù)的采集和顯示。按鍵處理任務(wù)實(shí)時(shí)響應(yīng)用戶操作切換顯示模式或設(shè)置參數(shù)。這種設(shè)計(jì)帶來(lái)了幾個(gè)關(guān)鍵優(yōu)勢(shì)模塊化清晰每個(gè)任務(wù)職責(zé)單一系統(tǒng)響應(yīng)更及時(shí)高優(yōu)先級(jí)任務(wù)如按鍵可以打斷低優(yōu)先級(jí)任務(wù)開(kāi)發(fā)效率高可以并行開(kāi)發(fā)不同功能模塊。這個(gè)項(xiàng)目為你提供了一個(gè)絕佳的樣板展示了如何將一個(gè)具體的物聯(lián)網(wǎng)設(shè)備需求合理地分解并映射到FreeRTOS的多任務(wù)模型中。2. 核心架構(gòu)與技術(shù)選型分析在動(dòng)手之前理解整個(gè)系統(tǒng)的骨架至關(guān)重要。這能幫助你在修改或擴(kuò)展功能時(shí)知道從哪里入手。2.1 硬件平臺(tái)為什么是STM32項(xiàng)目主控芯片選擇了STM32系列常見(jiàn)如STM32F103C8T6即“藍(lán)莓派”核心板所用。這是一個(gè)經(jīng)典且平衡的選擇性能足夠Cortex-M3內(nèi)核主頻72MHz足以流暢運(yùn)行FreeRTOS并處理多個(gè)傳感器數(shù)據(jù)。生態(tài)豐富資料、教程、社區(qū)支持最為完善遇到問(wèn)題容易找到解決方案。成本低廉芯片及開(kāi)發(fā)板價(jià)格親民適合學(xué)習(xí)和個(gè)人項(xiàng)目。外設(shè)齊全擁有多路ADC、I2C、SPI、USART等完美匹配各類數(shù)字/模擬傳感器。2.2 軟件核心FreeRTOS的多任務(wù)設(shè)計(jì)思想FreeRTOS不是一個(gè)龐然大物它的核心是任務(wù)調(diào)度器。你可以把它想象成一個(gè)公司的項(xiàng)目經(jīng)理它手里有一份所有員工任務(wù)的待辦清單就緒列表并根據(jù)優(yōu)先級(jí)Priority決定下一刻誰(shuí)去工作獲得CPU使用權(quán)。在本項(xiàng)目中任務(wù)劃分通常遵循“功能內(nèi)聚”原則。一個(gè)典型的設(shè)計(jì)可能如下表所示任務(wù)名稱優(yōu)先級(jí)主要功能執(zhí)行方式Sensor_Task2讀取DHT11溫濕度、MQ-135空氣質(zhì)量等傳感器數(shù)據(jù)周期性掛起/喚醒如每2秒執(zhí)行一次Display_Task1驅(qū)動(dòng)OLED屏幕刷新顯示內(nèi)容周期性或由其他任務(wù)通過(guò)隊(duì)列/信號(hào)量觸發(fā)KeyScan_Task3 (較高)掃描按鍵處理用戶輸入事件驅(qū)動(dòng)平時(shí)處于阻塞狀態(tài)等待信號(hào)量Comm_Task2通過(guò)串口或ESP8266模塊與上位機(jī)/云端通信事件驅(qū)動(dòng)等待數(shù)據(jù)隊(duì)列非空關(guān)鍵通信機(jī)制任務(wù)之間不能直接隨意訪問(wèn)全局變量那樣會(huì)引發(fā)數(shù)據(jù)競(jìng)爭(zhēng)。FreeRTOS提供了優(yōu)雅的通信工具隊(duì)列QueueSensor_Task將采集到的數(shù)據(jù)包發(fā)送到隊(duì)列Display_Task和Comm_Task從隊(duì)列中取出數(shù)據(jù)。這是生產(chǎn)者-消費(fèi)者模型的典型應(yīng)用。信號(hào)量SemaphoreKeyScan_Task按下按鍵后釋放一個(gè)信號(hào)量Display_Task獲取到信號(hào)量后切換顯示頁(yè)面?;コ饬縈utex如果多個(gè)任務(wù)需要訪問(wèn)同一個(gè)硬件外設(shè)如SPI Flash用于保護(hù)共享資源。理解這些機(jī)制是理解本項(xiàng)目代碼邏輯的基礎(chǔ)。2.3 傳感器選型從原理到應(yīng)用項(xiàng)目通常包含以下幾類傳感器理解其接口和特性對(duì)硬件設(shè)計(jì)和軟件驅(qū)動(dòng)編寫(xiě)都很有幫助溫濕度傳感器如DHT11單總線協(xié)議。優(yōu)點(diǎn)是集成度高缺點(diǎn)是讀取速度較慢且時(shí)序要求嚴(yán)格。在FreeRTOS任務(wù)中讀取時(shí)需要考慮其阻塞時(shí)間避免影響其他任務(wù)??諝赓|(zhì)量傳感器如MQ-135模擬輸出。需要STM32的ADC通道進(jìn)行采集。注意需要預(yù)熱時(shí)間且數(shù)據(jù)需要校準(zhǔn)算法通常為查表法或簡(jiǎn)單公式轉(zhuǎn)換為有意義的濃度值。光照強(qiáng)度傳感器如BH1750I2C接口。數(shù)字傳感器精度高使用方便是學(xué)習(xí)I2C通信的好例子。大氣壓強(qiáng)傳感器如BMP280I2C/SPI接口??赏瑫r(shí)獲取溫度、氣壓和海拔計(jì)算得出。3. 開(kāi)發(fā)環(huán)境與工程準(zhǔn)備“工欲善其事必先利其器”。在開(kāi)始研究代碼之前確保你的開(kāi)發(fā)環(huán)境已經(jīng)就緒。3.1 軟件工具鏈準(zhǔn)備IDE/編譯器Keil MDK-ARM (uVision)最常用的商業(yè)軟件對(duì)STM32支持好調(diào)試方便。需要安裝對(duì)應(yīng)的STM32器件支持包Device Family Pack。STM32CubeIDEST官方推出的免費(fèi)IDE基于Eclipse和GCC集成STM32CubeMX圖形化配置工具非常適合初學(xué)者一站式開(kāi)發(fā)。VSCode PlatformIO新興的跨平臺(tái)選擇插件豐富體驗(yàn)現(xiàn)代。適合喜歡折騰和追求效率的開(kāi)發(fā)者。建議初學(xué)者使用STM32CubeIDE可以無(wú)縫銜接后續(xù)的HAL庫(kù)學(xué)習(xí)和FreeRTOS配置。STM32CubeMX這是一個(gè)關(guān)鍵工具。即使項(xiàng)目提供了源碼你也應(yīng)該學(xué)會(huì)用它來(lái)重新生成工程以便理解外設(shè)是如何被初始化的。它可以圖形化配置引腳、時(shí)鐘、外設(shè)并一鍵生成包含F(xiàn)reeRTOS的初始化代碼。串口調(diào)試助手如XCOM、SSCOM、Putty等用于查看程序打印的調(diào)試信息是嵌入式開(kāi)發(fā)的“眼睛”。3.2 獲取開(kāi)源項(xiàng)目資源通常這類開(kāi)源項(xiàng)目會(huì)托管在GitHub、Gitee或論壇上。資源包應(yīng)包含軟件源碼完整的Keil或STM32CubeIDE工程文件夾。原理圖通常是.SchDoc(Altium Designer) 或.pdf文件。PCB圖.PcbDoc文件或Gerber生產(chǎn)文件。物料清單BOM列出所有元器件的型號(hào)、封裝、數(shù)量。說(shuō)明文檔README.md介紹如何編譯、燒錄、使用。請(qǐng)根據(jù)項(xiàng)目發(fā)布頁(yè)面的指引正確下載所有資源。3.3 硬件準(zhǔn)備如果打算動(dòng)手焊接如果你不滿足于軟件仿真想親手制作一個(gè)實(shí)物那么需要準(zhǔn)備元器件根據(jù)BOM表采購(gòu)。注意芯片、傳感器、接插件的封裝是否與PCB設(shè)計(jì)匹配。PCB板可以將項(xiàng)目提供的Gerber文件發(fā)給嘉立創(chuàng)、捷配等PCB制板廠商打樣通常5-10塊板子價(jià)格非常低廉。焊接工具電烙鐵、焊錫絲、松香、吸錫器、鑷子等。調(diào)試工具ST-Link V2或J-Link仿真器、USB轉(zhuǎn)TTL串口模塊、萬(wàn)用表。4. FreeRTOS任務(wù)設(shè)計(jì)與代碼拆解這是項(xiàng)目的軟件核心。我們以一個(gè)簡(jiǎn)化的模型為例看看代碼是如何組織的。4.1 創(chuàng)建任務(wù)與啟動(dòng)調(diào)度器在main.c中硬件初始化后就會(huì)創(chuàng)建任務(wù)并啟動(dòng)調(diào)度器。// main.c 示例片段 #include FreeRTOS.h #include task.h #include sensor_task.h #include display_task.h int main(void) { // 1. HAL庫(kù)初始化、時(shí)鐘配置、外設(shè)初始化通常由CubeMX生成 HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_USART1_UART_Init(); MX_I2C1_Init(); // ... 其他外設(shè)初始化 // 2. 創(chuàng)建FreeRTOS任務(wù) xTaskCreate(Sensor_Task, Sensor, 128, NULL, 2, NULL); xTaskCreate(Display_Task, Display, 128, NULL, 1, NULL); // ... 創(chuàng)建其他任務(wù) // 3. 啟動(dòng)調(diào)度器系統(tǒng)開(kāi)始運(yùn)行 vTaskStartScheduler(); // 4. 正常情況下不會(huì)執(zhí)行到這里 while (1) { } }關(guān)鍵點(diǎn)xTaskCreate函數(shù)的參數(shù)分別是任務(wù)函數(shù)、任務(wù)名、棧大小字、傳遞參數(shù)、優(yōu)先級(jí)、任務(wù)句柄。棧大小設(shè)置非常重要設(shè)置太小會(huì)導(dǎo)致棧溢出系統(tǒng)崩潰調(diào)試?yán)щy。初期可以設(shè)置大一些如256或512穩(wěn)定后再優(yōu)化。4.2 傳感器任務(wù)示例我們來(lái)看一個(gè)具體的傳感器任務(wù)它周期性地讀取數(shù)據(jù)并發(fā)送到隊(duì)列。// sensor_task.c #include FreeRTOS.h #include task.h #include queue.h #include dht11.h #include mq135.h // 定義數(shù)據(jù)包結(jié)構(gòu)體 typedef struct { float temperature; float humidity; uint16_t air_quality; } EnvData_t; // 聲明一個(gè)隊(duì)列句柄在別處定義 extern QueueHandle_t xEnvDataQueue; void Sensor_Task(void *pvParameters) { EnvData_t env_data; const TickType_t xDelay2000ms pdMS_TO_TICKS(2000); // 將毫秒轉(zhuǎn)換為系統(tǒng)節(jié)拍 // 傳感器初始化 DHT11_Init(); MQ135_Init(); for (;;) // FreeRTOS任務(wù)通常是一個(gè)無(wú)限循環(huán) { // 1. 讀取傳感器數(shù)據(jù) if (DHT11_Read(env_data.temperature, env_data.humidity) SUCCESS) { // 讀取成功繼續(xù)讀取空氣質(zhì)量 env_data.air_quality MQ135_GetAnalogValue(); } else { // 讀取失敗可以設(shè)置默認(rèn)值或錯(cuò)誤標(biāo)志 env_data.temperature -99.0; env_data.humidity -1.0; env_data.air_quality 0; } // 2. 將數(shù)據(jù)發(fā)送到隊(duì)列等待最多10個(gè)節(jié)拍Tick if (xEnvDataQueue ! NULL) { xQueueSend(xEnvDataQueue, env_data, (TickType_t)10); } // 3. 任務(wù)掛起2秒讓出CPU給其他任務(wù) vTaskDelay(xDelay2000ms); } }代碼解析pdMS_TO_TICKS是一個(gè)宏用于將毫秒時(shí)間轉(zhuǎn)換為FreeRTOS的系統(tǒng)節(jié)拍數(shù)這是推薦做法可確保代碼在不同系統(tǒng)時(shí)鐘頻率下的可移植性。任務(wù)主體是一個(gè)for(;;)循環(huán)通過(guò)vTaskDelay實(shí)現(xiàn)周期性執(zhí)行。vTaskDelay會(huì)使任務(wù)進(jìn)入阻塞狀態(tài)調(diào)度器會(huì)在此期間運(yùn)行其他就緒任務(wù)。通過(guò)隊(duì)列xQueueSend發(fā)送數(shù)據(jù)實(shí)現(xiàn)了任務(wù)間解耦。顯示任務(wù)和通信任務(wù)只需要從隊(duì)列中取數(shù)據(jù)無(wú)需關(guān)心數(shù)據(jù)何時(shí)產(chǎn)生。4.3 顯示任務(wù)示例顯示任務(wù)從隊(duì)列獲取數(shù)據(jù)并刷新屏幕。// display_task.c #include FreeRTOS.h #include task.h #include queue.h #include oled.h extern QueueHandle_t xEnvDataQueue; void Display_Task(void *pvParameters) { EnvData_t received_data; char disp_buf[32]; OLED_Init(); // 初始化OLED屏幕 for (;;) { // 1. 從隊(duì)列中接收數(shù)據(jù)無(wú)限期等待 if (xQueueReceive(xEnvDataQueue, received_data, portMAX_DELAY) pdPASS) { // 2. 清屏并顯示新數(shù)據(jù) OLED_Clear(); sprintf(disp_buf, Temp: %.1fC, received_data.temperature); OLED_ShowString(0, 0, (uint8_t*)disp_buf); sprintf(disp_buf, Humi: %.1f%%, received_data.humidity); OLED_ShowString(0, 2, (uint8_t*)disp_buf); sprintf(disp_buf, AirQ: %d, received_data.air_quality); OLED_ShowString(0, 4, (uint8_t*)disp_buf); // 3. 可以添加其他顯示邏輯如繪制簡(jiǎn)易圖表 } // 注意這里沒(méi)有使用vTaskDelay因?yàn)閤QueueReceive在收到數(shù)據(jù)前會(huì)阻塞任務(wù)。 // 一旦收到數(shù)據(jù)立即處理并顯示然后立刻再次等待新數(shù)據(jù)保證了顯示的實(shí)時(shí)性。 } }關(guān)鍵點(diǎn)portMAX_DELAY參數(shù)使得任務(wù)在隊(duì)列為空時(shí)無(wú)限期阻塞不消耗CPU時(shí)間。這是一種高效的事件驅(qū)動(dòng)編程模式。5. PCB設(shè)計(jì)要點(diǎn)與實(shí)戰(zhàn)避坑指南對(duì)于很多軟件開(kāi)發(fā)者來(lái)說(shuō)硬件設(shè)計(jì)是陌生的領(lǐng)域。這個(gè)項(xiàng)目的PCB設(shè)計(jì)部分是學(xué)習(xí)從原理圖到實(shí)物的絕佳教材。這里有幾個(gè)必須注意的關(guān)鍵點(diǎn)。5.1 原理圖設(shè)計(jì)檢查清單拿到原理圖或者自己繪制時(shí)請(qǐng)重點(diǎn)檢查電源樹(shù)這是整個(gè)系統(tǒng)的基石。確認(rèn)3.3V/5V轉(zhuǎn)換電路是否正確輸入輸出電容是否齊全通常遵循“一大一小”原則即一個(gè)大電容濾低頻一個(gè)小電容濾高頻。MCU最小系統(tǒng)復(fù)位電路、啟動(dòng)模式選擇電路BOOT0/BOOT1、外部晶振及負(fù)載電容通常22pF、電源去耦電容每個(gè)電源引腳附近一個(gè)0.1uF。傳感器接口I2C總線是否接上拉電阻通常4.7kΩ。模擬傳感器供電是否干凈可考慮使用LDO單獨(dú)供電并增加濾波電路。下載調(diào)試接口SWD接口SWDIO SWCLK是否引出并靠近MCU。最好預(yù)留一個(gè)串口TX RX用于打印日志。ESD與保護(hù)USB端口、對(duì)外接口是否有ESD保護(hù)二極管電源輸入是否有防反接和過(guò)壓保護(hù)5.2 PCB布局布線核心原則布局布線決定了電路的性能和抗干擾能力。布局優(yōu)先先放置核心器件MCU然后圍繞它放置相關(guān)的外設(shè)和接口。遵循“信號(hào)流”方向減少交叉。電源路徑電源線要寬根據(jù)電流大小計(jì)算線寬可使用在線工具。主電源路徑應(yīng)像樹(shù)干一樣粗壯。地平面對(duì)于兩層板盡量保證地平面的完整性。地是信號(hào)的返回路徑一個(gè)完整的地平面能顯著降低噪聲??梢源竺娣e鋪銅并連接到地網(wǎng)絡(luò)。模擬與數(shù)字隔離如果既有模擬電路如MQ-135的ADC輸入又有數(shù)字電路應(yīng)將它們的地在一點(diǎn)連接單點(diǎn)接地避免數(shù)字噪聲串?dāng)_到敏感的模擬部分。晶振走線晶振電路應(yīng)盡量靠近MCU走線短而粗下方避免走其他信號(hào)線周圍用接地銅皮包圍。5.3 常見(jiàn)新手錯(cuò)誤忘記淚滴在焊盤(pán)和走線連接處添加淚滴可以加強(qiáng)連接防止制板時(shí)因?qū)ξ黄顚?dǎo)致斷連。絲印重疊元件標(biāo)號(hào)如R1 C2和值如10k 0.1uF被元件本體蓋住或相互重疊導(dǎo)致焊接后無(wú)法辨認(rèn)。孔徑錯(cuò)誤插接件如排針的焊盤(pán)孔徑設(shè)置太小導(dǎo)致元件無(wú)法插入。務(wù)必查閱元件數(shù)據(jù)手冊(cè)中的推薦焊盤(pán)尺寸。未做DRC檢查設(shè)計(jì)規(guī)則檢查能發(fā)現(xiàn)線寬過(guò)細(xì)、間距過(guò)小、未連接網(wǎng)絡(luò)等低級(jí)錯(cuò)誤。在發(fā)出制板文件前必須執(zhí)行DRC。6. 系統(tǒng)集成、編譯與燒錄當(dāng)軟件代碼編寫(xiě)完成PCB也焊接好后就到了最激動(dòng)人心的聯(lián)調(diào)階段。6.1 工程編譯與配置在IDE中打開(kāi)項(xiàng)目工程需要檢查以下幾點(diǎn)頭文件路徑確保所有自定義的.h文件所在目錄已添加到項(xiàng)目的“包含路徑”中。宏定義檢查是否有針對(duì)不同硬件版本的宏定義需要配置例如USE_HAL_DRIVER,STM32F103xB。FreeRTOS配置打開(kāi)FreeRTOSConfig.h文件根據(jù)你的芯片資源調(diào)整配置。最重要的幾個(gè)參數(shù)是configTOTAL_HEAP_SIZE堆大小所有任務(wù)棧、隊(duì)列、信號(hào)量都從這里分配。如果創(chuàng)建任務(wù)失敗首先考慮增大此值。configMAX_PRIORITIES最大優(yōu)先級(jí)數(shù)量夠用即可。configUSE_PREEMPTION通常啟用1使用搶占式調(diào)度。6.2 下載與調(diào)試連接硬件使用ST-Link的SWD接口連接板子上的SWDIO、SWCLK、GND以及3.3V如果目標(biāo)板無(wú)法供電。配置調(diào)試器在IDE中選擇調(diào)試工具為ST-Link接口為SWD。下載程序點(diǎn)擊“Load”或“Download”按鈕。首次下載前可能需要先進(jìn)行芯片擦除。串口觀察將板子的串口如USART1的TX引腳通過(guò)USB轉(zhuǎn)TTL模塊連接到電腦打開(kāi)串口調(diào)試助手設(shè)置正確的波特率如115200。在代碼中初始化串口并使用printf重定向來(lái)打印調(diào)試信息這是最有效的調(diào)試手段。6.3 上電測(cè)試流程電源測(cè)試先不插MCU上電測(cè)量板子各點(diǎn)電壓3.3V 5V是否正常有無(wú)短路、發(fā)燙。最小系統(tǒng)測(cè)試插入MCU連接調(diào)試器嘗試下載一個(gè)最簡(jiǎn)單的LED閃爍程序測(cè)試MCU能否正常工作。外設(shè)逐一測(cè)試分別測(cè)試OLED顯示、每個(gè)傳感器的讀寫(xiě)確保硬件連接和底層驅(qū)動(dòng)正確。FreeRTOS任務(wù)測(cè)試下載完整工程通過(guò)串口打印各個(gè)任務(wù)的運(yùn)行狀態(tài)例如在任務(wù)中打印特定字符觀察調(diào)度是否正常。7. 常見(jiàn)問(wèn)題與深度排查指南在開(kāi)發(fā)過(guò)程中你幾乎一定會(huì)遇到下面這些問(wèn)題。這里提供系統(tǒng)的排查思路。問(wèn)題現(xiàn)象可能原因排查步驟解決方案程序下載失敗1. 調(diào)試器連接錯(cuò)誤或接觸不良2. 芯片進(jìn)入睡眠/停止模式3. BOOT引腳電平錯(cuò)誤1. 檢查杜邦線連接重插。2. 嘗試按住板子復(fù)位鍵再點(diǎn)擊下載松開(kāi)復(fù)位鍵。3. 測(cè)量BOOT0引腳是否為低電平。1. 確保SWD接口連接正確GND, SWDIO, SWCLK, 3.3V。2. 在下載配置中勾選“Reset and Run”。3. 將BOOT0通過(guò)電阻下拉到GND。程序運(yùn)行后卡死1. 棧溢出最常見(jiàn)2. 中斷優(yōu)先級(jí)配置沖突FreeRTOS系統(tǒng)中斷與硬件中斷3. 硬件初始化失敗如I2C設(shè)備未響應(yīng)1. 增大任務(wù)的棧大小或使用FreeRTOS提供的棧溢出檢測(cè)鉤子函數(shù)。2. 檢查FreeRTOSConfig.h中configKERNEL_INTERRUPT_PRIORITY和configMAX_SYSCALL_INTERRUPT_PRIORITY的設(shè)置確保硬件中斷優(yōu)先級(jí)高于此值。3. 在初始化后添加超時(shí)和錯(cuò)誤狀態(tài)判斷并通過(guò)串口打印。1. 合理分配??臻g局部變量不要定義過(guò)大數(shù)組。2. 遵循CubeMX的默認(rèn)中斷優(yōu)先級(jí)分組Group 4 4位搶占優(yōu)先級(jí)并將FreeRTOS的中斷優(yōu)先級(jí)設(shè)置為最低如15。3. 編寫(xiě)健壯的硬件驅(qū)動(dòng)加入重試機(jī)制。傳感器數(shù)據(jù)讀取不穩(wěn)定1. 電源噪聲2. 時(shí)序不符合要求如DHT113. I2C上拉電阻過(guò)大或過(guò)小4. 任務(wù)調(diào)度導(dǎo)致時(shí)序錯(cuò)亂1. 用示波器觀察傳感器供電引腳波形。2. 仔細(xì)核對(duì)傳感器數(shù)據(jù)手冊(cè)的時(shí)序圖用邏輯分析儀抓取通信波形。3. 測(cè)量I2C總線在空閑時(shí)的電壓是否約為電源電壓的一半。4. 在讀取傳感器的關(guān)鍵時(shí)序部分臨時(shí)關(guān)閉中斷或提升任務(wù)優(yōu)先級(jí)。1. 為模擬傳感器增加LC濾波電路。2. 調(diào)整延時(shí)函數(shù)確保滿足最小等待時(shí)間要求。3. 根據(jù)總線電容和速度選擇合適的上下拉電阻常用4.7kΩ。4. 將傳感器讀取操作放在一個(gè)獨(dú)立的高優(yōu)先級(jí)任務(wù)中或使用信號(hào)量保護(hù)。隊(duì)列或信號(hào)量操作失敗1. 創(chuàng)建隊(duì)列/信號(hào)量時(shí)失敗內(nèi)存不足2. 等待超時(shí)3. 句柄Handle為NULL1. 檢查configTOTAL_HEAP_SIZE是否足夠。2. 檢查發(fā)送方和接收方任務(wù)是否正常運(yùn)作。3. 確保在操作前隊(duì)列/信號(hào)量已成功創(chuàng)建且句柄有效。1. 增大堆大小或減少隊(duì)列長(zhǎng)度/項(xiàng)目大小。2. 檢查任務(wù)優(yōu)先級(jí)和阻塞邏輯。3. 將通信對(duì)象的創(chuàng)建和句柄管理放在一個(gè)明確的初始化函數(shù)中。OLED顯示亂碼或不顯示1. I2C/SPI地址錯(cuò)誤2. 初始化序列不正確3. 電源或復(fù)位引腳未正確控制1. 使用I2C掃描程序確認(rèn)設(shè)備地址。2. 對(duì)照OLED驅(qū)動(dòng)芯片手冊(cè)如SSD1306檢查初始化命令。3. 測(cè)量OLED模塊的VCC和GND電壓檢查復(fù)位引腳時(shí)序。1. 確認(rèn)地址通常0x78或0x7A。2. 使用經(jīng)過(guò)驗(yàn)證的驅(qū)動(dòng)庫(kù)。3. 確保在初始化前給予足夠的電源穩(wěn)定時(shí)間和正確的復(fù)位脈沖。8. 項(xiàng)目?jī)?yōu)化與進(jìn)階擴(kuò)展方向當(dāng)基本功能跑通后你可以從這個(gè)“樣板間”出發(fā)進(jìn)行個(gè)性化裝修和擴(kuò)建。8.1 軟件優(yōu)化低功耗設(shè)計(jì)環(huán)境監(jiān)測(cè)終端可能由電池供電。你可以利用FreeRTOS的vTaskDelay或vTaskDelayUntil讓任務(wù)在空閑時(shí)掛起并配合STM32的低功耗模式如Stop模式。在停止采樣時(shí)將MCU和外圍傳感器進(jìn)入睡眠。數(shù)據(jù)濾波算法傳感器數(shù)據(jù)常有抖動(dòng)??梢栽赟ensor_Task中實(shí)現(xiàn)簡(jiǎn)單的軟件濾波如滑動(dòng)平均濾波、中值濾波使顯示更穩(wěn)定。添加文件系統(tǒng)LittleFS/SPIFFS如果你想記錄歷史數(shù)據(jù)可以添加SPI Flash芯片并移植LittleFS文件系統(tǒng)將數(shù)據(jù)以文件形式存儲(chǔ)。實(shí)現(xiàn)OTA升級(jí)如果設(shè)備具有網(wǎng)絡(luò)功能如ESP8266可以實(shí)現(xiàn)通過(guò)Wi-Fi進(jìn)行固件空中升級(jí)這是一個(gè)非常有價(jià)值的工業(yè)級(jí)功能。8.2 硬件擴(kuò)展增加傳感器添加土壤濕度傳感器模擬量、雨水檢測(cè)傳感器開(kāi)關(guān)量、GPS模塊等打造更全面的環(huán)境監(jiān)測(cè)站。更換顯示方式使用IPS彩色LCD屏替代OLED顯示更豐富的圖形和圖表。增加執(zhí)行機(jī)構(gòu)從“感知”到“控制”。例如根據(jù)溫濕度數(shù)據(jù)自動(dòng)控制一個(gè)繼電器來(lái)打開(kāi)加濕器或風(fēng)扇。設(shè)計(jì)外殼使用3D建模軟件如Fusion 360為你的終端設(shè)計(jì)一個(gè)美觀實(shí)用的外殼并3D打印出來(lái)讓項(xiàng)目真正產(chǎn)品化。8.3 云端連接物聯(lián)網(wǎng)化這是讓項(xiàng)目?jī)r(jià)值倍增的一步。你可以選擇阿里云/騰訊云物聯(lián)網(wǎng)平臺(tái)這些平臺(tái)提供了設(shè)備接入SDKC語(yǔ)言版本可以移植到STM32上。它們提供了完善的數(shù)據(jù)可視化、設(shè)備管理和規(guī)則引擎。私有協(xié)議服務(wù)器自己用Socket編程在服務(wù)器端如用Python Flask搭建一個(gè)TCP/UDP服務(wù)器設(shè)備端將數(shù)據(jù)打包發(fā)送。這種方式更靈活但需要自己處理所有后臺(tái)邏輯。使用Node-RED這是一個(gè)圖形化的物聯(lián)網(wǎng)編排工具可以在樹(shù)莓派或電腦上運(yùn)行輕松實(shí)現(xiàn)數(shù)據(jù)接收、處理和可視化如連接到DashboardSTM32只需通過(guò)MQTT或HTTP發(fā)送數(shù)據(jù)即可。這個(gè)“STM32智能環(huán)境監(jiān)測(cè)終端”項(xiàng)目就像一本立體的教科書(shū)它把嵌入式開(kāi)發(fā)中最重要的幾塊拼圖——MCU編程、實(shí)時(shí)操作系統(tǒng)、硬件設(shè)計(jì)、調(diào)試排錯(cuò)——有機(jī)地整合在了一起。通過(guò)親手實(shí)現(xiàn)它你收獲的將不僅僅是幾行代碼和一塊電路板而是一套解決復(fù)雜嵌入式問(wèn)題的系統(tǒng)化思維方法。從讀懂原理圖開(kāi)始到編寫(xiě)健壯的多任務(wù)程序再到最后焊接調(diào)試出實(shí)體產(chǎn)品這個(gè)過(guò)程本身就是對(duì)你技能樹(shù)最全面的一次升級(jí)和驗(yàn)證。建議你將項(xiàng)目資源下載到本地對(duì)照本文的拆解從一個(gè)旁觀者變?yōu)閰⑴c者親手讓這個(gè)系統(tǒng)運(yùn)行起來(lái)并在過(guò)程中嘗試去修改、去擴(kuò)展、去打破它這才是學(xué)習(xí)的真正開(kāi)始。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲国产精品久久久男人的天堂| 精品中文一区二区| 91午夜无码| 97精品97久久| 超碰久久性爱| 思思热在线观看| 精品人妻一区二区三区四区石在线| 亚洲网污污污污| 八戒午夜福利理论片| 久久机热| 久久日本熟妇熟色高清 | 亚洲高清综合网| 国产老熟女| 亚洲图片激情综合另类| 亚洲黄色电影| 欧美韩国你懂得在线 | 欧美第一页| 伊人影院中文字幕| 亚洲精品日日夜夜52| 91久久青青草原精品| 免费亚洲国产精品久久一区| 亚洲欧美性生活| 久久香蕉国产线看观看猫咪av| 五月婷亚洲精品天堂| 日韩 女同 综合| 韩国一区二区精品亚洲| 天天躁日日躁AAAXX| 亚洲,日韩,欧美,成人播放| 丝袜足交视频| 国产福利影视| 国产精品久久久久久久毛片1| 亚洲av资源| 不卡码视频| 日韩成人精品中文字幕| 丁香色色网| 秋霞视频一区二区| 无码外流操逼视频| 亚洲av国产av综合av卡| 狠狠91| 色天天野狼综合社区| 亚州色图片在线色| 97操B| 久久亚洲一区女同性恋中文字幕 | 婷婷色网| 中文字幕人妻色偷偷久久皮| 成人在线视频一区| 精品一区二区三区四区外站| 97精品国产手机| 老熟女熟妇| 手机不卡视频不卡在线一二三区| 老熟女区| 情色五月天久久久| 任我爽视频在线观看| 久久亚洲骚逼综合| 久久久久久久久久久久黄色 | 99久久精品国产系列| 欧美激情高清性猛交| 99少妇内射| 日本亚洲嫩草影院啪啪| 91综合在线| 丁香色五月 97干| 五月天婷精品激情| 黄污污污污| 日产狠狠干| 中文字幕日产av人| 色av中文字幕| 亚洲小说视频| 1区2区3区视频| 自拍内地三级在线观看| 亚洲成人日韩小说| 久久久久久久国产视频| 91GD.COM| 亚洲乱码尤物193YW| 激情五月天色色| 亚洲色婷婷| 欧美少妇第一页| 四虎AV无码| 999 久久久| 伊人久大| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 五月天婷婷色| av情色影音| 丰满人妻一区二区中文| 九九碰九九爱97超| 亚洲最大的综合性av| 成人精品在线| 福利天堂| 国产精品视屏| 亚洲激情综合另类男同| 色综合久| 97色色,97综合| 国产精选视频| 蜜桃不卡一区二区| 久久久成人免费av电影| a片自拍直播视频| 强奸乱伦av电影| 国产视频三区四区| 91色香| 日韩黄片视频试看| 六六久久日韩不卡| 欧美激情黑人| 亚洲色系另类精品国产| 91在线页| 一本久久久精品| 日韩欧美成人综合在线| 青青青操| 熟女91网站| 夜夜精品视频| 五月丁香影院| 亚洲国产福利视频| 欧亚乱色熟女一区二区| 97超碰逼| 操屄日韩| 久久久久久久久久久人妻| 208天天久久九九九| 亚欧高清| 偷拍亚洲高清图片| 久久青青草原免费视频| 色盈盈影院| 九九九精品美女| av在线一区二区三区| 婷婷综合在线观看| yiqicaoav| 精品国产乱码久久| 日本污ww视频网站| 亚洲 无码 有码 中文字幕| 精品国产乱码| 9999亚洲精品| 大香蕉久| 欧美一级专区免费大片| 中文字幕五月婷婷免费| 美女AV一区二区| 99久久精品国产系列| 国产又粗又又黄又猛| 久久超碰天天| 天天色播| 久久内射| 一色网男人的天堂| 欧美999| 久久久久性熟视频| 操逼无码操逼| 另类 综合 日韩 欧美 亚洲| 免费观看国产小粉嫩喷水精品午| 国产美女激情| 99色色网| 啪啪啪综合网| 青青草大香蕉在线视频| 夜嗨影院| 亚洲色电影在线| 在线观看综合精品亚洲| 欧美黑人与女人91| 95人妻爽爽人人做人人澡| www.四虎在线| 亚洲精品一区二区精品| 精品制服美女中文一区二区三区| 欧美久久伊人| 天天干1区2区在线| 婷婷导航| 家庭乱伦麻豆| 精吧天堂| 天天日日夜夜| 久草视频观看视频在线| 欧美激情激情xxxx欧美专区| 色色色综合网| 国产一级特黄大片处女| 国产白丝网站| 91偷拍欧美亚洲| 五十路三级片| 欧美黄色大片在线观看 | 99在线精品视频| 亚洲av夫妻操穴网| 日韩欧美成人午夜福利| 懂色av一区二区三区天美传媒| 综合五月婷婷| 被男人吃奶很爽的毛片| 我想要啊 啊 啊| 人妻熟女一区在| 亚洲成人激情小说视频| 999熟女精品| 激激五月| 吖在线不卡一区二区国产剧情| 一区二区亚州激情久婷婷欧美| 人妻嗯啊啊在线播放| 亚洲欧美一区二区不卡视频播放| 免费中文在线| 久久精品国产亚洲妲己影视| 啊啊啊啊好疼| 超碰在线免费一区二区三区| 亚州熟妇精品| 国产又粗又长又爽又色| 日韩激情无码影院| 偷拍盗拍亚洲色图图片| 熟妇高潮二区三区| 亚洲综合九| 97AV爱| 中文字幕aⅴ在线视频| 亚洲日韩国产精品| 91观看 国产白丝| 九九Av| 国产日韩在线播放av| 96久久久久久久| 性色av一区二区| 蜜臀av一区二区三区免费观看| 久久久久亚洲Aⅴ无码| 亚洲精品成人动漫在线| 欧美日产国产在线成人第一区| 蜜乳性色无码专日粉嫩骚逼AV| 午夜传煤十二区精品| 麻豆AV96熟妇人妻| 自拍欧美| 欧美亚洲第1页| 婷婷在线播放| 色婷婷丁香五月| 色噜噜精品一区二区三| 亚欧毛片基地国产毛片基地| 成人精品在线免费视频| 日韩亚洲欧美中文字幕| 美女久久久久久久久久久| 5278欧美一区二区三区| 狼狼色丁香久久婷婷综合五月| 男人的天堂久久久| 久久专区| 国产v片在线免费观看| 精品视频在线观看精品| 肉动漫无遮挡h在线观看| 五月天加勒比啪| 粘花网06av视频| 超碰成人国产| 99re这里只有精品3| 97精品97| 日韩人妻无码不卡网站| 囯产乱伦一区二区三女 | 男人天堂无码| 四虎国产精品永久在线囯在线 | 天天躁夜夜躁狠狠躁AV| 色婷婷狠狠| 在线情色电影 91大| 午夜精品久久久99| www.男人天堂| 蜜臀AV一区二区三区激情综合| 大香蕉碰碰| 激情网色| 色婷婷导航| 蜜桃色色网站视频三区| 激情四射婷婷六月天| 青青草好吊色| 手机在线观看不卡无码av| 色噜噜人妻丝袜AV资源| 日本影视久久免费| 人人人人人人少妇| 99抽插| 歐美性天天| 天天插夜夜爽| 亚洲美腿丝袜香蕉影视欧美成人| 91精品国产91熟女| 妇女性内射冈站HDWWWCOM| 狠狠操官网| 404操逼福利视频| 超碰人人草| 丁香六月激情| 美女久久久久久久久久久| 国产精品久久久无码AV网站| 美女视频尤物网在线看| 欧美人妻久久精品二区三区| 伊人麻豆传媒| 久热这里只有精品9| AND人妻系列| 久久亚洲人妻| 丁香六月啪| 亚洲综合射| 色婷婷一区二区三区久久| 天天影视亚洲| 欧美日韩国产中文精品字幕自在自线 | 久久丁香久草综合网| 熟妇人妻一二三区免费| 国产日韩精品人妻久久久久色欲网站| 91在线视频观看国产| 麻豆精品三区视频| 天天操天天7| 日逼逼免费看| 亚洲成人福利电影免费| 五月色网| 国产精品久久久 | 精品国产99| 蜜臀无码一区二区| 天天激情综合站| 天堂蜜桃无码视频一区二区| 91挑色欧美| 啊啊啊好大好深| 久久黄色视频一区二区三区| 亚洲国产欧美日韩人妻日中文| av九九| 99精品伊人| 欧美一二三| 国产成人自拍视频视频| AND人妻系列| 男人精品区| 黄片免费日韩| 日韩一级二级| 亚洲丝袜二区在线| 亚洲黄色a级片| 亚洲综合九| 亚洲精品自拍| 青青草原狼av| 一中国女人毛片水真多| 九九视品黄色| 免费岛国一级片| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 97色色婷婷| 蜜臀无码一区二区| 亚洲啪啪视频一区二区| 久久m| 日本女优在线视频福利| 日日日色色色色色| 精品黑人一区二区| 夜夜夜爽www精品视频| 色情综合| 这里只有精品97| 日本不卡一区| 情色五月天久久久| 加勒比在线观看一区二区| 性色中出| 久久国产性爱| 久久大香蕉97| 美女人妻色网站| av网站免费线看| 精品人妻一区二区免费蜜桃| 成人麻豆av电影网站| 久草男人天堂| 9999久久久久| 久久 精品| 精品人人| 福利操逼| 99精品综合久久久久五月天| 欧洲精品久久| 国产欧美一区激情交| 欧美综合天堂| 欧美日韩资源在线| 亚洲国产成人精品无码专区| 999久久久国产精品| 亚洲最大的黄色电影网站。 | 性开放中文AV高清无码免费看| 日韩人妻精品| 91亚洲黑人| 操逼日批| 欧美三级偷拍| 特级大荫道BBwBBwBBW| 久久久蜜桃臀无码视频| 大屁股国产在线视频| 99热综合| 91精品久久久| 日韩三级av片| 绑缚麻绳人妻寝取完整版| 国产美女mm131爽爽爽爽| 91爱剪切久久| 日韩精彩视频| 日本日日色视频| 亚洲制服欧美另类内射| 欧美18老人禁| 东北女人性交| 99热日| 91天天日| 男人的天堂啪啪啪啪啪蜜桃不卡| 日日操免费视频| 欧美色图欧美| 久久视频少妇美女| 伊人天堂在线| 亚洲成人久久美女| 搞中出久久| 超碰视97中文| 狠狠亚洲| 天天舔天天日天天射| 欧美男人一区| 成人精品在线| 亚洲日韩成人性爱视频| 伊色久人大在线| 久操 高清| 天美麻豆精品视频99| 欧美一级黄色18片免费看| 热思思免费视频| 中文字幕青青草| 搡老女人老91妇女熟女| 亚洲天堂自拍| 爱爱动态试试看6 0秒| 97色色网| 狠狠干,狠狠操| 亚洲一区二区三区播放在线| 欧美v日韩v亚洲v最新在线| 综合网亚洲1| 日韩午夜国产| 日韩丝袜高跟制服在线观看| 色眯眯射| 欧美丝袜激情| 中文字幕乱碼在线| 在线综合 亚洲 欧美中文字幕| 91制服丝袜| 亚洲天天精品| 精品二区久久| 91狠狠综合久久| 国产精品一区在线播放| 四虎精品亚洲| 九九热精品视频六| 超碰色老头| 亚洲一区二区av| 91N综合网| 久久成人精品| juliaann欧美丝袜办公室| 日韩三级av片| 欧美综合天天| 日韩成人性日韩成人性爱视频在线免费观看| 91天堂| 张柏芝国产一区在线观看| 色欧美在线| 亚洲性天堂| 国产强奸乱伦第1页| dy888午夜老子影视达达兔| 97jingpin| 午夜久久久| 91精品婷婷国产综合久久竹菊| 歐美性天天| 97超级色碰碰| 97色色,97综合| 色色青青久久| 久久免费9| 国产区日韩区在线观看| 国产精品日韩在线一区| 秋霞操逼片| 欧美丰满少妇xx高潮| 天堂а√在线最新版在线| 国模私拍一区二区三区神乳| 校园春色综合网| 极品综合| 综合色图区| 亚州综合电影| 97伦综合| 377p欧洲日本亚洲大胆| 日韩欧美女优电影| 欧美日韩婷婷中文| 亚洲图片激情小说| 男啪女色黄无遮挡免费观看| 91人妻中文| 欧州色图区| 青青草乱入乱欲视频在线观看| 日本 情色 1区2区3区| 91青青草| 伊人色综合网电影| 97国伦国色| 亚欧美综合| 乱伦熟女专区| 中文字幕在线高清男人的天堂| 97色在线| 亚洲脚交| 国产日产精品久久快鸭的功能介绍| 在线国产探花| 欧美人妻精品| 成人在线视频网| 蜜臀精品1区2区| 精品少妇高潮久久| 国产成久久综合片| 丰满少妇一区二区三区专区| 欧美图片色五月天| 手机看片91人妻| 亚欧国产无码精品在线| 东京热av男人的天堂| 精品国产乱码久久久A| 影音先锋视频在线| 亚洲免费日韩在线一区二区| 久久精品中文字幕女同| 日韩免费高清大片在线| 九色 人妻 大香蕉| 国产欧美后入| 日韩免费簧片| 视频在线观看一二三区| 天天拍夜夜| 亚洲av乱伦色图网站| 欧美日不卡| 日本幼女18+| 金莲网址| 加勒比AV天堂| 人人人摸人人| 亚洲综合网图| 亚洲熟女综合一区二区| 狠狠操天天干| 亚欧成人一级片在线播放| 免费A V在线| 中出20p| 中日韩欧美精品无码AⅤ一区二区| 天天享受天天看| 91亚洲欧美激情| 性爱综合网| 精品国产99999| 精品国产精品一区二区| 老熟乱一区二区三区四区| 澳门特级毛片免费观看| 大香蕉之青青草原| 久草福利在线资源站| 狠狠操狠狠燥| 色色色99| 97碰| 1二区9| 日韩精品免费高清视频在线| 五月天亚洲网| 色欲天天综合网| 久操免费观看| 91色黑人少妇| 日韩在线观看中文字幕视频| 久久久久久性爱免费视频| 涩爱AV在线| 国产www色在线观看| 97欧美日韩精品| 吻戏激情性巴克| 十八禁啪啪视频| 九一综合网| 国产激情在线| 91欧美综合| 久肏视频字幕| A啊啊在线观看| 91在线精品| 欧美日韩中文视频播放| 超碰人妻中文在线| 美女超碰978| 性爱乱伦视频免费| 91人妻熟女| 天色综合网| 亚洲黄网在哪免费看| 女人香蕉久久毛毛片精品| 欧美亚洲丝袜美女电影| 在线观看综合精品亚洲| 91AV入口| 97国产色图 | 婷婷色在线| 国产精品一区二区三区,亚洲综合| 四虎在线视频| 天天躁狠狠躁av| 国产精品一区人妻精品阁在线| 黄片直播三级黄片两女一男| 蜜臀久久99精品久久久久久无删减| 国产十八禁视频| 色呦呦、国产精品| 国内精品伊人久久久久影院会| 国产高清视频无码在线| 久久97精品久久久久久久不卡| 日韩丝袜高跟制服在线观看| 中文字幕一区二区三区蜜臀| 国产精品交换一区二区| 国产精品蜜乳AV| 福利社区午夜一区二区| 亚洲不卡三级手机播放| 98久久超碰| 一区二区三区四区五区久久久久久| 粉嫩少妇自慰在线| 麻豆 欧美 日韩| 黄色网址久久精品欧美喷水| 一区二区三区欧美激情| 殴美在线AⅤ| 9国产超碰| 天天看天天干| 色与欲影视| 青青草色AV| 日韩本不卡视频在线观看| 啊啊啊啊啊好舒服视频| 久久亚码| 啊啊啊啊好大好硬啊啊啊啊啊| 中文幕97| 欧美伦乱爱| 新视频sss国产| 欧洲乱码视频| 91老熟女老女人国产老太| 亚洲人妻熟妇三十三区| 97超碰久| 欧美 亚洲 综合 制服 另类| 天美麻豆黄色录像| 少好三P| 操逼短片| 男人综合网| 色色九区| 亚洲码在线中文在线观看| dy888午夜老子影视达达兔| 日本成a人v网站在线观看| 久久专区| 亚洲密乳AV| 在线岛| 色噜噜人妻丝袜a∨先锋影| 蜜乳AV一区| 精品一二三区久久AAA片| 免费黄色A片| 欧美躁死她一区二区| 九月丁香综合网| 成片免费播放| 操我啊啊啊啊啊| 图色综合网| 97超碰人操| 大香蕉日韩欧美| 国产一级高清免费观看| 国产亚洲精品A在线观看下载| 国产成人亚洲精品无码古代早漏男| 日韩乱伦影音先锋| 情侣开房子拍 日韩无码 女的很漂亮| 十八禁网站在线| 中文字幕诱惑制服人妻丝袜美丝袜美 | 丰满少妇一区二区三区免费看| 九九九九久久久久| 无码高清少妇久久| 日本性爱欧美性爱| 国产AV超爽| 欧美内射少妇| 97AV在线免费观看| 亚洲欧美91| 日韩无码a片| 东京热免费视频| 色大师网站www永久网站视频| 999九九九九国产动| 2020久久免费视频| 午夜免费福利视频一区| 欧美综合制服在线| 91黄站| 国产麻豆福利av在线播放| 亚洲欧美日韩精品久久久一区二区| 日日夜夜天天| 精品国产乱码久久久久久日本公司| 97天天日| 99热网站| 夜夜操一区二区| 综合伊人激情| 加勒比大香蕉视频在线| 国产91专区| 国产日韩无码一区二区三区久久区| 91色久| 人妻精品一区一区三区蜜桃91| 一级性爱网| 精品国产乱码久久久久A| 激情小说亚洲视频| 日本一区视频在线观看| 99国内精品| 天天肏夜夜肏| 久久精品色欧美aⅴ一区二区| 久久m| 资源新线在线天堂| 99久热| 久草电影网| 精品午夜福利国产一区二区在线观看| 少妇69中文| 91在线视频国产网站| 激情综合网激情五月天| 人人妻人人色一区二区三区| 强奸乱伦中文字幕AV| 九九热AV| 欧美宗合网| 丁香五月婷婷基地| 97在线观看视频| 日本三级日本三级99| 亚洲精品黑丝| 免费一级毛片在线视频观看| 蜜臀无码一区二区| 亚洲制服欧美另类内射| 亚州,欧美在线| 国产女人91精品嗷嗷嗷嗷| 国产熟女高潮一区二区三区| 一本一道vs波多野结衣| 国产97/欧美| 日韩av影片在线观看| 97视频免费在线| 久久综合国产精品国产| 神马久久啊啊| 黑人黄片在线免费观看| 熟妇高潮二区三区| 日本三级韩国三级99| 啊啊啊啊啊啊在线| 67194无码不卡| 蜜乳视频网站| 久久精品91| 人妻丝袜无 码视频专区| juliaann欧美丝袜办公室| 91女在线观看| 日韩操p| 欧美精品欧美精品系列| 九九激情网| 亚洲学生妹高清av| 中文字幕AV片| 亚洲最大无码中文字幕网站| 日本加勒比无码专区| 狼人综合婷婷激情四射 | 中国的操老妇女| 国产AV超爽| 丰满人妻一区二区三区免费| 国产suv精品一区二区四| 乱伦a片视频| 99这里只有精品| 啪啪视频mP4| 中国女人内射6XXXXX| 国内外激情在线| 婷婷国产精品九区| 黑人操一区二区| 亚洲全色网| 欧美熟爽综合| 亚洲无码?第一页| 色综91| 91九九九小逼| 天天摸,夜夜摸| 久久久久久人妻一区精品色欧美| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 性猛交| 欧美色道啊| 婷婷激情五月综合| 日逼视频日本| 日韩综合色图| 91 丝袜在线观看| 精品一二三区久久AAA片| 偷拍 亚洲 欧美| 亚欧洲一区二区视频| 色穴精品| 五月婷婷六月天| 人人搞人人插人人操| 久久久久久十| 国产日韩欧美亚洲精品95| 91美女在线精品视频| 超碰成人公开| 97人人操人人摸人人爱| 亚洲欧美日韩免费电影| 两性综合网| 亚洲中文字幕有码视频一区二区三区| 欧美激情超碰777| 色屁屁影院www国产| 手机看片91人妻| 日本 情色 1区2区3区| 久久久久久人妻一区精品色欧美| 在线啊啊啊| 亚洲污污网站| 超碰97色色| 日韩情色视频| 裸体美女国产免费久久久网站| 国产操逼视频在线观看| 色哟哟 日韩精品| 人妻精品一区二区| 淫纸中9区| www.acm成人黄色毛片| 久久色一区二区| 天天爽夜夜欢视| 翘臀vidoes| 亚洲国产精品久久久久久久久久| 亚洲日韩人妻中文字幕一区| 又粗又长又大国产不卡| 大色综合| 丰满人妻-区二区三区| 亚洲情色 自拍| 蜜桃臀一区二区aV| 在线播放中文字幕| 中文字幕国产| 九久久精品| 风月影院男女十八禁| 噜噜噜亚洲精品| 欧美三级一级| 肉丝网站91| 九九九久久久久| 好吊色一区| 97频视在线| 超碰中文字幕人妻草一区| 超碰综合色| 亚洲人久久久网| 91操人| 五月婷婷青青草娱乐伊人| 久久精品99久久久久久| 久久精品国产97欧美精品亚洲 | 国产精品一区av在线| 五月婷婷丁香六月丁香| 无码天天操| 日韩中文字幕二区| 大香网伊人久久综合| 欧美毛片在线网| 久九九九九九九热| 免费超碰97久久| 精品二区久久| 777超碰| 老外又粗又长一晚做五次| 强奸乱伦 亚洲一区| 亚洲国产成人福利在线观看| 在线啊v一区| 性站 | 亚洲高清欧美总合| 国产主播福利| 亚洲一本大道中文字幕无码在线| 中文字幕日本久久| 青青草原人妻| 夜夜综合| 91网站18禁| 日韩亚洲精品一区二区| 欧美 亚洲 偷拍自拍| 亚洲最大黄网| 色爱欲亚洲| 日韩欧美久久婷婷网站| 综合伊人网12色| 色嗨嗨在线| 97香焦色区| 啊啊啊啊啊在线视频| 色噜噜人妻av中文字幕| 狠狠操,使劲操| 日本人人操人人操| 大香蕉伊人亚洲| 97欧美精品综合| 久久人妻一区二区三区高清| 97视频网站| 日韩av在线播放不卡| 夜夜久久| 亚洲另类春色| av日韩在线观看电影| 亚洲乱色视频一区、二区在线| 成人天天爽| 极品欧美一区二区三区| AV 少妇 人妻 偷拍| 亚州久久9| 熟妇乱伦一区二区| 九九性爱网| 人妻熟妇久草在线| 操一操摸一摸| 久久久久久久久久8888| 亚洲熟女一区| 亚洲图片色图欧美另类| 麻豆60秒| 青草地一本线一区二区三区| 一区操逼日比视频| 激情欧美日韩女同久久| 少妇一级无码精品| 日韩有码免费视频| 欧美丝袜中文字幕07在线| 久草免费在线一区二区| 91成人在线| 色欲Av人妻精品一区二| 欧美激情五月天| 丝袜美腿丝袜| av一区二区三区 中文| 夜夜骑天天燥| 午夜操逼不卡| 天天爽天天| 蜜臀Av一区二区三区| 欧亚性爱啪啪| 日本高清熟女久久一区| 欧美黄色片在线播放| 麻豆性爱视频在线播放| 玖玖综合视频| 91处女在线观看| 99热思思| 天美传媒精品一区二区| 99热综合| 欧美一级A一级a爱片久久| 日本超碰在线国产一区| 亚洲高清欧美总合| 五月婷婷激情综合| 免费视频一二三区| 成人夜夜爽| 91欧洲国产成人久久精品网站| 婷婷五月成人| 91丝袜在线观看| 玖玖综合色| 日韩激情电影中文字幕| 亚洲风情在线观看| 水野优香在线观看| 色香欲影| 人妻在线臀日韩| 久久久久久久97| 欧美极品女人的天堂| 国产成人拍国产亚洲精品| 人人摸人人干| 国内毛片婷婷六月色| 久久噜噜噜精品国产亚洲综合| 久久久成人国产精品无码| 久久久91| 中文字幕在线观看AV| 免费少妇一区二区| 国产丸一视频| 日韩国产乱子伦App| 激情婷婷丁香网| 天天看天天综合成人网| 欧美不卡五十路| 久偷拍欧美日韩三区| 久久HD| 日韩一级二级三级在线不卡观看完整| 中文久久一区| 国产成人无码高清| 青青草女人天天干| 亚洲中文日韩精品| 不卡六六在线91| 国产激情av女片自拍| 哑洲在线| 99热在线观看| 91精品91久久久中77777| 久久免费中文字幕在线观看| 欧美性爱一区二区三区| 亚洲熟女乱色| 亚欧无码在线| 91精品网站| 大香蕉宗合网在线| 久久欲| 伊人91| 少妇人妻激情四射| 伊人AAA| 免费A V在线播放| 欧美狠狠干| 中文字幕诱惑制服人妻丝袜美丝袜美| 青青草日韩无码| 欧美人与性动交a美精品| 天天久久久久久| 熟女网站最新| 欧洲Au麻豆| 久久九色| 天天做日日做天天欢。| 国内偷拍精品一区二区| 99蜜月精品久久| 97色色国产视频| 天天日日夜夜| 韩国黄片aaaa| 青青免费在线视频一区 | 日本影视久久免费| 97se亚洲| 亚洲一二三| 嗯嗯嗯不要不要免费视频| 青青青在线高清视频在线一二三四区 | 美女久久久久久久| 久9热| 日韩精品永久在线观看| ji熟女.com| 亚洲日韩精品一区二区| 91青青在线视频| 亚州色阁| 日本女厕偷拍| 狼人综合婷婷激情四射| 92人人操人人| 久久受www免费人成| 免费A片三p视频| 97久久久久| 久久有码视频| 婷婷人妻激情| 91老熟女91老女人| 亚洲91综合| 午夜精品人妻二区三区| 2019AV天堂| 日本99一区二区| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 欧美亚州手机在线| 性一交一乱一交A片久久四色| 欧美精品久久久久久久久88| 一类av片在线看| 免费啪啪av| 亚洲熟女性高潮久久久| 少妇高潮流水av免费| 女欧美一区二三区| 欧美黄色大片在线观看| 亚洲欧洲日本精品中文a∨| 国产在线能看的你懂的| 久久双插| 人人贴人人摸| 精品偷拍13p欧美dodk视频| 免费一级特黄特色大片在线观看看| 成年人黄色视频免费| 自怕偷自怕亚洲精品| 亚洲第一狼人丝袜美女另类| 亚洲国产91精品一区二区久久| 国产精品久久久久久久AV大片| 可以在线观看的黄色网址| 日韩在线一区二区| 影音先锋乱| 九月色婷婷| 人妻久久久久久久久久久久久久久| 成人综合色网| 蜜桃视频精品一区二区三区| 东京成人一区| 精品综合久久久久久97| 综合少妇网| 久久久久久久久久久久久久久久9| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 久久久久网站-538在线视频-欧美永久乱码 | 又粗又长又大国产不卡| 立川理惠被中出无码| 人人贴人人摸| 亚洲一区日韩| 日本狠狠干| 久久综合精品一区二区三区| 亚洲欧美日韩电影网站一区| 欧美人妻一区二区| 少妇被c 黄 免费观看| 亚洲国产欧美另类自拍| 在线观看黄色电话| 欧美天天插| 无码操逼天堂| 96超碰网| 国内毛片热久久思思热| 最新国产精品久久精品| 人、人、摸,人、人、草| 伊人影院中文字幕| 啊嗯嗯啊好大好爽| 天天日天天干天天操| 日本操色导航| 女同在线视频一区| 综合激情一一91| 欧美黄业| 日本五十路熟女一区二区| 亚洲国产精品久久久久婷婷青年| 亚洲欧洲第二视频在线观看色图| 人妻熟女一区二区在线视频| 最新av网站在线观看| 日韩一级片在线看| 色999偷自拍拍| 91欧美网| 亚洲人妻在线一区| 你操综合| 少妇高潮一区二区三区在线| 中文字幕国产| 欧美 亚洲 综合 制服| 亚州欧美综合| 男女猛烈无遮掩视频免费软件| 欧美综合区| 天天摸夜夜添无码小视频| 韩日精品四区| 久9久精品视频| 天天看天天干| 欧亚综合一卡二卡中文字幕| 日韩超碰精品综合| 超碰超碰超碰超碰的大鸡吧操黑丝袜 | 射丝袜大香蕉| 国产一区二区成人av在线播放| 99在线精品视频| 国产精品一区二区后入| 国产家庭乱伦表演| 亚洲色人妻综合| 91亚洲狠狠色| 欧美精品一区二区少妇免费A片| 97中文天堂| 伊人网高清| 抽插无码高清一区| 97超碰总站| www.久久最新地址| 亚洲综合113页| AAAA级日本片免费视频| 9久综合网| 天天亚洲| 久久婷婷影院| 精品国产乱码久久久久久免费| 国产综合永久精品日韩鬼片| 欧美综合色站| 啪啪性爱免费视频| julia在线观看久久| 亚洲资源站| 久热伊人| 人妻久久一区二区三区 | 射丝袜高跟鞋99| 91激情国产| 丰满人妻av一区二区三区| 伊人久日| 精品国产精品一区二区| wuyechaopeng| 国产精品熟女乱伦| 少妇的嫩逼图片| 色5月婷婷| 色妇综合网| 久久久久9久久久久| 欧美性爱第一页久久| 女人妻一区| 少妇厨房愉情理伦片bd在线观看| 粉嫩AV一区夜夜嗨| 成人av在线播放| 国产青青美女玩逼视频| 超碰成人最新最好看| 青草伊人网| 91超级碰| 久久精品国产Aⅴ| 十八禁黄色成人网站观看| 亚洲综合九九| 91性生活久久久| 天天色综亚洲91污| 亚洲色宗合| 超碰爽人妻熟女Av| 日韩国产欧美伦理在线| 人人澡人人澡人人| 丝袜美腿诱惑亚洲欧美视频在线观看 | 欧美午夜视频| 欧美精品日韩久久久九| 91视频女生| 97视频网站在线观看| 日韩精品在线观看观看| 久草精品视频| 另类图片五月天| 嫩草美女久久| 91在线一起| 男人的天堂啪啪| 亚洲国产精品9999在线观看| 日本高清一本二本免费不卡| 久久性爱视频99| 91麻豆天美传媒HD| 国产高清MV操逼视频| 美女黄站| 欧美综合在线91| 蜜桃臀av在线观看| 26uuu国产亚洲综合| 久久婷婷一区| 日韩99神马视频播放片在线播放| 97免费在线| 精品一区99999| 最新中文字幕在线亚洲| 麻豆天美传媒毛片| 97一区二区三区视频| 天天日B狠狠操| www.91逼逼.com| 欧美一级A一级a爱片久久| 国产精品一区二区后入| 亚洲日本加勒比在线| 亚洲 自拍偷拍 欧美| 欧日韩在线观看| 久久久艹艹艹| 日本123区操B视频| 亚洲欧洲av影音| 丝袜视频网国产90| 91欧美另类| 99性爱| 超碰人妻中文在线| 99精品在线播放| 国产精品久久久无码AV网站| 亚洲宗合电影| 欧美性巨大╳╳╳╳╳高跟鞋| 日韩一级二级三级免费看完整版| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 欧美成年人性爱视频免费观看| 精品在线78| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 中文字幕制服诱惑| 亚洲综人网| 亚州色图片在线色| 视频在线观看一二三区| 精品一区二区亚洲国产| 午夜偷拍久久熟女| 免费黄色片。| 亚洲色图综合| 国产精品国产精品国产| 鸥美中出| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照 | 亚洲AV不卡在线观看| 上床不卡网站| 精品熟女一区=区三区| 夜夜爽爽爽| 国产久久一区二区午夜| 丰满人妻大屁一区二区| 草莓精品视频在线免费观看| 桃花色综合影院| 久艾草在线精品视频在线观看| 四虎免费在线观看| 久久久女人| 欧美东京热青青草| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 九色黄站| 狠狠操夜夜| 翔田千里A片一区二区| 老熟女天天操| 欧洲人妻视频| 激情欧美97| 精品免费囯产一区二区三区| 自拍第一页| 欧洲亚洲人妻无码久久三区四区| 农村少妇久久久久久久| 国产精品动态一区二区三区四四| 黑人精品久久97| 日本高清熟女久久一区| 60秒免费视频|