AT32F415 修改時鐘和晶振方法(原創)

迷幻森林發表於2022-06-04

1、 簡介

我們幾乎是國內第一批使用AT32F415晶片的客戶,那個時候晶片還沒漲價,歲月一切靜好。使用AT32F415 做了幾個小產品,也在持續出貨。後來大家都知道,漲價缺貨愈演愈烈。好在我們提前囤了一批,有驚無險的度過了不平凡的一年。言歸正傳,把最近遇到的總結一下,庫版本更新了,從V1.0 到V2.0 ;晶片版本更新了從B版本到C版本;我們主要是修改晶振,預設的都是8Mhz,但是由於封裝限制,想用小尺寸的就必須用頻率高的,比如12M的;

2、 庫版本V1.0修改方法:針對V1.0版本庫修改方法如下:在static void SetSysClockTo144M(void);這個函式裡面修改,RCC->CFG |= (uint32_t)(RCC_CFG_PLLRC_HSE | RCC_CFG_PLLMULT18);

比如都是要144MHz主頻,晶體從8M修改到12Mhz,8*18=144Mhz  12*12=144Mhz,因此這句改為:

RCC->CFG |= (uint32_t)(RCC_CFG_PLLRC_HSE | RCC_CFG_PLLMULT12);

新增巨集定義:HSE_VALUE=12000000

3、 庫版本V2.0 修改方法:

V2.0的庫預設開啟了 輸入時鐘/2的功能,因此如果是8Mhz 晶體輸出144Mhz 則是8*36/2=144Mhz;如果此時需要修改成12Mhz 則需要 12*24/2=144Mhz;

在void system_clock_config(void)函式中修改;

修改巨集定義:HEXT_VALUE=12000000 ;V2.0庫改名字了;

 

自此修改晶振就介紹結束,如果想要修改頻率也可以修改相應的PLL倍數即可;

 

相關文章