1. 单片机外部晶振与配置文件不符;
1.检查单片机的外部晶振使用的大小
2.gd32f10x.h文件中的HXTAL_VALUE宏定义
3.注意105的官方例程以及各种开发板多是25MHz
2.单片机内部时钟配置(这步多被忽略)
1.system_gd32f10x.c中需要修改对应函数的单片机内部时钟配置
2.例如108MHz,需要修改system_clock_108m_hxtal()
3.
/* CK_PREDIV0 = (CK_HXTAL)/2 *10 /10 = 4 MHz */
RCU_CFG1 &= ~(RCU_CFG1_PREDV0SEL | RCU_CFG1_PLL1MF | RCU_CFG1_PREDV1 | RCU_CFG1_PREDV0);
RCU_CFG1 |= (RCU_PREDV0SRC_CKPLL1 | RCU_PLL1_MUL10 | RCU_PREDV1_DIV2 | RCU_PREDV0_DIV10);
我这里用的外部8M晶振,CK_HXTAL = 8;
3.更改完毕后,再次配置测试,定时器周期正常