一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32CubeMX之定時(shí)器PWM輸出

嵌入式技術(shù) ? 來源:嵌入式技術(shù) ? 作者:嵌入式技術(shù) ? 2022-05-31 09:19 ? 次閱讀

脈沖寬度調(diào)制模式(PWM)可以產(chǎn)生一個(gè)由TIMx_ARR寄存器確定頻率、由TIMx_CCRx寄存器確定占空比的信號(hào)。
??本示例實(shí)現(xiàn) IO 輸出模式–PWM 波形輸出。 以 LED 驅(qū)動(dòng)為例, 使用定時(shí)器高級(jí)功能(PWM 模式), 實(shí)現(xiàn)呼吸燈效果。

1.硬件接口

??本硬件平臺(tái)有3個(gè)LED燈分別為LED2、LED3、LED4LED2接PA1,LED2接PB8,LED4接PB9,硬件原理圖如下:

在這里插入圖片描述

根據(jù)STM32引腳定義手冊(cè)或者STM32CUbeMX軟件我們可得知定時(shí)器4的CH1和CH2對(duì)應(yīng)外部引腳PB8和PB9。

在這里插入圖片描述

2 軟件設(shè)計(jì)

??打開STM32CubeMX工具,配置定時(shí)器4,將PB8配置為定時(shí)器4通道3(復(fù)用推挽輸出),PB9配置為定時(shí)器4通道4(復(fù)用推挽輸出)。

poYBAGKUlTGAc1sYAAElSouWhz0140.pngpoYBAGKUltuAMEWcAABoD6KovpU624.png#pic_centerpoYBAGKUlWuAeKGkAAHYA-wq1gs266.png

3.參數(shù)說明

模式 說明
Input capture direct mode 輸入捕獲直接模式
Input capture indirectmode 輸入捕獲間接模式
Input capture triggered by TRC 輸入捕獲觸發(fā)器模式
Output compare no output 輸出比較(凍結(jié)模式000 )
Output compare CH3 輸出比較(001)
PWM Generation No output PWM產(chǎn)生無輸出
PWM Generation CH3 PWM輸出到CH3
CH3 Combined channels 聯(lián)合通道
xor activation 定時(shí)器輸入異或模式
poYBAGKUltuAPC4pAABw31jFoKE208.png#pic_center

4. 代碼生成

pYYBAGKUlfmAUAOiAAO_mg10V2w646.png

PWM模式配置:

在這里插入圖片描述

PB8、PB9引腳配置和PWM模式使能

HAL_TIM_PWM_Start(timHandle,TIM_CHANNEL_3);//初始化通道3
HAL_TIM_PWM_Start(timHandle,TIM_CHANNEL_4);//初始化通道4

引腳模式配置及PWM初始化

pYYBAGKUljKAABDwAAPS43L0PPg238.png

4.呼吸燈主函數(shù)示例

while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
		/*實(shí)現(xiàn)呼吸燈*/
		if(flag==0)i++;
		else i--;
		if(i>=300)flag=1;
		if(i==0)flag=0;
		HAL_Delay(3);
		htim4.Instance->CCR3=i;//調(diào)節(jié)占空比
		htim4.Instance->CCR4=i;
  }

5.HAL庫定時(shí)器常用函數(shù)介紹

HAL庫中定時(shí)器基本功能函數(shù)源碼均在stm32f1xx_hal_tim.c中,高級(jí)功能函數(shù)在stm32f1xx_hal_tim_ex.c中,本小節(jié)主要介紹幾個(gè)常用函數(shù)。(以下列舉函數(shù)可能需要用戶調(diào)用或修改)。

/*硬件層初始化:時(shí)鐘、中斷,DMA*/
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef *htim);
/*中斷方式開啟定時(shí)器*/
HAL_StatusTypeDef HAL_TIM_Base_Start_IT(TIM_HandleTypeDef *htim);
/*DMA方式開啟定時(shí)器*/
HAL_StatusTypeDef HAL_TIM_Base_Start_DMA(TIM_HandleTypeDef *htim, uint32_t *pData, uint16_t Length);
/*開啟定時(shí)器PWM模式*/
HAL_StatusTypeDef HAL_TIM_PWM_Start(TIM_HandleTypeDef *htim, uint32_t Channel);
/*獲取狀態(tài)*/
HAL_TIM_StateTypeDef HAL_TIM_Base_GetState(TIM_HandleTypeDef *htim);
/*中斷方式開啟定時(shí)器輸入捕獲功能*/
HAL_StatusTypeDef HAL_TIM_IC_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel)

6.軟件仿真效果展示

