記錄 輸入捕獲

2021-07-14 16:08:59 字數 1013 閱讀 3262

捕獲輸入訊號脈衝的寬度。

捕獲的概念是,捕獲邊沿訊號,同時將定時器的計數值儲存下牢。

通過檢測輸入通道(timx_chx)上的邊沿訊號,在邊沿訊號發生跳變(上公升沿/下降沿)的時候,將當前定時器的值(timx_cnt)存入對應的捕獲/比較暫存器(timx_ccrx)中,完成一次捕獲。

定時器的輸入通道,就是定時器框圖的左下部分

輸入捕獲的內部結構

使能定時器時鐘,配置對應的輸入引腳,復用

設定計數值

設定定時器捕獲模式

使能輸入捕獲,設定邊沿型別

使能捕獲

設定中斷

使能定時器

捕獲 tim5_ch1( pa0)上的高電平脈寬, 通過 key_up 按鍵輸入高電平,並從串列埠列印高電平脈寬。

void tim5_ch1_cap_init(u32 arr, u16 psc)

u8 tim5ch1_capture_sta =

0;u32 tim5ch1_capture_val;

void tim5_irqhandler(void)

else}}

if(tsr&

0x02)

else}}

tim5->sr =

0;}

int main(void)

}}static

void sys_init(void)

stm32f3與 f4 系列 cortex m4 核心程式設計手冊

stm32f4***中文參考手冊

stm32f4***英文參考手冊

stm32f4 開發指南(暫存器版)

輸入捕獲模式

異或那塊先不管他,好像跟編碼器有關,輸入有個特色就是可以把ti的輸入搞到cc1上去,也可以把t2的輸入搞到cc1上去,其實也可以把t1搞到cc1上去同時把t1搞到cc2上去,這樣就有了後來的pwm輸入。輸出上的特色是不直接輸出,而是有個oc1ref,這樣可以定義高有效還是低有效,輸出自己需要的有效電...

6 輸入捕獲實驗

注意點 1 在學習的過程中我們使用到與串列埠實驗相類似的乙個暫存器 本質是乙個變數 用來處理不同的情況,在今後的學習也可以使用這種方法,這種暫存器的組成如下圖所示 2 確定捕獲到乙個完整高電平的軟體實現 包括如果處理接收到的高電平持續時間過長的情況 void tim2 irqhandler void...

stm32 輸入捕獲

根據定時器的計數頻率,我們就可以算出t1 t2的時間,從而得到高電平脈寬 計算公式 n arr ccrx2首先設定定時器通道為上公升沿捕獲,這樣在t1時刻,就會捕獲到當前的cnt值,然後立即清零cnt,並設定定時器通道為下降沿捕獲,這樣到t2時刻,又會發生捕獲事件,得到此時的cnt值,記為ccrx2...