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

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

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

STM32的通用定時(shí)器

汽車電子技術(shù) ? 來源:玩轉(zhuǎn)單片機(jī) ? 作者: Julian ? 2023-02-10 14:47 ? 次閱讀

STM32F1 的定時(shí)器非常多,由 2 個(gè)基本定時(shí)器(TIM6、TIM7)、4 個(gè)通用定時(shí)器(TIM2-TIM5)和 2 個(gè)高級(jí)定時(shí)器(TIM1、TIM8)組成。

1、定時(shí)器有哪些,以及對(duì)應(yīng)有什么功能

(1)基本定時(shí)器:

功能最為簡(jiǎn)單,類似于 51 單片機(jī)內(nèi)定時(shí)器。

(2)通用定時(shí)器:

是在基本定時(shí)器的基礎(chǔ)上擴(kuò)展而來,增加了輸入捕獲(可以測(cè)量輸入信號(hào)的脈寬)與輸出比較(產(chǎn)生輸出波形)等功能。

(3)高級(jí)定時(shí)器:

是在通用定時(shí)器基礎(chǔ)上擴(kuò)展而來,增加了可編程死區(qū)互補(bǔ)輸出、重復(fù)計(jì)數(shù)器、帶剎車(斷路)功能,這些功能主要針對(duì)工業(yè)電機(jī)控制方面。

2、通用定時(shí)器配置

#include "stm32f10x.h"


uint8_t time_flag = 0;


void LED_Init(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;//定義結(jié)構(gòu)體變量

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);

  GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;        //選擇你要設(shè)置的IO口
  GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; //設(shè)置推挽輸出模式
  GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//設(shè)置傳輸速率
  GPIO_Init(GPIOC,&GPIO_InitStructure);          /* 初始化GPIO */

  GPIO_SetBits(GPIOC,GPIO_Pin_0);    //將LED端口拉高,熄滅所有LED
}


void TIM4_Init(u16 per,u16 psc)
{
  TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
  NVIC_InitTypeDef NVIC_InitStructure;

  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4,ENABLE);  //使能TIM4時(shí)鐘

  TIM_TimeBaseInitStructure.TIM_Period=per;                     //自動(dòng)裝載值
  TIM_TimeBaseInitStructure.TIM_Prescaler=psc;                  //分頻系數(shù)
  TIM_TimeBaseInitStructure.TIM_ClockDivision=TIM_CKD_DIV1;     //時(shí)鐘分頻
  TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up; //設(shè)置向上計(jì)數(shù)模式
  TIM_TimeBaseInit(TIM4,&TIM_TimeBaseInitStructure);

  TIM_ITConfig(TIM4,TIM_IT_Update,ENABLE);   //開啟定時(shí)器中斷
  TIM_ClearITPendingBit(TIM4,TIM_IT_Update);

  NVIC_InitStructure.NVIC_IRQChannel = TIM4_IRQn;        //定時(shí)器中斷通道
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;//搶占優(yōu)先級(jí)
  NVIC_InitStructure.NVIC_IRQChannelSubPriority =3;      //子優(yōu)先級(jí)
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;        //IRQ通道使能
  NVIC_Init(&NVIC_InitStructure);  

  TIM_Cmd(TIM4,ENABLE); //使能定時(shí)器  
}
// TIM4中斷函數(shù)
void TIM4_IRQHandler(void)
{
  if(TIM_GetITStatus(TIM4,TIM_IT_Update))
  {
    if(time_flag){
      time_flag = 0x00;
    }
    else{
      time_flag = 0xff;
    }
  }
  TIM_ClearITPendingBit(TIM4,TIM_IT_Update);  
}


int main( void )
{
  LED_Init();
  TIM4_Init(1000,36000-1);  //定時(shí)500ms
  while(1)
  {
    if( time_flag ){
      GPIO_ResetBits(GPIOC,GPIO_Pin_0);
    }
    else{
      GPIO_SetBits(GPIOC,GPIO_Pin_0);
    }
  }
}

3、測(cè)試驗(yàn)證程序,下載到板子會(huì)看到LED閃爍,程序正常。

--END--