??通過KEIL軟件仿真,查看引腳電平變化,KEIL軟件相關(guān)設(shè)置:
CPU DLL:SARMCM3.DLL
Dialog DLL:DARMSTM.DLL Parameter:-pSTM32F103C8

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASVRf6Zi_5rC0,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center

進(jìn)入仿真模式:

在這里插入圖片描述

查看引腳電平變化波形:

在這里插入圖片描述pYYBAGKUlpuAZh-iAAOSwTacxpY098.png

波形效果:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASVRf6Zi_5rC0,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • PWM
    PWM
    +關(guān)注

    關(guān)注

    116

    文章

    5315

    瀏覽量

    217354
  • STM32
    +關(guān)注

    關(guān)注

    2283

    文章

    10986

    瀏覽量

    361297
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3272

    瀏覽量

    116709
  • 呼吸燈
    +關(guān)注

    關(guān)注

    10

    文章

    112

    瀏覽量

    43036
  • kell
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    2098
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32CubeMx入門教程(3):定時(shí)器的使用

    導(dǎo)語“ 使用STM32CubeMx 生成初始化定時(shí)器代碼,實(shí)現(xiàn)定時(shí)器特定定時(shí)
    發(fā)表于 07-11 15:22 ?4946次閱讀
    <b class='flag-5'>STM32CubeMx</b>入門教程(3):<b class='flag-5'>定時(shí)器</b>的使用

    STM32CubeMx入門教程(4):PWM應(yīng)用

    導(dǎo)語“使用STM32CubeMx配置定時(shí)器輸出PWM波,生成初始化代碼?!?/div>
    發(fā)表于 07-11 15:23 ?2983次閱讀
    <b class='flag-5'>STM32CubeMx</b>入門教程(4):<b class='flag-5'>PWM</b>應(yīng)用

    基于STM32CUBEMX驅(qū)動(dòng)低壓步進(jìn)電機(jī)驅(qū)動(dòng)STSPIN220(3)----定時(shí)器中斷產(chǎn)生指定數(shù)量脈沖

    在步進(jìn)電機(jī)控制過程中,為了實(shí)現(xiàn)精確的位置和速度控制,經(jīng)常需要輸出指定數(shù)量的脈沖。這就需要使用定時(shí)器功能來生成PWM脈沖信號(hào)。本文將詳細(xì)介紹如何利用STM32CUBEMX配置
    的頭像 發(fā)表于 12-01 15:26 ?1986次閱讀
    基于<b class='flag-5'>STM32CUBEMX</b>驅(qū)動(dòng)低壓步進(jìn)<b class='flag-5'>器</b>電機(jī)驅(qū)動(dòng)<b class='flag-5'>器</b>STSPIN220(3)----<b class='flag-5'>定時(shí)器</b>中斷產(chǎn)生指定數(shù)量脈沖

    基于STM32CUBEMX的高級(jí)定時(shí)器輸出兩路PWM

    STM32CUBEMX配置教程(五)高級(jí)定時(shí)器輸出兩路PWM波基于STM32H743VI使用STM32C
    發(fā)表于 03-02 07:02

    【技術(shù)精選】嵌入式STM32原創(chuàng)征文活動(dòng)精選文章

    網(wǎng)絡(luò)協(xié)議棧移植步驟與方案STM32CubeMX定時(shí)器PWM輸出STM32CubeMx
    發(fā)表于 07-27 18:26

    【MCU】基于STM32CubeMX定時(shí)器中斷實(shí)現(xiàn)LED閃爍

    基于STM32CubeMX定時(shí)器中斷實(shí)現(xiàn) LED 閃爍本實(shí)驗(yàn)基于STM32CubeMX實(shí)現(xiàn)對(duì)STM32開發(fā)板的配置,通過定時(shí)器中斷實(shí)現(xiàn) LE
    發(fā)表于 10-29 11:06 ?20次下載
    【MCU】基于<b class='flag-5'>STM32CubeMX</b><b class='flag-5'>定時(shí)器</b>中斷實(shí)現(xiàn)LED閃爍

    STM32CUBEMX配置教程(十二)STM32定時(shí)器觸發(fā)的固定頻率ADC采樣(使用DMA)

    STM32CUBEMX配置教程(十二)STM32定時(shí)器觸發(fā)的固定頻率ADC采樣(使用DMA)
    發(fā)表于 11-24 13:51 ?85次下載
    <b class='flag-5'>STM32CUBEMX</b>配置教程(十二)<b class='flag-5'>STM32</b>的<b class='flag-5'>定時(shí)器</b>觸發(fā)的固定頻率ADC采樣(使用DMA)

    STM32CUBEMX配置教程(十三)STM32定時(shí)器觸發(fā)的固定頻率DAC輸出(使用DMA)

    STM32CUBEMX配置教程(十三)STM32定時(shí)器觸發(fā)的固定頻率DAC輸出(使用DMA)
    發(fā)表于 11-24 14:06 ?47次下載
    <b class='flag-5'>STM32CUBEMX</b>配置教程(十三)<b class='flag-5'>STM32</b>的<b class='flag-5'>定時(shí)器</b>觸發(fā)的固定頻率DAC<b class='flag-5'>輸出</b>(使用DMA)

    STM32Cube_12】使用通用定時(shí)器產(chǎn)生PWM驅(qū)動(dòng)蜂鳴器

    本篇詳細(xì)的記錄了如何使用STM32CubeMX配置STM32L431RCT6的通用定時(shí)器外設(shè),產(chǎn)生PWM驅(qū)動(dòng)無源蜂鳴器。
    發(fā)表于 11-26 15:36 ?11次下載
    【<b class='flag-5'>STM32</b>Cube_12】使用通用<b class='flag-5'>定時(shí)器</b>產(chǎn)生<b class='flag-5'>PWM</b>驅(qū)動(dòng)蜂鳴器

    STM32CubeMX實(shí)戰(zhàn)教程(五)——通用定時(shí)器PWM輸出

    前言在上一章《STM32CubeMX實(shí)戰(zhàn)教程(四)——基本定時(shí)器(還是點(diǎn)燈)》中,已經(jīng)介紹過基本定時(shí)器的功能及用法,在這一章中,我講主要介紹一下通用定時(shí)器的相關(guān)功能以及配置方法,廢話不
    發(fā)表于 11-26 15:36 ?13次下載
    <b class='flag-5'>STM32CubeMX</b>實(shí)戰(zhàn)教程(五)——通用<b class='flag-5'>定時(shí)器</b>(<b class='flag-5'>PWM</b><b class='flag-5'>輸出</b>)

    STM32CubeMX_定時(shí)器中斷_PWM

    文章目錄前言STM32CubeMX新建工程基本定時(shí)器配置生成代碼定時(shí)器中斷PWM配置工程代碼前言STM32CubeMX_環(huán)境搭建_GPIO_
    發(fā)表于 12-05 13:51 ?13次下載
    <b class='flag-5'>STM32CubeMX</b>_<b class='flag-5'>定時(shí)器</b>中斷_<b class='flag-5'>PWM</b>

    STM32CUbeMX兩路互補(bǔ)pwm波 以及死區(qū)時(shí)間設(shè)置

    STM32CUbeMX兩路互補(bǔ)pwm波 以及死區(qū)時(shí)間設(shè)置STM32CUbeMX的配置keil工程里的代碼實(shí)現(xiàn)驗(yàn)證結(jié)果芯片:stm32f103zet
    發(fā)表于 12-22 19:40 ?32次下載
    <b class='flag-5'>STM32CUbeMX</b><b class='flag-5'>之</b>兩路互補(bǔ)<b class='flag-5'>pwm</b>波 以及死區(qū)時(shí)間設(shè)置

    STM32CUBEMX(1)--PWM

    本篇文章主要介紹如何使用STM32CubeMX輸出PWM,并制作呼吸燈效果。
    的頭像 發(fā)表于 11-14 15:29 ?2862次閱讀
    <b class='flag-5'>STM32CUBEMX</b>(1)--<b class='flag-5'>PWM</b>

    STM32CUBEMX開發(fā)GD32F303(12)----輸出PWM及修改PWM頻率與占空比

    本章STM32CUBEMX配置STM32F103,并且在GD32F303中進(jìn)行開發(fā),同時(shí)通過開發(fā)板內(nèi)進(jìn)行驗(yàn)證。 本章主要配置定時(shí)器輸出PWM
    的頭像 發(fā)表于 11-30 14:40 ?4536次閱讀
    <b class='flag-5'>STM32CUBEMX</b>開發(fā)GD32F303(12)----<b class='flag-5'>輸出</b><b class='flag-5'>PWM</b>及修改<b class='flag-5'>PWM</b>頻率與占空比

    STM32CUBEMX開發(fā)GD32F303(13)----定時(shí)器TIM捕獲PWM測(cè)量頻率與占空比

    概述 本章STM32CUBEMX配置STM32F103,并且在GD32F303中進(jìn)行開發(fā),同時(shí)通過開發(fā)板內(nèi)進(jìn)行驗(yàn)證。 本章STM32CUBEMX配置STM32F103
    的頭像 發(fā)表于 12-07 10:15 ?3937次閱讀
    <b class='flag-5'>STM32CUBEMX</b>開發(fā)GD32F303(13)----<b class='flag-5'>定時(shí)器</b>TIM捕獲<b class='flag-5'>PWM</b>測(cè)量頻率與占空比