STM32寄存器与输入捕获
以下來至原子教程
輸入捕獲模式可以用來測量脈沖寬度或者測量頻率。
STM32 的定時器,除了 TIM6 和 TIM7,
其他定時器都有輸入捕獲功能。STM32 的輸入捕獲,簡單的說就是通過檢測 TIMx_CHx 上的
邊沿信號,在邊沿信號發(fā)生跳變(比如上升沿/下降沿)的時候,將當前定時器的值(TIMx_CNT)
存放到對應(yīng)的通道的捕獲/比較寄存器(TIMx_CCRx)里面,完成一次捕獲。同時還可以配置
捕獲時是否觸發(fā)中斷/DMA 等。
本章我們用到 TIM2_CH1 來捕獲高電平脈寬,也就是要先設(shè)置輸入捕獲為上升沿檢測,記
錄發(fā)生上升沿的時候 TIM2_CNT 的值。然后配置捕獲信號為下降沿捕獲,當下降沿到來時,發(fā)
生捕獲,并記錄此時的 TIM2_CNT 值。這樣,前后兩次 TIM2_CNT 之差,就是高電平的脈寬,
同時 TIM2 的計數(shù)頻率我們是知道的,從而可以計算出高電平脈寬的準確時間。
接下來,我們介紹我們本章需要用到的一些寄存器配置,需要用到的寄存器有: TIMx_ARR、
TIMx_PSC、TIMx_CCMR1、TIMx_CCER、TIMx_DIER、TIMx_CR1、TIMx_CCR1 這些寄存
器在前面兩章全部都有提到(這里的 x=2),我們這里就不再全部羅列了,我們這里針對性的介紹
這幾個寄存器的配置。
首先 TIMx_ARR 和 TIMx_PSC,這兩個寄存器用來設(shè)自動重裝載值和 TIMx 的時鐘分頻,
用法同前面介紹的,我們這里不再介紹。
再來看看捕獲/比較模式寄存器 1:TIMx_CCMR1。
總結(jié)
以上是生活随笔為你收集整理的STM32寄存器与输入捕获的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 知识图谱中的关系方向与强度研究
- 下一篇: linux文件-access函数