STM32F407VG (五)定时器

编程入门 行业动态 更新时间:2024-10-13 08:23:52

STM32F407VG (五)<a href=https://www.elefans.com/category/jswz/34/1768257.html style=定时器"/>

STM32F407VG (五)定时器

一、定时器节本分类和主要特点 1.STM32定时器分类: 1)看门狗定时器 2)SysTick定时器 3)RTC定时器
4)通用定时器 a)通用定时器TIM2~TIM5,  当中TIM2和TIM5是32位,TIM3和TIM4是16位      具有四个独立通道      中断/DMA事件      支持增量编码器和霍尔传感器
b)通用定时器TIM9~TIM14,16位定时器      最多具有连个独立通道      中断事件
5)基本定时器TIM6,TIM7,16位定时器      同步电路触发DAC      中断/DMA事件
6)高级定时器TIM1。TIM8,16位定时器     具有四个独立通道     中断/DMA事件     支持增量编码器和霍尔传感器           输入信号能够改变计数器状态或复位      可改变定期器寄存器的反复计数器。


二、实例1. 定时中断      1.时钟初始化  TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 , ENABLE);  TIM_DeInit(TIM2);    /* 时钟预分频数 */         //84000000/84=1000000,预分频后时钟为1M         TIM_TimeBaseStructure.TIM_Prescaler= (84 - 1);   /* 自己主动重装载寄存器周期的值(计数值) */   /* 累计 TIM_Period个频率后产生一个更新或者中断 */  TIM_TimeBaseStructure.TIM_Period =1000-1 ;    /* 採样分频 */  TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; /* 向上计数模式 */   TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;   //调用初始化函数  TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); /* 清除溢出中断标志 */   TIM_ClearFlag(TIM2, TIM_FLAG_Update);   /*设置产生TIM_FLAG_Update中断*/          TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE); /* 开启时钟 */  TIM_Cmd(TIM2, ENABLE); 
2. 设置中断向量。具体的解释见本博客有关“中断”部分的文章  1)中断初始化  NVIC_InitTypeDef NVIC_InitStructure;   /* Enable TIM2 interrupt IRQ channel */   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);   NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;  NVIC_Init(&NVIC_InitStructure);
 2)中断函数  void TIM2_IRQHandler(void) {  static unsigned int cpu_counter = 0;   if(TIM_GetITStatus(TIM2,TIM_IT_Update) != RESET)    {   TIM_ClearITPendingBit(TIM2,TIM_FLAG_Update);   cpu_counter ++;   if(cpu_counter >= 500) //等闪烁的周期是1s   {    cpu_counter = 0;    GPIO_ToggleBits(LED1);   }   }   }
波形非常标准吧:)

更多推荐

STM32F407VG (五)定时器

本文发布于:2024-03-06 08:30:40,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1714852.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:定时器   STM32F407VG

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!