【前言】
武汉芯源CW32系列的时钟源可以选择多个输入,由于最小开发板系统没有外接晶振,所以主要配置HSI为主要工作时钟源,本篇在例程基础之上修改主频要48MHz并实现UART的中断接收示例。
在官方提供的例程中,只给出了8M的配置,修改运行频率,需要修改时钟分频系数、FLASH写入延时、同时修改UART的主频系数。
【实现步骤】
1、打开工程示例UART_Ingerrupta工程。
2、在时钟配置函数RCC_Configuration中修改SYSCTRL_HSI_Enable的分频为SYSCTRL_HSIOSC_DIV1,即不分频48M,同时频率大于24M需要配置FlashWait=2。
/** * @brief 配置RCC * */ void RCC_Configuration(void) { SYSCTRL_HSI_Enable(SYSCTRL_HSIOSC_DIV1); FLASH_SetLatency(FLASH_Latency_2); //频率大于24M需要配置FlashWait=2 //外设时钟使能 SYSCTRL_AHBPeriphClk_Enable(DEBUG_UART_GPIO_CLK, ENABLE); DEBUG_UART_APBClkENx(DEBUG_UART_CLK, ENABLE); }
3、修改UART频率为48M的宏定义:#define DEBUG_UART_UclkFreq 48000000
经过上述修改,就可以成功的将主频提高,同时也可以让串口能正常工作了。
【实验效果】
下载到开发板后,可以成功的实现输入什么打印什么了。
【提示】
好象CW32L0101,在下载器设置了下载后重启,但是是没有效果的,需要手工断电,再上电才能正常运行。