第一部分STM32SYSTICK定時器:
systick 定時器按照字面意思就知道是一個簡單的定時器,主要用來做延時,以避免MCU的資源浪費。
它是一個24位的倒置計數(shù)器,倒置的意思就是從最大數(shù)字遞減到0,SysTick定時器被捆綁在NVIC中,用于產(chǎn)生SYSTICK異常,即用于中斷系統(tǒng)。
systick有四個寄存器分別如下:
1、CTRL SysTick控制和狀態(tài)寄存器LOAD :主要用于使能 systick定時器,異常請求,選擇內部還是外部時鐘,計數(shù)是否為零標志位
2、SysTick自動重裝載除值寄存器:就是存放計數(shù)遞減到零以后所自動裝載的值。
3、VALSysTick當前值寄存器CALIB :按照意思就可知是當前計數(shù)的值,對它寫入則會清零該數(shù)值,并且把CTRL中計數(shù)是否為零的標志位也清零。
4、SysTick校準值寄存器:一般不用
A、固件庫中的Systick相關函數(shù):
SysTick_CLKSourceConfig() //Systick時鐘源選擇misc.c文件中
SysTick_Config(uint32_tticks) //初始化systick,時鐘為HCLK,并開啟中斷
//core_cm3.h/core_cm4.h文件中
B、Systick中斷服務函數(shù):
voidSysTick_Handler(void);
第二部分:端口復用和重映射
端口復用的官方解釋為:
STM32有很多的內置外設,這些外設的外部引腳都是與GPIO復用的。也就是說,一個GPIO如果可以復用為內置外設的功能引腳,那么當這個GPIO作為內置外設使用的時候,就叫做復用。
粗俗解釋:就是一個端口可以有很多功能,就叫端口復用。
端口映射的解釋可以理解為,一個端口根據(jù)地址的計算方式轉移到另外一個端口。