一个以标准库实现的PWM测试程序,芯片是STM32F103R8Tx,使用的是TIM2定时器,选择的是第一通道,对应PA0端口,通过逻辑分析仪测试符合。
工具/原料
1
Keil5
2
逻辑分析仪
方法/步骤
1
定义TIM_Configuration用于定时器TIM2和PWM,注意必须调用TIM_Cmd使能TIM2计数,否则不会有PWM输出了。其中Pulse就是脉宽计数,Period是周期计数。
2
定义GPIO_Confitureation,用于配置GPIO,由于PA0使用与PWM功能,也就是复用模式,且为输出,所以选择GPIO_MODE_AF_PP,至于速度对于PWM一般快些好。
3
定义RCC_Configuration初始化系统时钟,这里用到了PA0和TIM2两个外设,所以必须将对应时钟使能。
4
在main函数中调用RCC_Configuration、GPIO_Configuration、TIM_Configuration,之后死循环即可。
5
逻辑分析仪测试结果,可以看到之气那设置的脉宽计数5,周期100,也就是占空比5%.
6
如果想使用PWM比较输出中断,那么需要配置NVIC同时还需要使能TIM2的CC1中断。
7
将*.s文件中的中断函数复制到stm32f10x_it.c中,具体如图。添加CC1中断的处理代码。
注意事项
1
1、一定不要忘了使能外设时钟,同时注意外设时钟所在位置是APB2还是APB1。
2
2、不要将TIM2和其它定时器混淆了。
下一篇:船舶高频如何调频道?