欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,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
返回資訊列表
99热热热国产超碰| 青青草原福利在线| 99色精品| A片天天| 久久久性爱视频| 狠狠舔| 色级停停| 无人区码一码二码三码医生系列| 婷婷五月天激情文学| 国产色99| 日日日日操| 99热偷拍| 欧美大香蕉视频| 久久久亚洲成人无码A片| 色色色国产| 激情五月www| 综合激情五月丁香| 国产日比| 婷婷五月天色| 五月天啪啪视频| 狠狠狠狠草草| 婷婷丁香成人五月天| 99爱视频| 色高清无码视频| 六月丁香五月天| 国产综合色婷婷精品久久| 久久三级视频| 婷婷五月骚厕所| 射琪琪| 色综合色色| 国产精品噜噜在线视频| 激情婷婷综合网| 91狠狠色| 开心五月天激情网站| 国产免费av在线| 狠狠色婷婷7777久| 色婷婷丁香五月在线观看| 色噜噜狠狠色综合网| 色婷网| 欧美综合五月丁香五月天| 东京热人妻一区二区三区在线| 成人版视频在线观看| 精品婷婷五| 久久精99| 五月婷婷丁香六月| 九色91视频| 这里只有视频精品| 五月丁香人妻| 综合五月婷婷| 深爱激情五月天婷婷网| 啊v视频在线观看| 无码少妇高潮喷水A片免费| 五月天婷婷成人网| 亚洲 五月 婷婷 成人| 精品99在线| 色欲一区二区三区精品A片| 久久偷拍综合五月天| 丁香五月激情六月欧亚激情综合导航 | 丁香综合日产精品久久| 婷婷中文字幕| 久青操| 天天干夜夜b| 超碰9在| 亚洲婷婷乱乱丁香| 精品一区二区三区四区五区六区介绍| 久99视频在线观看| 婷婷五月天性爱视频| 婷婷五月激情五月激情| 97性视频| 国产精品VA在线| 婷婷五月天激情偷拍| 91婷婷在线观看| 日本精品人妻无码77777| 99性爱| 伊人丁香婷婷东京| 丁香久色| 五月情丁香色| 一起草无码视频| 色婷婷四色| 99视频| 丁香五月婷婷色情综合| 亚洲天天操| 丁香六月婷婷综合麻豆| 99re这里只有精品国产99| 亚洲成人网站在线| 综合五月丁香97| 黄色录像网点| 3p九色在线| 丁香五月偷拍| 五月丁香欧美综合免费视频| 五月婷婷熟女| 天天日人人| 色色激情网| 97色视频网| 国产精品第一国产精品| 中文字幕日本最新乱码视频| 欧美内射AAAAAAXXXXX| 日韩中文欧美| 欧美日韩91| 色婷婷丁香五月| 国产精品久久7777777精品无码| 婷婷色五月噜噜| 亚洲视频二区| 色五月丁香五月| 五月婷婷婷综合网| 中文字幕在线免费| 五月丁香综合啪啪| 色九月| 色爱99| 美女91一起草| 色婷婷久久综| 大香蕉九九| 九月综合| 五月婷婷影院| 欧美日本综合网| 婷婷她六月天| 五月婷婷天天色| 人妻内射麻豆视频| 人人干AV| 天天天天天日| 婷婷色五月开心五月| 色色网站免费| 久久综合首页| jiZZdr| 激情五月综合| 九九热在线视频| 久久小视频| 婷婷五月成人| 五月综合视频| 色色亚洲| 99热草草| 欧美123区免| 青青青在线视频国产| 五月激情综合网| 欧美丁香婷婷五月| 婷婷丁香六月天| 99精品综合| 狠狠插狠狠操| 成人做爰A片免费看网站找不到了| 狠狠草狠狠草| 青青草免费公开视频| 成人日韩欧美| 99ER热精品视频| 精品夜夜澡人妻无码AV| 激情人妻蜜夜系列区| 丁香色色五月| 色婷婷久久综| 五月激情日本在线| 性爱电影科技贸易有限公司| 激情亚洲网| 久久激情五月天| 婷婷五月丁香基地| 亚洲AV人人操| 五月丁香色婷婷| 亚洲无AV在线中文字幕| WWW.五月com| 97碰碰碰免费公开在线视频| 婷婷色综合网日韩国产| 久久久久激情网| 精品99在线| AA丁香综合激情| 五月天激情国产综合婷婷婷| 久久丁香网| 91九色在线观看免费| 大香AV| 色色五月丁香婷婷| 丁香婷停五月激情综合深爱| 亚洲熟妇无码乱子AV电影| 91一起操| 99婷婷狠狠成为人免费视频| 人人草碰| 精品视频这里只有精品| 26uuu亚洲欧美| 色五月激情| 99热碰碰| 色欲一区二区三区精品A片| 91妻人人爽人人看片| 伊人久久大香网| 婷婷俺去也| 色婷婷激情| 五月激情综合婷婷| 超碰AV在线| 96人人操人人操人人| 天天综合天天玩夜夜玩天天玩夜夜玩| 五月婷婷AV| 五月天激情丁香| 激情综合丁香六| 久热伊人9| 97色色婷婷| 狠狠干在线视频| 国产在这里只有精品| 翔田千里 50岁 无码| 99操逼| 熟女人妻一区二区三区免费看| 大香蕉在线观看9| 五月婷婷六月天| 另类图片 五月激情| 韩国天天婷婷| 99精品视频在线观看| 色五月开心久久网| 天天拍夜夜爽日日| 婷婷五月香蕉| 国产原创视频91九色| 婷婷激情六月综合| 26UUU精品一区二区Com| 五月天com| 99ri精品在线观看| 99热久只有精品首页| 国产色色色色| 国产玖玖资源| 激情99| 久久玖玖综合| 婷婷亚洲色| 日日干天天爽| 日韩在线观看亚洲| 久久这里只有精品无码| 色五月婷婷丁香五月| 丁香婷婷五月色综合| 97干在线观看视频| 色色色无码| 亚洲妇女熟BBW| 欧美色色色色色色| 特级片神马电影| 超碰碰碰碰| 狠狠色综合无线观看| 激情综合色| 亚洲综合色色色| 丰满少妇猛烈A片免费看观看| 九九热99视频在线| 婷婷天天日婷婷| 拍真实国产伦偷精品| 亚洲乱码w在线观看| 伊人丁香花综合影院| 99日本精品视频热| 久久婷婷丁香五月宗合| 99热6这里只有精品| 国产激情视频在线观看| 久99视频| 噜噜操操| 综合色网站| 婷婷五月天色综合| 色伊人91在线视频| 午夜精品777| 五月丁香少妇A| 9久久精品| 六月婷婷AV| 婷婷色网站| 亚洲乱码日产精品BD| 五月天啪啪视频| 97操碰视频| 五月婷婷,六月婷婷| 欧美天天性| 天天狠狠夜夜狠狠2023| 一起草av| 深爱激情综合| 久久婷婷五月综合97色一本| 五月丁香成人网| 久九色| 能看的AV| 狠狠色综合网| 久久综合激情| 天天色爽| 久久精品国产AV一区二区三区 | 日日杆天天| 成人在线不卡| 99综合| 色婷网| 99色综合网| 日本久久性| 99人妻碰碰碰久久久久视| 五月婷婷黄色毛片| 丁香五月成人| 五月婷五月婷伊人伊人五月婷| 久久总和99| 欧美久久网| 婷色五月天| 九九人人看| www.99热这里只有精品| www.97干视频| 午夜大香蕉| 五月婷婷啪| 色噜噜综合网| 玖玖资源网站最新站| 97精品人人A片免费看| 丁香五月玖玖| 久草热在线视频| 亚洲婷婷五月| 色欲色香综合网| 狠狠五月激情在线| 国产真实乱对白精彩| 五月激情开心婷婷| 色情成人五月天| 天天日天天干天天天| aaa9区免费在线观看| 激情久久丁香| 九九99在线免费在线观看视频| 五月丁香六月成人| 襙逼网| 97操碰人免费| 涩涩五月天| 伊人久久婷| 婷婷狠狠97| 高清视频一区| 日日操夜夜擼| 狠狠狠色激情综合适合| 99精品国产在热久久| 亚洲婷婷五月天| 色色色欧美色色| 影院久久久| 亚洲99在线| 中文字幕在线日亚州9| 国产67194| 色久婷婷网| 桃色成人网| 婷婷5月九九| 亚洲蜜乳AV| 色欲一二三| 久久五月丁香婷婷| 久久大香蕉丁香| 91成人性爱视频| 婷婷五月电影| 婷婷成人视频| 日本婷婷色日| www.婷婷com| 久热这里只有精品在线| 九九99免费视频| 日日夜夜天天| 五月天开心婷婷激情网站 | 无码碰碰| 99热偷拍| 99热只有精| 99九九在线精品热动漫| 国产毛片精品一区二区色欲黄A片| 五月六月婷婷| 色欲婷婷夜夜| 狠狠 久久| 狠狠综合区| 七七九色| 婷婷激情性爱| 久久91久久91色欲精品| av性爱在线| 亚洲天天| 久久九九中文字幕| 高清无码视频网址| 色婷婷亚洲综合网站| 激情五月综合网| 成人性爱无码| 久久久天堂国产精品女人| 99热最新| 日韩黄黄| 97碰| 色婷婷五月天成人网| 丁香婷婷五月香蕉91| 人妻22p| 可以免费看的AV网站| 国产成人精品一区二区三区视频| 国产熟女一区二区三区五月婷| 久久人妻久久| 久热在线观看视频9| 深爱激情九九五月天 | 久久婷婷五月天懂色| ady狠狠入| 丁香五月激情性色郤| 丁香五月成人网| 丁香五月综合激情啪啪| 五月天综合网| 激情婷婷久久| 丁香五月六月婷婷殴美综合| 极品五月天| 久9综合| 激情久久肏屄视频| 婷婷五月天第三页| 五月丁香花开综合网| 天天久久人人| 在线成人网址| 五月天婷婷伊人| 亚洲无码性爱| 99超超碰| 成人做爰A片免费看网站找不到了 噼里啪啦在线观看免费完整版视频 | 日日狠狠久久偷偷四色综合免费| 激情五月天综合图片小说网站| 成人版视频在线观看| 色色色色色色色五月| 无码99| 九九综合九九| 丁香婷婷五月六月久久| 播五月,色五月,开心五月播放器| www.亭亭五月天| 五月天六月天| 亚洲国产网站| 五月久久| 色yeye色综合| 无码一区二区三区四区五区91c| 极品少妇高潮啪啪AV无码| 色婷婷久久综合| 婷婷五月天综合网| www.狠狠操| 亚洲五月色| 综合色激情| 狠色狠色综合久久| w婷婷五月婷婷w| 天天操比比| 99re在线视频精品,这里只有精品18,| 久久亚洲婷婷| 激情五月丁香综合网站| 9热视频在线观看| 婷婷六月色| 天天摸天天肏| 91男女视频在线观看| 五月丁香婷婷俺| 97超级碰碰碰| 丁香五月激情久久麻豆| 久久婷五月综合| 思思热天天看| 超碰妻人人| 四色AVwww| 亚洲成人在线免费| 久久婷婷丁香花综合网| 一级精品999WWW| 色七色九九| 精品无码片| 五月婷婷六月丁香综合| 五月婷婷九月婷婷九月婷婷| 丁香五月综合| 久久机热探花| 精品一二三区久久AAA片| 六月婷婷久久大全| 五月天婷婷午夜丁香| 一本色道久久88综合日韩精品| 色色AV色色色东莞| 日韩婷婷五月天| 日本色色网站| 人妻第九页| www.五月天| 丁香狠狠干| 影音先锋91视频| 无码九九九九| 亚洲精品视频在线| 婷婷五月天色网久| 五月天狠狠网| 丁香五月天激情| 九九99精品| 五月天成人综合| 国产精产国品一二三在观看| 99色在线免费观看视频| 在线视频另类| 国产精品噜噜在线视频| 日韩操逼小电影| 激情六月丁| 日韩久久视频| 桃色成人网| 婷婷五月丁香综合桃花色网| 日本色色图| 人人干天天操五月丁香| 五月性色| 五月综合激情网| 亚洲第一成人无码A片| 久久久久久久久久久jjjj| 五月婷婷综合影院| 综合AV网| 96精品久久久久久久久| 丁香花五月天| 日本久久精品18| 五月丁香激情综合网| 久99久视频精品| 在线视频激情网站| 久er7久热| 亚洲五月色| 五月婷在线| 中文字幕精品无码一区二区| 九九精品热播| 久久综合激情五月天| 五月丁香久久激情综合| 黄色av网站在线免费播放| 色色无码| 99精品视频在线观看| 五月天激情综合网| 丁香六月婷婷综合啪啪| 久九男女天堂| 日本色色网站| 色婷婷色九月| 色婷五月天| 久久a热| 婷婷五月丁香久久| 久久9RE热视频精品98| 狠狠色婷婷丁香五月| 91碰碰碰| 色五月天视频| 激情综合五月婷婷| 久久R激情| 欧美69久成人做爰视频| 激情久久久| 亚洲第一成人无码A片| 99精品视频在线观看| 婷婷97狠狠成人网站| 国精产品一区一区三区免费视频 | 日本色五月| site:pnnrt.com| 亚洲成人人人操| 亚洲精品婷婷| 激情五月婷婷网| 99视频| 国产成人av在线播放| 丁香五月欧美激情| 91 九色 熟女| 激情人妻蜜夜系列区| 少妇高潮呻吟A片免费看软件| 国产精产国品一二三在观看| Www.se.久久| 五月激情婷婷国产精品久久久久久| 99爱爱网| 六月丁香基地| 啪啪啪五月天| 久久天堂网| 成人在线网址| 亚洲午夜在线视频| 激情九九六月激情免费视频| 天天爱天天日| 免费观看的婷婷五月视频在线| 久碰婷婷视频| 亚洲12p| 中文字幕在线视频播放| 五月天色综合| 亚洲色综合性| 激情五月六月婷婷| 极品五月天| 亚洲成人网站在线观看| 久久色这里只有精品| 日韩操逼大片| 六月色丁香婷婷| 九月婷婷激情| 五月婷婷天| 久久xxxx| 欧美性生交XXXXX无码小说| 99啪视频在线观看| 免费精品66| 国产精品色| 中文幕无线码中文字蜜桃| 色婷婷啪啪| 夜夜躁狠狠| 色色亚洲视频| 五月婷婷综合在线亚洲视频| www.99精品视频| 激情五月天综合图片小说网站| 色婷婷丁香社综合| 米奇影视资源777狠狠色婷婷五月天激情网| 亚洲激情五月天| 国产日比| 99精品久久久久久久婷婷| 91久久婷婷人人澡草| 激情婷婷丁香五月天| 欧美婷婷综合| 五月婷精品| 深夜男女福利刺激影院一区完整| 97碰在线| 五月天色五月| 另类图片 五月激情| 五月激情站| 婷婷 久综合| 99∨VTV| 袁子仪视频观看| 天天干天天干天天| 精品成人无码A片观看香草视频| 丰满女老板BD高清A片| 狠狠搞综合色| 亚洲在线网站| 久久这里有精品| 婷婷伊人75| 午夜成人网站在线观看| 亚洲成人免费电影| 色色操| 亚洲精| 大香蕉福利导航| 人人爱国产| 欧美情色一区| 天天操天天操天天操天天操天天操| 亚洲成Av人片乱码色第1集| 亚洲va综合va国产va中文| 91狠狠色色丁香婷婷综合久久| 大香蕉五月天婷婷| 婷婷5月天激情综合| 精品一区二区三区四区五区六区| 亚洲色综合性| 极品另类| 97色色视频| 人人看人人摸人人| 欧美天天搞| 欧美激情丁香五月天久久婷婷一区| 激情涩播| 欧美五月婷婷| 欧美日韓成人亚洲精品另类| 成片免费观看大全| 婷婷丁香人妻天天爽| 婷婷导航| 激情五月天福利| 色久女| 天天爽天天弄| 五月天伊人久久| 91久久久久久久久| 六月丁香婷婷开心综合基地| 精品一区久热| 久久婷婷六月天| 99热| 久热这里只有精品99re| 91九色小视频| 丁香五月综合| 五月婷婷色情| 99热超碰天堂网| 丁香五月在线自慰| 久久亚洲色导航| 五月丁香综合精品欧美| 五月天色不卡| 成人天天爽| 国产精产国品一二三在观看| 五月天.com| 色五月婷婷综合| 久久xx| 夜丁香五月婷婷| 开心五月婷婷婷美女| 第五色婷婷| 69er小视频| 婷婷综合在线视频| 激情五月天综合网| 婷婷色狠狠| 亚洲va欧美| 激情五月天。| 久久综合干| 亚洲色域网| 色欧美影院| 91干| 国产精品A片| www.maotanji.com| 超碰只有精品在线| 婷婷丁香花五月天| 色情五月天A片| 激情六月婷婷| 久久久日韩特色特黄AAAA| 色综合色五月| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪 | 激情com| 大香蕉久久伊人网| 99婷婷| 久久婷婷五月| 九九九午夜影院成人| 91综合网| 国产毛片操B| 97色色色色色| 狠狠色五月天| 精品一二三区久久AAA片| 五月婷婷六月丁香色| 色色色999| 婷婷综合九月| 国模九区| 草草女人亚洲| 五月激情小说| 色五月婷婷基地| 久青操| 天天色综合色| 婷婷五月天美女| 久久婷婷五月天蜜桃| 婷婷五月欧美综合| 五月天成人综合| 色婷婷小说| 夜色综合网| 色播激情五月天| 久热中文字幕在线线观看| 天天天天天天天干| 色婷婷五月开心六月综合| 夜夜大香蕉婷婷丁香| 亚洲婷婷综合视频| 2015在线中文字幕| 欧美在线ee日韩| BBWCUCKOLD精品熟妇| 激情五月天色播| 色婷婷小说| 久操福利| 亚洲热视频| 成人丁香婷婷| 亭亭五月色男人| 天天操夜夜夜拍拍拍| sewuyue第四色| 99久久婷婷国产综合精品电影| 人妻少妇色综合| 婷婷色导航| 婷婷社区五月天| 伊人啪啪网| 99男人的天堂| 婷婷成人视频| 五月激情综合美女久久| 骚货艹网站视频| 婷婷五月色丁香在线看| 色情五月天婷婷| 日本va视频| 婷婷色Av| 思思re99视频在线观看| 婷婷综合激情| 综合伊人久久| 色婷婷五月天偷拍| 久久九九99| 少妇人妻偷人精品无码视频新浪| 欧美成人精品A片免费一区99| 欧美人与性动交CCOO| 99亚洲精品| 久久婷婷五月综合| 无码AV免费精品一区二区三区| 无码激情AAAAA片-区区| 五月日韩中文字幕| 婷婷丁香熟妇综合网| 99超级碰免费视频| 狠狠色 综合色区| ztEJj| 激情av网| 五月天综合激情网| 依人大香蕉| 久久99热这里只有精品23| 97色色色色色色色色色色色色色| 婷婷激情丁五月| 日日.c| 黄色三级日本| 色狠狠色| 亚洲精品又粗又大又爽A片| 激情五月成年| 天天操天天曰天天射| 超级碰碰碰碰视频| 99热国产这里只有| 激情婷婷网| 99精品视频免费观看| 97在线综合| 激情五月天婷婷| 三年高清大片免费观看国语| 九月婷婷综合在线| 激情婷婷久久| 天堂爱爱| 久久久香| 婷色五月| 99色色色色| 99日本在线| 色五月激情五月| 岛国资源站| 91久操| 丁香五月天五码婷婷| 久热只有精品| 天天操天天插| 久久婷婷综合五月| 国产精品视频免费看| 精品色情一区二区三区四区| 六月 丁香 视频| 亚洲另类电影| 日韩精品一区二区三区,四区,五区视频| 久久精品系列| 丁香六月婷婷综合在线| 99无码视频| 丁香五月花| 亚洲av网站| 五月天,激情四射,婷婷频道| 91人妻PORNY九色大屁股| 99噜噜噜在线播放| 丁香无月在线观看| 天天摸天天做天天爱天天爽| 一本色综合色| 六月亚洲婷婷6月中文字幕| 婷婷六月激情| 久久久久久久久18久久| 亚洲久久视频| 婷婷色导航| 情色婷婷五月天| 精品成人a v无码内射| 激情五月婷婷综合| 激情久久综合| 欧美爆乳一区二区三区| 色五月综合激情网| 91操色| 色5月婷婷| 成人AV网站在线| 婷婷香五月| 少妇大叫太大太粗太爽了A片| 成人片在线播放| 色噜噜五月天| 韩日AV片| 激情五月婷婷色播网| 午夜少妇在线观看视频| 成人va在线观看视频| 久久婷婷色色| 九九热99视频在线| 成人va视频| 久久一伦| 五月丁香性| 免费无码毛片一区二区A片| 丁香五月 综合| 日本婷婷| 婷五月天天| 婷婷深爱五月天| 婷婷丁香射射| 激情五月天网站| 性爱网久久| 五月天精品视频| 成人精品在线| 五月香婷婷| 思思热久在线观看视频| 99这里只有精品| 思思热在线视频观看精品| 激情五月丁香五月| 五月开心婷婷中文字幕| 免费视频无码| 内射激情在线| 日韩熟女啪啪视频| 丁香婷婷视频一区二区| 色婷五月天| 丁香六月av| 91紱請| 亚洲一区二区无码蜜乳av| 丁香五月亚洲综合丝袜| 婷婷丁香五月综合激情小说| 日韩无码亚欧无码| 日本色婷婷| 超碰成人在线观看| 天天日天天操心| www..com色爱| 一区=区操屄高清大全av| 五月天四色房丁香亭亭| 国产精品成人AV在线| 六月丁香五月天| 五月综合婷婷网| 婷婷丁香五月天之开心少妇| 国产亚洲色婷婷久久99精品91| 成人 AV播放| 色婷婷五月综合| 九九免费视频在线| 最熟少妇乱码| 六月婷婷av| 99热在线免费观看精品| 久久婷婷九月国产精品| 激情丁香五月婷婷| 蜜乳9188| 91熟妇大香蕉| 九九激情综合| 99视频在线观看欧| 综合色吧| 超碰成人黄色网| 丁香五月激情综合久久| 久久婷婷五月激情网站| 日韩黄色中文字幕| 日本不卡五月婷婷丁香| 婷婷六月香| 五月情婷婷| 停停六月 综合| 久久五月网| 超碰在线看| 狠狠色狠狠操| 99 频99热国里只有精品| 精品夜夜澡人妻无码AV| 99视频精品8| 九九XX视频| 99在线亚洲| 亭亭玉月丁香| 一区二区乱码视频| 丁香五月欧美成人| 五月婷久久| 婷婷激情五月综合丁香社| 黄色AAAA韩国guochansanji| 性爱视频99| 色99在线看| 丁香五月天激情综合| 久9无码视频| 激情五月天婷婷五月天| 九九视频精品这里只有| 99热午夜精品| 久草热在线视频| 九九99九九99偷拍视频免费看| 中文av网| 中文字幕AV在线| 色色操| 色人妻五月| 狠狠情色| 丁香五月五月婷婷| 就爱啪啪婷婷| 丁香五月激情啪啪啪| 久久五月天色婷婷| 天天干天天日日| AV色婷婷| 五月婷婷五月天激情视频| 一二线视频 另类| 天天干天天干天天操| 香蕉狠狠爱视频| 国产亚洲精品久久久久久郑州| 亚洲日韩26uuu| 亚洲视频久久| 丁香六月啪啪| 久热只有这里精品| 久久码久久无清| 九九香蕉网| 国产五月天欧美色| 超碰狠狠操| 国产99久久久国产精品免费看| 九九精品视频在线6| 91凹凸在线| 少妇性按摩无码中文A片| 亚洲另类视频| 色婷婷五月天亚洲 | 第五色婷婷| 久狠日av| 五月五婷婷| 欧美激情综合色综合色| 色五月丁香五月激情五月激情| 丁香五月影视| 激情综合99| www.日韩国产| 婷综合六月| 婷婷五月色惰| 色播五月综合网| 伊人婷婷五月天av| 五月婷婷久久大片| 123日本不卡在线| 国产精女同一区二区三区久| 91色性感五月婷婷丁香| 天天网曰日曰夜夜综合永久免费| 色播激情婷婷| 五月天怕怕| 射久久丁香五月| 99精品九九| 亚洲色婷婷久久99精品91| 国产婷婷五月| 色天堂在线| 丁香六月婷婷综合| 成人精品在线| www五月婷婷88导航| 深爱激情综合| 久久久久婷| 日日干综合| 91成人电影| 久久这里只有精品视频15| 日韩成人免费电影| 99国产在线| 丁香婷婷免费| 色婷婷综合久久久久| av网站免费在线| 五月激情啪啪| 久久五月激情综合| 日韩色五月| 激情五月丁香色婷婷| 99热福利| 99热性色| 五月刺激丁香月综合| 亚洲午夜av| 激情色播| 99狠狠| 思思热精品在线观看| 天天爽—爽| 久久青草国| 青青草大香| 激情婷婷五月天| 99爱在线视频| 五月婷婷啪啪网| 婷香五月激情视频| 开心激情站婷婷五月天| 久久这里只有精品07 | 操熟女成人网| 婷婷六月激情丁香| 婷婷五月花| enecarbon-materials.com污K127封锁请涟系@wip1688 | 欧美黄色AA片哗啦啦啦| 91超级碰碰| 九九大香蕉黄色影院| www.久久婷婷| 极品少妇婷婷五月| 99色综合久久| 9久精品| 狠狠狠狠狠狠色| 天天狠狠六月婷丁香影院| 五月综合激情综合久| 亚洲99在线视频| 婷婷五月天日逼| 亚洲小说五月婷婷| 性爱网久久| 成人电影一区| 伊人碰碰碰| 丁香狠狠操| 人人操婷婷| 丁香五月婷婷影视先锋| W色综合| 99国产精品久久久久久久久久久| 激情五月丁香婷婷| 婷婷五月激情丁香| WWW.婷婷五月天.COM| 欧美日韩成人在线网| 丁香五月欧美| 26uuu日韩| 色狠狠999综合| 99热精品99| 夜夜爱伊人| 91视频一起草| 翔田千里 50岁 无码| 婷婷五月丁香啪啪| 五月丁香啪啪网| 久久这里只有精品热在99| 丁香 婷婷 亚洲 熟女| 久久久精品人妻录| 夜夜操,天天撸| 99无吗| 婷婷婷婷婷婷婷婷| 久婷婷婷| 五月香婷婷| 亚洲天天操| 色综合久久888| 男女啪啪做爰高潮无遮挡| 少妇做爰免费视看片| 激情综合网激情五月丁香五月俺也去| 丁香五月天天久久综合小说| 9色婷婷| 久久综合55| 在线观看亚洲AV| 久久久.COM| 5月激情天| 五月丁香六月婷婷在线小说视频| 天天综合色综合| 激情小说 五月天| 人人九色| 天天操天天干天天日| 国精产品一区一区三区免费视频| 91无码一区人妻A片蜜| 婷婷五月天渟渟| 98永久精品| 天天爽夜夜爽夜夜爽精品| 99热6这里只有精品6| www.人人操人人看人人想人人摸 人人人人操,COM| 欧美综合在线五月天色婷婷| 久久久五月四色| 五月天伊人| 激情 婷婷| 色五月婷婷影院| 八戒青柠影视剧在线观看| 久久性都花花世界成人免费视频| 色娸娸综合网| 激情综合五月婷| 九六五月天婷婷| 玖玖热视频| 五月丁香激情综合| 被强行糟蹋的女人A片| 九九热99在线视频| 丁香婷婷黄网站| 丁香五月激情站| 婷婷五月天欧美| 9 1超碰九色| 中文字幕日产A片在线看| 狠狠综合色网| 激情五月婷黄版| 欧美天天干天天草| 久久99精品久久久久久噜噜| 另类小说色婷婷| 91人人爱| 成人日韩欧美| 婷婷激情5月| 欧洲一区二区| 欧美日韩中文国产一区发布| YW无码| 在线不卡视频| 婷婷综合色播网| 亚洲99热| 丁香婷婷影院| 久操人妻| 丁香色情五月综合网站| 婷婷五月久久| 婷婷激情五月天在线视频| 嫩草AV久久伊人妇女超级a| 91激情五月开心| 青草视频在线观看视频| av第一二区| 色婷婷丁香五月天在线视频| 九九99久久| 啪啪啪综合网| 熟妇天天综合| 99热 在线观看| 五月天狠狠网| 99久久国产宗和精品1上映| 国产精品国产| 激情五月天之五月婷婷| 人人摸人人| 色色热| 六月婷婷综合久久| 五月丁香花开综合网| 亚洲精品国产成人AV在线| 婷婷丁香成人色综合| 天天干,天天舔| 五月色综合网| 强壮的公次次弄得我高潮A片日本 | 久九九热| www.日日夜夜| 五月天婷婷色色| 婷婷刺激综合| 国产淫熟妇| 婷婷色五月天在线| 婷婷激情四射五月天| 99在线观看免费精品视频| 99热资源在线| 97干在线视频精品店| 日本黄色在线观看| 色五XX| 国产又爽又猛又粗的视频A片| 丁香五月婷婷av| 天天干 夜夜爽| 久久精品一区二区三区四区| 99人人操人人操人人精| 26UUU精品一区二区c〇m| 九九视频这里只有精品| 丁香六月天婷婷| 日本在线免费中文com.| 五月天成人综合| 九九热婷婷| 9久热这里只有精品| 婷婷五月色| 4399在线观看免费高清黄色视频| 狠狠色噜噜狠狠狠888了| 日韩在线观看亚洲| 色五月色开心开心五月| 另类综合激情| 久热超碰91| 欧美婷婷综合网| 97好吊操| 九九色婷| 五月永久激情| 久热黄色| 久婷自拍视频| 色色色国产| 万月丁香狠狠爱| 成人五月天在线视频在线观看| 天天天天天日| 超碰在线免费9| 婷婷九月丁香| 丁香花狠狠婷婷亚洲中文字幕| www.夜夜夜| 丁香五月自拍| 美女亚洲五月丁香| 六月丁香激情网| www.五月天色色.com| 99爱视频| 人人爽欧美婷婷久久久五月丁香| 人人视频人人干人人做| 9999热在线| 欧美成人热| 亚洲激情五月天| 中文字幕av久久爽一区| 五月婷婷丁香综合| 外国碰视频网站97| 五月天婷婷伊人| 丁香五月色网| 超级碰碰碰97免费| 婷婷99狠狠躁天天躁中文| 色偷偷综合| 婷婷五月天亚洲综合网| 久久色五月天综合网| 九九热视频精品999| 天天插插天天| 九九 激情 网| 婷婷玖玖五月天| 色婷婷电影网| 日本黄色在线观看| 久久99精品久久久久久三级| 五月开心色| WWW色色色COM| 五月情色天| Av免费网站在线| 久久久久er热| www久久久久久| 激情综合网五月| 色色免费网站| av九九| 九九精品在线视频观看| 天天插天天爽| wwccc久久久| 天天干,天天日| 婷婷五月综合啪| 中文字幕丰满乱孑伦无码专区 | 激情綜合W W W,激情五月天| 久99综合婷婷| www.99热| 久久996re热这里只有精品无码| 99在线资源视频| 伊人色综在线| 欧美日本高清视频99| 久久婷婷五月综合啪| 亚洲成人av在线| 久热99| 色99视| 久久99精品久| 99资源在线视频| 丁香五月激情网| 色婷网| 青青热久久综合| 色色网站日本91| 五月天色五月| 亭亭色网| 99在线精品观看99| 天天搞夜夜六| 九九Y精品热播| 亚洲婷婷丁香| 激情综合网络插| 婷婷丁香六月天| 99久久网站| 天天爱天天做天天日| 久久99热这里只频精品6学生| 秋霞网在线观看理论91| 色碰97| 乱码操操| 婷婷 亚洲图片 丁香| 亚洲精品中文字幕成人片| www色色色com| 99er6热在线观看精品6| 大香人妻| 国产亚洲色婷婷久久99精品91| 三级大香蕉网| 在线不卡中文字幕| 搡BBBB搡BBB搡18| 五月丁香六月婷婷久久| 殴美激情综合网| 粉嫩AV久久一区二区三区| 亭亭五月天成人| 新97人人上人人| 草草女人亚洲| 久久色9| 色五月婷婷激情综合网| 999热视频精品99免费在线| 97色天堂| 五月丁香五月天现场视频| 激情伊人网| 99视频自拍| 狠狠色狠狠色综合日日91| 91视频人人做97| 中文字幕网伦射乱中文| 丁香婷婷九月| 丁香婷婷五色月| 91大神操美女| 激情九月婷婷九月| 在线成人网址| www,av好吊操| 97色婷婷| 狠狠色丁香久久婷婷综合五月| 色噜噜狠狠色综合日日| 亚洲AV无码久久精品色欲| 激情综合区| 性爱111111| 日本一级一级一级一级| 激情五月天社区| 天天操天天爽天天爱| 99热丁香五月| 成人国产欧美大片一区| 色色五月天婷婷丁香| 狠狠色精品综合| 久久狠狠欧美| 激情视频综合| 九九色网专区| 亚洲色99| 狠狠摸狠狠摸| 婷婷五月天直播| 色呦呦美女| 亚洲电影中文字幕| 国自产拍偷拍精品啪啪一区二区| 狠狠操狠狠插| 中文字幕 久久9999| 日噜噜色| 丁香五月影| 九九AV在线| 99精吕视频在线观看了| 成人欧美一区二区三区在线观看| www久久久| 91九色精品| 很很色丁香久久停停|