對,又是我,最近學 stm32 學到了計時器,相比起 51 複雜了不是一星半點,然後還多了不少名詞和公式,這邊簡單彙總概括一下,理一下學過的東西。
(一)GPIO#
“GPIO” 是 “General Purpose Input Output” 的縮寫,意思是 “通用輸入輸出接口”,可以接受或者輸出信號。
(二)AFIO#
AFIO 是 “Alternate Function I/O” 的縮寫,意思是 “複用功能輸入輸出”,因為 stm32 中有些引腳複用,有時候不方便就需要調節 AFIO,在外部中斷的時候也需要配置 AFIO 進行中斷引腳選擇。
(三)中斷相關#
- “EXTI” 是外部中斷寄存器,用於監視鑑定 GPIO 引腳的電平信號,然後向 NVIC 申請中斷。
- ”NVIC “的全稱是” Nested vectored interrupt controller“,即嵌套向量中斷控制器,用於管理和控制中斷。
(四)定時器相關#
- ”PSC“表示預分頻器。
- ”CNT“表示計數器,CNT 達到 ARR 時就會溢出。
- ”ARR“表示自動重載器。
- “CCR” 是 “Capture/Compare Register” 的縮寫,中文意思是 “捕獲比較寄存器”,用於與 ARR 比較產生 PWM 波。
- "CK" 表示時鐘,是 “Clock” 的縮寫。
- “CK_CNT” 計時器計數頻率。
- “CK_PSC” 計時器的預分頻值,在 stm32 中,這個值是 72MHZ。
(五)計算公式#
- 計時器溢出頻率:CK_CNT_OV=CK_CNT/ARR+1=CK_PSC/PSC+1/ARR+1
- PWM 佔空比:Duty=CRR/ARR+1
- PWM 頻率:Freq=CK_PSC/PSC+1/ARR+1
- PWM 分辨率:Reso=1/ARR+1
目前剛學到計時器,知道的要配置的東西就這麼多,都只是粗略地理解,畢竟我剛大一,學校還沒開專業課,好多聽不懂的,只是學一下怎麼用,以後再細學。