STMCU小助手
发布时间:2022-7-5 19:28
|
前言. \* K( d) d8 u& P5 m% O* Q 0 F# `6 Q( G' R. ], _ 方波是指占空比一般为50%,PWM波是指可以调节占空比的 一、方波输出( Q# L9 j. L" {4 s( U% g( l: |8 t 1. 原理 利用引脚PA11和PA12对应的定时器4通道1/2输出波形 Q2 E$ k0 [3 L
输出比较原理图
输出通道有8中模式,这里采用的是比较输出模式(2),即电平翻转模式。当匹配时,引脚状态翻转。步进电机控制常用的模式5 q# J! G9 w8 v3 X 假设CCR寄存器里面的值设定为100,那么计数器从0开始计数,每隔100次,电平将会翻转一次,这样就通过设定CCR寄存器里面的值就可以输出不同频率的方波3 X$ M; `6 S3 x6 ?6 H 假设1M作为计数时钟,计一个数需要t=1e-6s, 波的频率 1/[2*( 100*t)] =5khz2 a2 q/ }4 q; G& H6 j7 o( w 2.STM32CubeMX配置# M( o9 i6 u1 ` (1)配置定时器4的模式和通道1 J8 m1 D2 l( V* C9 x. p* c8 D4 | P 6 r$ Y7 b& V+ i; N- e4 ]" b( m
1 G5 V( p: O; X+ t1 z U (2)配置定时器4计数器的参数和输出比较通道参数,通道模式设置的是电平翻转,比较值设定的是100,每隔100计数,电平翻转一次 5 h. J/ z t$ _# [3 F4 x
(3)配置定时器的输出引脚,输出速率设置为高
(4)配置定时器的中断优先级 - h: N! u% a& Y
5 Z. @% E% m$ S5 E 3.部分源码
二、PWM波输出% e4 M0 J+ {& y; f- @7 B$ X) o 1.原理" X$ ~ I% \9 } 生成PWM波采用的是定时器15的通道1和通道2对应引脚为PA2和PA3
0 |$ Y7 R( v ~! l' ]* l 输出比较模式选择PWM模式,PWM(脉冲宽度调制)模式可以产生一个由TIMx_ARR寄存器确定频率(周期)、由TIMx_CCRx寄存器确定占空比的PWM信号9 O+ c7 l3 h" l4 H2 W5 G! c# v8 p8 j # ?/ T' `, |/ m" O7 h6 v PWM模式分为PWM1互为PWM2: I0 o5 Z: x' x! F
) Q5 P+ m+ o& P 在递增计数模式下,计数器从 0 计数到自动重载值( TIMx_ARR 寄存器的内容),然后重新从 0 开始计数并生成计数器上溢事,在中, ARR=999, CCR=300, CNT 从 0 开始计数,当 CNT<CCR 的值 时 , OCxREF 为 有效的 电平 , 比 较中 断寄 存器 CCxIF 置 位 。 当CCR=<CNT<=ARR 时, OCxREF 为无效的电平。然后 CNT 又从 0 开始计数并生成计数器上溢事件,以此循环往复,生成PWM,设置不同的CCR可以调节不同的占空比,设置ARR值可调节周期 1 z( N& @7 y( ]+ {" n2 W$ { 若计数时钟为1M,则PWM的频率 = 1 / (1e-3) = 1000hz, 占空比为30% 2.STM32CubeMX配置* e/ H+ e7 \; [0 x8 a (1)配置定时器15的模式和通道选择8 s; ^; Z0 f1 ^4 S) u
(2)配置计数器,pwm生成通道1/2的参数 ) f* y- t! n& Q5 z6 C) @) P' c/ m* U
(3)配置定时器15输出引脚,输出频率高即可" L! L3 i1 T u* w y8 i
: Q6 C0 j- W5 F0 o% M 注:PWM的输出不用中断,所以不用配置中断。 / r+ e2 A5 W) |1 |" @# B 3.部分源码& I5 V9 M0 h9 _' C/ Z' G
在while循环前添加这几句即可生成PWM波 , [; |, A# }6 u$ ] A - i! \" t' S! j+ P1 j |
经验分享 | 基于STM32G4芯片TIM+SPI+DMA应用示例
STM32G47x 双 Bank 模式下在线升级
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
【经验分享】STM32G4之基本定时器
NUCLEO-G474RE 扩展 LSM6DSO 传感器数据融合实操演示全解析
经验分享 | STM32G474 高精度定时器同步功能全解析 从内部互联到多芯片协同的实现方案
经验分享 | STM32G4双BANK启动应用演示
STM32G4 LPTIM+DMAMUX 实现并行输出应用示例
实战经验 | LAT1578 SAU对NSC分区的影响
经验分享 | STM32G474 HRTIM Triggered-half模式实现两相交错电源180°相位同步方案
微信公众号
手机版