国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

STM32-HAL庫08-TIM的輸出比較模式(輸出PWM的另一種方式)

這篇具有很好參考價(jià)值的文章主要介紹了STM32-HAL庫08-TIM的輸出比較模式(輸出PWM的另一種方式)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

STM32-HAL庫08-TIM的輸出比較模式(輸出PWM的另一種方式)

一、所用材料:

STM32F103C6T6最小系統(tǒng)板
STM32CUBEMX(HAL庫軟件)
MDK5
示波器或者邏輯分析儀

二、所學(xué)內(nèi)容:

通過定時(shí)器TIM的輸出比較模式得到預(yù)定頻率與占空比的PWM波形;其中定時(shí)器輸出比較模式與PWM模式的區(qū)別在于?。?!PWM模式在同一個(gè)TIM下所有輸出口的頻率一致不能單獨(dú)控制單個(gè)的頻率,而輸出比較模式就彌補(bǔ)了這一缺點(diǎn),可以對(duì)同一個(gè)TIM下的各個(gè)輸出口分別設(shè)置頻率。

三、CUBEMX配置:

第一步:老三件套-RCC,SYS,時(shí)鐘樹配置

hal庫定時(shí)器比較輸出,STM32HAL,stm32,嵌入式硬件,單片機(jī)
hal庫定時(shí)器比較輸出,STM32HAL,stm32,嵌入式硬件,單片機(jī)
hal庫定時(shí)器比較輸出,STM32HAL,stm32,嵌入式硬件,單片機(jī)

第二步:TIM配置

關(guān)鍵參數(shù)配置:

  • Prescale-(71)
  • auto reload preload-Disable
  • Output Compare Channel1 -Mode - Toggle on match
  • Output Compare Channel2 -Mode - Toggle on match
    以及點(diǎn)亮TIM2的所有中斷
    hal庫定時(shí)器比較輸出,STM32HAL,stm32,嵌入式硬件,單片機(jī)
    hal庫定時(shí)器比較輸出,STM32HAL,stm32,嵌入式硬件,單片機(jī)
    hal庫定時(shí)器比較輸出,STM32HAL,stm32,嵌入式硬件,單片機(jī)

四、MDK5程序配置:

只需要在main.c中加入中斷回調(diào)函數(shù)即可,具體程序如下:

/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "tim.h"
#include "gpio.h"
/* USER CODE BEGIN PTD */
uint16_t OC_Channel1_Pulse=125;  //改變?cè)撝悼梢愿淖働WM1的頻率
uint16_t OC_Channel2_Pulse=1000;  //改變?cè)撝悼梢愿淖働WM2的頻率
uint32_t F_PWM1;				//PWM1的頻率設(shè)定值
uint32_t F_PWM2;				//PWM2的頻率設(shè)定值

float OC_Channel1_Duty=50;		//PWM1占空比設(shè)定
float OC_Channel2_Duty=50;		//PWM2占空比設(shè)定

void SystemClock_Config(void);

int main(void)
{
  HAL_Init();
  SystemClock_Config();
  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_TIM1_Init();
  /* USER CODE BEGIN 2 */
  HAL_TIM_OC_Start_IT(&htim1,TIM_CHANNEL_1);                 //使能TIM4通道1的輸出比較中斷
  TIM_CCxChannelCmd(TIM1,TIM_CHANNEL_1,TIM_CCx_ENABLE);      //使能TIM4通道1
    HAL_TIM_OC_Start_IT(&htim1,TIM_CHANNEL_2);                 //使能TIM4通道1的輸出比較中斷
  TIM_CCxChannelCmd(TIM1,TIM_CHANNEL_2,TIM_CCx_ENABLE);      //使能TIM4通道1
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
	  F_PWM1=8000;
	  OC_Channel1_Pulse=1000000/F_PWM1;
	  F_PWM2=5000;
	  OC_Channel2_Pulse=1000000/F_PWM2;
	  HAL_Delay(1);
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}


