功能:主要实现PWM的输出以及调节
百度云:https://pan.baidu.com/s/1uHpCOuF-2y-yPaFHi0UwUg?pwd=6666
提取码:6666
目录
1.配置时钟
然后回车一下。
因为开发板上接的是24MHz所以这里填1处24,官方给的历程都是80MHz所以4处填80。
2.SYS配置
防止只能下载一次程序所以这里设置为Serial Wire。
3.配置PWM16,PWM17
这里我们选择PA6的TIM16_CH1以及PA7的TIM17_CH1 。
这里我们使能TIM16以及选择通道CH1。
这里的8000-1代表分频,100-1代表计数值。
PWM的频率=外部时钟频率/(Prescaler+1)/(Counter Period+1)=80M/(8000-1+1)/(100-1+1)=100Hz
这个是占空比,我们前面设置的计数值为100-1,所以这里也很好计算,几十就是占空比为百分之多少。这个参数再程序中也可以设置,这里只是赋一个初始值。
和上面一样使能以及设置分频和计数值,
PWM的频率=外部时钟频率/(Prescaler+1)/(Counter Period+1)=80M/(4000-1+1)/(100-1+1)=200Hz
这里我们也赋一个初始值。
设置好名字以及用keil编写程序 。
勾上这个。
生成代码。
4.代码编写
我们这里开启PWM16,PWM17的通道一
这里我们可以再次设置占空比 。
我们就完成了PWM的设置以及程序的编写。
如果要观察是否真的调节了占空比可以外接一个小灯来观看,频率可以用输入捕获来判断。
到此PWM完成。
如有错误还请指正,谢谢。