一、系统时钟
继上次的寄存器开发模板,模板里未添加system_gd32f10x文件和gd32f10x.h文件,仅包含一个启动文件;系统时钟为默认的内部8MHz;需要使用外部晶振和PLL,需要自己编写一个系统时钟配置函数;
为串口不出现乱码和USB正常使用,配置为96MHz;
二、配置函数
- void clk_96M_config(void)
- {
- /*使能外部时钟*/
- (*((volatile unsigned int*)(0x40021000)))|=1<<16;
- /*等待外部时钟稳定*/
- while((1<<17)!=((*((volatile unsigned int*)(0x40021000)))&(1<<17)));
- /*禁止外部时钟旁路*/
- (*((volatile unsigned int*)(0x40021000)))&=~(1<<18);
- /*使能外部时钟监测器*/
- (*((volatile unsigned int*)(0x40021000)))|=1<<19;
- /*配置时钟*/
- (*((volatile unsigned int*)(0x40021000+0x04)))|=0x06E9C40A;
- /*使能PLL*/
- (*((volatile unsigned int*)(0x40021000)))|=1<<24;
- /*等待PLL稳定*/
- while((1<<25)!=((*((volatile unsigned int*)(0x40021000)))&(1<<25)));
- }
三、附件
|