/* USER CODE BEGIN 4 */
void HAL_TIM_OC_DelayElapsedCallback(TIM_HandleTypeDef *htim)
{
  uint32_t OC_Count = 0;

  OC_Count = __HAL_TIM_GET_COUNTER(htim);

  if(htim->Instance == TIM1)
  {
    if(htim->Channel == HAL_TIM_ACTIVE_CHANNEL_1)
    {
      if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_8))
      {
        __HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,OC_Count + OC_Channel1_Pulse - OC_Channel1_Duty*OC_Channel1_Pulse/100);
      }
      else
      {
        __HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,OC_Count + OC_Channel1_Duty*OC_Channel1_Pulse/100);
      }
    }
    else if(htim->Channel == HAL_TIM_ACTIVE_CHANNEL_2)
    {
      if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_9))
      {
        __HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_2,OC_Count + OC_Channel2_Pulse - OC_Channel2_Duty*OC_Channel2_Pulse/100);
      }
      else
      {
        __HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_2,OC_Count + OC_Channel2_Duty*OC_Channel2_Pulse/100);
      }
    }
  }
}
/* USER CODE END 4 */

本文中的代碼資源免費(fèi)提供,下載頁面如下:
https://download.csdn.net/download/qq_45854134/88495306文章來源地址http://www.zghlxwxcb.cn/news/detail-773637.html

