在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32的PWM實驗

汽車電子技術 ? 來源:玩轉單片機 ? 作者:Julian ? 2023-02-10 14:55 ? 次閱讀

1、為啥要學PWM

PWM 是 Pulse Width Modulation 的縮寫,中文意思就是脈沖寬度調制,簡稱脈寬調制。它是利用微處理器的數字輸出來對模擬電路進行控制的一種非常有效的技術,其控制簡單、靈活和動態響應好等優點而成為電力電子技術最廣泛應用的控制方式,其應用領域包括測量,通信,功率控制與變換,電動機控制、伺服控制、調光、開關電源,甚至某些音頻放大器,因此學習 PWM 具有十分重要的現實意義。

STM32F1 除了基本定時器 TIM6 和 TIM7,其他定時器都可以產生 PWM 輸出。其中高級定時器 TIM1 和 TIM8 可以同時產生多達 7 路的 PWM 輸出。而通用定時器也能同時產生多達 4 路的 PWM 輸出。

2、通用定時器 PWM 輸出配置

#include "stm32f10x.h"


void TIM3_CH1_PWM_Init(u16 per,u16 psc)
{
  TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
  TIM_OCInitTypeDef TIM_OCInitStructure;
  GPIO_InitTypeDef GPIO_InitStructure;

  /* 開啟時鐘 */
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//復用功能重映射就需要開啟 AFIO 時鐘

  /*  配置GPIO的模式和IO口 */
  GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6;
  GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;//復用推挽輸出
  GPIO_Init(GPIOC,&GPIO_InitStructure);

  /*第一個參數是選擇是部分重映射還是完全重映射,因為映射到燈接到的GPIO才能看到呼吸效果*/
  GPIO_PinRemapConfig(GPIO_FullRemap_TIM3,ENABLE);//改變指定管腳的映射

  TIM_TimeBaseInitStructure.TIM_Period=per;   //自動裝載值
  TIM_TimeBaseInitStructure.TIM_Prescaler=psc; //分頻系數
  TIM_TimeBaseInitStructure.TIM_ClockDivision=TIM_CKD_DIV1;  //時鐘分頻
  TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up; //設置向上計數模式
  TIM_TimeBaseInit(TIM3,&TIM_TimeBaseInitStructure);  

  TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;//比較輸出模式選擇
  TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_Low;//輸出極性
  TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;//比較輸出使能
  TIM_OC1Init(TIM3,&TIM_OCInitStructure); //輸出比較通道1初始化

  TIM_OC1PreloadConfig(TIM3,TIM_OCPreload_Enable); //使能TIMx在 CCR1 上的預裝載寄存器
  TIM_ARRPreloadConfig(TIM3,ENABLE);//使能預裝載寄存器

  TIM_Cmd(TIM3,ENABLE); //使能定時器

}


void delay_nms(u16 time)
{    
   u16 i=0;  
   while(time--)
   {
      i=12000;  //自己定義
      while(i--) ;    
   }
}


int main( void )
{
  u16 i=0;  
  u8 fx=0;


  TIM3_CH1_PWM_Init(500,72-1); //頻率是2Kh

  while(1)
  {
    if(fx==0)
    {
      i++;
      if(i==300)
      {
        fx=1;
      }
    }
    else
    {
      i--;
      if(i==0)
      {
        fx=0;
      }
    }
    /*修改 TIMx_CCRx 的值控制占空比*/
    TIM_SetCompare1(TIM3,i);  //i值最大可以取499,因為ARR最大值是499.
    delay_nms(10);//延遲是為了人眼能看到呼吸效果
  }
}

3、測試驗證,實測可以達到初步效果,實驗完成,不同硬件環境需要自定義修改對應的代碼,方可實現對應效果。

--END--

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • PWM
    PWM
    +關注

    關注

    114

    文章

    5201

    瀏覽量

    214967
  • 微處理器
    +關注

    關注

    11

    文章

    2274

    瀏覽量

    82814
  • 脈沖寬度調制

    關注

    7

    文章

    81

    瀏覽量

    13796
