stm32性能强大,但其开发难度又显著高于Arduino等单片机。本文将通过“呼吸灯”程序,介绍stm32中PWM方波的产生及中断函数的应用。
往期回顾
STM32开发入门(一)——流水灯
https://blog.csdn.net/m0_51908955/article/details/113528296
STM32开发入门(二)——Hello World
https://blog.csdn.net/m0_51908955/article/details/113529909
软件
- Keil 5(单片机集成开发环境)
- STM32CubeMX(自动配置stm32编程的相关文件)
- FLYMCU(stm32串口下载软件,也可用ST-LINK代替)
- XCOM(串口监视器)
准备
GPIO、RCC、SYS的配置、生成文件的方法详见往期。
打开“Clock Configuration”,将时钟配置改为如下图所示,此时的时钟频率为72MHz。
打开“Timers”中的“TIM2”,设置“Clock Source”为“Internal Clock”。点击下方的“Parameter Settings”,设置第一项为72,第三项为10000。打开“NVIC Settings”,勾选“Enabled”。(更严谨的写法为72-1和 10000-1,此处不深入探讨)
设置的具体含义:
第一项:分频设置。时钟的原本频率是72MHz,我们可以将其分为72份,每个为1MHz。
第三项:上限设置。计数上限为10000。溢出后将执行一次中断函数,并从头计数。
由于频率为1MHz,计数上限为10000,所以在1s内会执行100次中断函数,这样我们就得到了一个时差为10ms的中断函数。
<