聲明:本文內(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)投訴
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3218

    瀏覽量

    113665
  • stm32f1
    +關(guān)注

    關(guān)注

    1

    文章

    56

    瀏覽量

    12133
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32通用定時(shí)器簡(jiǎn)介

    以下描述適用于整個(gè)STM32FM10xxx系列。本文依據(jù)《STM32中文參考手冊(cè)_V10》STM32通用定時(shí)器簡(jiǎn)介
    發(fā)表于 08-11 07:02

    STM32通用定時(shí)器和高級(jí)定時(shí)器

    STM32通用定時(shí)器和高級(jí)定時(shí)器除了支持單向的向上或向下計(jì)數(shù)模式外,還支持中心對(duì)齊計(jì)數(shù)模式,即一個(gè)計(jì)數(shù)周期內(nèi)分別由向上計(jì)數(shù)和向下計(jì)數(shù)兩個(gè)過程組成。在基于計(jì)數(shù)
    發(fā)表于 08-11 08:51

    STM32通用定時(shí)器和高級(jí)定時(shí)器功能

    比較之后,并依據(jù)相應(yīng)的輸出模式從而實(shí)現(xiàn)各類輸出。如PWM輸出、電平翻轉(zhuǎn)、單脈沖模式、強(qiáng)制輸出等。一般來說,STM32通用定時(shí)器和高級(jí)定時(shí)器都具有比較輸出功能,不同的
    發(fā)表于 08-18 07:15

    STM32 通用定時(shí)器原理介紹 精選資料分享

    一、STM32 通用定時(shí)器簡(jiǎn)介STM32F1 的通用定時(shí)器是一個(gè)通過可編程預(yù)分頻
    發(fā)表于 08-19 09:08

    STM32通用定時(shí)器框圖及功能

    STM32通用定時(shí)器有四個(gè),分別是TIM2, TIM3,TIM4,TIM5,有以下功能:通用定時(shí)器的框圖如下:從圖中可以看出,
    發(fā)表于 08-19 08:49

    STM32通用定時(shí)器是怎樣進(jìn)行工作的

    STM32定時(shí)器有哪幾類呢?STM32通用定時(shí)器的功能特點(diǎn)有哪些?STM32
    發(fā)表于 11-23 06:24

    STM32通用定時(shí)器有何特點(diǎn)及其應(yīng)用呢

    STM32F103ZET6中的定時(shí)器之間有何區(qū)別呢?STM32通用定時(shí)器有何特點(diǎn)及其應(yīng)用呢?
    發(fā)表于 11-23 07:53

    STM32通用定時(shí)器之間有什么區(qū)別?

    STM32通用定時(shí)器之間有什么區(qū)別?
    發(fā)表于 11-24 06:13

    STM32通用定時(shí)器有那幾個(gè)?具有什么功能?

    STM32通用定時(shí)器有那幾個(gè)?具有什么功能?
    發(fā)表于 11-24 07:49

    Stm32通用定時(shí)器相關(guān)內(nèi)容復(fù)習(xí)

    如何去配置通用定時(shí)器的工作模式和管腳復(fù)用呢?Stm32通用定時(shí)器有哪幾種功能?
    發(fā)表于 11-24 07:51

    STM32 通用定時(shí)器 輸入捕獲 測(cè)量脈寬例程,并做了超時(shí)處理

    STM32 通用定時(shí)器 輸入捕獲 測(cè)量脈寬例程,并做了超時(shí)處理,歡迎下載。1-該例程已經(jīng)在霸道和指南者上驗(yàn)證過 2-用的是TIM5的通道1,即PA0來測(cè)量高電平的時(shí)間,在霸道和指南者上,PA0接
    發(fā)表于 12-05 15:00 ?46次下載

    STM32-通用定時(shí)器基本定時(shí)功能資料下載

    電子發(fā)燒友網(wǎng)為你提供STM32-通用定時(shí)器基本定時(shí)功能資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計(jì)、用戶指南、解決方案等資料,希望可以幫
    發(fā)表于 04-12 08:44 ?4次下載
    <b class='flag-5'>STM32</b>-<b class='flag-5'>通用</b><b class='flag-5'>定時(shí)器</b>基本<b class='flag-5'>定時(shí)</b>功能資料下載

    [STM32]通用定時(shí)器的使用

    STM32通用定時(shí)器定時(shí)、輸出PWM功能的使用本次還是使用發(fā)光二極管來驗(yàn)證定時(shí)器的使用目錄STM32
    發(fā)表于 11-22 19:06 ?24次下載
    [<b class='flag-5'>STM32</b>]<b class='flag-5'>通用</b><b class='flag-5'>定時(shí)器</b>的使用

    STM32-通用定時(shí)器-PWM輸出

    1 通用定時(shí)器PWM概述1.1STM32定時(shí)器輸出通道引腳這里以TIM3為例來講解。STM32通用
    發(fā)表于 11-26 15:36 ?23次下載
    <b class='flag-5'>STM32</b>-<b class='flag-5'>通用</b><b class='flag-5'>定時(shí)器</b>-PWM輸出

    STM32-通用定時(shí)器-定時(shí)器中斷

    1STM32定時(shí)器STM32F103ZET6一共有8個(gè)定時(shí)器,其中分別為:高級(jí)定時(shí)器(TIM1、TIM8);
    發(fā)表于 11-26 15:36 ?16次下載
    <b class='flag-5'>STM32</b>-<b class='flag-5'>通用</b><b class='flag-5'>定時(shí)器</b>-<b class='flag-5'>定時(shí)器</b>中斷