STMCU小助手
发布时间:2022-1-22 18:54
|
STM32 的定时器除了 TIM6 和 7。其他的定时器都可以用来产生 PWM 输出。其中高级定, f% Q C: d7 T; ?: y2 g 时器 TIM1 和 TIM8 可以同时产生多达 7 路的 PWM 输出。而通用定时器也能同时产生多达 48 s/ M* U# S8 C4 i5 S' t; R& Y( T 路的 PWM 输出,这样, STM32 最多可以同时产生 30 路 PWM 输出! 要使 STM32 的通用定时器 TIMx 产生 PWM 输出,分别需要用到3个寄存器:捕获 /比较模式寄存器# ]4 }6 H: [ Q6 W) a (TIMx_CCMR1/2)、捕获/比较使能寄存器(TIMx_CCER)、捕获/比较寄存器(TIMx_CCR1~4)。 % E9 m, K4 n, } 这几个寄存器在《stm32中文参考手册》288页到293页有 1) 开启 TIM3 时钟以及复用功能时钟,配置 PB5 为复用输出。
2) 设置 TIM3_CH2 重映射到 PB5 上。 & N0 B$ s- K% Q, z. M
3) 初始化 TIM3,设置 TIM3 的 ARR 和 PSC 。
4) 设置 TIM3_CH2 的 PWM 模式,使能 TIM3 的 CH2 输出。3 h+ p" p/ A7 K1 o
5) 使能 TIM3。- ?' N" v, g V0 P u6 O* t TIM_Cmd(TIM3, ENABLE); //使能 TIM3 5 n. ?9 G \9 k% Z8 S% p% Q, Q 6) 修改 TIM3_CCR2 来控制占空比。 void TIM_SetCompare2(TIM_TypeDef* TIMx, uint16_t Compare2); |
实战经验 | 基于STM32G0B1的全桥移相+同步整流PWM解决方案
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
【福利三:逢7发帖赢大礼】8、基于STM32G070板子的Ymodem串口协议IAP Bootloader开发
【福利三:逢7发帖赢大礼】7、基于STM32G070板子TF卡的FATFS移植
【福利三:逢7发帖赢大礼】6、基于STM32G070板子spiflash的FATFS移植
【福利三:逢7发帖赢大礼】5、基于STM32G070板子IRDA红外遥控接收解码
【福利三:逢7发帖赢大礼】4、基于STM32G070板子SPI flash 移植SFUD库
【福利三:逢7发帖赢大礼】基于STM32G070板子的uart shell移植设计
【福利三:逢7发帖赢大礼】3、基于STM32G070板子的YModem串口协议通信
【福利三:逢7发帖赢大礼】2、基于STM32G070板子的OLED移植U8G2库
微信公众号
手机版