STMCU小助手
发布时间:2022-7-5 19:28
|
前言 方波是指占空比一般为50%,PWM波是指可以调节占空比的 一、方波输出, o& p1 I, u) ?1 c) K 1. 原理 利用引脚PA11和PA12对应的定时器4通道1/2输出波形4 n* J& d r/ a8 A* n+ j# I$ Y
5 J0 r3 k2 c4 \3 k& c 输出比较原理图1 W# H/ A& y+ M( k# z5 t
3 v9 _- D! W. N6 a2 c 输出通道有8中模式,这里采用的是比较输出模式(2),即电平翻转模式。当匹配时,引脚状态翻转。步进电机控制常用的模式- b, R1 _ a7 W* g: o+ v* o' X 假设CCR寄存器里面的值设定为100,那么计数器从0开始计数,每隔100次,电平将会翻转一次,这样就通过设定CCR寄存器里面的值就可以输出不同频率的方波- n* j8 A" Z0 A& E ) P7 i M4 }3 \3 @% ^ 假设1M作为计数时钟,计一个数需要t=1e-6s, 波的频率 1/[2*( 100*t)] =5khz 2.STM32CubeMX配置+ K5 e" G F9 \ (1)配置定时器4的模式和通道! @0 p2 v. k, C. V , s8 R* N: O0 N! q8 M" s
(2)配置定时器4计数器的参数和输出比较通道参数,通道模式设置的是电平翻转,比较值设定的是100,每隔100计数,电平翻转一次' U" v. L: ]. _% H) t + t" ?) Z; @; `# W: J" P G# Q( U" `9 B; p
(3)配置定时器的输出引脚,输出速率设置为高6 W* A' b: e: |+ _, |% W1 s; B 6 {4 ~: |8 U& H+ ^
(4)配置定时器的中断优先级8 _) l( e' R+ ^5 d0 V6 k& R8 Y* T 9 n, t# [# P. c7 E
3.部分源码
二、PWM波输出9 Z$ R L, `- I+ a+ O 1.原理' c7 ]8 `9 d1 J+ D3 k: w0 [3 F; C 生成PWM波采用的是定时器15的通道1和通道2对应引脚为PA2和PA3; u; X3 T: x/ t8 r \( V/ }
9 i% M% c' k W. B5 p 输出比较模式选择PWM模式,PWM(脉冲宽度调制)模式可以产生一个由TIMx_ARR寄存器确定频率(周期)、由TIMx_CCRx寄存器确定占空比的PWM信号 c( G. L" g0 f; T, g! ~; S PWM模式分为PWM1互为PWM2
/ G! Q. D. V' W9 S) U* _8 u6 L 在递增计数模式下,计数器从 0 计数到自动重载值( TIMx_ARR 寄存器的内容),然后重新从 0 开始计数并生成计数器上溢事,在中, ARR=999, CCR=300, CNT 从 0 开始计数,当 CNT<CCR 的值 时 , OCxREF 为 有效的 电平 , 比 较中 断寄 存器 CCxIF 置 位 。 当CCR=<CNT<=ARR 时, OCxREF 为无效的电平。然后 CNT 又从 0 开始计数并生成计数器上溢事件,以此循环往复,生成PWM,设置不同的CCR可以调节不同的占空比,设置ARR值可调节周期3 @ j, @) v' M1 \: p2 p 若计数时钟为1M,则PWM的频率 = 1 / (1e-3) = 1000hz, 占空比为30%' Y- q0 |; F2 m7 d 2.STM32CubeMX配置 (1)配置定时器15的模式和通道选择
9 P4 P# y- } i( A! D( a" }( g (2)配置计数器,pwm生成通道1/2的参数 I7 n( w0 |3 `; F2 n3 }2 V- N
K$ W4 P7 h5 Z9 _" ?% _ (3)配置定时器15输出引脚,输出频率高即可 # {, f1 n. u3 u2 Z& w6 K' I
注:PWM的输出不用中断,所以不用配置中断。 0 U$ E$ b7 B0 D& G0 Y: @ 3.部分源码
在while循环前添加这几句即可生成PWM波4 V6 h9 l, l/ c% l - k1 ^" c+ o" ?( }# X' ^" ^ |
经验分享 | 基于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°相位同步方案
微信公众号
手机版