STMCU小助手
发布时间:2022-7-5 19:28
|
前言 方波是指占空比一般为50%,PWM波是指可以调节占空比的 一、方波输出 1. 原理 利用引脚PA11和PA12对应的定时器4通道1/2输出波形
输出比较原理图
输出通道有8中模式,这里采用的是比较输出模式(2),即电平翻转模式。当匹配时,引脚状态翻转。步进电机控制常用的模式 假设CCR寄存器里面的值设定为100,那么计数器从0开始计数,每隔100次,电平将会翻转一次,这样就通过设定CCR寄存器里面的值就可以输出不同频率的方波 假设1M作为计数时钟,计一个数需要t=1e-6s, 波的频率 1/[2*( 100*t)] =5khz 2.STM32CubeMX配置 (1)配置定时器4的模式和通道
(2)配置定时器4计数器的参数和输出比较通道参数,通道模式设置的是电平翻转,比较值设定的是100,每隔100计数,电平翻转一次
(3)配置定时器的输出引脚,输出速率设置为高
(4)配置定时器的中断优先级
3.部分源码
二、PWM波输出 1.原理 生成PWM波采用的是定时器15的通道1和通道2对应引脚为PA2和PA3
输出比较模式选择PWM模式,PWM(脉冲宽度调制)模式可以产生一个由TIMx_ARR寄存器确定频率(周期)、由TIMx_CCRx寄存器确定占空比的PWM信号 PWM模式分为PWM1互为PWM2
在递增计数模式下,计数器从 0 计数到自动重载值( TIMx_ARR 寄存器的内容),然后重新从 0 开始计数并生成计数器上溢事,在中, ARR=999, CCR=300, CNT 从 0 开始计数,当 CNT<CCR 的值 时 , OCxREF 为 有效的 电平 , 比 较中 断寄 存器 CCxIF 置 位 。 当CCR=<CNT<=ARR 时, OCxREF 为无效的电平。然后 CNT 又从 0 开始计数并生成计数器上溢事件,以此循环往复,生成PWM,设置不同的CCR可以调节不同的占空比,设置ARR值可调节周期 若计数时钟为1M,则PWM的频率 = 1 / (1e-3) = 1000hz, 占空比为30% 2.STM32CubeMX配置 (1)配置定时器15的模式和通道选择
(2)配置计数器,pwm生成通道1/2的参数
(3)配置定时器15输出引脚,输出频率高即可
注:PWM的输出不用中断,所以不用配置中断。 3.部分源码
在while循环前添加这几句即可生成PWM波 |
NUCLEO-G474RE 扩展 LSM6DSO 传感器数据融合实操演示全解析
经验分享 | STM32G474 高精度定时器同步功能全解析 从内部互联到多芯片协同的实现方案
经验分享 | STM32G4双BANK启动应用演示
STM32G4 LPTIM+DMAMUX 实现并行输出应用示例
实战经验 | LAT1578 SAU对NSC分区的影响
经验分享 | STM32G474 HRTIM Triggered-half模式实现两相交错电源180°相位同步方案
STM32大神笔记,超详细单片机学习汇总资料
经验分享 | 为什么重启ADC的DMA传输要先停掉ADC?
实战经验 | 基于STM32G474的三相LLC+SR PWM产出方案
STM32固件库分享,超全系列整理
微信公众号
手机版