收藏 人收藏

    評論

    相關推薦

    STM32 PWM驅動舵機實驗

    STM32 simulink驅動舵機效果如圖5.1所示,本次實驗用到的Simulink簡易模型如圖5.2所示,電路圖接法如圖5.3所示,YF-STM32-ALPHA開發板舵機接口位置如圖5.4所示
    的頭像 發表于 11-29 16:30 ?3185次閱讀
    <b class='flag-5'>STM32</b> <b class='flag-5'>PWM</b>驅動舵機<b class='flag-5'>實驗</b>

    轉:基礎篇--STM32視頻 13.STM32 PWM輸出實驗

    【眾想】大黃蜂STM32視頻教程 ----劉洋邊講邊寫基礎篇-- 13.STM32 PWM輸出實驗http://www.stmcu.org/module/forum/thread-6
    發表于 07-14 16:56

    STM32_PWM實驗

    STM32 PWM實驗,很好的學習資料,快來下載啊
    發表于 02-16 15:46 ?55次下載

    ALIENTEK_MINISTM32_實驗8_PWM輸出實驗

    ALIENTEK MINISTM32 實驗8 PWM輸出實驗,很好的資料,快來學習吧
    發表于 02-18 14:57 ?15次下載

    pwm輸出實驗

    基于STM32pwm輸出實驗,用DS0燈的亮度觀察pwm輸出的大小
    發表于 09-09 16:58 ?37次下載

    PWM輸出實驗_標準例程

    stm32開發板,標準例程-寄存器版本,PWM輸出實驗
    發表于 11-18 15:42 ?10次下載

    實驗9 PWM輸出實驗

    正點原子戰艦最新的PWM實驗
    發表于 01-22 13:13 ?7次下載

    基于STM32單片機進行PWM輸出實驗的詳細資料說明

    本文檔的主要內容詳細介紹的是基于STM32單片機進行PWM輸出實驗的詳細資料說明包括了:1.通用定時器PWM概述,2.常用寄存器和庫函數配置,3.手把手寫
    發表于 03-18 08:00 ?18次下載
    基于<b class='flag-5'>STM32</b>單片機進行<b class='flag-5'>PWM</b>輸出<b class='flag-5'>實驗</b>的詳細資料說明

    使用STM32F103RB單片機實現PWM呼吸燈實驗的資料免費下載

    本文檔的主要內容詳細介紹的是使用STM32F103RB單片機實現PWM呼吸燈實驗的資料免費下載。
    發表于 04-07 08:00 ?8次下載
    使用<b class='flag-5'>STM32</b>F103RB單片機實現<b class='flag-5'>PWM</b>呼吸燈<b class='flag-5'>實驗</b>的資料免費下載

    STM32F4 PWM-DAC實驗例程

    STM32F4 PWM-DAC實驗例程(電源技術是sci嗎)-STM32F4 PWM-DAC實驗
    發表于 09-16 10:14 ?43次下載
    <b class='flag-5'>STM32</b>F4 <b class='flag-5'>PWM</b>-DAC<b class='flag-5'>實驗</b>例程

    STM32學習心得二十七:PWM DAC數模轉換實驗PWM知識復習

    記錄一下,方便以后翻閱~主要內容:1) PWM原理復習;2) DAC PWM數模轉換原理;3) 相關實驗代碼解讀。實驗功能:官方資料:《STM3
    發表于 11-30 12:21 ?11次下載
    <b class='flag-5'>STM32</b>學習心得二十七:<b class='flag-5'>PWM</b> DAC數模轉換<b class='flag-5'>實驗</b>及<b class='flag-5'>PWM</b>知識復習

    STM32PWM與示波器實驗

    STM32PWM與示波器實驗STM32輸出PWM波形1、PWM(脈沖寬度調制)介紹2、STM32
    發表于 12-02 13:21 ?24次下載
    <b class='flag-5'>STM32PWM</b>與示波器<b class='flag-5'>實驗</b>

    實驗4——STM32PWM和DAC練習

    文章目錄實驗要求一、用STM32F103輸出一路PWM波形(1)PWM簡介(2)STM32F1 PWM
    發表于 12-09 16:21 ?12次下載
    <b class='flag-5'>實驗</b>4——<b class='flag-5'>STM32</b>的<b class='flag-5'>PWM</b>和DAC練習

    STM32 使用PWM實現呼吸燈

    STM32 PWM實現呼吸燈使用STM32F103ZET6 定時器4 CH2通道產生PWM波,在GPIOD,GPIO_PIN13引腳LED1產生呼吸燈效果。
    發表于 12-24 19:41 ?55次下載
    <b class='flag-5'>STM32</b> 使用<b class='flag-5'>PWM</b>實現呼吸燈

    STM32通過PWM控制電機速度

    STM32智能小車的實驗中會用到定時器PWM輸出,來改變直流電機的轉速。分享本文了解如何通過PWM實現對電機速度的控制。
    的頭像 發表于 07-06 09:56 ?5291次閱讀
    <b class='flag-5'>STM32</b>通過<b class='flag-5'>PWM</b>控制電機速度
    主站蜘蛛池模板: 看屁屁www视频免费观看 | 一级特黄aa大片免费 | 福利姬 magnet| 四虎影院永久网址 | 国产在线精品美女观看 | 四虎影院永久免费观看 | 久久综合社区 | 黄色网址播放 | 亚洲狠狠婷婷综合久久久图片 | 欧美19禁| 黄色一级毛片看一级毛片 | 亚洲精品美女视频 | 亚洲天堂第一页 | 成人欧美精品大91在线 | 一级片在线观看免费 | 福利午夜 | 人人看人人添人人爽 | 高清一区二区三区视频 | 九九热在线视频观看 | 天天射天天爱天天干 | 天天爱天天爽 | xxxx大片| 免费人成在观看 | 久久天堂网 | 人人插97| 黄网在线免费看 | 99热久| 欧美性喷潮xxxx | 四虎久久精品国产 | 玖玖国产在线观看 | 美女扒开尿口给男人桶 | 丁香五月缴情综合网 | 手机看片欧美日韩 | 久久精品亚洲青青草原 | 亚洲第成色999久久网站 | 色吧首页| 手机看片1024欧美 | 午夜色a大片在线观看免费 午夜色大片在线观看 | 日韩免费精品视频 | 欧美区在线播放 | 国产女人小便视频 |