STM32F4 高级定时器中心对齐PWM模式,代码分享

编程入门 行业动态 更新时间:2024-10-27 03:28:29

STM32F4 高级<a href=https://www.elefans.com/category/jswz/34/1768257.html style=定时器中心对齐PWM模式,代码分享"/>

STM32F4 高级定时器中心对齐PWM模式,代码分享

   使用STM32F407

 TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStre;
    TIM_OCInitTypeDef TIM_OCInitStre;
    GPIO_InitTypeDef GPIO_InitStre;
    
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);//时钟使能
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM8,ENABLE);
    
    GPIO_InitStre.GPIO_Pin=GPIO_Pin_8|GPIO_Pin_9;//IO初始化 PC8 PC9
    GPIO_InitStre.GPIO_Mode=GPIO_Mode_AF;
    GPIO_InitStre.GPIO_PuPd=GPIO_PuPd_NOPULL;
    GPIO_InitStre.GPIO_OType=GPIO_OType_PP;
    GPIO_InitStre.GPIO_Speed=GPIO_Medium_Speed;
    GPIO_Init(GPIOC,&GPIO_InitStre);
    
    GPIO_PinAFConfig(GPIOC, GPIO_PinSource8, GPIO_AF_TIM8);
    GPIO_PinAFConfig(GPIOC, GPIO_PinSource9, GPIO_AF_TIM8);
    
    TIM_DeInit(TIM8);
    TIM_TimeBaseInitStre.TIM_Prescaler=0;
    TIM_TimeBaseInitStre.TIM_Period=42000-1;//f=168M/42000/2=2kHZ,这里为什么多除了一个2,请看另一篇分享文章
    TIM_TimeBaseInitStre.TIM_ClockDivision=0;//不分频
    TIM_TimeBaseInitStre.TIM_CounterMode=TIM_CounterMode_CenterAligned1;
    TIM_TimeBaseInitStre.TIM_RepetitionCounter=0;
    TIM_TimeBaseInit(TIM8,&TIM_TimeBaseInitStre);
    
    TIM_OCInitStre.TIM_OCMode=TIM_OCMode_PWM1;
    TIM_OCInitStre.TIM_OCIdleState=TIM_OCIdleState_Reset;
    TIM_OCInitStre.TIM_OCPolarity=TIM_OCPolarity_High;
    TIM_OCInitStre.TIM_Pulse=20000;
    TIM_OCInitStre.TIM_OutputState=TIM_OutputState_Enable;    
    TIM_OC3Init(TIM8, &TIM_OCInitStre);
    
    TIM_OCInitStre.TIM_Pulse=10000;
    TIM_OC4Init(TIM8, &TIM_OCInitStre);
    
    TIM_OC3PreloadConfig(TIM8,TIM_OCPreload_Enable);//重装载寄存器的值立刻更新到影子寄存器,不缓冲;
    TIM_OC4PreloadConfig(TIM8,TIM_OCPreload_Enable);//重装载寄存器的值立刻更新到影子寄存器,不缓冲;

  //TIM_ClearITPendingBit(TIM8,TIM_IT_Update);
    //TIM_ITConfig(TIM8,TIM_IT_Update ,DISABLE);//不使用中断
    
  TIM_ARRPreloadConfig(TIM8,ENABLE);
    TIM_CtrlPWMOutputs(TIM8,ENABLE);
    TIM_Cmd(TIM8,ENABLE);

更多推荐

STM32F4 高级定时器中心对齐PWM模式,代码分享

本文发布于:2024-02-12 03:25:53,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1685611.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:定时器   高级   模式   代码   中心

发布评论

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

>www.elefans.com

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