STM32中SYSTICK定時器、埠複用和重對映

樂小樹發表於2015-11-09

第一部分STM32SYSTICK定時器:

systick 定時器按照字面意思就知道是一個簡單的定時器,主要用來做延時,以避免MCU的資源浪費。

它是一個24位的倒置計數器,倒置的意思就是從最大數字遞減到0,SysTick定時器被捆綁在NVIC中,用於產生SYSTICK異常,即用於中斷系統。

systick有四個暫存器分別如下:

1、CTRL      SysTick 控制和狀態暫存器 LOAD :主要用於使能 systick定時器,異常請求,選擇內部還是外部時鐘,計數是否為零標誌位

2、SysTick 自動重灌載值暫存器 :就是存放計數遞減到零以後所自動裝載的值。
3、VAL   
SysTick 當前值暫存器 CALIB :按照意思就可知是當前計數的值,對它寫入則會清零該數值,並且把CTRL中計數是否為零的標誌位也清零。

4、SysTick 校準值暫存器:一般不用

A、韌體庫中的Systick相關函式:

    SysTick_CLKSourceConfig()    //Systick時鐘源選擇  misc.c檔案中

    SysTick_Config(uint32_tticks) //初始化systick,時鐘為HCLK,並開啟中斷

                                                   //core_cm3.h/core_cm4.h檔案中

B、Systick中斷服務函式:
   void SysTick_Handler(void);

第二部分:埠複用和重對映

埠複用的官方解釋為:

STM32有很多的內建外設,這些外設的外部引腳都是與GPIO複用的。也就是說,一個GPIO如果可以複用為內建外設的功能引腳,那麼當這個GPIO作為內建外設使用的時候,就叫做複用。

粗俗解釋:就是一個埠可以有很多功能,就叫埠複用。

埠對映的解釋可以理解為,一個埠根據地址的計算方式轉移到另外一個埠。



相關文章