• 大小: 33KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-18
  • 语言: 其他
  • 标签: STM32  

资源简介

STM32的通用定时器Timer(库函数),亲测可用,内有详细代码注释和说明讲解,很好的学习资料。

资源截图

代码片段和文件信息

/*----------------------------------------------------------------------------
QQ: 958664258
21IC用户名:banhushui
交流平台:http://blog.21ic.com/user1/5817/index.html

旺旺:半壶水电子
编译器版本:MDK4.12
 *---------------------------------------------------------------------------*/

/* Includes ------------------------------------------------------------------*/
#define SYS_GLOBALS
#include “include.h“


u32 volatile gTimer_1ms=0;

/* Private function prototypes -----------------------------------------------*/
void RCC_Configuration(void);
void NVIC_Configuration(void);
void GPIO_Configuration(void);

/*------------------------------------------------------------------------------
  中断函数
  1 ms中断1次
 *------------------------------------------------------------------------------*/
void TIM2_IRQHandler(void)
{
 
   if(TIM_GetITStatus(TIM2TIM_IT_Update)!=RESET)
   {
      //清除中断标志
      TIM_ClearITPendingBit(TIM2TIM_IT_Update);
      gTimer_1ms++;
   }
}

void Timer2_Configuration(void)
{
 TIM_TimebaseInitTypeDef   TIM_TimebaseStructure;
 NVIC_InitTypeDef NVIC_InitStructure;
  
  //------------------------------------------------------------
  //打开定时器的时钟
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 ENABLE);
  //------------------------------------------------------------
  
  //TIMx寄存器重设为缺省值
  TIM_DeInit(TIM2);
  
  TIM_TimebaseStructure.TIM_Period=1;  //自动重装载寄存器周期的值
  TIM_TimebaseStructure.TIM_Prescaler=0;  //TIMx 时钟频率除数的预分频值
  TIM_TimebaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; //采样分频
  TIM_TimebaseStructure.TIM_CounterMode=TIM_CounterMode_Up; //向上计数模式
  TIM_TimebaseInit(TIM2 &TIM_TimebaseStructure);
  
  TIM_PrescalerConfig(TIM236000-1TIM_PSCReloadMode_Immediate);//时钟分频系数,定时器1ms
  TIM_ARRPreloadConfig(TIM2 DISABLE);//禁止ARR预装载缓冲器
  TIM_ITConfig(TIM2TIM_IT_UpdateENABLE);
  
  TIM_Cmd(TIM2 ENABLE); //开启时钟
  
  //------------------------------------------------------------
  //配置TIM2中断
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);

  NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQChannel;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);
}

//LED循环闪烁
void LedFlash(void)
{
  static u16 leds = 0x01;
  u32 temp;
    
    //先读出PC端口状态
    temp = GPIOC->ODR;
    
    //先屏蔽掉PC8~PC11
    temp |= 0x00000F00;
    
    //重新设置PC8~PC11输出状态,IO输出低电平点亮LED
    GPIOC->ODR = temp&(~(leds<<8));
    leds <<= 1;
    if ( (leds&0x0f) == 0)
     leds = 0x01;
}

//精确的延时
void Delay(u32 nTime)
{u32 counter;
  
  counter=gTimer_1ms;
  while( gTimer_1ms-counter < nTime);//定时时间到才退出
  
}

/* Private functions ---------------------------------------------------------*/

/*******************************************************************************
* Function Name  : main
* Description    : Main program.
* Input          : None
* Outpu

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        459  2009-07-05 18:17  BHS-STM32 实验10-通用定时器Timer(库函数)\main\globals.h

     文件        256  2011-06-01 16:42  BHS-STM32 实验10-通用定时器Timer(库函数)\main\include.h

     文件       8165  2017-11-27 20:48  BHS-STM32 实验10-通用定时器Timer(库函数)\main\main.c

     文件       1246  2009-06-28 23:57  BHS-STM32 实验10-通用定时器Timer(库函数)\main\main.h

     文件      12814  2009-01-18 15:39  BHS-STM32 实验10-通用定时器Timer(库函数)\main\myuse.h

     文件       2042  2011-06-10 13:49  BHS-STM32 实验10-通用定时器Timer(库函数)\main\Project.Opt

     文件       7648  2011-06-10 13:49  BHS-STM32 实验10-通用定时器Timer(库函数)\main\Project.Uv2

     文件     156643  2011-06-10 13:49  BHS-STM32 实验10-通用定时器Timer(库函数)\main\Project.uvopt

     文件      46003  2011-06-05 19:57  BHS-STM32 实验10-通用定时器Timer(库函数)\main\Project.uvproj

     文件       1257  2009-06-29 16:13  BHS-STM32 实验10-通用定时器Timer(库函数)\main\RAM.ini

     文件       2800  2008-09-23 09:24  BHS-STM32 实验10-通用定时器Timer(库函数)\main\readme.txt

     文件       6311  2008-09-23 09:24  BHS-STM32 实验10-通用定时器Timer(库函数)\main\stm32f10x_conf.h

     文件      29400  2011-06-01 16:43  BHS-STM32 实验10-通用定时器Timer(库函数)\main\stm32f10x_it.c

     文件       3842  2008-09-23 09:24  BHS-STM32 实验10-通用定时器Timer(库函数)\main\stm32f10x_it.h

     文件      12871  2008-09-23 09:24  BHS-STM32 实验10-通用定时器Timer(库函数)\main\stm32f10x_vector.s

     文件        311  2011-02-10 21:25  BHS-STM32 实验10-通用定时器Timer(库函数)\main\说明.txt

     文件        479  2010-12-22 17:44  BHS-STM32 实验10-通用定时器Timer(库函数)\out\ObjRAM\BHS-STM32-RAM.sct

     文件        174  2011-06-10 13:49  BHS-STM32 实验10-通用定时器Timer(库函数)\out\ObjRAM\stm32f10x_vector._ia

     文件        479  2010-12-29 00:28  BHS-STM32 实验10-通用定时器Timer(库函数)\out\ObjSim\STM32.sct

     文件        258  2011-06-10 13:49  BHS-STM32 实验10-通用定时器Timer(库函数)\out\ObjSim\stm32f10x_vector._ia

     目录          0  2016-07-07 18:38  BHS-STM32 实验10-通用定时器Timer(库函数)\out\LstFlash

     目录          0  2016-07-07 18:38  BHS-STM32 实验10-通用定时器Timer(库函数)\out\LstRAM

     目录          0  2016-07-07 18:38  BHS-STM32 实验10-通用定时器Timer(库函数)\out\LstSim

     目录          0  2016-07-07 18:38  BHS-STM32 实验10-通用定时器Timer(库函数)\out\ObjFlash

     目录          0  2017-11-27 20:47  BHS-STM32 实验10-通用定时器Timer(库函数)\out\ObjRAM

     目录          0  2017-11-27 20:47  BHS-STM32 实验10-通用定时器Timer(库函数)\out\ObjSim

     目录          0  2017-11-27 20:47  BHS-STM32 实验10-通用定时器Timer(库函数)\main

     目录          0  2017-11-27 20:47  BHS-STM32 实验10-通用定时器Timer(库函数)\out

     目录          0  2017-11-27 20:47  BHS-STM32 实验10-通用定时器Timer(库函数)

----------- ---------  ---------- -----  ----

............此处省略2个文件信息

评论

共有 条评论