STM32 PWM可控制电压原理

编程入门 行业动态 更新时间:2024-10-17 19:23:28

STM32 PWM可控制<a href=https://www.elefans.com/category/jswz/34/1763661.html style=电压原理"/>

STM32 PWM可控制电压原理

PWM可控制电压原理

        主要通过PWM 输入模式根据控制单位时间内输出的平均电压,以调节电压大小。而PWM输出模式通过调节占空比,控制平均电压大小;

设置TIM为PWM输出模式

        第一步:时钟使能:

                                GPIO,TIM;

        第二步:设置引脚为复用模式

        第三步:复用为指定TIM的PWM输出模式

        第四步:定时器时基单元的配置

        第五步:配置定时器的输出比较功能

void timeer14PWM_init(){
//  开启时钟RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM14,ENABLE);//设置PWM输出引脚位复用模式GPIO_InitTypeDef GPIO_InitStruct;GPIO_InitStruct.GPIO_Pin=GPIO_Pin_9;GPIO_InitStruct.GPIO_Mode= GPIO_Mode_AF;GPIO_InitStruct.GPIO_OType=GPIO_OType_PP;GPIO_InitStruct.GPIO_Speed=GPIO_Low_Speed;GPIO_InitStruct.GPIO_PuPd=GPIO_PuPd_NOPULL;GPIO_Init(GPIOF,&GPIO_InitStruct);//设置配置GIPOGPIO_PinAFConfig(GPIOF,GPIO_PinSource9,GPIO_AF_TIM14);TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;
//	设置分频 将84MH降为10000HzTIM_TimeBaseInitStruct.TIM_Prescaler=84-1;
//	设置计数模式往上加,还是往下减TIM_TimeBaseInitStruct.TIM_CounterMode=TIM_CounterMode_Up;
//	设置自动复位计数器为10000,恰好为1秒,2000相当于0.2秒TIM_TimeBaseInitStruct.TIM_Period=2000-1;
//	设置通用定时器分频为1TIM_TimeBaseInitStruct.TIM_ClockDivision=TIM_CKD_DIV1;
//	初始化定时器TIM_TimeBaseInit(TIM14, &TIM_TimeBaseInitStruct);//设置寄存器模式TIM_OCInitTypeDef TIM_OCInitStruct;
//设置位PWM输出模式TIM_OCInitStruct.TIM_OCMode=TIM_OCMode_PWM1;TIM_OCInitStruct.TIM_OutputState=TIM_OutputState_Enable;TIM_OCInitStruct.TIM_Pulse=100;TIM_OCInitStruct.TIM_OCPolarity=TIM_OCPolarity_Low;TIM_OC1Init(TIM14, &TIM_OCInitStruct);//	开启定时器TIM_Cmd( TIM14, ENABLE);}

更多推荐

STM32 PWM可控制电压原理

本文发布于:2023-11-16 22:01:09,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1634029.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:电压   原理   PWM

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!