电子说
今天分享一个提升MCU系统稳定性、增强抗干扰能力的小技巧:如无必要,勿增“主频”!
就是说:MCU的运行主频率越低,系统的稳定性就越好,抗干扰的能力就越强。如果你对产品稳定性要求高,那MCU运行主频率的设定,在满足系统需求的情况下,要尽量往低的方向来设定。
这里,我们还是使用CW32来做一个演示,
演示视频如下 :
https://www.elecfans.com/v/339708/
从视频中,我们可以看到,CW32一开始是在主频48MHz运行,后面重新设定到64MHz运行。在黑色“打狗棒”的超强威力攻击下,CW32在64MHz运行时,复位频繁,而在48MHz时,只是偶尔有复位。
当然,因为CW32本身的芯片设计,就具有强大的抗干扰能力,所以,视频中的现象,不同主频下,现象对比不那么的明显。有兴趣的读者,可以使用ST或其他芯片,做个实验,现象对比就很明显了。
有关时钟配置的的核心源码解析如下:
void RCC_Configuration(void) { /* 0. HSI使能并校准 */ RCC_HSI_Enable(RCC_HSIOSC_DIV6); /* 1. 设置HCLK和PCLK的分频系数 */ RCC_HCLKPRS_Config(RCC_HCLK_DIV1); RCC_PCLKPRS_Config(RCC_PCLK_DIV1); /* 2. 使能PLL,通过PLL倍频到64MHz */ RCC_PLL_Enable(RCC_PLLSOURCE_HSI, 8000000, 8); // HSI 默认输出频率8MHz __RCC_FLASH_CLK_ENABLE(); FLASH_SetLatency(FLASH_Latency_3); /* 3. 时钟切换到PLL */ RCC_SysClk_Switch(RCC_SYSCLKSRC_PLL); RCC_SystemCoreClockUpdate(64000000); }
以上代码为64MHZ的配置。可根据视频中的讲解配置为48M。
接下来还有更多有趣的测试,如果喜欢请点赞、关注!
欢迎各位读者留言交流!
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !