zoukankan      html  css  js  c++  java
  • stm32之PWM

       1、PWM 是脉冲宽度可调制的波, 也就是说通过调节占空
    比的变化来调节信号、 能量等的变化, 占空比就是指在一
    个周期内, 信号处于高电平的时间占据整个信号周期的百
    分比, 例如方波的占空比就是50%。
    PWM 波可以由GPIO口产生, 通过GPIO口输出高电平,
    延时, 输出低电平, 延时来产生PWM波。 还可以使用定时
    器, 利用比较寄存器形成PWM

      2、如何产生PWM波:定时器定时时长:PWM的周期、定时器比较寄存器:PWM的占空比。

      3、工作过程:

       4、如何产生PWM波

     1 #include "pwm.h"
     2 
     3 //LED1 -- PB1  --  TIM3_CH4
     4 //psc 分频值  arr 重装载值  ccr 比较值
     5 void TIM3_CH4Init(u16 psc,u16 arr,u16 ccr)
     6 {
     7     GPIO_InitTypeDef  GPIO_InitStruct;
     8     TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;
     9     TIM_OCInitTypeDef TIM_OCInitStruct;
    10     
    11     RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
    12     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
    13     
    14     GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP;
    15     GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
    16     GPIO_InitStruct.GPIO_Pin = GPIO_Pin_1;
    17     GPIO_Init(GPIOB,&GPIO_InitStruct);
    18     
    19 //    TIM_TimeBaseInitStruct.TIM_ClockDivision = TIM_CKD_DIV1;//时钟分频因子 --输入
    20     TIM_TimeBaseInitStruct.TIM_Period = arr-1; //重装载值
    21     TIM_TimeBaseInitStruct.TIM_Prescaler = psc-1;//分频
    22     TIM_TimeBaseInitStruct.TIM_CounterMode = TIM_CounterMode_Up;//向上计数
    23 //    TIM_TimeBaseInitStruct.TIM_RepetitionCounter = 0;
    24     TIM_TimeBaseInit(TIM3,&TIM_TimeBaseInitStruct);
    25     
    26     /********输出比较*********/
    27     TIM_OCInitStruct.TIM_Pulse = ccr;//比较值
    28     TIM_OCInitStruct.TIM_OCMode = TIM_OCMode_PWM1;//PWM1模式1
    29     TIM_OCInitStruct.TIM_OCPolarity =TIM_OCPolarity_Low;//极性:低电平有效
    30     TIM_OCInitStruct.TIM_OutputState = TIM_OutputState_Enable;//比较输出使能
    31     TIM_OC4Init(TIM3,&TIM_OCInitStruct);
    32     
    33     TIM_Cmd(TIM3,ENABLE);//使能计数器
    34 }
    LED1--PWM波

      

  • 相关阅读:
    如何将cordova导入Android studio,只需两步即可
    Cordova 教程 学习步骤-从零基础开始
    特效插件
    jq 命名空间
    input聚焦后光标移动至末尾
    时间常用api
    jq 便捷api jq 常用 api jq 快捷 api
    键盘事件
    创建爬网规则
    SharePoint 2013 本地开发解决方案以及程调试(真的可以)
  • 原文地址:https://www.cnblogs.com/juan-4-14/p/12795787.html
Copyright © 2011-2022 走看看