久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

STM32定時(shí)器輸入捕獲驅(qū)動(dòng)設(shè)計(jì):從PWM測(cè)量到多路信號(hào)處理實(shí)戰(zhàn)

STM32定時(shí)器輸入捕獲驅(qū)動(dòng)設(shè)計(jì):從PWM測(cè)量到多路信號(hào)處理實(shí)戰(zhàn) 1. 項(xiàng)目概述PWM輸入捕獲在藍(lán)橋杯嵌入式賽題中的核心地位如果你正在準(zhǔn)備藍(lán)橋杯嵌入式組的比賽那么“PWM輸入捕獲”這個(gè)功能點(diǎn)絕對(duì)是你繞不開、必須啃下的硬骨頭。它不像簡單的GPIO點(diǎn)燈那樣直觀也不像串口通信那樣有現(xiàn)成的輪子PWM輸入捕獲往往隱藏在賽題對(duì)“信號(hào)測(cè)量”、“電機(jī)測(cè)速”、“脈沖計(jì)數(shù)”等需求背后是區(qū)分選手水平的關(guān)鍵技術(shù)點(diǎn)之一。我參加過也指導(dǎo)過多次比賽發(fā)現(xiàn)很多同學(xué)在實(shí)現(xiàn)一路PWM測(cè)量時(shí)還能勉強(qiáng)應(yīng)付但一旦題目要求同時(shí)測(cè)量兩路甚至更多路信號(hào)比如同時(shí)測(cè)量兩個(gè)電機(jī)的轉(zhuǎn)速程序就立刻變得混亂不堪要么測(cè)量不準(zhǔn)要么互相干擾最終導(dǎo)致整個(gè)系統(tǒng)功能崩潰。這個(gè)項(xiàng)目標(biāo)題“一路PWM輸入捕獲和兩路輸入捕獲驅(qū)動(dòng)快速編寫及常見問題”精準(zhǔn)地戳中了備賽過程中的兩大痛點(diǎn)效率和穩(wěn)定性。“快速編寫”意味著我們需要一套清晰、模塊化的驅(qū)動(dòng)框架避免每次比賽都從頭造輪子而“常見問題”則直指那些讓程序跑飛、數(shù)據(jù)跳變的隱蔽陷阱。本文將基于STM32平臺(tái)藍(lán)橋杯嵌入式競(jìng)賽指定平臺(tái)深入拆解PWM輸入捕獲的原理分享一套經(jīng)過實(shí)戰(zhàn)檢驗(yàn)的、可同時(shí)穩(wěn)定驅(qū)動(dòng)一路標(biāo)準(zhǔn)PWM輸入和兩路通用輸入捕獲的驅(qū)動(dòng)代碼框架并附上那些在官方手冊(cè)里找不到的“踩坑”實(shí)錄與解決方案。無論你是初次接觸定時(shí)器捕獲功能還是想優(yōu)化自己的代碼結(jié)構(gòu)這篇文章都能提供直接的、可“抄作業(yè)”的參考。2. 核心思路與方案選型為什么是定時(shí)器輸入捕獲模式在開始寫代碼之前我們必須搞清楚“輸入捕獲”到底是什么以及為什么它是測(cè)量PWM波形的首選方案。PWM脈沖寬度調(diào)制信號(hào)的核心參數(shù)是頻率和占空比。測(cè)量它的方法有很多比如外部中斷配合普通定時(shí)器計(jì)時(shí)或者使用輸入捕獲模式。注意對(duì)于藍(lán)橋杯賽題強(qiáng)烈建議一律使用定時(shí)器的輸入捕獲模式而不是外部中斷軟件計(jì)時(shí)。后者在測(cè)量高頻信號(hào)、多路信號(hào)時(shí)會(huì)大量占用CPU資源并極易因中斷嵌套和響應(yīng)延遲導(dǎo)致測(cè)量誤差巨大屬于事倍功半的方案。輸入捕獲模式的精妙之處在于它將“檢測(cè)邊沿”和“記錄時(shí)刻”這兩件事全部交給了定時(shí)器硬件自動(dòng)完成。其工作原理可以概括為當(dāng)指定的輸入引腳上發(fā)生預(yù)設(shè)的邊沿事件如上升沿時(shí)定時(shí)器硬件會(huì)瞬間將當(dāng)前計(jì)數(shù)器的值CNT鎖存到專用的捕獲/比較寄存器CCRx中并可以產(chǎn)生中斷。我們只需要在中斷服務(wù)函數(shù)中讀取兩次捕獲到的計(jì)數(shù)器值它們的差值就代表了兩個(gè)邊沿之間的時(shí)間間隔再乘以計(jì)數(shù)器的時(shí)鐘周期就能得到高電平或低電平的脈寬。對(duì)于一路標(biāo)準(zhǔn)PWM輸入捕獲STM32的定時(shí)器提供了一個(gè)“PWM輸入模式”這實(shí)際上是輸入捕獲模式的一個(gè)特殊應(yīng)用。它利用了兩個(gè)捕獲通道通常是CH1和CH2一個(gè)捕獲上升沿一個(gè)捕獲下降沿并且自動(dòng)將兩個(gè)通道關(guān)聯(lián)到同一個(gè)輸入引腳。這樣在一次捕獲周期內(nèi)硬件自動(dòng)完成了周期和占空比的測(cè)量非常高效。但它的限制是一個(gè)定時(shí)器只能測(cè)量一路PWM信號(hào)。當(dāng)賽題要求同時(shí)測(cè)量兩路輸入信號(hào)可以是兩路PWM也可以是兩路頻率信號(hào)時(shí)PWM輸入模式就不夠用了。這時(shí)我們需要回歸到基礎(chǔ)的兩路獨(dú)立輸入捕獲方案。通常有兩種配置思路單定時(shí)器雙通道使用一個(gè)定時(shí)器的兩個(gè)捕獲通道如CH1和CH2分別捕獲兩路不同的輸入信號(hào)。這種方法硬件資源利用率高但兩路信號(hào)共享同一個(gè)計(jì)數(shù)器基準(zhǔn)需要注意中斷邏輯和資源競(jìng)爭(zhēng)。雙定時(shí)器使用兩個(gè)獨(dú)立的定時(shí)器各自負(fù)責(zé)一路信號(hào)的捕獲。這種方法邏輯清晰互不干擾但消耗的定時(shí)器資源較多。在藍(lán)橋杯競(jìng)賽中CT117E開發(fā)板資源有限我們需要精打細(xì)算。我的實(shí)戰(zhàn)經(jīng)驗(yàn)是如果兩路信號(hào)需要非常精確的同步測(cè)量或者頻率較高優(yōu)先考慮方案2雙定時(shí)器。如果資源緊張且兩路信號(hào)測(cè)量要求相對(duì)獨(dú)立方案1單定時(shí)器雙通道經(jīng)過精心設(shè)計(jì)后也能穩(wěn)定工作。下文將分別給出這兩種場(chǎng)景下的驅(qū)動(dòng)實(shí)現(xiàn)。3. 驅(qū)動(dòng)框架設(shè)計(jì)與模塊化思想直接寫一堆混雜在main.c里的中斷服務(wù)函數(shù)是備賽大忌。一個(gè)好的驅(qū)動(dòng)框架應(yīng)該達(dá)到以下目標(biāo)接口清晰、配置靈活、與業(yè)務(wù)邏輯解耦。我們將驅(qū)動(dòng)分為三個(gè)層次硬件抽象層HAL/LL庫配置利用STM32CubeMX生成初始化代碼或直接編寫寄存器/標(biāo)準(zhǔn)庫代碼完成GPIO、定時(shí)器、中斷的底層配置。驅(qū)動(dòng)接口層封裝核心的捕獲邏輯提供諸如PWM_In_Start()、PWM_In_GetFreq()、PWM_In_GetDuty()等函數(shù)。這一層負(fù)責(zé)處理原始計(jì)數(shù)器值計(jì)算頻率和占空比并管理捕獲狀態(tài)機(jī)。應(yīng)用層調(diào)用驅(qū)動(dòng)接口層的函數(shù)獲取測(cè)量結(jié)果用于屏幕顯示、邏輯判斷或控制輸出。這里重點(diǎn)分享驅(qū)動(dòng)接口層的設(shè)計(jì)。我們需要定義幾個(gè)關(guān)鍵的結(jié)構(gòu)體和全局變量來管理捕獲狀態(tài)。// PWM輸入捕獲結(jié)構(gòu)體 (用于標(biāo)準(zhǔn)PWM輸入模式一路) typedef struct { TIM_HandleTypeDef *htim; // 定時(shí)器句柄 uint32_t IC_Channel; // 輸入捕獲通道 volatile uint32_t period; // 周期值 (單位: 定時(shí)器計(jì)數(shù) ticks) volatile uint32_t pulse; // 高電平脈寬值 (單位: 定時(shí)器計(jì)數(shù) ticks) volatile float freq_hz; // 計(jì)算后的頻率 (Hz) volatile float duty_cycle; // 計(jì)算后的占空比 (%) volatile uint8_t is_updated; // 數(shù)據(jù)更新標(biāo)志 } PWM_In_Capture_t; // 通用輸入捕獲結(jié)構(gòu)體 (用于兩路獨(dú)立捕獲模式) typedef struct { TIM_HandleTypeDef *htim; uint32_t IC_Channel_Rising; // 上升沿捕獲通道 uint32_t IC_Channel_Falling; // 下降沿捕獲通道 (若只測(cè)頻率可只用一個(gè)) volatile uint32_t last_capture_rise; // 上一次上升沿捕獲值 volatile uint32_t last_capture_fall; // 上一次下降沿捕獲值 volatile uint32_t period_ticks; // 周期計(jì)數(shù) volatile uint32_t pulse_ticks; // 脈寬計(jì)數(shù) volatile uint8_t capture_stage; // 捕獲階段狀態(tài)機(jī) (0:等待上升沿, 1:已捕獲上升沿等下降沿...) volatile uint8_t is_valid; // 本次測(cè)量是否有效 } Dual_Input_Capture_t;使用結(jié)構(gòu)體的好處是當(dāng)需要管理多路捕獲時(shí)比如一路PWM輸入兩路獨(dú)立捕獲你可以輕松定義多個(gè)實(shí)例例如PWM_In_Capture_t pwm1;和Dual_Input_Capture_t cap1, cap2;代碼結(jié)構(gòu)非常清晰。4. 一路標(biāo)準(zhǔn)PWM輸入捕獲的快速實(shí)現(xiàn)我們以STM32的TIM2定時(shí)器通道1PA0引腳為例實(shí)現(xiàn)標(biāo)準(zhǔn)PWM輸入模式。使用STM32CubeMX配置最為快捷將PA0配置為TIM2_CH1。打開TIM2選擇“PWM Input Mode”。你會(huì)發(fā)現(xiàn)CH1和CH2會(huì)被自動(dòng)配置。CH1被映射到TI1輸入用于觸發(fā)CH2被用于捕獲。配置預(yù)分頻器PSC和自動(dòng)重載值A(chǔ)RR。這是關(guān)鍵ARR的值決定了你能測(cè)量的最大周期。例如定時(shí)器時(shí)鐘為72MHzPSC設(shè)為71則計(jì)數(shù)器時(shí)鐘為1MHz1us計(jì)數(shù)一次。若ARR設(shè)為65535則最大可測(cè)周期為65.535ms對(duì)應(yīng)最小頻率約15.26Hz。你需要根據(jù)賽題信號(hào)的可能范圍來調(diào)整這兩個(gè)參數(shù)。開啟定時(shí)器更新中斷和捕獲/比較中斷。生成的初始化代碼后我們編寫中斷服務(wù)函數(shù)和驅(qū)動(dòng)接口。核心邏輯在HAL_TIM_IC_CaptureCallback()這個(gè)回調(diào)函數(shù)中。// 全局PWM捕獲結(jié)構(gòu)體實(shí)例 PWM_In_Capture_t g_pwm_in; void PWM_In_Init(TIM_HandleTypeDef *htim) { g_pwm_in.htim htim; g_pwm_in.is_updated 0; // 啟動(dòng)輸入捕獲使用HAL庫通道2用于捕獲 HAL_TIM_IC_Start_IT(htim, TIM_CHANNEL_2); // 啟動(dòng)從模式下的觸發(fā)輸入通道1 HAL_TIM_IC_Start(htim, TIM_CHANNEL_1); } // 定時(shí)器輸入捕獲中斷回調(diào)函數(shù) void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim) { if (htim-Instance g_pwm_in.htim-Instance) { // 讀取捕獲值 uint32_t capture HAL_TIM_ReadCapturedValue(htim, TIM_CHANNEL_2); if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC2OF)) { // 發(fā)生了捕獲溢出說明兩次中斷之間CPU太忙沒來得及處理數(shù)據(jù)可能不可靠 __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_CC2OF); // 可以在這里設(shè)置一個(gè)錯(cuò)誤標(biāo)志 } // 判斷是上升沿還是下降沿捕獲在PWM輸入模式下硬件自動(dòng)設(shè)置。 // 通常我們直接利用兩次連續(xù)捕獲值來計(jì)算周期和脈寬。 // 更穩(wěn)健的做法是結(jié)合定時(shí)器溢出次數(shù)來計(jì)算長周期。 static uint32_t last_capture 0; uint32_t diff 0; if (last_capture ! 0) { // 計(jì)算差值注意計(jì)數(shù)器溢出 if (capture last_capture) { diff capture - last_capture; } else { diff (htim-Instance-ARR 1) - last_capture capture; } // 判斷是周期還是脈寬在PWM輸入模式下硬件會(huì)將TI1的上升沿和下降沿分別路由到CH1和CH2。 // 但HAL庫的回調(diào)不區(qū)分邊沿。一個(gè)更清晰的方案是在CH1和CH2的中斷里分別處理。 // 這里提供一個(gè)簡化的、在CH2中斷中處理的計(jì)算思路假設(shè)信號(hào)穩(wěn)定 // 我們連續(xù)記錄三次捕獲值差值1是脈寬差值2是周期-脈寬。 static uint32_t cap_buf[3] {0}; static uint8_t idx 0; cap_buf[idx] capture; if (idx 3) idx 0; // 當(dāng)緩沖區(qū)有3個(gè)有效值時(shí)進(jìn)行計(jì)算 if (cap_buf[0] ! 0 cap_buf[1] ! 0 cap_buf[2] ! 0) { uint32_t diff1 (cap_buf[1] cap_buf[0]) ? (cap_buf[1] - cap_buf[0]) : (htim-Instance-ARR 1 - cap_buf[0] cap_buf[1]); uint32_t diff2 (cap_buf[2] cap_buf[1]) ? (cap_buf[2] - cap_buf[1]) : (htim-Instance-ARR 1 - cap_buf[1] cap_buf[2]); // 通常較小的差值是脈寬高電平較大的是低電平寬度 g_pwm_in.pulse (diff1 diff2) ? diff1 : diff2; g_pwm_in.period diff1 diff2; // 一個(gè)完整周期 // 轉(zhuǎn)換為實(shí)際物理量 float timer_clk 72000000.0f / (htim-Instance-PSC 1); // 計(jì)算定時(shí)器計(jì)數(shù)頻率 g_pwm_in.freq_hz timer_clk / g_pwm_in.period; g_pwm_in.duty_cycle (g_pwm_in.pulse * 100.0f) / g_pwm_in.period; g_pwm_in.is_updated 1; // 設(shè)置更新標(biāo)志 } } last_capture capture; } } // 應(yīng)用層獲取數(shù)據(jù)的函數(shù) uint8_t PWM_In_GetValues(float *freq, float *duty) { if (g_pwm_in.is_updated) { *freq g_pwm_in.freq_hz; *duty g_pwm_in.duty_cycle; g_pwm_in.is_updated 0; // 清除標(biāo)志 return 1; // 成功獲取新數(shù)據(jù) } return 0; // 數(shù)據(jù)未更新 }實(shí)操心得PWM輸入模式雖然方便但其中斷回調(diào)邏輯容易混淆。上述代碼中利用環(huán)形緩沖區(qū)計(jì)算周期和脈寬的方法比較穩(wěn)健。更推薦的做法是直接使用寄存器級(jí)別操作在TIMx_IRQHandler中根據(jù)捕獲標(biāo)志位如TIM_FLAG_CC1、TIM_FLAG_CC2來分別處理上升沿和下降沿這樣邏輯最清晰效率也最高。HAL庫的通用回調(diào)函數(shù)有時(shí)會(huì)掩蓋這些細(xì)節(jié)。5. 兩路獨(dú)立輸入捕獲的驅(qū)動(dòng)實(shí)現(xiàn)當(dāng)需要測(cè)量兩路獨(dú)立信號(hào)時(shí)我們采用單定時(shí)器雙通道的方案例如TIM3的CH1和CH2演示如何測(cè)量頻率。如果需要占空比則需要每個(gè)信號(hào)占用兩個(gè)捕獲通道。配置要點(diǎn)以TIM3_CH1-PA6 TIM3_CH2-PA7為例配置PA6、PA7為復(fù)用功能映射到TIM3_CH1和CH2。配置TIM3設(shè)置合適的PSC和ARR。將兩個(gè)通道都配置為輸入捕獲模式邊沿選擇為“上升沿”。開啟兩個(gè)通道的捕獲中斷以及定時(shí)器更新中斷。驅(qū)動(dòng)層實(shí)現(xiàn)關(guān)鍵我們需要兩個(gè)獨(dú)立的結(jié)構(gòu)體實(shí)例并在中斷中根據(jù)通道號(hào)來區(qū)分和處理。Dual_Input_Capture_t g_cap_ch1 g_cap_ch2; void Dual_Input_Capture_Init(TIM_HandleTypeDef *htim) { // 初始化結(jié)構(gòu)體 g_cap_ch1.htim htim; g_cap_ch1.IC_Channel_Rising TIM_CHANNEL_1; g_cap_ch1.capture_stage 0; g_cap_ch1.is_valid 0; g_cap_ch2.htim htim; g_cap_ch2.IC_Channel_Rising TIM_CHANNEL_2; g_cap_ch2.capture_stage 0; g_cap_ch2.is_valid 0; // 啟動(dòng)兩個(gè)通道的輸入捕獲中斷 HAL_TIM_IC_Start_IT(htim, TIM_CHANNEL_1); HAL_TIM_IC_Start_IT(htim, TIM_CHANNEL_2); // 啟動(dòng)定時(shí)器 HAL_TIM_Base_Start(htim); } // 輸入捕獲中斷回調(diào) void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim) { if (htim-Instance TIM3) { // 判斷是哪個(gè)通道的中斷 if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC1) ! RESET) { __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_CC1); _process_capture(g_cap_ch1, TIM_CHANNEL_1); } if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC2) ! RESET) { __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_CC2); _process_capture(g_cap_ch2, TIM_CHANNEL_2); } } } // 定時(shí)器更新中斷溢出中斷回調(diào)用于處理長周期測(cè)量 void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { if (htim-Instance TIM3) { // 為每個(gè)通道的溢出計(jì)數(shù)加一如果結(jié)構(gòu)體里有這個(gè)字段的話 // g_cap_ch1.overflow_count; // g_cap_ch2.overflow_count; } } // 內(nèi)部處理函數(shù) static void _process_capture(Dual_Input_Capture_t *cap, uint32_t channel) { uint32_t current_capture HAL_TIM_ReadCapturedValue(cap-htim, channel); switch (cap-capture_stage) { case 0: // 第一次捕獲到上升沿 cap-last_capture_rise current_capture; cap-capture_stage 1; break; case 1: // 第二次捕獲到上升沿計(jì)算周期 if (current_capture cap-last_capture_rise) { cap-period_ticks current_capture - cap-last_capture_rise; } else { // 發(fā)生了計(jì)數(shù)器溢出需要結(jié)合溢出次數(shù)計(jì)算這里簡化處理 cap-period_ticks (cap-htim-Instance-ARR 1) - cap-last_capture_rise current_capture; } cap-last_capture_rise current_capture; // 更新為新的上升沿 // 計(jì)算頻率 float timer_clk 72000000.0f / (cap-htim-Instance-PSC 1); cap-freq_hz timer_clk / cap-period_ticks; cap-is_valid 1; // 標(biāo)記數(shù)據(jù)有效 // 狀態(tài)機(jī)可以保持在1等待下一個(gè)上升沿繼續(xù)計(jì)算周期 break; } } // 應(yīng)用層獲取通道1頻率 uint8_t Dual_Input_GetFreq_CH1(float *freq) { if (g_cap_ch1.is_valid) { *freq g_cap_ch1.freq_hz; g_cap_ch1.is_valid 0; // 讀取后清除標(biāo)志 return 1; } return 0; } // 同理實(shí)現(xiàn)GetFreq_CH2注意事項(xiàng)上述兩路捕獲代碼共享同一個(gè)定時(shí)器計(jì)數(shù)器。這意味著如果兩路信號(hào)頻率相差很大高頻信號(hào)的中斷可能會(huì)頻繁打斷低頻信號(hào)的處理但測(cè)量值本身捕獲的CNT值是硬件鎖存的所以頻率測(cè)量值仍然是準(zhǔn)確的。主要影響是CPU中斷負(fù)荷。如果兩路信號(hào)頻率都很高需要考慮使用DMA進(jìn)行捕獲或者使用兩個(gè)定時(shí)器來徹底隔離。6. 常見問題、調(diào)試技巧與避坑指南在實(shí)際編寫和調(diào)試過程中你會(huì)遇到各種各樣的問題。下面是我總結(jié)的“血淚”清單問題1測(cè)量值跳動(dòng)非常大完全不準(zhǔn)??赡茉駻定時(shí)器時(shí)鐘和分頻設(shè)置錯(cuò)誤。這是最常見的問題。務(wù)必確認(rèn)HCLK、APB1/APB2的時(shí)鐘頻率以及定時(shí)器所在的總線。STM32中如果APBx預(yù)分頻系數(shù)不為1掛載在其上的定時(shí)器時(shí)鐘會(huì)倍頻。最穩(wěn)妥的方法是在代碼中打印出SystemCoreClock以及htim-Instance-PSC的值手動(dòng)計(jì)算計(jì)數(shù)頻率。可能原因BARR值設(shè)置過小。如果輸入信號(hào)的周期大于定時(shí)器計(jì)數(shù)器溢出一次的時(shí)間就會(huì)發(fā)生溢出。你需要確保ARR設(shè)置得足夠大使得(ARR1) / 計(jì)數(shù)器頻率 待測(cè)信號(hào)最大周期。或者你必須開啟定時(shí)器更新中斷在中斷中記錄溢出次數(shù)在計(jì)算時(shí)結(jié)合溢出次數(shù)和捕獲值??赡茉駽GPIO引腳復(fù)用錯(cuò)誤。檢查原理圖確認(rèn)你使用的引腳確實(shí)支持該定時(shí)器的該通道。使用CubeMX檢查引腳配置沖突。問題2只能捕獲到第一次邊沿之后再也進(jìn)不了中斷??赡茉蛑袛鄻?biāo)志未清除。在中斷服務(wù)函數(shù)中讀取捕獲值后必須清除對(duì)應(yīng)的捕獲/比較中斷標(biāo)志位。使用HAL庫時(shí)HAL_TIM_IRQHandler會(huì)幫你清除但如果你像上面示例那樣直接操作標(biāo)志位就必須手動(dòng)清除TIM_FLAG_CCx。忘記清標(biāo)志是導(dǎo)致中斷只觸發(fā)一次的經(jīng)典錯(cuò)誤。問題3兩路捕獲互相干擾一路有信號(hào)另一路就沒數(shù)據(jù)??赡茉蛑袛鄡?yōu)先級(jí)沖突或處理時(shí)間過長。確保兩路捕獲中斷的優(yōu)先級(jí)設(shè)置正確默認(rèn)都是0。如果在一路捕獲的中斷處理函數(shù)中進(jìn)行了非常耗時(shí)的操作如浮點(diǎn)計(jì)算、LCD刷新可能會(huì)導(dǎo)致另一路中斷被延遲響應(yīng)甚至丟失。解決方案是中斷里只做最必要的事記錄捕獲值、設(shè)置標(biāo)志將復(fù)雜的計(jì)算如換算為頻率、占空比放到主循環(huán)或低優(yōu)先級(jí)任務(wù)中。問題4測(cè)量低頻信號(hào)如1Hz以下誤差大。原因與解決低頻信號(hào)周期長ARR必須設(shè)置得非常大這會(huì)降低計(jì)數(shù)分辨率。更嚴(yán)重的是計(jì)數(shù)器可能會(huì)溢出多次。必須開啟定時(shí)器更新中斷并維護(hù)一個(gè)“溢出計(jì)數(shù)器”。計(jì)算周期時(shí)周期 溢出次數(shù) * (ARR1) 本次捕獲值 - 上次捕獲值。這是測(cè)量低頻信號(hào)的標(biāo)配操作。問題5使用HAL庫的HAL_TIM_IC_CaptureCallback無法區(qū)分是哪一路通道的中斷。解決這正是HAL庫封裝帶來的一個(gè)小麻煩。推薦的方法是不完全依賴這個(gè)通用回調(diào)。你可以重寫定時(shí)器的全局中斷服務(wù)函數(shù)TIMx_IRQHandler在里面先調(diào)用HAL_TIM_IRQHandler(htimx)然后立即檢查具體的中斷標(biāo)志位進(jìn)行后續(xù)處理。或者像本文示例一樣在HAL_TIM_IC_CaptureCallback中再通過__HAL_TIM_GET_FLAG來主動(dòng)判斷是哪個(gè)通道觸發(fā)的。調(diào)試技巧利用示波器這是最直接的調(diào)試工具。用示波器觀察輸入引腳的波形確認(rèn)信號(hào)是否真的到達(dá)單片機(jī)其電壓、頻率、占空比是否在預(yù)期范圍內(nèi)。軟件仿真在Keil或STM32CubeIDE的調(diào)試模式下使用邏輯分析儀功能Signal Trace可以模擬輸入PWM信號(hào)并觀察捕獲寄存器的變化非常適合驗(yàn)證底層驅(qū)動(dòng)邏輯。打印調(diào)試信息通過串口將關(guān)鍵的中間變量打印出來比如捕獲的原始計(jì)數(shù)器值、計(jì)算出的周期ticks等。這能幫你定位問題是發(fā)生在硬件捕獲階段還是軟件計(jì)算階段。7. 進(jìn)階優(yōu)化與資源管理策略當(dāng)賽題功能越來越復(fù)雜系統(tǒng)資源定時(shí)器、中斷變得緊張時(shí)我們需要更精細(xì)的策略。策略一DMA定時(shí)器捕獲對(duì)于需要極高頻率、連續(xù)不斷采集脈沖的應(yīng)用如高速編碼器可以使用DMA將捕獲寄存器的值自動(dòng)搬運(yùn)到內(nèi)存數(shù)組中。CPU只需要在數(shù)組半滿或全滿時(shí)處理一批數(shù)據(jù)大大降低了中斷頻率。這在藍(lán)橋杯高級(jí)應(yīng)用中可能會(huì)遇到。策略二輸入捕獲與輸出PWM共用定時(shí)器一個(gè)定時(shí)器有多個(gè)通道可以同時(shí)用于輸入捕獲和輸出PWM。例如用TIM2的CH1做PWM輸出控制電機(jī)用CH2做輸入捕獲測(cè)量另一路信號(hào)。關(guān)鍵點(diǎn)在于PWM輸出和輸入捕獲的時(shí)鐘源、預(yù)分頻、計(jì)數(shù)模式必須一致。通常配置為向上計(jì)數(shù)PWM輸出模式1/2。這樣做可以節(jié)省一個(gè)定時(shí)器資源。策略三低功耗下的捕獲考慮如果設(shè)備有低功耗要求在測(cè)量間歇性信號(hào)時(shí)可以讓定時(shí)器在無信號(hào)時(shí)停止由外部中斷喚醒并啟動(dòng)定時(shí)器進(jìn)行捕獲。這需要對(duì)定時(shí)器的從模式、觸發(fā)源有更深的理解。資源分配建議針對(duì)CT117E板TIM2/TIM3/TIM4通用定時(shí)器功能齊全PWM、輸入捕獲、編碼器接口等是主力。TIM1/TIM8高級(jí)定時(shí)器功能更強(qiáng)帶死區(qū)控制等適合復(fù)雜的電機(jī)控制但資源更寶貴。基本定時(shí)器TIM6/TIM7只能用于基本定時(shí)不能做輸入捕獲。 在規(guī)劃時(shí)優(yōu)先把需要輸入捕獲的功能分配到通用定時(shí)器上并提前規(guī)劃好各通道的用途避免沖突。最后驅(qū)動(dòng)代碼的穩(wěn)定性和效率最終要靠大量的測(cè)試來驗(yàn)證。建議你建立一個(gè)簡單的測(cè)試用例用另一個(gè)定時(shí)器產(chǎn)生已知頻率和占空比的PWM信號(hào)輸入到你的捕獲引腳然后驗(yàn)證測(cè)量結(jié)果是否準(zhǔn)確。通過反復(fù)的“產(chǎn)生-測(cè)量-比對(duì)”循環(huán)你能最快地定位和解決驅(qū)動(dòng)中的問題。把這些模塊調(diào)試穩(wěn)定后封裝成獨(dú)立的.c/.h文件它們就會(huì)成為你應(yīng)對(duì)藍(lán)橋杯嵌入式賽題的可靠武器庫。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色吧五月| 人人干人人操人人爱| 欧美一区二区情色| 国产亚洲精品自在线亚洲情侣 | 日韩av乱伦| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 日韩亚洲欧美中文字幕| 熟女高潮精品一区二区| 久久久久久久久久久999| 天天干美少妇一区| 亚洲无码AV九九九| 欧美日韩国产三级黄色| 亚洲巨爆乳一区二区三区四季网| 好吊色综合| 色五月AV在线| 一区二区三区无卡视频在线观看| 精爱久久| 夂久色| 在线国产福利网址导航| 国产东北女人在线视频| 亚洲本色精品一区二区久久| 国产suv一区二区三区6| 人妻无码一区二区三区久久99| 密臀在线免费观看| 久久99操天天日| 久久亚洲精品成人av| 久久精品午夜国产亚洲AV无码| 国产激情在线| 日日干日日摸| 97欧美色| 五十路人妻在线| 操B久久| 久久久久久久极品香蕉视频| 色激情五月天| 国产精品熟女乱伦| 九九无码视频| 欧美午夜视频精品久久| 国产精品无码久久久久2028| 青青伊人这里只有精品| 一级@啪啪视频| 13小男生GAY自慰脱裤子| 亚洲女人91| 亚洲激情深爱文学小说网站| 久久久免费懂色| 97资源免费视频| 九热大香蕉| 中文字幕丝袜美腿| 人妻一区久久二区三区色播| 亚洲免费日韩在线一区二区| 97超碰无码网| 国产农村妇女精品1区二区| 精品 码产区一区二-1080P高清在线www-B029AV| 精品二区三四区五电影 | 亚洲国产综合图区中文字幕| 欧美在线天堂| a'v在线资源| 99久久精品国产系列| 欧美色狠| 98人妻精品一区二区色欲| 亚洲欧美另类图片| 好爽视频在线观看视频| 亚洲精品国语在线播放| 综合伊人网12色| 91精品国产91久久青草| 2024黄色视频| 大香蕉乱级| 老外又粗又长一晚做五次| 亚洲一区日韩精品中文字幕| 成人免费毛片| www色色色com| 亚洲射综合网| 亚洲和欧美裸体美女双飞视频| 1000午夜黄色| 亚洲清纯综合| 丁香婷婷五月| 看大黄色大片原件| 久久久亚洲高清不打码| 国产剧情AV不卡在线观看| 国产无马视频| 99热亚洲| 欧美日韩国第一区| 亚洲天天影视综合网| 精品久久九| 国产精品色| 欧美97免费| 亚洲中文字幕熟女少妇一区二区| 国产一区二区成人av在线播放| 精品欧美А∨无码黑人大荫蒂| 日韩 欧美 视频 在线 一区| 国产一区二区三区精品观看啪| 性一交一乱一交A片久久四色| 色嘟嘟人妻天堂网| 夜夜狠狠躁日日躁色视频| 亚洲一区二区 麻豆传媒| 久久少妇人妻| 欧美伊人电影| 国产福利电影| 国产高清无码一区二区三区四区皇冠| www.色婷婷| 婷婷伊人一区| 中文字幕免费在线观看| 久9re热视频这里只有精品| 69少妇一区二区| 欧美日韩中文亚洲v在线综合| 久久丁香| 性欧美精| 屁股久久久久久| 成人av毛片在线观看| 熟女乱伦A| 天天躁日日躁AAA片李宗瑞| 中文字幕五区| www.91欧美| 亚洲日本大香蕉1| 久久人妻| 欧美东京热精品A∨| 婷婷五月色| 热久久99999| 一区二区播放| 摸奶性爱视频网站在线免费播放| 色婷婷av在线观看| 9 9无尺码天堂网| 日韩无码第3页| 亚洲AV无码乱码| 亚洲av无码成人精品国产| 欧美熟妇视频 | 国内亚洲精彩视频在线| 国产精品久久久亚洲一区| 男人把坤坤插入女人的下体| 国产精品国产精品国产| 中文字幕aⅴ在线视频| 后入美女国产| 久久↗↗| 欧美色www亚洲国产阿娇要播| 久久一区二区高清免费| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 色香阁在线| 精品国产乱码久久久兰草影视| 91女日逼| 国产大学生口爆吞精合集| 淫妻综合网| 国产乱码久久久久久| 久久久久久97| 国产成人网站在线观看| 91爱看| 综合网 欧美| 强歼乱伦资源网| 色性荡荡荡荡视频| 麻豆一区二区三区在线看 | 亚洲三级网址久久最新| 亚洲美女精品九九视频| 插日本熟女视频| 男人的天堂.com| 久久久啊啊啊| 去干网最新版| 国产精品丝袜久久亚洲不卡| 人妻精品视频一区二区三区| 九九黄色网| 97AV在线免费观看| 99亚洲国产精品色一区二区三区| 六月婷婷激情| 超碰吊日色| 国产69精品久久久久99尤物| 青草香蕉网| 天天日天天干天天操| 亚洲精品亚洲人成人网| 亚洲天天精品| 爱做久久久久久| 欧美综合制服在线| 久草电影网| 亚洲高清无毛一区二区| 久久久久国产亚洲一区欧美色图日韩| 日天天九九天堂666| 一区二区三区成人高清视频| 啊啊啊不要啊啊受不了了视频在线| 久久久久久9| 九九综合色| 91精品操美女| 一区二区三区欧美激情| 日本中文字幕熟妇| 一级免费啪啪片| 久久久噜噜噜久久人妻| 大香网站| 久久熟女精品不卡一区| 在线观看av区| 天堂亚洲精品| 99碰碰| 18禁久久| 成人在线视频网| 久操| 亚洲最大网站av| 偷拍2020| 亚洲成人无码影院| 在线小说视频一区| 国产在线精品偷| 久久久久久少妇| AV不卡在线| 人人摸人人舔一区二区| 日日碰狠狠添天天爽超| 老司机香蕉| 色色99| 香蕉人欧美综合| 精品四五区| 综合另类| 天天碰操中国年青熟妇| 国产女人和拘做爰视频 | 欧美探花网| 9久久美女首页| 国产强奸乱伦xd| 人妻熟女一区二区三区在线| 人人妻人射| 亚州Av天美传媒| 精品毛片久久久精品毛片| 综合熟妇一区二区三区| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 乱伦图一区| 91美女高潮| 亚洲中文字幕精品久久久久久直播| 成人九九| 美中韩AV综合网| 国产精品高潮久久久无码| 亚洲男人的天堂V| 高清国产性猛交xxxx乱大交| 日韩有码回春沙龙第一页| 亚洲精品日日夜夜52| 国产又粗又长的视频| 神马午夜久久| 欧美 综合 亚洲| 亚洲aV性爱| 96麻豆精品一区二区三区| 人人操肉肉| 秋霞网—男女啪啪亚洲免费体验区| 狠狠操官网| 亚州性色| 东京热AV男人的天堂| 激情久久久| 国产1024在线播放| 91操人| 夜夜做夜夜爽精品视频| 欧美日韩国产中文超碰| A 在线网址| 久久久久久九九九九九九| 99视频内射三四| 国产精品人妻无码久久久老鸭窝| 91男同| 日本九九九九| 人人干人人操人人爱| 精品中文日韩字幕视频| 久久精品国产精品亚洲艾通辽熟妇 | 欧美日韩中文亚洲v在线综合| 热热色中文无码| 成人日本精品九区| 精品成人av一区二区三区在线| 97超碰人妻| 欧美精品 - 91爱爱| 在线观看综合精品亚洲| 综合伊人网12色| 限制级中的三级片中的黑粗大屌屌日人妻熟女| 成年女人一区| 日本五十路熟女一区二区| 青草一区二区| 久久精品人妻一区二区三区| 亚洲精品97在线| 中文字幕日韩人妻视频一区二区三区 | 色月天AV导航| 久久香蕉综合一本到3atv| 国产乱子伦一区二区三区在线观看| 日本大香蕉| 日本久久网| 欧美精品一区二区少妇免费A片 | 日本中文字幕在线电影| 人妻一二三区| 国产日韩精品suv| 色九色久| 无码人妻精品一区二区三区九九| 91在线美女| 天天干人妇| 中文字幕精品免费一区二区| 抽插亚洲无码| 亚洲色图自拍| 蜜臀人妻少妇久久在线观看| 九色 人妻 大香蕉| 久久 国产精品 一区| 7777奇米影视久久| 久久男人天堂| 天天肏夜夜肏| 中国熟女91| 中文字幕视频2区| 丁香五月色| 乱伦Av网| 欧美精品日韩久久久九| 99久久亚洲精品无码毛片潘甜甜 | 成人黄页| 婷婷五月天久久精品视频一区二区三区| 日亚韩精品视频二区三| 操逼免费视频无码国产| 亚洲乱码精品一区二区| 一本久道久久综合狠狠爱一密臀精 | 玖玖爱在线视频免费观看| 后入人妻无码| 天天影视之亚洲综合网| 加勒比五月天| 五月开心久久AV官网| 91暧暧| 久久怡红院| 欧美精品久久久久久久久88| 亚洲高清无码在线桃色| 免费一级精品啪啪视频| 伊人网免费视频| 中文字幕乱码在线| 91麻豆天美传媒在线| 国产黑白丝在线| 亚洲偷拍欧美激情| 夜夜青青无码影院| 久久久久无码一妻区| 国产精品网站免费| 麻豆影音天美视频| 性色高清在线| 夜夜高潮夜夜爽高清视频一| 97亚洲一区| 婷婷亚洲中文字幕在线| 日日夜夜狠狠| 久久99久久99精品免视看婷婷| 欧日a| 在线强奷到舒服的无码视频| 玖玖爱免费观看视频| 亚洲国产一区二区入口| 少妇人妻太紧太深av| 国产精品点击进入在线影院| 日本黄色精品专区网站| 色屁屁影院www国产| 日本在线观看网址| 影音先锋新男人| 免费自拍三级综合| 高清国产成人无码| 大香蕉强奸乱伦| 午夜福利在线合集| 亚洲AV无码国产精品久久久久 | 亚洲成aⅴ人片不卡无码| 国产辣妈在线视频福利| 最新国内自拍av免费| 久久久99免费| www.91逼逼.com| 欧美日韩国产中文精品字幕自在自线| 亚洲Av无码成人精品国产| 日韩一级片在线看| 五月综合色| 欧美性天天影视| 色噜噜人妻av 中文字幕| 91肏屄网| 日韩精品大香蕉伊人在线| 超碰久久网| 97在线亚洲| 成人无码欧美一级A片狼牙直播| 精品传媒在线一区| 国产欧美日本亚洲精品| 先锋色眉乱伦资源| 亚洲成?V人片在线观看福利| 97五月天| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 日韩操逼性鲍| 久久精品国产亚洲AV嘿嘿| 综合欧美日韩在线观看| 夜夜操狠狠操| 国产夜夜艹| 婷婷另类小说| 久久风骚城市| 男人的天堂2019| 欧美日韩性爱电影在线| 久草视频分类在线| 成年男人的天堂| 一本一首道人妻少妇免费久久| 麻豆传媒一区二区在线观看| 91欧美综合| 成年人网站在线免费观看| 国产高清免费不卡av| 国产精品午夜高潮呻吟久久av| 狠狠操天天干| 97免费视频网| 久久婷婷一区| 无码人妻一区二区三区色欲aⅴ| 插穴性爱视频在线观看| 91精品91久久久中77777| 亚洲乱色视频一区、二区在线| 欧美日韩青操| 九九草| 免费观看性欧美一级| 天天干夜夜一操| 色色99| 亚洲情色在线| 国产又粗又长又大的视频| 日本一级特级毛片视频| 网页导航五月天免费一二三区| 99久久精品国产高潮| 欧美国产婷婷久久| 一类无码操逼视频| 狠狠干,狠狠操| 2000亚洲男人天堂| 午夜男人的天堂| 性爱视频无打码在线观看| 亚洲精品日日夜夜52| 韩国轻伦国内自拍一区| 热G综合热G中文| 欧美日韩插逼视频| 国产精品亚洲一区二区三区四区| 香一区二区三区| 午夜精品久久久99热蜜桃的功能特点| 精品人妻一区二区三区日产乱码| 强奸乱伦av电影| 嗯阿好爽好紧| 亚洲天天更新| 激情接吻视频久久久久久| 91超碰人人| 天天综合,91入口| 无码久久国产 | 亚洲综合射| 久久精品一区二区三区四区五区| 一区二区三区免费岛国片| 看看小穴| 少妇无码999| 淫荡熟女乱伦网| 午夜男人天堂| 色老大| 又粗又长又爽在线观看| 啪啪91| 丰满欧美放荡少妇在线| 人人操我人人干| 欧美第一页性| 啊啊啊啊免费视频| 乱伦3P视频| 免费网色网站| 涩综合导航| 极品五月天噜噜| 青女偷拍网| 99久久e免费热视| 成人老鸭窝人人在线视频| 91久| 九九久久99| 视频二区熟女人妻| 国产成人精品无码久久| 九九久久国产精品| 国产精品精品系列在线观看| 天天爽天天操| 亚洲第一页色网| 亚洲乱码尤物193YW| 亚洲第一二区另类图| 欧美精品三级黄片| 国产视频三区四区| 一起草在线视频| 激情丁香五月婷婷| 天天欧美| 婷婷中文字幕| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 深夜视频| 人妻中文在线| 成人区人妻精品一| 综合五月婷婷| 撸无码不卡免费视频| 色香色欲天天综合网天天来吧| 无码久| 素人一区二区三区日韩| 99热导航| 美女视频尤物网在线看| 91总综合网| 久久 国产 无码| 色女99一级片在线观看| 午夜男女爽爽爽影院视频| 第二页中文字幕| 肉动漫无遮挡h在线观看| 亚洲精品一区二区三区新线路| 97在线视频免费| 鲁鲁色综合网| 午夜美女福利视频| 国产污视频麻豆传媒一区二区 | 啊啊啊啊啊操我视频| 亚洲一区二区在线观看91| 极品色社| 超碰午夜| 啊啊啊啊啊好大好舒服想要| 日本欧美韩国国产在线| 亚洲素人网| 欧美丝袜制服久久| 一本大道青青| 国产欧美日韩在线观看麻豆传媒公司| 日本精品999| 97色爱| 素人一区二区三区日韩| 蜜桃丰满熟妇av无码区不卡| 亚洲无码久久久久久久| 一区二区无码视频| 麻豆 美女 丝袜 人妻 中文| 99精品久久久久久久婷婷蜜桃| 亚欧美综合| 日本福利二区视频| 国产精品久久久久久久久久久久久久| 啊啊啊用力在线观看| 综合伊人网12色| 夜夜骑天天燥| 69精品久久久久中文字幕| 欧美亚州综合网图片| 丰满欧美少妇| 久久黄片国产一区二区| 热热色国产一二区AV| 久久伊人大香蕉| 粉嫩av在线| 天天天天天天天天综合| 黄片无码在线制服| 亚洲色阁| 亚洲色图国产另类| 人人看人人摸人人色| 久久久久白虎| 欧美色图私拍91| 亚洲中文国际强奸字幕| 青青草大香蕉视频| 欧美天天综| 伊人影院综合是一个与深夜成人在线| 99久久99九九99九九九| 91九色丨国产丨爆乳| 免费看国产曰批40分钟怎么下载| 少妇贴图| wwe 天天干.com| 唐山老熟妇露脸啪啪叫| 精品国产乱码久久久久久网站入口| 国产美脚女优尤物在线观看| 最新日韩黄片| 亚洲 无码 偷拍| 97超级色碰碰| 九九热免费国产视频婷婷伊人五月| 久久久久久一日韩字幕无码| 日本布卡一区二三区| 日本精品88888888| 人人操人人狠狠操| 岛国黄片网站| 蜜桃臀av一区二区| 色诱avtt| 激情久久久| 亚洲性爱电影| 91熟女丨91老女人| 亚洲精品1区| 视频二区美腿丝袜制服人妻欧美| 国产欧美日韩一区二区三区| 另类欧美色| AV丝袜东京热| 熟妇人妻精品一区二区视频色欲| 亚洲蜜乳av| 射综合网| 日韩中文9| 操人妻丝袜高跟| 一级A片女人高潮叫床| 人妻夜夜爽天天爽三区麻豆AV网站| 天美传媒av一区二区| 殴美牲| 中国国国产一级特黄毛片| 白丝AV| 日夜尻逼网| 青青操少妇| 高清无码网址| aaaa少妇高潮大片| 国产强奸91| 97欧美精品| 久久久久久久久9| 欧美猛交黑寡妇中文字幕| 日本精品一区三区| 大伊香蕉在线视频免费| 尤物视频一区| 美女裸体无遮挡永久免费观看网站 | 久热超碰| 亚洲古典另类欧美在线| 眼镜人妻101.com| 欧亚日韩一区在线| 欧美自拍网| 超碰一区二区| 日韩欧美偷拍美女视频| 人妻在线中出视频| 日本三级韩三级99久久| 免费一级视频特黄色大片| 国产精品久久久久久无码红治院| 精品无码欧美三级| 97超碰色色| 日天天九九天堂666| 999熟女精品| 97在线青| 欧亚日韩三区| 91撸色网 玖玖网 欧美| 人人妻人人操人人乐| 伊人久久88国产女| 99热在线播放| 久久久久9| 91干熟女| 国产伦乱91| 午夜精品五区| 欧美久久人人网| 人妻中文字幕精品无码 | 无码高清专| 亚洲第一精品在线视频| 久操操AV电影| 99re免费视频精品全部| 国产亚洲色停停久久99精品91| 亚洲色图欧美| 91殴美| 97精品在线视频| 蜜臀网 一区| 少妇的嫩逼图片| 亚洲同性aV综合| 男生通女生屁股| 亚洲天天自拍| 国产精品久久久亚洲第一牛牛_在线观看| 亚洲激情欧美色图 | 青青草成人视频在线观看二区| 欧美页片| 超碰地址97| 婷婷五月天无码| 青娱乐手机日韩在线视频| 久久一二三四五六七八九区区| 四虎免费看黄| 日日噜噜夜夜久久亚洲一区二区 | 香蕉精品二区二区| 96久久久久| 丰满人妻区一区二区三| 老熟女乱伦片| 日韩欧美午夜一区二区| 国产日产精品久久快鸭的功能介绍| 人人操人人摸人人看人人插| 国产精品麻豆视频网站| 国产精品久久久久久 百度| 天天做日日爱夜夜爽| 自慰白浆在线观看| 丁香五月综合| 狼人综合婷婷激情四射 | 麻豆天美在线| 精品九九| 日本欧美韩国国产在线| 国产精品久久久无码AV网站| 亚洲AV无码国产精品久久久久 | 一本一道vs波多野结衣| 立川理惠无码一区二区| 高清无码网址| 亚洲精品一二三四区| 久久久久久久久久久久黄色 | 五月天综合网| 超碰97在线色男人??| rivers-china.com| 久久久久99999| 激情小说图片亚洲首页| 国产精品一级特黄aaa大片在线观看| 亚洲最新a在线观看| 婷婷伊人网| 久热色情精品| 天美传媒Av在线| 五月天九九日国产精品一区二区三区| 精品999一区二区| 日本高清免费一本视频在线观看| 91爆操视频| 五月婷婷六月激情| 绯色AV粉色AV蜜臀AV| 亚洲中亚日激情视频| 亚洲熟妇A V黑人| 摸奶性爱视频网站在线免费播放| 老司机老司机午夜影院| 天天日天天插| 日日骚 av| 超碰在线综合97| 欧美黄页| 国产真实野战在线视频| 久久超碰久| 欧美国产有色电影| 亚洲美女精品九九视频| 亚洲乱色熟女一区| 日本污ww视频网站| 抽查国产福利主播| 人妻丰满熟妇av无码区蜜桃| 亚洲av性爱电影| 日本女优在线视频福利| 久久精品人体| 啊啊啊啊好大好硬啊啊啊啊啊| 天天干18禁| 精品久久久高清无码| 色丁香五月婷婷| 国产乱码精品久久久久久 | 欧洲自拍色图gif在线| 中文字幕视频在线观看| 国产免a费看黄片在线| 五月丁香| 日日干男人的天堂| 亚洲少妇在线观看| 国产亲戚伦亲在线| 日本不卡高清免v欧美日韩在线观看| 东京热大香焦| 探花视频免费观看国产专区| 亚州操逼网| 国产黄色动态精品| 日韩大香蕉AV影片| 国产AV久久野战精品| 色女女女导航| 密臀成人视频久久久| 国产最火爆久久国产网站网站| 九九色逼| 欧美 亚洲 综合 制服 另类| 久久大黄片| 欧美十八禁在线看| 成人在线视频一区| 白丝一区| 99操视频| 天天操天天日天天干| 草草电影院| 99视频内射三四| 国产后入内射| 国产亚洲精品精AV.| 欧美另类色图片| 久久久久久99999国产精品| 亚洲高清无毛一区二区| 精品国产少妇高潮视频| 丝袜美腿操av| 国产乱码精品一区二区三区四川| 在线 亚洲 网爆 自拍| 成人性交午夜免费片| 免费在线观看国内色片网站网址| 四虎884a| 最新日本中文字幕| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | α√在线| 久草在| 另类亚洲一区二区三区| 玖玖综合.com| 粉嫩AV一区二区夜夜| 天天操天天舔| 男女性扦B| 日本不卡高清视频| 国产熟女| 久久久久久99AV无码免费网站| 亚洲色偷偷色噜噜狠狠99网| 9久久久久久| 操逼网免费无码视频| 天天躁狠狠躁av| 欧美国产欧美在线观看| 啊啊啊啊二区好大| 欧美不卡在线一区二区| 美女人妻色网站| 性色亚洲| 大香蕉碰| 欧洲精品一级二级精品综合视频综合| 大香蕉五月天婷婷| 人妻丰满熟妇av无码区蜜桃| 免费av大片| 97超色| 亚洲AV无码黄色强奸| 操淫穴亚洲五月丁香| 免费一级黄色录像影片| 精品网站99999| 日韩精品在线视频在线观看| 大香蕉在线免| 老熟女搡BBBB搡BBBB视频| 性欧美体内射精| 大二网站亚洲| 99re69综合| 日韩人妻一区二区| 青青草伊人久久| 操人人| www.AV有限公司一区| 岛国免费黄色网址| 天天超级碰碰碰| 国产精品蜜乳AV| 国产熟码AV| 久久激情五月| 中文乱码字幕观看视频| 久热69九色熟妇97| 毛片久久| 欧美日韩精品国产91| 国产一级内射无挡观看| h色99999| 亚洲精品乱码久久久久久蜜桃麻豆 | 欧美综合综合| 夜夜一区二区| 国产无码三级视频在线观看| 久久最新视频免费观看| 日韩国产不卡在线视频| 午夜精品人妻二区三区| 欧美一区二区亚洲天堂| 色妺妺AⅤ| 高清不卡国产| 日本熟女免费視颖| 果冻传媒一区二区三区| www超碰| 欧美色图20p| caopeng97人妻| 精品一区二区成人| 快播电影网日韩新片| 亚洲熟妇极品| 男女做爰猛烈动高潮A片免费应用| 欧美日韩一干二干| 丁香六月东京热| 久久精品国产亚洲av水密被窝| 青青草在线成人视频| www熟女乱伦com| 青青欧洲黑| 丰满的三级少妇欧美久久久| 天美传媒婬乱在| 啊啊啊啊啊在线视频| 国产精品一级毛片不卡视| 精品国产乱码久久久影院| 亚洲精品丝袜-不卡成人免费……| 在线日韩精品一区二区三区| 成人十八禁日韩欧美一二三| 91精品国产麻豆国产自产在| 久久天堂| 青青青艹在线视频| 丁香五月大香蕉| 亚洲国产精品成人综合| 91劲爆| 天天综合亚在线| 国产日韩区| 久久伊人东京热| 夜夜操夜夜爽夜夜高潮| 黄色av片三级三级三级免费看| 9丨久久九九九| 欧洲精品一区二区三区| 国产热RE99久久6国产精品首 | 久伊人网78| 一区二区三区四区五区高清无码永久视频| 久久精品毛片免费不卡| 亚洲欧美97| 日韩电影天堂视频一区二区| 97自拍视频在线| 亚洲精品一区二区精品| 亚洲图片 欧美电影| 狠狠搞 亚洲91| 国产女性无套 免费观看| 国产色图乱伦| 蜜臀在线看片| 亚洲综合在线高清| 一块操欧美| 伊人久久综合影院精品久久久 | 色九九九九| 色婷婷影视| 欧美日韩不卡a片| 青娱乐91| 四虎在线观看网站| 国产馆极品诱惑| 日韩av不卡在线观看| 日韩欧美福利视频看看| 高清无码学生妹高潮| 偷拍超碰| 国产 日韩 欧美 人妻 熟女 中文| 自拍偷拍亚洲熟女妇人精品| 欧美+日产+中文| 人妻免费观看| 久久久久久久 九九九九九九九 | 国产成年精品高清在线观看91| 友优传媒精品在线一区二区| 加勒比人妻综合| 欧美最婬乱婬爆婬性视频| 久久人人爽人人爽人人片Ⅴ| 亚洲成aⅴ人片不卡无码| 久久黄人人爽视频| 无码精品啪啪啪一区二区三区三州| 欧色综合| 啊啊啊好爽快点啊啊啊嗯嗯| 国产一级作爱毛片| 综合伊人激情| 超碰九7免费| 精品久久久久成人码免| 久久伊人青青草| 九九热男人天堂| 五月婷婷AV| 日韩一性一交一A片俄罗斯| 精品蜜乳AV免费观看| 97这里有精品| 后入综合久久| 黄久在线| 亚洲Av噜噜一区二区三区妖精| 99re这里只有精品中心播放| 久久婷婷精品| 国产一区二区在线电影| 日本不卡高清视频| 麻豆国产视频精品观看| 中文字幕精品探花视频| 女优大全 - 91n| av2014 日韩在线中文字幕| 日日干夜夜欢| 亚洲精品蜜桃久久久久久久| 欧美综合加勒比在线| 久jiu久神马影院| 色播丁香| 操人91| 中文字幕精品资源在线| 男人a天堂手机在线版| 国产一区二区三区免费视频在性观看| 日韩福利电影网| 一区二区不卡视| 伊香蕉综合久久久久久久噜噜噜| 素人伊尹大香蕉免费下载视频| 内射卯月麻衣| B049AV在线播放| 久久久久久9999| 中文字幕-区二区三区四区视频中国| 人人操天天爽| 人妻一区二区三区| 白丝1区2区3区| 久操黄色视频| 色女女女导航| www.欧精品| 久jiu久神马影院| 嗯啊免费视频| 久久久久无码| 青娱乐av在线| 一道本东京热加勒比一区二区三区 | 久草看看看| 蜜臀久久99精品久久久久电影| 丝袜视频网国产90| 亚洲国产97在线精品一区| 另类图片五月天| 2020天天色综合| 综合亚洲网| 哈哈操电影| 日韩在线电影| 超碰78| 成人免费性爱视视| 中文字幕在线免费观看2| 黄色免费网| 天天谢天天干| 再深点灬舒服灬太大了添视频| 欧美国产欧美在线观看| 日韩欧美综合激情| 人看人人摸人人操| 亚洲av乱伦色图网站| 五月婷丁香| 久99久视频精选| 欧美日本久久精品一区 | 国产日产精品久久快鸭的功能介绍| av天堂精品久久| 婷婷激情五月天小说网| 亚卅熟女乱色| 精品人妻伦一二三区久久| 夜夜嗨一区二区| 夜夜操老骚逼视频网站| 物尤视频一区二区| 国产女人9999| 免费男人的天堂| 熟女精品日韩一区二区三区| 狠狠操狠狠操操| 八戒无码国产午夜福利| 大香蕉专区| 91精品久久久久久77777| 精品国产一区二区三区av在线资源| 神马精品视频| 欧美日韩少妇色情| 91黑丝操| 狠狠躁伊人中文字幕| 探花精品 一区二区| 欧美一区二区三区四区综合| 伊人久操| 日韩啪啪啪啪啪| 亚洲第一页欧美| 狠操91,com| 久久久91| 日韩高清黄片| 一区二区三区视频在线观看免费| 久热这里| 欧亚第一综合网| 91青青在线视频| 久久东京热久久| 人人做天天爱| 超碰成人国产| 丁香五月天婷婷姐| 在线观看午夜婷婷久久久久清性观看| 亚洲欧美综合图片| 无码久久亚洲高清,| 岛国艾薇凹凸视频天堂| 中文字幕一区av| 色九九九综合| 91亚洲网站| 99这里只有精品国产| 极品色www影院| 手机不卡视频不卡在线一二三区| 在线免费试看60秒| 不卡在线观看视频| 亚洲成人性| 爽爽淫人网| 99精品人人爽| 校园春色五月天| 亚洲AV无码AV吞精久久久久| 日本大片日本一区二区免费高清| 久久超碰大香蕉| 美女9118禁| 国产精品亚洲天堂网址| 在线 制服丝袜中出 人妻| 日韩丝袜高跟制服在线观看| 亚洲视频精选| 亚洲色色探花| 国产日本熟女顶级一区二区三区视频 | 91精产一区二区三区| 97超碰色色| 午夜久久无码1000合集| 婷婷国产精品九区| 日夜尻逼网| 欧美十八禁视频| 亚洲操操| 国产一区二区久久| 91天天| 欧亚在线视频| 午夜啊啊啊| 在线欧美亚洲| 久久久久久久亚洲Av无码| 91色艳| 后入福利| 亚洲国产成人精品999| 久久婷婷六月综合| 精品久久九| 青娱乐淫乱1314| 十八禁啪啦拍视频无遮挡| 色噜噜人妻丝袜AV资源| 欧美翘臀视频网站一区二区三区| 国产精品久久久久久久黄无码 | 亚洲中文字幕熟女| 五月丁香激情综合| 综合91网| 国语对白露脸XXXXXX| 婷婷导航| 人澡逼| 国产人妖的免费的视频| 99re6久热只有精品6在线直播 | 亚洲无码偷拍| 五月天激情国产综合婷婷婷| 国产麻豆一区二三区| 免费国产电影一区二区| 中文字幕日韩综合| 国产精品另类一区大香蕉| 韩国一级婬片A片无码天美| 欧美另类色| 久久精品28| 国产92麻豆天美精品色欲5| 狠狠图片青青草| 亚洲精品久久久久毛片A片拉屎 | WWW美腿丝袜香蕉中文| 性爱视频无打码在线观看| 成年男人的天堂| 国产精品国产精品国产| 337p大胆噜噜噜噜噜91Av| 伦理日韩国产久久| 波多野结衣被操50分钟免费视频 | 免费超碰97久久| 中文字幕一区二区日韩网| 人人爽夜夜操| 精品人妻一区二区三区日产乱码| 婷婷五月成人| 国产suv精品一区| 少妇干B| 亚洲熟女乱色一区二区三区久久久| 日韩大香蕉精品在线视频| 亚洲图片小说欧洲| 777奇米影视777四色| 午夜无码熟妇丰满人妻| 欧美日韩免费性爱| SS久久| 韩三级a视频在线观看| 人妻出轨一区二区三区| 偷拍综合网| 美国美女AV在线| 亚洲情色综合| 亚洲有码 欧美精品| 男人的天堂一区| 六月婷婷激情| 人妻丝袜一区二区三区在线| 97人妻碰碰中文无码久热丝袜| 超碰97极品9| 亚洲AV成人无码一区二区三区在线观看| 欧美激情黑人| 在线观看黄色电话| 久久久久久无码人妻中文字幕| 亚洲成?V人片在线观看福利| 激情五月天校园春色网| 蜜乳AV一区| 欧美日韩另类字幕中文| 国产成人精品无码久久| 曰韩少妇无码| 亚洲欧洲日韩国产自在线| 亚洲男人天堂2| 欧美成人性爱视频大全| 暴力av在线| 九九热精品| 欧美日韩资源| 97资源超碰| 人人搞人人插人人操| 800zy一区二区| 中文字幕美女91| 中文字幕78| 日韩不卡在线一区二区| 爱丝福利| 97福利视频| 九九亚洲| 夜夜操老骚逼视频网站| 伊人网青青| 人人爽人人精品乱人伦AV| 亚洲高清无码在线桃色| 国产精品69久久久久孕妇欧美| 91热爆在线| 亚洲男人电影天堂| 爱欲AV| 岛国网址国产| 女人18精品一区二区三区| 中文字幕永久在线| 蜜臀久久99精品久久久久| 台湾佬中文娱乐自偷自拍| 八戒午夜福利理论片| 九七毛片九九毛片| 熟女乱伦二区| 日韩性爱长视频免费| 欧美日韩精品国产91| 操逼操逼视频操逼| 日本幼女18+| 九九天堂| 久久首页| 91久热| 少妇 综合| 在线播放免费av福利片| 在线小说视频一区| 女优免费一区二区永久| 欧美岛国精品在线观看| 国产偷人妻精品一区二区在线| 国产一级αv免费看片| 美女久久久久久久久久久| av操操不卡| 日美免费黄片| 97视频免费| 色999偷自拍拍| 亚洲五码一区二区三区| 花花AV导航| 草蕉影视亚洲无码| 一个人免费HD91视频| 青青色在线观看| 精品9区| www.久久99| 一个人免费视频观看在线WWW | 日韩AV一区二区三区四四| 老外又粗又长一晚做五次| 久久久精| 亚洲色图久久成人| 激情网色| 色97干| 久久大陆| 天天爱天天操| 日韩无码操逼片| 91模特在线观看| 97高清啪啪| 国产欧美亚洲精品a第2页| 中文一区二区三区影院| 人妻天天爽| 亚洲骚女一区二区三区| 国产亚洲精品av一区| 国产精品诱惑| 熟女精品一区二区在线观看| 少妇超碰在线| 在线国产福利网址导航| 美女啊啊啊啊啊啊| 裸体美女久久久| 成人综合色网| 久久久久国产精品喷潮免费观看臀| 97天天日| 久久久内射良家| 日韩影片中文字幕一区二区三区| 国产激情在线|