12-STM32的PWM输出相关库函数_第1页
12-STM32的PWM输出相关库函数_第2页
12-STM32的PWM输出相关库函数_第3页
12-STM32的PWM输出相关库函数_第4页
12-STM32的PWM输出相关库函数_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

STM32的PWM输出相关库函数STM32的PWM输出相关库函数PWM相关的函数设置,是在库函数文件stm32f10x_tim.h和stm32f10x_tim.c文件中。开启TIM1时钟以及复用功能时钟,配置PE8和PE13为复用输出。要使用TIM1,必须先开启TIM1的时钟。还要配置PE8和PE13为复用输出,这是因为TIM1_CH1N和TIM1_CH3通道将重映射到PE8和PE13上,此时PE8和PE13属于复用功能输出。库函数使能TIM1时钟的方法如下:

库函数设置AFIO时钟的方法如下:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE);STM32的PWM输出相关库函数设置TIM1_CH1N和TIM1_CH3重映射到PE8和PE13上。在stm32f10x_gpio.h头文件中都有定义,定时器的部分重映射代码如下:TIM1完全重映射的库函数实现方法代码如下:#defineGPIO_PartialRemap_TIM1((uint32_t)0x00160040)#defineGPIO_FullRemap_TIM1((uint32_t)0x001600C0)#defineGPIO_PartialRemap1_TIM2((uint32_t)0x00180100)#defineGPIO_PartialRemap2_TIM2((uint32_t)0x00180200)#defineGPIO_FullRemap_TIM2((uint32_t)0x00180300)#defineGPIO_PartialRemap_TIM3((uint32_t)0x001A0800)#defineGPIO_FullRemap_TIM3((uint32_t)0x001A0C00)#defineGPIO_Remap_TIM4((uint32_t)0x00001000)GPIO_PinRemapConfig(GPIO_FullRemap_TIM1,ENABLE);

STM32的PWM输出相关库函数初始化TIM1,设置TIM1的ARR和PSC开启TIM1的时钟之后,还要通过库函数的TIM_TimeBaseInit()函数来设置ARR和PSC两个寄存器的值,控制输出PWM的周期。TIM_TimeBaseStructure.TIM_Period=arr;TIM_TimeBaseStructure.TIM_Prescaler=psc;TIM_TimeBaseStructure.TIM_ClockDivision=0;TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;TIM_TimeBaseInit(TIM1,&TIM_TimeBaseStructure);

STM32的PWM输出相关库函数设置TIM1_CH1N和TIM1_CH3的PWM模式,使能TIM1的CH1N和CH3输出在库函数中,PWM通道是通过TIM_OC1Init()~TIM_OC4Init()函数来设置的,这几个函数都在stm32f10x_tim.c文件中。不同通道的设置函数不一样,这里使用的是通道1和通道3,使用的函数是TIM_OC1Init()和TIM_OC3Init()。voidTIM_OC1Init(TIM_TypeDef*TIMx,TIM_OCInitTypeDef*TIM_OCInitStruct);voidTIM_OC3Init(TIM_TypeDef*TIMx,TIM_OCInitTypeDef*TIM_OCInitStruct); STM32的PWM输出相关库函数设置TIM1_CH1N和TIM1_CH3的PWM模式,使能TIM1的CH1N和CH3输出其中,定义结构体TIM_OCInitTypeDef的代码如下:typedefstruct{uint16_tuint16_tuint16_t

TIM_OutputNState;uint16_t

TIM_Pulse;uint16_tuint16_t

TIM_OCNPolarity;uint16_t

TIM_OCIdleState;uint16_t

TIM_OCNIdleState;}TIM_OCInitTypeDef;TIM_OCMode;TIM_OutputState;TIM_OCPolarity;STM32的PWM输出相关库函数设置TIM1_CH1N和TIM1_CH3的PWM模式,使能TIM1的CH1N和CH3输出TIM1_CH1N和TIM1_CH3为PWM1模式,并使能TIM1的CH1N和CH3输出,其代码如下:设置TIM1_CH1N为PWM模式1

TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;

TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;

TIM_OC1Init(TIM1,&TIM_OCInitStructure);

TIM_OCInitTypeDefTIM_OCInitStructure;

STM32的PWM输出相关库函数设置TIM1_CH1N和TIM1_CH3的PWM模式,使能TIM1的CH1N和CH3输出TIM1_CH1N和TIM1_CH3为PWM1模式,并使能TIM1的CH1N和CH3输出设置TIM1_CH3为PWM模式1

TIM_OCMode_PWM1和TIM_OCMode_PWM2的宏定义在stm32f10x_tim.h头文件中TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;TIM_OC3Init(TIM1,&TIM_OCInitStructure);

STM32的PWM输出相关库函数使能TIM1,修改TIM1_CCR1和TIM1_CCR3控制占空比出使能TIM1修改TIM1_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论