Bilibili配套视频:
https://www.bilibili.com/video/BV1PF411D7px/?spm_id_from=333.999.0.0
本章内容为大家介绍STM32G4的高级定时器模块,使用TIM1发出3对互补的PWM波。
1.STM32CUBEMX配置及Keil代码
1.在上一章的工程基础上我们增加TIM1的外设,生成3对互补的PWM信号;选择内部时钟源,根据原理图配置输出的PWM IO口,选择channel 1,2,3为PWM互补输出,channel配置为PWM模式但不输出,用于后续ADC触发;
2.配置时基单元;
3.配置TRGO触发源,后续用于ADC电流采样触发;
4.配置死区时间120;
5.配置channel1,2,3为PWM模式1,其他默认;
6.配置channel 4为PWM模式2,周期值为8000-2;
7.配置TIM1中断;
8.生成代码,打开Keil工程;
9.在TIM1初始化完成后,从新设置分频系数,ARR及CCR1,2,3的值,启动TIM1计数及PWM输出;
10.在while循环中,注释掉之前ADC代码;读取PWM channel1(PA8), channel2(PA9), channel3(PA10) IO状态,并通过VOFA上位机打印波形;
2.实验现象
按以下图片接线,并讲USB转UART模块连接至电脑:
VOFA上位机显示三个通道的PWM波形,波形与配置需要达到的效果完全移植;
通过板子测试点,使用示波器或逻辑分析仪也可查看相应波形;