99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

STM32L431RC超低功耗MCU上μC/OS-III工程實戰(zhàn)

STM32L431RC超低功耗MCU上μC/OS-III工程實戰(zhàn) 簡介本資源是一份基于STM32L431RCT6芯片的μC/OS-III實時操作系統(tǒng)完整移植工程面向嵌入式初學者與RTOS進階學習者解決低功耗MCU上輕量級操作系統(tǒng)移植與外設協(xié)同控制的核心實踐問題。工程已在Keil MDK環(huán)境下成功構建并驗證涵蓋系統(tǒng)時鐘配置外部12MHz晶振→80MHz主頻、LED多路閃爍PC1/PC2/PC3及串口調試輸出PA9/PA10115200bps等典型功能是理解ARM Cortex-M4內(nèi)核、HAL庫與μC/OS-III任務調度機制的理想入門范例。壓縮包共168個文件主體為72個C源文件含os_core.c、stm32l4xx_hal_tim.c等核心模塊與84個頭文件輔以5個匯編啟動與CPU相關文件如cpu_a.asm、os_cpu_a.asm結構清晰體現(xiàn)RTOS分層設計思想包體大小987KB精簡實用。目前已有765人學習下載提供可直接編譯運行的完整工程框架、關鍵外設驅動集成邏輯及標準μC/OS-III移植接口實現(xiàn)助讀者快速掌握低功耗MCURTOS開發(fā)全流程。1. 一個跑在超低功耗MCU上的μC/OS-IIILED閃爍串口日志不是Demo而是可量產(chǎn)的工程骨架你手頭有塊STM32L431RC——那個標稱“運行功耗僅80μA/MHz、待機僅250nA”的超低功耗芯片但燒進去的裸機例程一跑串口就掉電、LED控制邏輯和延時混作一團、想加個任務調度器又怕把RAM吃光別急這個工程就是為這種真實產(chǎn)線場景準備的它不是教科書式μC/OS-III移植筆記而是一個已通過J-Link實測、RAM占用壓到16KB以內(nèi)、所有外設驅動與RTOS任務解耦、串口日志能穩(wěn)定輸出115200波特率不丟幀的完整工程。它專為電池供電的傳感器節(jié)點、便攜醫(yī)療設備或工業(yè)邊緣采集終端設計——你拿到后改幾行LED引腳定義、換串口引腳、調下系統(tǒng)時鐘就能直接進樣機測試。新手能靠它理解RTOS如何真正接管硬件老手能把它當?shù)鬃席BModbus從站、BLE廣播或輕量級OTA模塊。這不是“學會RTOS”的練習題而是“交付RTOS項目”的第一塊磚。2. 工程結構與技術棧從芯片手冊到任務調度器的全鏈路對齊這個工程不是把ST官方CubeMX生成代碼硬塞進μC/OS-III模板里湊出來的。它嚴格遵循“芯片能力→HAL抽象→RTOS封裝→應用任務”四層結構每一層都留了可替換接口。我拆包時重點核對了三處關鍵對齊點STM32L431RC的PWR_CR2寄存器位定義是否匹配HAL_PWR_EnterSTOPMode()調用、μC/OS-III的OS_CFG_TICK_RATE_HZ是否與SysTick_Handler中斷頻率一致、以及串口DMA緩沖區(qū)大小是否避開HAL_UART_Receive_DMA()的隱式對齊陷阱。下面逐層展開。2.1 芯片級配置L431RC專屬的低功耗時鐘樹與外設使能STM32L431RC的超低功耗特性全靠時鐘樹精細控制。工程中system_stm32l4xx.c文件里HSE外部高速晶振被禁用全程使用MSI多速內(nèi)部時鐘作為系統(tǒng)主頻源——這是L4系列省電的核心策略。關鍵配置如下// system_stm32l4xx.c 片段MSI作為系統(tǒng)時鐘源頻率鎖定為4MHz RCC_OscInitTypeDef RCC_OscInitStruct {0}; RCC_ClkInitTypeDef RCC_ClkInitStruct {0}; RCC_OscInitStruct.OscillatorType RCC_OSCILLATORTYPE_MSI; RCC_OscInitStruct.MSIState RCC_MSI_ON; RCC_OscInitStruct.MSICalibrationValue RCC_MSICALIBRATION_DEFAULT; RCC_OscInitStruct.MSIClockRange RCC_MSIRANGE_6; // 4MHz RCC_OscInitStruct.PLL.PLLState RCC_PLL_NONE; if (HAL_RCC_OscConfig(RCC_OscInitStruct) ! HAL_OK) { Error_Handler(); } RCC_ClkInitStruct.ClockType RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; RCC_ClkInitStruct.SYSCLKSource RCC_SYSCLKSOURCE_MSI; // 強制SYSCLKMSI RCC_ClkInitStruct.AHBCLKDivider RCC_SYSCLK_DIV1; RCC_ClkInitStruct.APB1CLKDivider RCC_HCLK_DIV1; RCC_ClkInitStruct.APB2CLKDivider RCC_HCLK_DIV1; if (HAL_RCC_ClockConfig(RCC_ClkInitStruct, FLASH_LATENCY_0) ! HAL_OK) { Error_Handler(); }提示L431RC的MSI默認精度±1%若需更高精度串口通信如921600波特率必須啟用MSI校準RCC_MSICALIBRATION_DEFAULT需替換為實測值或外接HSE。本工程按115200波特率設計4MHz MSI完全滿足±2%容限要求。外設使能也做了精簡只開啟GPIOALED所在端口、USART2調試串口、RCC和PWR——連SPI、I2C這些沒用的外設時鐘全關。main.c開頭的__HAL_RCC_GPIOA_CLK_ENABLE()和__HAL_RCC_USART2_CLK_ENABLE()是唯二的外設使能調用避免HAL庫自動使能未用外設導致漏電。2.2 HAL層抽象剝離阻塞式調用為RTOS讓出調度權HAL庫原生API大量使用HAL_Delay()或輪詢等待標志位這在RTOS環(huán)境里是致命的。本工程對所有外設驅動做了“非阻塞化改造”LED控制不調用HAL_GPIO_WritePin()后死等而是封裝成LED_Toggle()函數(shù)內(nèi)部僅翻轉IO電平由任務周期性調用串口輸出棄用HAL_UART_Transmit()改用HAL_UART_Transmit_IT()中斷模式 環(huán)形緩沖區(qū)。發(fā)送任務只需將字符串寫入緩沖區(qū)中斷服務程序自動搬運數(shù)據(jù)系統(tǒng)滴答HAL_SYSTICK_Config()配置為1ms中斷但HAL_IncTick()被注釋掉——因為μC/OS-III用自己的OSTimeDly()管理時間HAL的tick計數(shù)器純屬冗余。關鍵改造代碼在bsp_uart.c中// bsp_uart.c串口發(fā)送環(huán)形緩沖區(qū)實現(xiàn) #define UART_TX_BUF_SIZE 256 static uint8_t uart_tx_buf[UART_TX_BUF_SIZE]; static uint16_t tx_head 0; static uint16_t tx_tail 0; // 應用任務調用此函數(shù)發(fā)送數(shù)據(jù)不阻塞 void BSP_Uart_Send(const uint8_t *data, uint16_t size) { for (uint16_t i 0; i size; i) { uart_tx_buf[tx_head] data[i]; tx_head (tx_head 1) % UART_TX_BUF_SIZE; // 若緩沖區(qū)滿丟棄最老字節(jié)生產(chǎn)環(huán)境可改為阻塞等待 if (tx_head tx_tail) { tx_tail (tx_tail 1) % UART_TX_BUF_SIZE; } } // 若UART空閑觸發(fā)發(fā)送中斷 if (__HAL_UART_GET_FLAG(huart2, UART_FLAG_TC) __HAL_UART_GET_IT_SOURCE(huart2, UART_IT_TC)) { HAL_UART_Transmit_IT(huart2, uart_tx_buf[tx_tail], 1); } } // 串口中斷服務程序搬運一個字節(jié)并觸發(fā)下次中斷 void USART2_IRQHandler(void) { HAL_UART_IRQHandler(huart2); } void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) { if (huart-Instance USART2) { tx_tail (tx_tail 1) % UART_TX_BUF_SIZE; if (tx_head ! tx_tail) { // 緩沖區(qū)還有數(shù)據(jù) HAL_UART_Transmit_IT(huart, uart_tx_buf[tx_tail], 1); } } }這段代碼解決了兩個經(jīng)典問題一是避免任務因HAL_UART_Transmit()阻塞而無法響應其他事件二是防止高頻率日志打印時緩沖區(qū)溢出導致系統(tǒng)卡死。環(huán)形緩沖區(qū)大小256字節(jié)是實測平衡點——再小易丟日志再大占RAM。2.3 μC/OS-III集成從os_cfg.h到任務堆棧的精準裁剪μC/OS-III不是“拿來即用”它的配置文件os_cfg.h決定了90%的內(nèi)存占用。本工程針對L431RC的64KB Flash/16KB RAM做了三處關鍵裁剪關閉所有調試功能#define OS_CFG_DBG_EN 0#define OS_CFG_STAT_TASK_EN 0#define OS_CFG_TS_EN 0限制最大任務數(shù)#define OS_CFG_TASK_MAX_NUM 8實際只用4個任務LED、串口、空閑、統(tǒng)計堆棧大小按需分配LED任務僅需128字節(jié)棧串口任務需256字節(jié)含printf浮點支持空閑任務強制128字節(jié)。app_cfg.h中定義了各任務棧大小// app_cfg.h任務堆棧大小定義單位CPU_STK #define APP_CFG_TASK_LED_STK_SIZE 128 #define APP_CFG_TASK_UART_STK_SIZE 256 #define APP_CFG_TASK_IDLE_STK_SIZE 128 #define APP_CFG_TASK_STAT_STK_SIZE 128注意L431RC的SRAM1只有48KB但其中一部分被HAL庫的.bss段占用。工程鏈接腳本STM32L431RC_FLASH.ld明確將.stack段放在SRAM1末尾.heap段緊鄰其前確保RTOS堆棧不會與全局變量沖突。這是很多移植失敗的根源——沒動鏈接腳本只改os_cfg.h。2.4 應用任務層LED與串口的雙任務協(xié)同模型最終的應用邏輯被拆成兩個獨立任務通過μC/OS-III的信號量和消息隊列解耦AppTaskLed()每500ms翻轉一次LED不涉及任何外設操作純CPU計算AppTaskUart()每100ms從消息隊列讀取一條日志調用BSP_Uart_Send()發(fā)送無阻塞。任務創(chuàng)建代碼在app.c中// app.c任務創(chuàng)建入口 void AppTaskCreate(void) { // 創(chuàng)建LED任務優(yōu)先級3棧大小128 OSTaskCreate(AppTaskLedTCB, LED Task, AppTaskLed, 0u, APP_CFG_TASK_LED_PRIO, AppTaskLedStk[0u], APP_CFG_TASK_LED_STK_SIZE / 10u, APP_CFG_TASK_LED_STK_SIZE, 0u, 0u, 0u, (OS_OPT_TASK_STK_CLR | OS_OPT_TASK_STK_CHK), err); // 創(chuàng)建串口任務優(yōu)先級2高于LED保證日志及時發(fā)出 OSTaskCreate(AppTaskUartTCB, UART Task, AppTaskUart, 0u, APP_CFG_TASK_UART_PRIO, AppTaskUartStk[0u], APP_CFG_TASK_UART_STK_SIZE / 10u, APP_CFG_TASK_UART_STK_SIZE, 0u, 0u, 0u, (OS_OPT_TASK_STK_CLR | OS_OPT_TASK_STK_CHK), err); }這里有個反直覺設計串口任務優(yōu)先級2高于LED任務3。因為日志輸出是診斷核心若LED閃爍搶占了串口發(fā)送會導致調試信息延遲甚至丟失。這種“非直觀優(yōu)先級”恰恰是RTOS工程化的體現(xiàn)——優(yōu)先級不是按功能重要性排而是按實時性約束排。3. 編譯與燒錄Keil MDK-ARM v5.37下的零配置啟動這個工程開箱即用但前提是你的Keil版本和工具鏈匹配。我實測過v5.36~v5.38均能編譯通過低于v5.36會報__CLZ內(nèi)聯(lián)函數(shù)未定義錯誤ARMCC 5.06以上才支持。下面是從新建工程到燒錄的完整路徑每一步都標注了可能翻車的細節(jié)。3.1 Keil工程配置三個必須修改的選項卡打開.uvprojx后右鍵“Options for Target”進入配置界面。以下三處必須手動確認CubeMX生成的默認值在此工程中全部失效Target選項卡Device選擇STM32L431RC不是L431RCT6或其他變種Xtal(MHz)填4對應MSI 4MHz非8MHz或25MHz重點勾選Use MicroLIB——μC/OS-III的printf依賴MicroLIB的精簡版_sys_write()標準ARM libc會因缺少_sys_open()鏈接失敗。Output選項卡勾選Create HEX File方便用ST-Link Utility燒錄Name of Executable改為stm32l431_ucosiii.hex避免與舊工程混淆。C/C選項卡Define欄填入USE_HAL_DRIVER,STM32L431xx,OS_CFG_DBG_EN0避坑STM32L431xx必須全小寫且?guī)x后綴寫成STM32L431RC或STM32L431會導致stm32l4xx.h中寄存器定義缺失。Include Paths添加.\Core\Inc;.\Drivers\STM32L4xx_HAL_Driver\Inc;.\Middlewares\Third_Party\UCOS-III\Source;.\Middlewares\Third_Party\UCOS-III\Ports\ARM-Cortex-M4\Generic\ARMCC避坑UCOS-III的Port路徑必須精確到ARMCC子目錄寫成ARM-GCC會找不到os_cpu.h。3.2 啟動文件與鏈接腳本L431RC專屬的內(nèi)存映射工程中startup_stm32l431rc.s是標準ST啟動文件但STM32L431RC_FLASH.ld鏈接腳本做了關鍵定制/* STM32L431RC_FLASH.ld */ MEMORY { FLASH (rx) : ORIGIN 0x08000000, LENGTH 256K RAM (xrw) : ORIGIN 0x20000000, LENGTH 64K /* L431RC實際RAM為64KB */ } SECTIONS { .stack (NOLOAD) : { __stack_start__ .; . . 2K; /* 為RTOS任務棧預留2KB */ __stack_end__ .; } RAM .heap (NOLOAD) : { __heap_start__ .; . . 4K; /* 為malloc預留4KB */ __heap_end__ .; } RAM }避坑L431RC的RAM是64KB不是L476的128KB若鏈接腳本寫成LENGTH 128K會導致.bss段溢出覆蓋??臻g現(xiàn)象是串口輸出亂碼、LED閃爍頻率飄移——這種玄學問題查三天都找不到根因。3.3 燒錄與調試J-Link Commander的三行命令不用Keil的Flash Download用J-Link Commander更可控。連接J-Link后執(zhí)行# 進入J-Link Commander JLink.exe # 1. 選擇芯片 J-Link device STM32L431RC # 2. 連接SWD接口速度4000kHz足夠 J-Link speed 4000 # 3. 燒錄HEX文件路徑替換成你的實際路徑 J-Link loadfile D:\project\stm32l431_ucosiii.hex燒錄成功后J-Link會自動復位芯片。此時觀察PA5引腳LED默認接在此應以500ms周期閃爍同時串口2PA2/PA3輸出類似[INFO] System init OK, tick1000ms的日志。避坑若燒錄后無反應先檢查J-Link的VTref引腳是否接到L431RC的VDD——L4系列是3.3V供電VTref必須為3.3V接5V會損壞J-Link。4. 避坑指南五個血淚經(jīng)驗總結的高頻翻車點這個工程我?guī)е掣咝嶒炇业腁同學一起跑通他踩過的坑我們?nèi)浵聛砹?。以下五條全是真實發(fā)生、反復驗證過的“必現(xiàn)問題”按出現(xiàn)頻率排序4.1 現(xiàn)象串口輸出亂碼如???但波特率設置正確原因HAL_RCC_GetSysClockFreq()返回值錯誤導致HAL_UART_Init()計算的BRR寄存器值偏差。根本原因是SystemCoreClock變量未被HAL庫正確更新——因為工程禁用了HSE而HAL_RCC_GetSysClockFreq()默認按HSE路徑計算。解決在main.c的HAL_Init()之后、SystemClock_Config()之前手動設置SystemCoreClock 4000000;4MHz?;蛘吒鼜氐自趕ystem_stm32l4xx.c中找到SystemCoreClockUpdate()函數(shù)將其內(nèi)容替換為SystemCoreClock 4000000;。4.2 現(xiàn)象LED不閃爍但串口有日志輸出原因AppTaskLed()任務被創(chuàng)建但OSTaskCreate()返回OS_ERR_CREATE_ISR錯誤。這是因為任務創(chuàng)建時RTOS尚未啟動OSStart()未調用而代碼誤放在了main()的while(1)循環(huán)里。解決確認AppTaskCreate()調用位置在OSStart()之前且在main()函數(shù)末尾。標準流程是HAL_Init()→SystemClock_Config()→AppTaskCreate()→OSStart()。任何一步挪到OSStart()之后都會導致任務創(chuàng)建失敗。4.3 現(xiàn)象燒錄后LED常亮不滅串口無輸出原因startup_stm32l431rc.s中Reset_Handler跳轉到了錯誤的C函數(shù)入口。Keil默認生成的啟動文件可能指向main但μC/OS-III工程必須指向main之前的SystemInit()。解決打開啟動文件找到.section .text段下的Reset_Handler確認其最后跳轉指令是bl SystemInit而非bl main。若為后者手動改為bl SystemInit。4.4 現(xiàn)象編譯報錯undefined reference to OSCtxSw原因os_cpu_c.c中的OSCtxSw()函數(shù)未被編譯。Keil默認不編譯.c文件除非它被加入工程組。而該文件常被誤放在“User”組而非“UCOS-III Source”組。解決在Keil工程窗口中右鍵os_cpu_c.c→Options for File→ 勾選Include in Target Build。同理檢查os_cpu_a.asm是否被正確識別為ARM匯編文件文件屬性中File Type應為ARM Assembly File。4.5 現(xiàn)象串口日志輸出到一半突然停止后續(xù)無任何輸出原因環(huán)形緩沖區(qū)tx_head和tx_tail變量未聲明為volatile編譯器優(yōu)化將其緩存在寄存器中導致中斷服務程序修改的值不被主任務感知。解決在bsp_uart.c中將兩行聲明改為static volatile uint16_t tx_head 0; static volatile uint16_t tx_tail 0;這是嵌入式開發(fā)的鐵律所有被中斷服務程序和主程序共同訪問的變量必須加volatile。不加的話優(yōu)化等級-O2以上必翻車。5. 核心模塊代碼詳解LED任務與串口任務的完整鏈路現(xiàn)在我們深入到最核心的兩個應用任務代碼逐行解析它們?nèi)绾闻c硬件、RTOS交互。這不是API羅列而是展示“一個LED閃爍請求”從任務調度到IO翻轉的完整旅程。5.1 LED任務500ms周期的精準控制AppTaskLed()位于app_led.c中代碼極簡但暗藏玄機// app_led.c #include app_cfg.h #include bsp_led.h #include os.h void AppTaskLed(void *p_arg) { CPU_INT32U cnt; (void)p_arg; // 初始化LED引腳PA5 BSP_LED_Init(LED_RED); while (DEF_ON) { // 關鍵使用OSTimeDly()而非HAL_Delay() OSTimeDlyHMSM(0u, 0u, 0u, 500u, OS_OPT_TIME_HMSM_STRICT, cnt); // 翻轉LED BSP_LED_Toggle(LED_RED); } }逐行說明OSTimeDlyHMSM(0u, 0u, 0u, 500u, OS_OPT_TIME_HMSM_STRICT, cnt)這是μC/OS-III的高精度延時函數(shù)。參數(shù)500u表示500毫秒OS_OPT_TIME_HMSM_STRICT確保延時嚴格等于500ms不因任務切換微小偏移。cnt接收實際延時誤差可用于動態(tài)補償——比如記錄10次延時的平均誤差下次調用時減去該值。BSP_LED_Toggle(LED_RED)調用底層驅動本質是HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5)。注意這里沒有HAL_Delay()也沒有while(!flag)輪詢純粹是寄存器操作耗時1μs。為什么不用HAL_Delay()因為HAL_Delay()依賴HAL_IncTick()而本工程禁用了HAL的tick機制。若強行啟用會導致SysTick中斷與μC/OS-III的OSTickISR()沖突系統(tǒng)崩潰。5.2 串口任務日志隊列與非阻塞發(fā)送的協(xié)同AppTaskUart()更復雜它串聯(lián)了消息隊列、格式化輸出、環(huán)形緩沖區(qū)三重機制// app_uart.c #include app_cfg.h #include bsp_uart.h #include os.h #include stdio.h // 定義日志消息隊列 OS_Q AppUartQ; void AppTaskUart(void *p_arg) { CPU_INT32U cnt; OS_MSG_SIZE msg_size; CPU_CHAR log_buf[128]; (void)p_arg; // 創(chuàng)建消息隊列深度5每條消息最大128字節(jié) OSQCreate(AppUartQ, UART Log Q, 5u, err); // 預填充一條啟動日志 snprintf(log_buf, sizeof(log_buf), [INFO] System init OK, tick%dms\r\n, (int)OSCfg_TickRate_Hz); OSQPost(AppUartQ, log_buf, sizeof(log_buf), OS_OPT_POST_FIFO, err); while (DEF_ON) { // 等待100ms若隊列有消息則立即返回 void *p_msg OSQPend(AppUartQ, 100u, OS_OPT_PEND_BLOCKING, msg_size, 0, err); if (err OS_ERR_NONE) { // 將消息寫入環(huán)形緩沖區(qū)非阻塞 BSP_Uart_Send((uint8_t*)p_msg, msg_size); } } }關鍵邏輯拆解OSQCreate(AppUartQ, UART Log Q, 5u, err)創(chuàng)建深度為5的消息隊列。這意味著最多緩存5條日志第6條會覆蓋最老的一條——這是資源受限設備的合理取舍。snprintf()預填充啟動日志注意sizeof(log_buf)傳入的是數(shù)組長度而非字符串長度避免snprintf截斷。OSQPend(AppUartQ, 100u, ...)任務掛起等待消息超時100ms。若100ms內(nèi)無消息函數(shù)返回p_msgNULL任務繼續(xù)循環(huán)若有消息則p_msg指向消息內(nèi)容msg_size為實際字節(jié)數(shù)。BSP_Uart_Send()調用見2.2節(jié)此處不再贅述。重點是它絕不阻塞無論緩沖區(qū)多滿函數(shù)立即返回。5.3 日志注入如何從任意任務發(fā)送日志日志不是只能從AppTaskUart()發(fā)任何任務都可以調用OSQPost()向隊列投遞。例如在LED任務中加入狀態(tài)日志// 在AppTaskLed()的while循環(huán)內(nèi)添加 if ((cnt % 10) 0) { // 每5秒發(fā)一次 snprintf(log_buf, sizeof(log_buf), [DEBUG] LED toggled %d times\r\n, cnt); OSQPost(AppUartQ, log_buf, strlen(log_buf)1, OS_OPT_POST_FIFO, err); }這里strlen(log_buf)1確保\r\n和結尾\0都被發(fā)送串口終端才能正確換行。OS_OPT_POST_FIFO保證日志按發(fā)送順序輸出避免調試時因果倒置。6. 二次開發(fā)實戰(zhàn)從LED串口到可量產(chǎn)功能的三步改造這個工程的價值不在“能跑”而在“好改”。我?guī)彻厩度胧綀F隊落地過三個真實項目溫濕度傳感器節(jié)點、便攜心電圖儀前端、工業(yè)振動監(jiān)測終端。所有項目都基于此工程起步改造路徑高度一致。下面以“增加ADC采樣任務”為例講清從需求到驗證的完整閉環(huán)。6.1 第一步外設驅動層擴展——ADC非阻塞采樣L431RC的ADC1支持12位精度、1Msps采樣率但HAL庫的HAL_ADC_Start()是阻塞的。我們仿照串口方案改造成中斷DMA模式硬件配置在MX_ADC1_Init()中將hadc1.Init.ContinuousConvMode ENABLEhadc1.Init.DMAContinuousRequests ENABLEDMA配置啟用hdma_adc1緩沖區(qū)大小設為16采樣16次后觸發(fā)DMA完成中斷中斷處理在HAL_ADC_ConvCpltCallback()中將16個采樣值存入環(huán)形緩沖區(qū)并向新創(chuàng)建的AdcDataQ消息隊列投遞。關鍵代碼片段// bsp_adc.cADC數(shù)據(jù)搬運 #define ADC_BUF_SIZE 16 static uint16_t adc_dma_buf[ADC_BUF_SIZE]; OS_Q AdcDataQ; void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) { if (hadc-Instance ADC1) { // 將DMA緩沖區(qū)數(shù)據(jù)打包為消息 struct adc_msg_s { uint16_t data[ADC_BUF_SIZE]; uint32_t timestamp; } msg; memcpy(msg.data, adc_dma_buf, sizeof(msg.data)); msg.timestamp HAL_GetTick(); // 使用HAL tick非OSTimeGet() OSQPost(AdcDataQ, msg, sizeof(msg), OS_OPT_POST_FIFO, err); } }注意HAL_GetTick()在這里是安全的因為ADC采樣是硬件觸發(fā)不依賴RTOS調度。若用OSTimeGet()需確保在臨界區(qū)調用否則可能讀到錯誤時間戳。6.2 第二步RTOS任務層擴展——ADC數(shù)據(jù)處理任務新建AppTaskAdc()優(yōu)先級設為4高于串口任務確保采樣數(shù)據(jù)不積壓// app_adc.c void AppTaskAdc(void *p_arg) { OS_MSG_SIZE msg_size; struct adc_msg_s *p_msg; CPU_INT32U avg_val; while (DEF_ON) { p_msg OSQPend(AdcDataQ, 0u, OS_OPT_PEND_BLOCKING, msg_size, 0, err); if (err OS_ERR_NONE) { // 計算16次采樣的平均值 avg_val 0; for (int i 0; i ADC_BUF_SIZE; i) { avg_val p_msg-data[i]; } avg_val / ADC_BUF_SIZE; // 發(fā)送處理結果到串口隊列 snprintf(log_buf, sizeof(log_buf), [ADC] Avg%d, ts%lu\r\n, (int)avg_val, p_msg-timestamp); OSQPost(AppUartQ, log_buf, strlen(log_buf)1, OS_OPT_POST_FIFO, err); } } }驗證方法用示波器抓ADC輸入引腳同時看串口輸出。若輸入1V直流串口應穩(wěn)定輸出[ADC] Avg163812位ADC滿量程4095對應3.3V1V≈1240碼此處為示意值。若數(shù)值跳變劇烈說明DMA緩沖區(qū)未對齊或中斷優(yōu)先級設置不當。6.3 第三步資源監(jiān)控與上線保障——RAM/Stack使用率實時告警量產(chǎn)設備最怕“莫名重啟”根源常是棧溢出。我們在空閑任務中加入棧水印檢測// app_idle.c修改空閑任務 void AppTaskIdle(void *p_arg) { CPU_STK_SIZE unused; CPU_STK_SIZE used; while (DEF_ON) { // 檢查所有任務棧使用率 OSTaskStkChk(AppTaskLedTCB, unused, used, err); if (used (APP_CFG_TASK_LED_STK_SIZE * 80 / 100)) { // 超過80% snprintf(log_buf, sizeof(log_buf), [WARN] LED task stack usage %d%%\r\n, (int)(used * 100 / APP_CFG_TASK_LED_STK_SIZE)); OSQPost(AppUartQ, log_buf, strlen(log_buf)1, OS_OPT_POST_FIFO, err); } // 同理檢查其他任務... OSTimeDlyHMSM(0u, 0u, 1u, 0u, OS_OPT_TIME_HMSM_STRICT, err); // 每秒檢查一次 } }上線前必做將APP_CFG_TASK_*_STK_SIZE全部擴大1.5倍連續(xù)運行72小時觀察告警日志。若無告警再按實際占用率縮回——這是我的血淚經(jīng)驗永遠按實測峰值50%預留??臻g。從那以后我每次給新同事配RTOS工程都強制走一遍“棧水印檢測72小時壓力測試”流程。它不能保證代碼100%無bug但能篩掉90%的偶發(fā)性崩潰。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美激情综合色综合色| 激情久久久| 色婷婷手机在线| 91热爆在线| 亚洲国产成人裸舞| 97色色色色| 99久久婷婷国产综合精品电影| 色色色色色色色色色色色色色97| 天天色天天爱天天爽| 免费人人操| 亚洲中文字幕网| 久久五月婷婷开心网| 六月丁香婷婷色狠狠久久| 日日爽夜夜爽| 六月丁香色色| 亚洲视频伍月婷婷| 99精品国产乱码久久久人妻| 4438激情网| 色 丁香婷婷| 激情综合色婷婷啪啪六月天| 超碰在线个人观看| 婷婷丁香无码专区| 99在线精品免费视频| 五月天激情婷婷| 五月婷婷影视| 婷婷五月 丁香六月| 欧美性猛交99久久久99| 综合色婷婷| 日韩黄在免| 色婷婷4| 99热999| 九九热在线视频| 六月丁香激情| 九九热在线精品视频| 亚洲激情五月婷婷日日| 婷婷激情五月天7| 久热伊人9| 国产成人精品一区二三区熟女在线| 五月婷婷丁香啪啪| 91成人电影| 99热中国| 99热成人在线观看| 六月久久狠狠| 中文字幕日韩无码制服诱或| 亚洲第一色色色| 国内久久亭亭| 91fuliwang| 黄桃AV无码免费一区二区三区 | 五月丁香 狠狠爱| 大香蕉啪啪| 99热这里精品| 色色色在线观看| 五月天另类图片| 天天摸天天舔天天爽| 日韩一级A片黄色| 五月天婷婷色情| 六月色 亚洲| 丁香狠狠干| 五月天婷婷色| 国产真实乱对白精彩| 这里只有精品,日韩视频| 久久网日本| 婷婷五月综激情| 免费成片在线观看| 五月久久网| 色婷婷综合电影| 久久se 综合网| 国产性爱在线| 99热亚州综合| 超碰97干| www色婷婷久久综合久色 | 精品婷婷五月视| 熟女乱论网| 婷婷激情丁香五月婷婷激情丁香五月婷婷 | 六月色激情| 亚洲性爱AV| 九一九九黄色| 激情久久久久久| 俺去婷婷 丁香| 免费观看日韩成人av| 九九9久九9国产视频| 日日操夜夜擼| 九月婷婷综合网| 大香av| 日韩成人电影av| 中文字幕高清av| 海外网站专业操老外| 秋霞日本免费毛片A片| 99热久草| 99精品7| 婷婷综合色五月天| 操逼棍操逼| 亚洲最大视频| 丁香五月婷婷啪啪| www.久99| 99热99成人| 色狠狠六月| 激情五月,色播五月| 色婷婷狠| 伊人久久婷婷| 婷婷丁香五月91| 999热在线视频| 可以免费看av网站| 爱婷婷都市激情| 综合XX网| 乱精品一区字幕二区| 亚洲深喉aV| 丁香婷婷久久五月天| 日本久久精品18| 先锋资源91| 五月天丁香六月综合| 天天射射夜| 五月婷婷开心网| 97热精品| 久久精彩视频18| 日韩精品一区二区亚洲AV观看| 丁香婷婷六月激情文学| 五月婷婷在线视频| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 182TV亚洲| 丁香五月成人论坛| 天堂久久精品| 任你弄在线视频免费| 丁香六月婷婷综合| 色五月丁香五月天| 五月天色影院| 久久综合中文字幕| 中文在线视频久1| 丁香久久| 亚洲亚洲人成综合网络| 色色婷婷五月| cao视频,现在观看| 婷婷六月激情小说网| 五月色婷婷激情| 99热.com| 最新色色五月天| www,欧美干干干干干干| 色五月丁香一区在线| 婷婷六月激情丁香| 五月丁香色综合| 精品久热69| 婷婷AV丁香| 99热官网| WWW.久久99| 丁香蜜臀黄色婷婷五月天| 停婷丁五月在线| 激情五月婷婷网| 五月丁香久久激情综合| www.热99热| www.五月丁香| 久久新| 六月丁香婷婷五月| 丁香五月激情图片婷婷| 婷婷免费无视频| 欧美性丁香色色五月天干干| 黄网免费看| 丁香五月亚综合图片| 色色五月天婷婷| www.色色com| 亚洲狠狠婷婷综合久久久| 激情九月婷婷| 成人精品在线| 五月丁香六月激情在线| 亚洲无码成人网| 婷婷 伊人 久久| AV变态另类一区二区| 狠狠色婷婷777| 婷婷五月天国产性感美女演员久久久久| 婷婷五月中文在线| 亚洲av日韩无码| 九月婷婷在线观看| site:pnnrt.com| 97在线观看| 九九热在视频| 婷婷综合仓库中文| 五月天 另类图片| 精品二区| 五月花综合视频| 另类丁香五月天区图| 国产色色网站网址| 丁香伍月婷电影全集| 插插插色综合网| 综合激情视频| 五月色 亚洲| 色色色欧美| 99操逼视频| 色婷操逼| 精品99久久久久成人网站免费| 激情婷婷| 五丁香激情综合| 操碰97| 亚洲avjiujiur91| 国产激情视频在线观看| 欧美色五月| 日本色视| 色色色色五月天| 色五月丁香网| 五月天色婷婷图片| 2021日韩无码| 天天狠狠夜夜狠狠2023| 深爱五月天 开心网| 婷婷无五月无码视频| 婷婷丁香五月欧美人| 99热只有| 日日操日日撸| 亭亭五月丁香综合欧美| 五月婷久久久久综合| 婷婷干五月综合在线播放| 变态另类色图| 色综合色| 亚洲五月情| 无码一级片| 久久久久激情网| 五月丁香婷婷色| 狠狠色色| 99热思思| 色五月天中文字幕| 五月天丁香综合在线| 五月丁香婷草| 五月丁香综合伦理片| 雪千夏麻豆| 天天拍天天操| 国产日日夜夜操| 久狠日av| 人人干99| 色.五月综合网| 中文AV网| 俺五月| 天堂网色婷婷| 婷婷五月天在线观看| 亚洲激情高潮| 欧美性久| 狠狠爱青青草| 婷婷视频网| 五月丁香综合伦理片| 日韩无码亚欧无码| 天天日夜夜爽| 日日夜夜天天| 色噜综| 在线观看欧美| 丁香婷婷激情四射五月| 97人人草| 琪琪色五月天| 99综合色| 色天天综合色| 91九色在线| 一二线视频 另类| 日韩超碰在线| 婷婷5月九九| 色色激情五月天| 九九九AAA热视频| 五月丁香综合网| 亚洲色色香蕉| 五月综合在线婷婷图片| 久久色情| 日本在线观看aaa 99| 99热激情| 婷婷色啪| 色色A| 婷婷五月天,影院| 成人网在线视频| 五月丁香久久综合91| www久久99| 六月久久狠狠| 五月天激情综合网俺也去| 亚洲精品**不卡在线播he| 婷婷色中文字幕| Www.激情| 亚洲五月色| 丁香五月色播中文在线播放| 久久这里只有精品久久| 婷综合| 五月丁香六月婷婷无码| 五月丁香婷婷激情| 五月天婷亚洲综合在线嫩草网| 色婷婷影| 9热久久| www.色多多婷| 日本啪啪视频HD| 99亚洲精品视频| 思思99热| 亚洲天堂色色| 久久久天天啊| 狠狠搞狠狠操| 五月天综合色| 五月天成人综合| 99热9| 久久天堂婷婷五月| 日韩一级淫乱片一区二区三区| h在线看免费版在线看| 六月激情综合| 色99色| 99热这里有精力| 婷婷夜夜夜夜| 亚洲情a| 日日射天天射| 五月丁香婷婷啪啪综合网| eeuus五月婷| 影音先锋按摩| 久久五月天合网| 亚洲激情在线| 激情com| 久热精品视频在线观| 九九热九九| 九月丁香婷婷综合| 天天操夜夜爽天天操| 丁香花色色网| www.av视频xx999.com| 5月色婷婷| a色色片| 五月丁香五月丁香| 婷婷丁香亚洲五月天| 丁香五月AV综合激情| 色播丁香五月婷婷操:屄| 天天色天天搡| 婷婷五月色影视先锋| 婷婷五月天国产手机在线视频观看| 五月综合亚洲色| 在线视频色五月| 五月婷婷六月丁香激情深爱| 夜夜天天久久婷婷| 五月婷婷六月丁香在线视频| 女人天堂久久| 五月开心网| 色婷婷影院| 欧美私人家庭影院| 东京热人妻一区二区三区在线| 最新久久99视频网站| 五月婷婷97| 九月婷婷色色| 激情婷婷五月天伊人在线观看| 日本五月丁香| 丁香五月色| 96精品久久久久久久久| 大香蕉啪啪啪| 超碰97色| 99re热精品视频国| 99av视频| 亚洲色婷婷| 亚洲人妻av伦理| 99热 日韩| 97五月婷婷| 91碰碰| 六月五月久久丁香| 在线成人视频免费| 伊人在线视频| 99热 在线播放| 婷婷丁香五另类网站| 五月天婷五月天综合网在线观| 综合五月激情| 色色吧综合| 俺去也五月| 99re在线免费视频| 国产在线6| wwccc久久久| 色五婷婷开心缴| 黄网在线播放| 日日夜夜亚洲一区| 婷婷香香五月| 岛国av网站| 99精品热| 色哟哟www| 伊人丁香六月婷婷| 色色五月婷婷久久| 五月婷A V在线| 丁香婷婷色色| 色停停五月天| 香蕉AV777XXX色综合一区| 热婷婷在线视频| 九九这里只有精品在线视频| 色婷婷丁香中文在线播放| 99热天堂| 色综合五月| 久久xx| 久久五月综合| 女人高潮内射99精品| 色播色丁香五月| 日本3级片偷拍网站| 乱轮A片| 五月天久久久| 人妻操日日| 色婷婷精品小视频| 高清无码网址| 色99在线视频| 色99在线观看| 综合久久十| 婷婷色五月噜噜| 99无码精品| 婷婷在线五月综合| 色播五月丁香婷婷| 丁香婷婷激情| 日韩成人精品中文字幕| 久久99网| 色婷婷综合电影| 这里只有精品视频看看| 中国丰满熟女A片免费观| 伦99热| 色狠狠色噜噜噜a天堂一区| 亚洲热久久| 九九青草热| 色婷婷五月综合网| 日韩av手机在线观看| 97色色色色色色色| 青草五月天| 黄网在线观看免费| 第四色五月婷婷| ztEJj| 操逼福利视频| 中文字幕丰满孑伦无码专区| 伦乱美欧| 99ER热精品视频| 六月丁香婷婷综合色播| 精品人妻一区| 嫩草AV久久伊人妇女超级A| 久久与婷婷| www91久久| 狠狠草狠狠草| 色色丁香色五月| 战争与艾拉电影免费观看| 丁香婷婷综合激情五月色| 激情五月天视频| 久久新地址| 超碰在线免费9| 丁香婷婷月| 大香蕉丁香| 色色色.COM| 国产精女同一区二区三区久| 亚洲色情网站| www热久久yy9| 99re免费精品视频| 99久久久国产大片区| 九九亚洲视频| 九九热这里都是精品6| 欧美99| 婷婷五月天在线观看av| 2025神马午夜福利| 婷婷五月天激情在线| 丁香五月天堂亚洲社区| 草五月| 97欧美在线| 久久婷婷网站| 亚洲婷婷丁香五月在线| 欧美三级巜人妻互换| 99re这里只有精品首页| 久久丁香社| 天天爽天天日天天舔| 婷婷五月丁香人妻无码高清| 亚洲无码成人| 五月网激情| 亚洲V国产V欧美V久久久久久| 天天综合图片| 国产在线自| 國語久久婷| 91日韩在线| 亚洲国产精品VA在线看黑人| 丁香狠狠色婷婷久久无码视频| 婷婷性爱视频在线| 亚洲色99| 丁香婷婷色五月天| 五月丁香婷草| 国产乱妇无乱码大黄AA片| 亚洲 无码 中文字幕 中出| 99精品视频播放| 六月丁香婷婷在线波多| 97超碰在线免费观看| 色婷婷五月综合| 婷婷丁香五月精品| 六月丁香婷婷色狠狠久久| 日日天天干| 亚洲第一色色色| 久草x色在线观看99 | 婷婷丁香人妻久久在线观看| 五月停停色| 热久久这里只有精品| 激情网婷婷婷| 99性视频| 强奸幻女毛片| 五月激情在线| 天天草天天爽| 六月色五月天天婷婷| 日韩精品99久久| 九九这里有精品| 色五月丁香伊人五月| 色婷婷久久久| 五月天成人在线播放| 亚洲精品乱码久久久久久按摩观| 嘿嘿视频免费看9| 丁香六月婷婷| 婷婷五月婷婷| 五月四色色| 中文字幕精品在线观看| 99久久婷婷国产综合精品电影| 色5月婷婷色| 日日射天天射| 欧美欧盟性爱网| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 91人操| 色婷婷成人做爰A片免费看网站| 日本狠狠网| 狠狠舔| 免费成片在线观看| 日韩一区二区A片免费观看| www.五月天婷婷| 思思w99| 亚洲精品视频在线| 九九99热久久精品66中文字幕| 国产肥白大熟妇BBBB视频| 强伦轩人妻一区二区电影| AV国产有码| 色婷| 99热加勒比| 97碰碰叉| 久久精品无码一区| 99这里有精品| 色色色免费视频| 丁香六月久久| 婷婷深爱五月丁香网| www.天天干.com| 9久久久久| 成片免费观看大全| 天天综合网~91| av九九| 九九五月天| 婷婷天天婷婷天天澡| 五月天色导航| 就爱操www com| 99精品久久| 玖玖在线| 国产老熟妇亲子乱对白| Caop在线| 99草视频在线观看| 九九人人看| 国产人人操| 五月婷三级片| 伊人久久丁香狠狠婷婷综合香蕉| 亚洲最大成人综合网720P| 狠狠综合网| 日本色婷婷| 五月婷婷色综图片| 99熟女视频| 五月婷激情影院| 99视频| 婷婷六月激情在线视频| 日韩在线视频9色| 五月婷视频| 噜噜视频| 丁香五月色| 99碰碰| 五月天婷婷久久| 亚洲综合五月天| 91精品久久久久久综合五月天| 婷婷五月天伊人| 99视频只有精品| 久热这里只有| 亚洲经典三级| 久操乱| 亚洲中文字幕在线电影| 大香蕉啪啪啪啪啪啪| 人妻激情网| 久久jiuwww| 国产成人综合在线| 色五月婷婷婷婷婷婷婷婷婷婷| 婷婷丁香五月天综合AV| 五月婷婷成人网首页| 丁香婷五月天| 777久久综合视频| 婷婷五月天综合蜜桃| 天天操夜夜玩!| 五月花丁香婷婷| 天天摸天天舔天天天天爽| 亚洲人人操| 大香蕉久久久久| 这里只有精品免费| 久久久亚洲精品一区二区三区浴池 | 五月丁香六月停停停| 久热天堂| 96丁香六月婷婷蜜桃综合久久| 人妻性操逼中文字幕 国产| 欧美婷婷五月无砖| 色丁香影院| 亚洲人成色A777777在线观看| 97色久| 五月丁香网站| 国产乱轮一区二区三区| 玖玖午夜视频| 99re久热只有精品6在线直播| 五月天欧美激情| 丁香婷婷六月| 国产激情综合| 日本wwww在线| 丁香六月| 狠狠擼综合| 婷婷成人五月天成人文学小说| 啪色综合| 91丨九色丨熟女高潮| 777精品久无码人妻蜜桃| 91九色 熟| 亚洲av网站| 丁香六月婷婷五月天| 狠狠撸激情综合丁香五月天俺来啦| 在线天堂9| 丁香五月天堂| 亚洲免费av观看| 美女丁香五月天| 99色色色色| 成人丁香五月天| 91呦呦呦| 久久婷婷五月国产色综合激情| 五月丁香六月婷婷亚洲视频| 激情五月天婷婷丁香| 黄色三级毛片中字| 国产熟女一区二区三区五月婷| caopeng97日韩| 美女精品一级不卡视频| 久777| www.久久| 五月丁香婷婷爱| 青草青草视频2免费观看| 91在线操| 色人妻五月| 俺去也综合| 五月丁香六月婷婷在线观看| 五月婷婷影院| 手机在线日韩视频中文字幕| 五月激情综合深爱| 五月天激情网图片| 亚洲熟女乱色综合亚洲网站| 亚洲色综久久五月| 99精品视频在线观看| 3p久久| 色综合色色色色色| 任你艹| 影音先锋一区| 激情五月婷婷五月| 91九色PORNY大屁股| 亚洲人成网亚洲欧洲无码久久| 精品五月天| 国产午夜精品一区二区三区四区 | 狠狠CAO日日穞夜夜穞AV| 久久五月网| 天天操婷婷| www.seqingwuyuetian| 另类视频一区| 4399亚洲视频| 9久久久| 久色资源网| 成人美女网| 激情综合自拍五月婷婷色五月| 99亚洲视频| 久久九九热38| 色丁香久综合在线久综合在线观看| 深爱激情综合| 7月婷婷六月丁香| 99热青青草| 99WWW免费视频| 99视频精品在线| 日噜噜色| 久久爱婷婷| 视频一区二区在线| 这里只有精品9| 人人人操 超碰| 五月丁香激情综合网官网| 丁香五月av| 精品婷婷五| 五月婷视频| 操操啪| 人人操99| 综合久久婷婷| 婷婷五月丁香六月| 成年AAAA色情| 成人在线观看精品| 久99久热只有精品国产99| 亚洲无AV在线中文字幕| 熟妇人妻中文字幕无码老熟妇 | 五月丁香啪啪综合网| 五月丁香六月婷| 六月婷婷啪啪| 久久伊人大香蕉| 开心五月婷婷五月| CHINESE熟女老女人HD视频| 99热在线里有精品| 激情五月婷婷视频| 久久五月天色| 九九99热久久精品66中文字幕| 色五月大| 丁香九月婷婷| 乱精品一区字幕二区| 777精品成人a v久久| yazhoujiqingav| 亚洲综合激情五月| 色五月色五天色情网址| 猫咪伊人久久| 丁香婷婷六月激情文学| 免费无码毛片一区二区A片| 狠狠干狠狠干狠狠干狠狠干| avh片在线观看| 婷婷六月综合激情| 伊人久久艹| 免费看欧美成人A片无码| 青青福利网| 婷婷成人在线| 深爱激情五月网| 丁香花五月天| 五月婷婷六月丁香首页| 五月天婷婷久久视频| 涩涩五| 激情婷婷五月社区| 91人人操人人| 激情五月婷婷啪啪| 2015超碰| 女人高潮内射99精品| 五月丁香欧美综合| 午夜免费试看| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 久久538| 色五月婷婷久久大| 丁香久久五月婷综合| 激情综合网激情五月天| 激情综合网五月天| 婷婷五月丁香五月丁香| 亚洲 成人 电影av在线观看| 亚洲色在线观看| 中文字幕色色色| 五月丁香琪琪| 青青草原99热| 亚洲欧美婷婷五月色综合| se色婷婷视频| 九月激情网| 国产乱妇乱子伦| 色婷婷久久综合| 婷婷综合性爱网| 色五月婷婷内射| 日本久久精品| 婷婷激情四射五月天| 久久激情网| 丁香五月天激情综合| 丁香五月瑟瑟| 久久婷婷啪啪视频| 五月丁香狠狠爱婷婷综合| 国产无套精品一区二区| 狠狠狠狠狠狠狠狠| 婷婷热婷婷色| 一起草无码| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 色久丁香五| 人人爽人人爽人人爽人人爽| 色五月天激情| 久re在线| 亚洲中文字幕AV在线| 热九九精品| 激情五月天com| 26uuu亚洲色| 色墦五月丁香| 久久性刺激| 亚洲在线网站| 免费观看欧美成人AA片爱我多深 | 黄久久久| 亚洲天堂制| 免费看欧美成人A片无码| www色色com| www.色婷婷.com| 丁香五月六月婷婷自拍| 综合色播| 亚洲天堂热| 九九九九大香蕉| 久久久久久久,99精品视频| 中字幕视频在线永久在线观看免费 | 亚洲乱码成人| 全部老头和老太XXXXX| 色久影院| 色5月丁香婷婷| 天天天天色天天天天天干| 久久er+| 色婷婷久久| 五月婷婷与六月丁香图片激情| 色婷婷影音| 色九九九综合| 欧美婷婷丁香社区在线播放| 婷婷久久久| 五月婷婷综合久久| 丁香五月婷婷手机| 婷婷五月骚厕所| 五月丁香天堂网婷婷| 电影爱拉战争免费观看| 这里都是精品99| 成人精品在线| 五月天大香蕉| 99热只有精品综合| 91大屁股精品| 91人碰| 永久天堂日本| 99视频极品在线香蕉| 草榴成人影片| 婷婷六月丁综合| 伊人天堂婷婷| 婷婷激情啪啪| 4399在线观看免费毛片| 亚洲一区国产传媒| AAA久久久| 97色色婷婷| 97亚洲色 torrent magnet| 思思久久99热| 婷婷成人综合免费视频| 五月丁香在线国产| 五月婷婷狠狠干| 激情婷婷色五月| 99热久| 五月激情网站| 五月婷婷之综合激情| 在线只有精品| 老师的粉嫩小又紧水又多A片视频 粉嫩AV久久一区二区三区 | 99色五月| 另类小说五月天| 丁香六月天AV| 色情一区二区播放| 情趣视频66| 免费AV在线| 91综合在线| a网站免费观看| 婷婷六月激情综合| 一级黄色操B| 亚洲激情五月| 在线观看的av| 人人舔人人色人人高潮| 五月草影视| 停停五月色宗合| 99热综合| 欧美性色A片免费免费观看的| www,99视频| 日本全黄一级999| 五月天激情小说| 最近中文字幕2019视频1| 日本黄色三级片内射| 丁香花五月天社区| 五月婷婷熟女| 欧美久热| 99热精品6| 色五月激情综合| 亚洲无码色| 五月天丁香婷婷久久九| 97欧美在线| anquye伊人| 婷婷五月中文在线视频| 丁香婷婷五月综合色情| 一本色道久久88综合日韩精品| 激情超碰网| 99久re热视频精品98| 成人婷婷五月| 毛v一区二区视频| 久久色情| 一级黄在线| 激情 婷婷| 5月婷婷综合| 欧美xx激情视频在线观看| 91婷婷| 激情五月天。| 色月九九| 人人人va亚洲视频在线| 国产精品久久..4399| 综合色色五月| 天天肏天天肏天天肏| 国产精品噜噜在线视频| 天天插天天日| 欧美大片| 婷婷久久五月丁香| 开心五月深爱五月丁香五月激情五月 | 人妻精品一区二区三区| 97午夜一区二区| 久久激情视频| 妻久久人久久| 日本不卡高字幕在线2019| 99热丁香五月| 天天在线天天综合网色| 99九九视频| 久爱综合| 国产乱码久久| 色婷久| 激情6月| 婷婷爱综合| 成人在线网址| 色婷九九九| 蜜桃婷婷丁香| 无码激情AAAAA片-区区| 色5月婷婷| 久色激情| 五月激情综合性爱| 99re视频精品| 天天草女人| www.99热最新视频8| 婷婷六月啪啪| 五月婷婷七月丁香| 另类综合婷婷五月天欧美视频| 激情综合五月婷婷| 激情综合五月天| 婷婷六月激情| 五月婷婷综合成人| 色欲日日躁| 天天日天天色| 五月婷婷中文字幕| 久久丁香五月| 日噜噜色| 丁香五月色五月婷婷宗合| 五月丁香激情综合| 亚洲av另类在线观看| 色婷婷4| 天天操婷婷| 影音先锋色婷婷| 九九这里只有精品| 色婷婷另类| 久久欧洲综合网| 中字幕视频在线永久在线观看免费| 伊人久久婷婷| 亚洲另类日本| 亚洲免费电影2| 五月丁香六月欧美综合网站| 丁香五月婷婷少妇| 操日本色| 超碰不卡在线| 婷婷六月天激情| 桃色五月婷婷| 99久久成人| 欧美性猛交XXXX乱大交极品| 密黄站| 99综合| 玖玖爱资源站| 五月亭亭直播| 黄桃AV无码免费一区二区三区| 日本三级大片| 女人天堂AV| av线电影| 久久99热这里只频精品6学生| 色射7856五月天激情四射| 99热亚洲精品66| 狠狠色婷婷色| 99玖玖在线视频| 激情久久五月天| 99精品无码| http://www.lingjunshare.com/| 91中文狠狠综合| 久久性爱视频这里只有精品| 9热在线视频精品| 国产婷婷五月天| 九九成人精品免费视频| 在线观看国产高清视频免费网站| 99re这里有精品手机在线| 99婷婷综合| 99热碰碰| 久久最新色色色| 中文字幕无线久必| 丁香六月婷婷色XXXXX| 五月婷婷偷拍| 91chinese在线| 亚洲丁香网| 99人人精品| 五月激情影视| 五月婷婷欲色| 综合性爱网| 久久久久婷婷| 噜噜噜噜噜色| 久热AA| 久热9| 婷婷丁香五月亚洲综合网在线视频观看| 五月丁香趴趴| 性色五月天| 婷婷丁香五月噜噜噜| 色婷婷情片| 狠狠穞A片一區二區三區| 天天天日天天天干| 欧美日本黄色| 久久综合久色欧美综合狠狠| 久久丁香五月天| 五月婷婷在线视频免费观看| 在线看AV| 99九九精品| 五月综合六月婷婷| 99热日韩| 久久人人添人人爽添人人片αV| 久热超碰91| 狠狠色丁婷婷日日,伊人激情综合网| 激情国产五月| 色综合久| 午夜激情五月天| 就要爱综合| AV网在线观看| 久久人人妻| 特级西西4444www无码| 色婷婷成人丁香| 最新AV在线观看| 蜜乳9188| 久草视频大香蕉99| 丁香六月婷婷| 99热精品免费| 六月丁香五月亭亭| 天天摸天天肏| 国产亚洲成AV人片在线| 成人无码髙潮喷水A片| 五月色综合| 丁香五月天婷婷中文| 丁香五月影视| 婷婷婷久久| 久久婷五月天| 丁香九月综合| 五月丁香啪啪伦理电影| 好吊操这里只有精品| 色九亚洲| 久久99免费视频| 人妻内射一区二区在线视频| 欧美色99| 激情五月婷婷五月| 五月噜噜| 99色综合网| www.99日本| 伊人激情网| 91919191919久久成人视频| 九九激情| 美欧日韩国产成人在战| 日日插日日干| 五月激情偷拍婷婷| 99免费成人网| AAA久久久| 国产1区2区| 五月婷狠狠| 91中文狠狠综合| 这里只有精品视频| 五月丁香婷婷六月| 亚洲婷婷91丁香| 99热官网| 色香欲综合| 久热网在线视频| 综合色综合| 五月丁香婷婷综合激情基地| 日日夜夜狠狠婷婷色| 久久99视频| 色狠狠色综合久久久绯色AⅤ影视| 日本欧美999久久久三级片| 国产婷婷婷| 4399无码视频| 欧美日本日韩| 国产成人一区二区三区在线观看| 天天干天天做| 丁香五月欧美| 99热只有| 中文字幕在线免费观看视频| 色婷婷综合网| 精品久久艹| 玖玖在线视频| 一起草性爱不卡视频| 激情色播| 中文av网站| 久久婷婷热| 色婷婷六月| 香蕉AV777XXX色综合一区| 免费无码毛片一区二区A片 | 99热精品在线观看| 超碰精品在线| 天天操婷婷| 丁香五月天堂网| 国产成人精品一区二三区熟女在线| 亚洲精品无码一区二区| 色欲一区二区三区精品A片| 国产美女无遮挡裸体毛片A片| 野战J办公桌椅H| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 97干在线视频精品店| 韩日另类| 欧美一级毛卡片无码| 综合色视频| 中文字幕婷婷9月天| 色五月噜噜| 九九人人看| 玖玖爱综合网| 九九久久五月天综合伊人| 久久激情网| 中文字幕+乱码+中文字幕在线观看| 五月天婷婷色五月天| 婷婷五月情色| 五月丁香基地| 五月婷婷中文字幕| 综合激情在线视频| www.操.com| 激情五月综合网| 日本三级第一页| 91嫩草久久| 色欲天天综合| 丁香六月AV| 狠狠色噜噜狠狠狠888了| 亚洲欧美999| 色五月大| 可以免费观看的AV| 亚洲精品a成人在线播放| 九九色色| 无码字幕中文| 琪琪色五月天| 9999热精品在线免费播放| 新激情五月开心五月婷婷五月丁香五月| 亚洲另类噜噜| 激情五月丁香社区| 欧美性爱五月天| 五月激情综合网婷婷| 国产精品国产| 99啪啪网| 色播五月天天| 五月婷婷综合在线视频小说| 久热欧美| 国产精品VIDEOSSEX久久发布| 色亭亭丁香五月天| VA色婷婷| 人人摸人人射| 五月天国产| 九九热精品视频| 婷婷欠久少妇| cao视频,现在观看| 色婷婷中文在线| 国产精品色色色色| 99九九综合久久九九| 国产欧美日韩综合精品一区二区| 东北熟女高潮99综合99| 67194国产| 五月天激情啪啪| 婷婷四色五月| 激情影院69| 操操啪| 婷婷五月激情在线视频| www.五月婷婷| 超碰cap| 久久婷婷五月综合97色一本| 色综合综合色| 婷婷综合在线| 久久婷婷五月综合色天| 天天爽天天爽天天爽天天爽天天爽天天爽天天 | 中文字幕+中文在线| 婷婷成人综合免费视频| 婷婷五月天伊人网| 国产精品美女久久久久AV超清| 免费人人操| 五月丁香婷婷AV天堂| 性爱视频久久| 丁香五月欧美婷婷综合| 国产婷婷色五月| 色婷婷AV久久久久久久| 久久丁香五月天| 久艹大香蕉| 天天综合影院| 色婷婷久久| 久久婷婷五月综合精品蜜芽| 丁香色综合| 日本狠狠干| 婷婷五月天综合久久日美女| 天天日夜夜高潮| 99热在线精品播放| 在线综合亚洲欧美65| eeuus五月婷| 亚洲欧洲国产精品| 久久精彩视频99| 另类小说五月天综合| 久久曰曰| 波多野结衣AV无码Porn| 色丁香五月天婷婷| 天天做天天爱天天爽| 99热爱爱干干日| 人妻久久久| 久久全意婷婷| 91精品熟女| 99热都是精品| 亲子乱AV一区二区三区下载| 99亚洲色| 99re99在线看| 严洲天天插| 色色热| 在线婷婷| 色色五月婷婷久久| 久9热在线免费观看| 九九爱看亚洲| 色综合天天| www.99热日韩.com| 任你日视频| 91热视频色网站| 色天五月天在线观看视频| 丁香八月综合激情| 秋霞电影理论| 国产乱妇无乱码大黄AA片| 五月丁香婷婷在线综合蜜桃| 五月天开心激情综合网| 婷婷五月精品中文字幕| 精品无吗va视频免费观看| 伊人超碰在线| 人人爱人人摸人人澡| 日韩黄在免| 久热这里精品免费| 日本欧美成人片AAAA| 丁香五月视频在线观看| 六月激情婷婷| 五月婷丁香花| 五月激情综合网| 98毛片| 中文字幕在线日亚洲9| 色婷婷五月影视| 伊人五月天| 激情小说五月丁香在线视频观看视频| 狠狠色综合网| 五月开心婷婷极品激情| 激情六月婷婷| 五月停停直播| 国产精品a无线| 五月天小说激情| 婷婷五月天VI| 亚洲视频伍月婷婷| 亚州第一黄网| 精品色| 99九九视频| 久操大香蕉| 开心五月婷婷激情| 婷婷色六月| 综合狠狠五月婷婷| 久久激丁香| 五月天激情网页| 97性高潮久久久| 天天综合色丁香| 色婷婷综合久久久久| 91热在线| 五月婷婷激情四季| 天天色天天操天天射| 五月婷婷久草在线视频综合| 99热色综合| 色五月婷婷大香蕉| 久久激情视频| 成人综合网站| 五月丁香六月婷婷亚洲视频| 丁香五夜激情四射夜夜夜| 久热这里| 天天开心天天色| 9色91视频| 色噜噜婷婷| 9福利性视频欧美| 99精品热| 新激情五月天色播| 99re免费视频| 99久久婷婷| 婷婷色色播五月天| 亚洲婷婷丁香五月| 亚洲综合视频在线| 激情文学 综合 色| 久久久91精品| 久久伦乱| 色综合天天网| 在线中文字幕免费视频| 综合一区二区三区| 激情六月下句是什么| 激情综合五月丁香六月婷婷| 色五月激情婷婷| 亚洲在线操| 欧美三级A做爰在线观看| 国产色色色色| 色综合久| http://www.com久久久精品一区| 91精品久久久久、久五月天| 婷婷欧美偷拍综合| 99超级超级超级碰| 男女99免费视频| 伊人超碰| 激情亚洲婷婷| 成人无码精品1区2区3区免费看| 婷婷综合在线| 色婷婷激情| 色婷婷狠狠禁18久久| www.五月婷婷久久.com|