多语言展示
当前在线:1231今日阅读:168今日分享:49

STM32F103R8Tx使用PWM

一个以标准库实现的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和其它定时器混淆了。

推荐信息