版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年云迁移安全事件演练:钓鱼攻击与应急响应
- 企业财务报表编制与分析标准流程
- 小学主题班会课件:书香浸润童年知识点亮未来
- 2026三年级诗词手抄报指导课件
- 2026年电缆故障点距离测试题及答案
- 2026年造句的心理测试题及答案
- 2026年小学数学应用测试题及答案
- 2026年合格男生测试题及答案
- 2026年php能力测试题目及答案
- 2026年人性品格测试题及答案
- 义乌公学入学考试试卷及答案
- 水电站水工建构筑物维护检修工作业指导书
- 广东省珠海市香洲区2024-2025学年八年级下学期物理期末试卷
- 监理廉洁从业课件
- 代建项目管理流程与责任分工
- 小学二年级升三年级语文暑假作业-课外阅读(附答案)
- 西点制作初级培训教学计划
- 2025住宅小区智慧安防系统建设规范
- 可植入柔性电极技术-洞察及研究
- 《CVC置管维护》课件
- 2025年人教版小学数学四年级下册期末考试试卷(带答案)
评论
0/150
提交评论