到了這里,關(guān)于STM32-HAL庫08-TIM的輸出比較模式(輸出PWM的另一種方式)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • STM32 PWM模式與輸出比較模式的區(qū)別。PWM占空比不生效,在STM32CubeMX中配置PWM的兩種模式——藍(lán)橋杯嵌入式

    STM32 PWM模式與輸出比較模式的區(qū)別。PWM占空比不生效,在STM32CubeMX中配置PWM的兩種模式——藍(lán)橋杯嵌入式

    ? ??【藍(lán)橋杯嵌入式】專題正在持續(xù)更新中,原理圖解析?,各模塊分析?以及歷年真題講解?都已更新完畢,歡迎大家前往訂閱本專題?? ??【藍(lán)橋杯嵌入式】藍(lán)橋杯第十屆省賽真題 ??【藍(lán)橋杯嵌入式】藍(lán)橋杯第十二屆省賽程序真題 ??【藍(lán)橋杯嵌入式】藍(lán)橋杯第十三屆

    2023年04月15日
    瀏覽(31)
  • (STM32)TIM輸出比較

    (STM32)TIM輸出比較

    TIM輸出比較(OC): 主要功能輸出PWM波形,PWM波形是驅(qū)動(dòng)電機(jī)的必要條件,所以信息TIM輸出比較就等于學(xué)習(xí)PWM CNT:計(jì)數(shù)器,計(jì)數(shù)自增,CCR:捕獲比較寄存器,程序員給定的一個(gè)值 當(dāng)CNT,大于、小于、大于CCR時(shí),輸出就會(huì)置0,置1,置0....,一個(gè)不斷跳變的pwm的波形 每個(gè)高級(jí)定時(shí)器

    2024年02月05日
    瀏覽(20)
  • STM32--TIM定時(shí)中斷&TIM輸出比較

    STM32--TIM定時(shí)中斷&TIM輸出比較

    目錄 一.TIM中斷 1.TIM簡(jiǎn)介 2.定時(shí)器類型 1)基本定時(shí)器 2)通用定時(shí)器 3)高級(jí)定時(shí)器? 3.時(shí)基單元? ?二.TIM輸出比較 1.輸出比較簡(jiǎn)介OC 2.PWM 1.PWM簡(jiǎn)介 2.PWM結(jié)構(gòu)? 3.參數(shù)計(jì)算? 3.輸出比較通道(通用) 1)輸出模式控制器 2)至主模式控制器 3)極性選擇 4)輸出使能電路 5)OCx——

    2024年04月09日
    瀏覽(21)
  • STM32:TIM定時(shí)器輸出比較(OC)

    STM32:TIM定時(shí)器輸出比較(OC)

    一、輸出比較簡(jiǎn)介 1、輸出比較 OC(Output Comapre)輸出比較 輸出比較可以通過比較CNT(時(shí)基單元)和CCR(捕獲單元)寄存器值的關(guān)系,來對(duì)輸出電平進(jìn)行置1、置0或翻轉(zhuǎn)的操作,用于輸出一定頻率的占空比的PWM波形(CC是捕獲/比較的意思,R是Register,寄存器的意思),這個(gè)捕獲

    2024年02月05日
    瀏覽(24)
  • STM32單片機(jī)(六)TIM定時(shí)器 -> 第三節(jié):TIM輸出比較

    STM32單片機(jī)(六)TIM定時(shí)器 -> 第三節(jié):TIM輸出比較

    ?? 專欄簡(jiǎn)介:本專欄記錄了從零學(xué)習(xí)單片機(jī)的過程,其中包括51單片機(jī)和STM32單片機(jī)兩部分;建議先學(xué)習(xí)51單片機(jī),其是STM32等高級(jí)單片機(jī)的基礎(chǔ);這樣再學(xué)習(xí)STM32時(shí)才能融會(huì)貫通。 ?? 專欄適用人群 :適用于想要從零基礎(chǔ)開始學(xué)習(xí)入門單片機(jī),且有一定C語言基礎(chǔ)的的童鞋

    2024年02月09日
    瀏覽(30)
  • STM32F4使用高級(jí)定時(shí)器(TIM1和TIM8)輸出PWM問題

    STM32F4使用高級(jí)定時(shí)器(TIM1和TIM8)輸出PWM時(shí)要使用TIM_CtrlPWMOutputs使能PWM輸出,否則不會(huì)輸出PWM波形,這一點(diǎn)是和通用定時(shí)器輸出PWM不一樣的地方,通用定時(shí)器是不用配置TIM_CtrlPWMOutputs函數(shù)的。、

    2024年02月15日
    瀏覽(30)
  • TIM輸出比較(PWM)

    ? 目錄 一、輸出比較 二、PWM簡(jiǎn)介 ?三、通用定時(shí)器的輸出比較模塊怎樣輸出PWM波形 ?四、輸出比較8種模式 模式的介紹 (1)凍結(jié) (2)匹配時(shí)電平翻轉(zhuǎn) (3)CNT與CCR無效,REF強(qiáng)制為無效電平或者有效電平

    2024年02月02日
    瀏覽(15)
  • STM32-HAL庫04-PWM輸出

    STM32-HAL庫04-PWM輸出

    所用材料: STM32F103C6T6(最小系統(tǒng)板) STM32cubemx(HAL庫軟件) MD5(編程軟件) 示波器(DS100) 本節(jié)所學(xué)內(nèi)容: 通過TIM2定時(shí)器輸出500HZ頻率的PWM波; 修改部分參數(shù)實(shí)現(xiàn)PWM波頻率的改變; 第一步-新建工程 1.選擇MCU-F103C6Tx 第二步-SYS設(shè)置 將DEBUG選線設(shè)置為Serial Wire 第三步-RCC設(shè)置

    2023年04月08日
    瀏覽(20)
  • STM32CubeMX教程8 TIM 通用定時(shí)器 - 輸出比較

    開發(fā)板(STM32F407G-DISC1) STM32CubeMX軟件(Version 6.10.0) keil μVision5 IDE(MDK-Arm) ST-LINK/V2驅(qū)動(dòng) 邏輯分析儀nanoDLA 使用STM32CubeMX軟件配置STM32F407 通用定時(shí)器的輸出比較通道 ,并將其輸出到四個(gè)LED燈引腳實(shí)現(xiàn)LED燈流水燈效果 STM32F407的定時(shí)器通道均可以實(shí)現(xiàn)輸出比較功能, 輸出比較功

    2024年02月03日
    瀏覽(28)
  • STM32學(xué)習(xí)筆記(一):輸出PWM——HAL庫

    STM32學(xué)習(xí)筆記(一):輸出PWM——HAL庫

    本篇文章為個(gè)人參考總結(jié)所用,如果錯(cuò)誤還望指出。 涉及的知識(shí): 1、STM32CubeMx的部分使用 2、PWM原理及常用概念 3、用單片機(jī)生成一定頻率的PWM 用到的軟件及單片機(jī): 1、STM32CubeMx 2、IDE: MDK-Keil軟件 3、芯片:STM32F407ZGT6 4、開發(fā)板:正點(diǎn)原子探索者 注:不同型號(hào)的單片機(jī)實(shí)現(xiàn)

    2024年02月12日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包