STM32F103输出多路死区互补PWM波

TIM1,TIM8可以产生死区互补PWM波, 学习后发现stm32的定时器功能确实很强大,小总结一下方便以后使用的时候做参考。Stm32定时器一共分为三种:tim1和tim8是高级定时器,6和7是基本定时器,2—5是通用定时器。从名字就可以看得出来主要功能上的差异。今天我主要是用定时器做pwm输出,所以总结也主要是针对pwm方面的。
      先大致说下通用和高级定时器的区别。通用的可以输出四路pwm信号互不影响。高级定时器可以输出三对互补pwm信号外加ch4通道,也就是一共七路。
所以这样算下来stm32一共可以生成4*5+7*2=30路pwm信号。接下来还有功能上的区别:通用定时器的pwm信号比较简单,就是普通的调节占空比调节频率(别的不常用到的没去深究);高级定时器的还带有互补输出功能,同时互补信号可以插入死区,也可以使能刹车功能,从这些看来高级定时器的pwm天生就是用来控制电机的。
1、TIM生成PWM初始化设置
首先确定引脚,TIM1可以 无映射、部分映射、完全映射,对应引脚不同,这里使用部分重映射,使用TIM1的通道GH1、CH2产生PWM波,CH1N、CH2N产生互补的PWM波,即PA8和PA7为一对,PA9和PB0为一对。
//1、初始化结构体
//使用到GPIO、TIM基本配置、比较输出、死区配置;
GPIO_InitTypeDef GPIO_InitStructure2;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
TIM_BDTRInitTypeDef TIM_BDTRInitStructure;
//2、使能时钟,GPIO,TIM1,复用功能,
//时钟使能,管脚Rmap
  • 20
    点赞
  • 108
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
STM32F103上实现两路带死区互补PWM输出的方法如下: 1. 首先,根据引用和引用,你可以使用STM32的高级定时器来实现带死区PWM输出。高级定时器是专门用于生成PWM的定时器,并且支持互补输出死区控制。 2. 配置PWM的频率和占空比。通过设置高级定时器的预分频器和重载值,可以确定PWM的频率。通过设置占空比寄存器,可以控制PWM的占空比。引用中提到了配置PWM寄存器的步骤。 3. 配置PWM互补输出死区时间。对于互补输出,你可以通过设置高级定时器的互补输出模式来实现。对于死区时间,你可以通过设置死区寄存器来控制。 4. 配置GPIO引脚使能PWM输出。根据引用中的说明,你需要将互补输出通道的GPIO配置为复用推挽输出模式,以确保PWM能够从相应的引脚输出。 总结起来,你需要使用STM32的高级定时器来配置和控制带死区互补PWM输出,并且需要设置相应的PWM寄存器、互补输出模式和死区寄存器来实现所需的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [STM32F103输出两路PWM并带死区](https://download.csdn.net/download/wzainyu/10729525)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [stm32 高级定时器-PWM互补输出死区时间](https://download.csdn.net/download/qq_37108937/10362359)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [[标准库]STM32F103R8T6 高级定时器--PWM输出和带死区互补PWM输出](https://blog.csdn.net/qq_36415628/article/details/128919371)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值