AT32F415 修改时钟和晶振方法(原创)

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);

AT32F415 修改时钟和晶振方法(原创)

添加宏定义:HSE_VALUE=12000000

AT32F415 修改时钟和晶振方法(原创)

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

V2.0的库默认开启了 输入时钟/2的功能,因此如果是8Mhz 晶体输出144Mhz 则是8*36/2=144Mhz;如果此时需要修改成12Mhz 则需要 12*24/2=144Mhz;

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

AT32F415 修改时钟和晶振方法(原创)

修改宏定义:HEXT_VALUE=12000000 ;V2.0库改名字了;

AT32F415 修改时钟和晶振方法(原创)

 

自此修改晶振就介绍结束,如果想要修改频率也可以修改相应的PLL倍数即可;

 

发表评论

相关文章