第一部分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作為內建外設使用的時候,就叫做復用。
粗俗解釋:就是乙個埠可以有很多功能,就叫埠復用。
埠對映的解釋可以理解為,乙個埠根據位址的計算方式轉移到另外乙個埠。
stm32的Systick定時器
systick定時器簡介 systick定時器就是系統滴答定時器,乙個24 位的倒計數定時器,計到0 時,將從reload 暫存器中自動重裝載定時初值。只要不把它在systick 控制及狀態暫存器中的使能位清除,就永不停息,即使在睡眠模式下也能工作。systick定時器被 在nvic中,用於產生sy...
STM32之SysTick定時器
systick 作業系統的心跳 systick是系統滴答定時器,可以說是作業系統的的 心跳 它被綁在nvic中,用於產生systick異常 異常號 15 一旦產生systick異常,就會產生滴答中斷,這個滴答中斷對作業系統尤其重要。例如 作業系統可以為多個任務分配不同數目的時間片,確保沒有乙個任務霸...
STM32開發 Systick定時器
參看 stm32菜鳥成長記錄 系統滴答定時器 systick 應用 參看 systick定時器和delay延遲函式 systick定時器被 在nvic中,用於產生systick異常 異常號 15 在以前,大多作業系統需要乙個硬體定時器來產生作業系統需要的滴答中斷,作為整個系統的時基。例如,為多個任務...