c语言定时器1khz占空比,STM32高级定时器TIM1产生两路互补的PWM波(带死区)

使用STM32F103RBT6和Keil 5.20.0.0,通过TIM1的通道1和2,配置产生两路1kHz、死区时间1us的互补PWM波。代码中详细展示了TIM1的GPIO配置、定时器参数设置以及PWM模式初始化。

测试环境:Keil 5.20.0.0 STM32F103RBT6 固件库版本:STM32F10x_StdPeriph_Lib_V3.5.0(2011)

70f2432fb7727696035e34f8ece6cd98.png

本文使用TIM1的通道1,通道2,产生两路1khz,死区时间1us的互补PWM波。

所使用的IO口:由下图知,我们使用引脚为PA9,PA10,互补输出使用PB14,PB15

fd045b150f27db669ed0b30b9506c920.png

部分代码如下:

3350b879e51a2d3a4ab06ea2e0854724.gif

5c953341f0166a24adb5872919d817e9.gif

1 /*配置TIM1复用输出PWM时用到的I/O*/

2 static void TIM1_GPIO_Config(void)3 {4 GPIO_InitTypeDef GPIO_InitStructure;5

6 /*TIM1 clock enable*/

7 RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);8

9 /*GPIOA and GPIOB clock enable*/

10 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA |RCC_APB2Periph_GPIOB, ENABLE);11

12 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 |GPIO_Pin_10;13 GPIO_InitStructure.GPIO_Mode =GPIO_Mode_AF_PP;14 GPIO_InitStructure.GPIO_Speed =GPIO_Speed_50MHz;15

16 GPIO_Init(GPIOA, &GPIO_InitStructure);17

18 GPIO_Init

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值