日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满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
返回資訊列表
亚91亚洲网| 伦激情人妻另类人妻| 人妻81p| 91碰碰| 色图四区| 九九英色视频| 天天天天天干夜夜夜夜夜操| 青青青青青手机视频| 99热精品在线观看| 亚洲阿v天堂在线| 欧美性色综合网| 操逼啊啊啊91| 亚洲久草AV色图| 黄色网址久久精品欧美喷水| 午夜在线播放| 亚洲色图国产另类| 中国探花熟女| 日韩无码操逼片| 97超碰色中文字幕| 综合少妇网| 久久极品伊人| 欧美一级黄色18片免费看| 精品国产99999| 欧美成人亚洲精品| 欧洲色| 欧美激情性久久久久久| 78超碰| 五月天伊人| 性色一线| 久久一区二区三区入口| 欧美黄色片在线播放| 色色九区| 91美女视频直播| 中文字日本乱码| 骚逼高潮久久精品| 91xingse| 人妖欧美一区二区| av久日| 日韩无码AB| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 欧美玖玖爱免费玖玖| 国产成人欧美一区二区三区的国产| 欧美日韩小说| 干超碰碰熟女| 九九亚洲色在线观看| 操人妻逼91| 啊啊啊啊啊啊啊在线| 色情亚洲日本成人| 日欧毛片久久| 五月天婷婷色色| 碰人碰碰人人开房人肉| 日本高清一区二区在线| 偷拍亚洲视频一区二区三区四区| 久干9操| 欧美日韩小说| 久久熟女人| 沈阳熟女高潮对白视频| 国产福利夜| 福利社区午夜一区二区| 在线观看视频91| 欧美性爱系列| 激情一区二区| 9999亚洲精品| 中文字幕丰满子伦无码专区在线视频最新 | 日本精品一区二区三| 国产精品久久久久综合| 啊啊啊骚| 大香伊人在线一区| 26uuu国产| CCYY草草影院地址入口| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 久艾草在线精品视频在线观看| 东京日日夜夜| 婷婷五月色| 91视频观看网站| 国产农村妇女一区二区| 殴美综合色88| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 日韩字幕一区| 91丝袜视频在线观看| 加勒比伊人综合| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 在线 制服丝袜中出 人妻| 视频在线观看一二三区| 在线日韩精品一区二区三区| 中文字幕亚洲欧美在线不卡| 中文字幕一区二区韩| 欧美性爱网97| 亚洲欧美日韩综合在线尤物 | 精品久操| 青青草在线成人视频| 97欧美精品| 97精品视频在线播放| 少妇啪啪自拍| 欧美日韩欧美| 夜夜骑天天燥| 国产精品一区二区在钱播放| 蜜桃视频成a人v在线| 99re视频在线播放青草| 欧美色图私拍91| 亚洲古典另类欧美在线| www.色婷婷色综合| 13小男生GAY自慰脱裤子| 操少妞在线视频| 激情五月天网站| 口爆吞精在线观看| 91Chinese在线| 久极品在线观看| 久久久久亚洲精品| 春色综合免费| 色一射色一射| 中字乱伦AV| 爱av免费| 国产熟女完整版中字| 91美女视频在线观看| 老熟女综合网| 久操免费电影| 久热最新在线杭州| 亚洲男人天堂网久久| 伊人婷婷五月天| 国产精品久久久久久久久久梁医生| 欧美瑟综合| 色婷婷五月天| 黄色av片三级三级三级免费看| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 久操B网| 亚洲国产91精品一区二区久久| 夜夜国自区| 韩国成人精品久久久免费看| 操高情无码| 中亚黄色三级大片 | 欧美日韩国产一区二区小黄片大全| 麻豆啪啪啪视频| 中文啪啪视频| 一二三四区操操Av| 亚洲精品国产专区在线观看| 午夜免费福利视频一区| 狠狠亚洲| 操逼无码操逼| 亚洲精品久久久久久久久豆丁网| 岛国片在线观看视频亚洲| 97热视频在线观看| A级国产欧美激情在线| 男人亚洲天堂| 后入式视频国产自| 国产欧美成人第一页在线观看| 色吧 综合| 98久久| 欧美超碰97| 亚洲国产另类在线中文| 国产亚洲国产超碰| 日韩国产品视频中文字| 亚洲美女精品九九视频| 97碰碰色| 家庭乱伦麻豆| 中文字幕中文字幕一区二区| 超碰成人免费| 熟女高潮合集-永久久久-成人AV | 欧美高潮| 亚洲欧洲激情卡通另类文学四射小说网站 | av资源在线观看少妇| 免费视频无码| 日本久久999| 狠久久| 亚洲色婷婷| 一区二区三区视频在线观看免费| 人人天天欧洲| 久久久99999久网站| 夜夜精品视频一区二区| 乱伦熟妇一区二区| 日韩精品一区二区三区色欲| 五月天婷婷小说| 中文字幕乱碼在线| 熟妇无码视频三区| 色香天天| 搡老人老9丨女老熟人| 开心五月婷婷激情| 少妇人妻激情四射| 在线a亚洲视频播放在线| 国产又大又硬又长又粗| 亚洲不卡av在线| 插插综合网天天影视网| 曰本人妻人人澡人人夹| 久久久久国产亚洲一区欧美色图日韩 | 一二三四区电影| 五月情色天| 久久久久亚洲熟妇熟女| 啊…啊…操我用力操我| 试看60秒| 亚洲啪AⅤ永久无码| 五月综合视频| 青青草无码视频| 五月天我淫我色av| 少妇无码太爽| 国产精品视频在线观看| 丁香五月天激情网站| 亚洲淫乱骚妇AV| 99视频自拍区| 欧美日韩国产另类综合| 嫩草 人人网精品| 久久久精品,3| 青娱乐大香蕉| 青青草原香蕉日本Ap| 三级特黄60分钟播放| 超碰日本97美女人妻人人玩人人爱| 亚洲国产蜜臀系列在线观看| 国产精品人人爽人人做可爱福利| 99999精品成人| 久久久成人免费av电影| 国产AV久久野战精品| 熟妇熟女亚洲天堂网| 日韩日韩日韩-国产乱码精品一区二区| 国产丝袜欧美在线视频| 青青草视频这里只有精品| 日本不卡中文| 在线性黄高清免费视频| 一本色道久久综合亚洲二区三区| 国产精品午夜福利视频| 久久久久久九九九| 91oumei| 人妻激情视频| 五月丁香久久| 欧美少妇色图| 操我啊啊啊啊啊| 99热这里只有精品18| 五月激情小说| 99久久精品国产系列| 综精品久久久aaaa| 亚州操逼图| 午夜毛片高清免费不卡| 婷婷亚洲综合| 九九九影院| 欧美18 在线观看| 97情超碰色| 国产操逼逼网| 黑人综合色| 国产自偷自拍一区| 校园春色五月天| 狠狠中文字幕| 国产中文字幕在线点播| 999久久久久久久久| 自拍偷拍 日韩无码| 97精品网站| 中文操嬖片。| 91天天| 国产传媒1234区| 亚洲啪AⅤ永久无码| 四虎国产成人精品免费一女五男| 婷婷在线视频| 超碰欧美97| av操操不卡| 国产一在线观看| 欧美,日韩,中文,另类| 五月丁香成人网| 热99这里有精品综合久久 | 加勒比久久av| 欧美黑人XXXⅩ高潮交| 男女猛烈无遮掩视频免费软件| 中文字幕第23区| 国产精品自在自拍视频| 免费操逼91| 人妻少妇精品久久久| 大香蕉乱伦视频网| 九九综合久久中文字幕| 久久久久久久9| 亚洲限制级| 狠色婷婷久久一区二区三区_| 日日干天天干夜夜爽| 久湿久久 | 精品一区二区三区国产| 九九av| 欧美午夜精品久久久久久超碰| 少妇一区二区三区高速| 熟女91网站| 天天天天天超碰| www.婷婷| 人妻中文字幕日韩电影| 84YTCOM性无码| 无码操逼天堂| 亚洲影院小综合| 三级三久久线久久99久目本WW| 亚洲无码超碰免费| dy888午夜老子影视达达兔| 日本国产二线女色| 蜜奶av| 亚洲精品欧洲色| 国产亚洲综合欧美一区| 插穴性爱视频在线观看| 亚洲国产成人精品久久久国产成人一区二区| 日韩精品电影| 色 婷97| 九九黄色视频在线观看| 国产日韩精品suv| 亚洲人精品久久久| 狠狠2050在线观看| 国产美女精品| 国产精品久久发布| 激情综合五月婷婷| 人人透人人操| 久久久久9| 美中日韩无码| 精品久久久av无码免费| 99热在线观看| 亚洲国产精品成人久久蜜臀| 久久久人妻| 欧美成97爱| 综合性视频99| 97精品在线| 800zy一区二区| 亚洲国产精品无码AV久久| 天堂九九九九九九九九九| 在线中文字幕极品av| 国产强奸91| 精品亚洲成人免费在线| 欧美色人| 97超碰磁| 欧美偷拍区| 色婷婷六月丁香七月婷婷| 亚洲欧美日韩制服另类| 久久丁香久草综合网| 亚洲 欧美 日韩 国产一区二区 | 96精品在线| 密桃99999| 精品国产乱码久久久久久久久1| 91啪啪视频| 91粉嫩萝控精品福利网站_精品影音先锋国| 色综合av男人天堂| 欧美很很操视频| 日本污ww视频网站| 精品少妇后入一区二区三区四区人妻巨乳| 用力操死我| 人妻铁牛TV| 东京热熟女亚洲视频网站| 亚洲在高跟鞋自慰久久在色线| 伊人精品视频| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | www被窝色com| 欧美激情 亚洲色图| 丝袜狂射91| 极品一区二区三区免费| 天天日骚逼熟女| 久久精品导航| 边做饭边操逼逼| 国产精品美女久久久久AⅤ国产馆| 国产高清MV操逼视频| 天天躁日日躁AAA片李宗瑞| 91综合在线| 日本不卡码黄色| 亚州欧美色图| 超碰在线一区二区| www..com操老师| 高清无码国产亚洲| 亚洲精品色| 天天摸天天舔天天操| 丝袜美女诱惑 91 视频| 天天夜夜rb| 一级性爱视频免费在线| 久久精品国产亚洲AV高级北京| 91精品久久久久久77777| 热久久精品| 热久久国产精品视频大陆精品| 97国产精选| 精品人妻一二三| 中文字幕91页| juliaann精品熟女一区| 国产黑白丝在线| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 色综合一区二区三巨| 91高跟美女在线播放| 亚洲图片欧洲图片aⅴ| 91蜜桃婷婷狠狠久久综合9色| 亚洲免费日韩在线一区二区| 俺也射| 色吧5亚洲| 最新av网站在线观看| 丁香五月天堂网| 亚洲熟女乱色一区二区三区久久久 | 久久久久亚洲熟妇熟女| 91丨九色丨熟女高潮| 日本精品免费一区二区三区四区| 97日亚洲欧美| 精品小视频在线| 国产精品久久久777| 天天干夜夜鈤| 婷婷中文网| 91日日| 91精品91久久久久77777俄罗斯老妇姓x| 人妻精品一区二区| 国产夫妻一区二区| 欧美一级在线观看成人| 久久99操天天日| av橘色网站| 91婷婷| 97精品久久| 亚洲aV性爱| 天天看人人操屄犊摸阴| 凹凸视频在线一区二区| 六六久久日韩不卡| 中文字幕精品亚洲熟女| 久久精品操| 欧美日韩大陆黑人少妇99| 大香蕉欧美国产日韩高潮| 在线国产福利网址导航| 久久久久久九九九| 天天做天天爱| 国产综合网站在线播放 | 五月天婷婷久久| 久久精品人人做人人看| 色婷婷五月天| 色欲无码人妻日韩欧美精品| 91欧美巨乳| www.亚洲黄色| 精品久久人妻成人网| 日韩内射视频| 91AV入口| 中文字幕超碰CAO| 亚洲日韩视频二区| 好看的久久不射无码影视影院| 日本一区二区三区四区五区六区七区八区九区| 综合色播| 女性91网站| 欧美黑人与女人91~| 三级日本一区二区三区| 爱欲AV| 伊人加勒比| 青青草九九九九九| 亚洲黄色视频在线观看视频| 欧美韩国你懂得在线 | 国产传媒美日韩av| 99热99在线播放激情| 中文字幕在线日亚州9| 丁香六月激情综合| 青春草莓视频在线观看网址| 国产精品 午夜福利| 青青伊人这里只有精品| 无码二级三级| 天干天干天干天天做| 超碰九7| 熟妇视频一区二区三区在线观看| 久久久com| 四虎国产成人精品免费一女五男| 韩日性爱av| 少妇精品| 99国产天美| 中文字幕精品一区二区精| 大香蕉日韩欧美| 婷婷五月天av| 脫衣舞一区二区三区| 成人精品久久| 男人的天堂VA| 国产精品久久久777| 欧美 亚洲 在线| 亚洲熟妇无码一区二区三区| 欧美顶级黄片AAAAA在线免费看| 亚州黄站| 美女91| 亚洲精品精品一区二区| 欧美视频一| 影音资源男人日韩| 巨乳特殊服务按摩| 久热91| 一区二区三区免费视频入口| 大白逼三四级| 少妇三P| 久久精品国产精品亚洲艾通辽熟妇 | 亚洲国产无码精品首页久久久| 久久久久久国产无码精品| 加勒比av中文| 香蕉精品二区二区 | 啊啊好多水| 成人午夜视频免费播放| www.99色| 久一区久久蜜桃| 久久直播国产| 不卡九肏| 吻戏激情性巴克| 成人三一级一片aaa| 亚洲欧美小说| 大香蕉伊人75| 超碰97首页| 中文字幕亚洲欧美在线不卡| 熟女丰满人妻一区| 男女真人网18| 日韩中文字幕国产| 97人人中文网| 夜夜操天天肏| 亚洲人妻一区二区三区| 亚洲欧美中文日韩视频中国语 | 欧美精品人妻视频| 在线强奷到舒服的无码视频| 亚洲成人色情五月天丁香花| 色欲蜜臀AV| 国产福利电影| 一区二区三区精品视频| 97综合国产精品高潮久久| 久久久婷| 欧美青青草视频| 久热无码| 五月丁香狠狠爱| 日本新免费二区三区| 看黄片视频免费| 六月丁香啪啪啪| 啊啊啊好想要| 欧中美三级一区二区三区| 天天综合站| 日韩色图 一区二区| 偷拍片久久| 成人精品视频| 久久久久78| 国产乱婷婷精品二区三区| 加勒比大香蕉视频在线| 亚洲熟妇自偷自拍另欧美| 久久一二三四五六七八九区区区 | 欧美热图99| 啊啊啊轻点在线观看| 亚欧美色图| 亚洲精品熟妇1区2区3区。| 日本视频在线观看污污污| 91视频伊人| 日韩淫色网| 91女优在线观看 | 丁香五月婷婷色| 嫩草影院在线观看精品| 99色色网| 国产精品91一样| 日韩少妇丰满亚洲| 亚州色阁| 国产农村妇女毛片精品久久| 91日韩国产欧美亚洲另类精盘州至城都| 亚欧洲日韩国产精品| 久久大精品乱码视频人妻熟女| 国产剧情一区在线观看| 欧美一级美片在线观看免费| 欧美黄片免费在线观看视频| 欧亚韩国999| 四虎在线视频| av一区二区三区不卡| 日韩 欧美 视频 在线 一区| 激情av| 日产成人久久| 亚洲色图欧美色图制服诱惑| 欧美日韩中文字幕不卡| 亚洲国产精品9999在线观看| 国产精品大屁股999| 色婷婷丁香五月| 天天综合-91入口| 亚洲情色图片区| 无码人妻丰满热妇又大又粗| 成年无码动漫av片无尽在线| 熟妇高潮一区二| 人妻啊啊人妻啊| 亚洲系列欧美| 日韩av一级黄片| 岛国免费黄色网址| 口爆综合网| 丝袜熟女一区二区三区| 国产强奸超碰AV| 亚欧免费| www.色五月| 丝袜美腿丝袜| 亚洲国产婷婷在线播放| 亚洲熟女中文字幕在线| 天天综合网久久ww| av橘色网站| 91av一区二区在线观看| 天天爱天天韩国日本牛牛牛牛| 国产黄a三级三级三级av在线看| 97频视在线| 秋霞 色色| 乱伦熟女区| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 嫩草黄页| 男女做爰猛烈动高潮A片免费应用| 久久久国产三级黄色片| 少妇第一页| 青娱乐999| 禁片 高清 在线观看视频网站| 久久久天美| WWW啪啪的com| 欧美中文字幕一区 | 秋霞午夜视频一区二区| 青娱乐国产剧情av一区| 亚洲综合网电影91| 九九九久久久W精品| 国产黄色 A 片免费看| 免费网站观看www在线观| 色色色色电影网| 天天淫人人妻日日色| 欧美激情精品| 丁香激情网| 四虎精品亚洲| 日韩一级片在线看| 亚洲男人天堂视频| a v网站在线播放| 大香蕉欧美国产日韩高潮| 亚洲欧洲中文日韩女优乱码| 久久久不能久久久久| 在线综合网| 97超碰美国| av中亚| 亚洲丝袜色| 九热久| 国产欧美伊人| 日本久久女同性恋视频| 久久伊人在线五区| 日本成人免费一区二区三区| 亚洲棕合电彰| 欧美αv.com| av久日| 日韩欧美午夜视频在线| 国产第二页| 免费啪啪一级视频| 老鸭窝成人| 婷婷综合激情| 天天肏天天干| 思思热在线| 小草av不卡亚洲二区| 亚洲av影音先锋| 天天影视网色欲色香| 久久久久久AⅤ无码免费肉站| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 久插综合| 桃花色综合影院| ...日韩成人一区二区三区字幕| 性爱av在线免费观看| 日韩九九九| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 久久精品六区| 96AV精品| 日韩操逼HD| 中日韩久久久免费看| 翘臀vidoes| 可能人人看人人摸| 日本大香蕉综合网| 嫩草伊人久久精品| 国产大学生高潮在线播放| 97综合在线| 青青草视频爽一爽| 人妻一区二区三区四区视频| 91N综合在线| 无套内射性感少妇视频| 国产午夜精品理论片一二三区区| 综合欧美日韩在线| 伊人91| 日韩成人高清一区二区| 亚洲激情欧美色图| 久久国产视频专区一二三| 日韩A优精品在线观看| 色逼综合| 久久精品高清无码一区| 美女尤物福利视频| 国产精品一级毛片不卡视| 色图综合| 日本黄色天堂| 日韩AV中文字幕电影| 亚洲国产日韩欧美熟妇在线| 偷拍三区| 97欧美| 亚洲se电影| 99re95| 日本 欧美 亚中文字幕| 一区二区三区免费岛国片| 九九九精品| 校园春色 亚洲| 亚洲精品国产av天美传媒| 1024人妻| 国产精品色片一区二区| a男人的天堂久久一级A毛片 | 把腿张开老子CAO烂你| 亚洲欧洲无码一区夜| 校园春色制服丝袜中文字亚洲| 97人妻免费中文字幕| 久久性爱视频免费看| 国产999精品久久久| 欧美玖玖爱免费玖玖| 天天香香欲综合| 五月花婷婷| 蜜桃无码AV一区二区| 曰韩操B| 日韩成年人性爱视频| 91欧| 欧美偷| 国产精品3| 鸥美精品一区二区久久婷婷| 啊嗯好大视频在线观看| 欧美熟爽综合| 九九亚洲| 91校园春色长篇| 国产欧美一区激情交| 在线中文字幕极品av| 黄色网址在线免费观看| 亚洲国产精品有声| 亚洲字幕一区二区| 亚洲性爱电影| 精品丝袜无码一区二区三APP| 国产区日韩区在线观看| 亚洲成人贴图| 欧美色欧美| 欧美亚洲激情| 蜜桃精品视频一区二区三区| 精品久久九| 性爱欧美五月| 午夜毛片高清免费不卡| 一区| 999 久久久| 97色涩| 亚洲欧美日韩国产丝袜自拍中文| 伦在线97| 亚拍在线| 欧美精品亚洲精品日韩传电影| 热G综合热G中文| 东京热,男人的天堂| 97美日韩视频| 91爱| 一区AV| 韩国一级婬片A片无码天美| 性久久| 日韩一级片在线看| 六月激情网| 丁香五月婷婷五月| 青青操在线亚洲视频观看欧美在线| 精品人妻视频一区二区三区蜜桃视频| 亚州综合AⅤ| 超碰一区二区| 国产97视频| 欧美在线啊啊| 欧美日韩国产色五月综合在线| 人妻另类| 国产一级高清免费观看| 翔田千里无码中出中文字幕| 香蕉久久AⅤ...| 99色在线视频| 97大色网| 欧美在线|亚洲| 美女网站91| 久久久国产av美女私房| 欧美成人一级免费电影| 狠狠穞A片一區二區三區| 国产夜夜艹| 99国产精品久久久久久久成人热| 久久风骚城市| 探花精品 一区二区| 日韩美女操b| www.夜夜操| 美国久久一二三四| 夜夜高潮夜夜爽夜夜爱爱一区 | 25国产精品免费观看| 有码免费观看| 日本免费一区二区不卡 | 欧亚综合一卡二卡中文字幕| 嗯,啊。舔我逼| 深夜国产福利| 天天色,天天干,天天干| 大香蕉亚洲中文| 久久熟女久| 91人妻人人澡人人爽人人精品| 人人做人人妻人人夜视频| 97超碰磁| 啪啪AV导航| 超91综合网| 久久这里只| 午夜人妻精品综合在线| 伊人一区二区三区| 天美传媒麻豆一区二区三区国产精| 女人久久久| 大香蕉97久久| 区一在线观看| 亚洲AV免费在线| 午夜福利av电影在线| 最新一二三区视频| 国产Av超碰| 操人妻少妇中文| 亚洲爽图| 超碰98综合网| 欧美国产欧美在线观看| 蜜臀久久99精品久久久久久| 操操逼操操逼操操逼逼| 91九久| 久久亚洲一区女同性恋中文字幕| 2017人人操,人人摸| 久久久久13| 日日97| 国产精品视频白浆免费| 男人天堂日日夜夜| 色综合一区二区三区| 国模少妇一区二区三区| 青青青草原| 亚洲国产成人精品无码专区| 伊人国产视频| 国产v片在线免费观看| 蜜桃久久综合视频| 日韩九九九| 国产情侣自拍在线播放| 97精品97久久| 一区二区激情国产熟女| 婷婷激情五月天小说网| 最新亚洲风情电影| 台湾一区国产高清在线| 99999久久久久9国产精品| 九九热AV| 久久人妻97久久久久久久| 亚洲国产熟妇综合色专区| 五月丁香久久| 91亚洲欧美激情| 综合激情五月丁香| 欧美色97| 99免费在线视频| 久久精品超碰| 爱射综合| 国产偷人伦激情在线观看| 人妻一区二区三区| 国产精品久久久久无码Av网曝门| 国产精品 午夜福利| 久久久精品电影| 亚洲天堂人人妻| 91人妻素女| 中文区中文字幕免费看| 嗯嗯啊啊视频在线看| 97超碰色| m欧洲一级午老| 国产女人极品高潮毛片| 久久中文字幕女同性恋一区| 激情五月天社区| 伊人宅男大香蕉 | 五月丁香婷婷综合网| 99热这里只有精品1| 亚洲午夜福利在线影院| 中出20p| 欧美亚洲综合色| 国产精品久久久久无码Av网曝门| 久草男人天堂| 亚洲日韩成人性爱视频| 9 1超碰九色| 台湾佬激情综合| 久久透逼视频| 亚洲清纯综合| 不卡九肏| 国产精品久久成人免费| 精品九九九九九九| 丝袜无码a片| 韩国三级理论在线| 五十路三区在线| 久久一本大香蕉| 五月婷在线| 五十路六十路素人熟女| 久肏视频字幕| 欧美亚综合色图| 免费强奸av| 亚洲无码精品AV久久久| 麻豆AV一区二区| 亚欧高清v| yiqicaoav| 另类成人首页一区| 超碰爽人妻熟女Av| 国产色精品午夜大片| 97资源久久| 超碰 另类 欧美 | 搡老女人老91妇女老熟女| 国产九区| 精品久久久久久亚洲| 美女视频尤物网在线看| 日本韩国五十路六十路七十路老熟女作爱视频网站| 99热99re超碰精品| 亚洲第一无码播放立川理惠| 熟妇熟女一区二区三区| 国内一区二区三区| 久久超碰免费的| 性爱综合网| 欧美经典一区二区三区| 天天噜| 激情文学亚洲| 中文字幕神马久久| 蜜桃成人1区2区3区| av凤凰久久久| 中文日本免费高清| 91日韩| 国产农村妇女毛片精品久久| 久久99精品国产| 日本精品人妻少妇一区二区| 五月天婷婷久久| 国产亲戚伦亲在线| 嫩呦国产一区二区三区AV| 九七色图| 九九九久| 国产人妻精品一区二区三区秋霞| 成人熟女视频一区二区三区| 99热综合| 超碰精品在线| 中字乱伦AV| 久久精品国产72国产精品福利| 美女操逼A A| 操国产高清| 欧美黄业| 欧美激情精品| 欧美成97爱| 欧美日韩人妻婷婷一区| 免费伦费视频在线观看| 色色色色日本| 日韩综合无码色欲vv| 国产午夜福利专区综合| 可免费观看的av毛片中日美韩| 97精品免费视频网站| 日韩精品一区二区人人人| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 九九九九九九九九九九九九九九九女| 亚洲、日韩、综合、另类| 欧美 亚洲 综合 制服| 日韩精品一区二区三区色欲| 操逼网免费无码视频| 欧美精品1区2区3区| 欧美一级黄色18片免费看| 婷婷中文网| 国产亚州精品美女久久久免费| 探花熟女,姿勢到位,體驗感也到位| 成人七区| 青青伊人这里只有精品| 在线综合色| 啪啪啪精品视频| 青青操狠狠撩| 欧美 亚洲 偷拍自拍| 国产成人精品亚洲日本| 日韩午夜啪啪视频| 国产精品免费视频不卡| 欧美性猛交美女自慰91| 宅男午夜在线视频| 99抽插| 香蕉免费一区二区三区不读 | 国产激情在线| 人妻一区二区三区熟女| 91欧洲国产成人久久精品网站| av一区二区三区不卡| 日韩无码a片| 亚洲AV成人无码久久精品播放| 日韩精品中文字幕二区| 丁香五月综合| 久九九九九九九热| 99在线视频播放| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 日日摸天天爽夜夜欢| 亚洲无码电影久久久| 久久综合国产精品国产| 国产成人在线观看综合| 蜜桃成人1区2区3区| 97精品久久久久久久| 国产风韵犹存熟妇三区| 91色亚洲| 熟妇的味道HD中文字幕| 欧美日韩国产色图在线| 久久久久久久一级黄色打同平台| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 黄色乱论网站| 欧美狠狠弄| 亚洲啪啪啪啪视香蕉| 日夜精品| 午夜无遮挡男女啪啪视频| 国产精品无码AV网站| 99热这里只有精| 91人妻久久久久久久久久久久久| 人妻铁牛TV| 盗摄女人妻在线| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 蜜桃狠狠色伊人亚洲综合| 青娱乐妇女性生活| 欧美成人四级在线播放| 夜夜爽爽爽| oumeisetupian| 欧美人妻制服| 欧州一区二区三区四区| 天天看天天日| 图片区小说区| 1区2区3区中文字幕日韩| 风间由美日韩欧美久久| 一区二区免费电影久久| 五月综合色| 黄久在线| 激情天天视频| 丁香五月天社区| AV丝袜东京热| 天天干人人看综合| 去干网最新版| 爱干爱射网啊啊啊| 蜜臀AV午夜精品久| 在线中文字幕极品av| 亚洲色图 欧美热图 清纯唯美 另类自拍| 啊啊啊啊,啊啊好多水| 亚洲色欲天天天堂色欲网女| 七久久久| 97亚洲自在精品在线观看| 岛国AB视频| 久草精品国产蜜臀| 欧州91高潮| 丁香色婷婷| 色偷偷人人玩人人舔人人操人人摸人人爽 | 996热| 插入粉嫩少妇视频| 色波多| 欧美少妇熟女| 91无码精品| 精品人人插人人操| 天天操天天7| 男女性感激情网站| 亚洲av总站| 欧美亚洲韩国视频十五区| 91欧美色| 日韩啪啪视频| 97jingpin| 久久亚洲AV无码专区国产精品| 亚洲综合影片| 综合亚洲欧美精品日韩?v| 色噜噜综合在线| 色五月AV在线| 欧美很很操视频| 午夜九九| 澳门特级毛片免费观看| 九九九精品色乱九九九| 操逼操逼逼操操逼91| AV99热18这里只有精品| 日韩免费av片高清无码| 天天干天天日天天射黄色大片| 久草午夜| 97视频观看| 大象AV在线| 特级大荫道BBwBBwBBW| 亚洲色婷婷久久91| 综合亚洲情色| 亚洲性爱电影| www被窝色com| 免费簧片在线观看| 精品二区三四区五电影| 欧美黑人精品在线播放| 黄色av播放免不| 韩国一级婬片A片AAAAA| 夜夜春夜夜操| 亚洲精品男人的天堂| 亚洲图片欧美| 人妻精品综合中文字幕在线| 天堂v无码免费视频| 三级片大波波| 中文人妻av高清一区| 中文字幕人乱码中文字的预防方法| 99国产精品视频尤物| 亚洲91综合| 亚洲 国产 精品一区| 日韩在线电影| 婷婷五月天久久精品视频一区二区三区| 另类TS人妖一区二区三区| 男人精品天堂一区| 色狠狠色| 性猛交| 欧美精品三区| 免费黄色片子| 91美女视频| 天天天天天天天天综合| 亚洲精品中文字幕一区在线视频| 后入人妻无码| 亚洲美乱| 无马一区二区| 久久久久久久78| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 亚欧成人综合影院| 91精品人妻一区二区三区蜜桃| 亚洲情色无码一区二区三区| 2017超碰| 一起草三级AV电影在线观看| 欧美劲爆第一页| 91在线美女| 2019久久久久久久久福利| 欧美亚洲清纯| 顶级少妇BT天堂| 91精品大奶人妻| 2017av无码免费无线播| 大香蕉琪琪日本女优不卡| 欧美激情综合| 天堂俺去俺来也www久久婷婷| 精品无人区麻豆乱码1区2区图片| 国产少妇与亚洲av| 日韩字幕一区| 国产精品一区二区麻豆| 午夜呻吟欧美| 精品黑人一区二区| 久操91视频| 玖玖大干人妻| 国产精品婬乱一级毛片彝族| 欧美色网络| 98超碰日本| 曰本精品久久久| 九九成人视频| 操迟操逼在巾线Fre看| 亚洲性高潮| 骚逼高潮久久精品| 亚洲精品三区在线观看| 变态综合色| 91强在线播放| 欧美1727免费观看视频| 凸凹视频在线观看| 色在线视频导航| 热热色综合网| 色五月天AV| 欧美亚洲激情小说| 色综合尤物| 欧美一级特黄淫片在线观看| 中文字幕在线观看网址| 亚欧操逼片在线观看| 亚洲天堂男人在线| 亚洲无线码一区国产欧美国| 亚洲国产欧美一区二区潘金莲 | 好色综合| 亚欧美色| 久久久无码精品人妻二区| 无码人妻精品一区二区三区九九| 九久久九精品视频| 狠狠久久亚洲欧美专区| 天天懆天天日| 亚洲一区在线观看欧洲| 磁力99AV| 国产一区二区视频在线播放| 欧美日本成人一区二区| 91老熟女91老女人| 精品一久久久| 精品无码一区二区| 久久久久久久人妻| 激情色播| 岛国精品视频在线观看| 久久九九视频九九视频| 国产精品一区av在线| 韩三级a视频在线观看| 韩国三级色呦呦| 天天肏天天干| 蜜臀视频网站| 亚洲熟女一区二区| 国产精品白丝AV| 亚洲色图 91| 亚洲AV无码久久精品蜜桃小说| 成人日本精品九区| 91亚州欧美| 人人综合| 欧美韩国你懂得在线| 精品999日本| 男插女青青影院| 男人的天堂2019AV| 色综合99| 欧美亚洲性爱一区二区| 啊啊啊啊啊操我视频| 亚洲av热热色| 亚洲天堂人人妻| 久久久久78| 青草园大香蕉| 欧美九一精品久久久熟妇| 91精品国产长腿丝袜美女| 日韩91网| 激情色图| 台湾一区国产高清在线| 手机在线免费看的av| 国产精品嫩草久久久久| 日本五十路熟女一区二区| av片在线观看免费播放| 欧美亚洲激情小说| 色情亚洲日本成人| 色在线69堂| 天天操妹子|