STM32是一個功能強(qiáng)大的微控制器,豐富的外設(shè),強(qiáng)大的功能注定設(shè)計師最初必須注意它的功耗問題,所以產(chǎn)生了時鐘,這很容易理解,就像我們的電腦,你會在使用時打開所有軟件使用么,難道你上個淘寶,你要把什么視頻軟件,游戲,也一起打開么,顯然不合理,費電,拖速度,stm32也是一樣,(在筆者現(xiàn)在學(xué)到先在,雖然也沒學(xué)多少)做什么都要打開相應(yīng)時鐘(就像用鼠標(biāo)雙擊打開相應(yīng)軟件一樣)。時鐘分很多個,IO口的時鐘,打開以一組為單位。外設(shè)有串口時鐘,定時器時鐘,外部中斷復(fù)用時鐘,看門狗時鐘。
無論是什么功能都有相應(yīng)時鐘,一定要正確打開。
對寄存器AFIO_EVCR,AFIO_MAPR和AFIO_EXTICRX進(jìn)行讀寫操作前,應(yīng)當(dāng)首先打開AFIO的時鐘。參考《STM32中文參考手冊》第6.3.7節(jié)APB2外設(shè)時鐘使能寄存器(RCC_APB2ENR)。
(1)事件控制寄存器(AFIO_EVCR)
(2)復(fù)用重映射和調(diào)試I/O配置寄存器(AFIO_MAPR):當(dāng)進(jìn)行重映射,調(diào)試IO時則需要進(jìn)行時鐘配置
(3)外部中斷配置寄存器1(AFIO_EXTICR1),外部中斷配置寄存器2(AFIO_EXTICR2)
外部中斷配置寄存器3(AFIO_EXTICR3)外部中斷配置寄存器4(AFIO_EXTICR4)
以上3種情況都要打開AFIO時鐘





