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);
  } 
 }
 
}

波形非常标准吧:)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: STM32F407VG是STMicroelectronics公司推出的一款32位微控制器,它基于ARM Cortex-M4内核,具有丰富的外设和强大的处理能力。参考手册是该微控制器的重要技术文档,提供了详细的硬件描述、外设功能说明、时序图、寄存器配置和编程示例等信息,是开发者开发和应用该芯片的重要参考资料。 参考手册的内容包括但不限于以下几个方面: 1. 微控制器的概述:介绍了STM32F407VG的基本架构、内核特性和内存映射等基本信息,帮助开发者初步了解该芯片的硬件架构和特点。 2. 外设模块:详细介绍了微控制器的各个外设模块,如通用IO口、定时器、串口通信口、SPI接口、I2C接口、ADC模块等,包括各个模块的功能描述、寄存器配置和操作方法等,开发者可以根据自身需求合理配置这些模块,实现所需功能。 3. 中断和异常处理:详细介绍了中断和异常的概念、中断优先级、中断向量表等相关内容,帮助开发者实现灵活、高效的中断和异常处理。 4. 外部存储器接口:介绍了微控制器与外部存储器(如闪存、RAM等)的接口方式和工作原理,帮助开发者实现数据的读写和存储。 5. 低功耗模式:介绍了微控制器的低功耗模式和相关功能,开发者可以根据实际需求选择不同的低功耗模式,以降低功耗、延长电池寿命。 总之,STM32F407VG参考手册提供了详尽的技术信息和操作指南,为开发者开发和应用该芯片提供了重要参考,帮助开发者充分了解该微控制器的特性和功能,合理配置和使用外设模块,实现各种应用需求。 ### 回答2: STM32F407VG参考手册是指STM32F407VG微控制器的详细技术手册。STM32F407VG微控制器是由STMicroelectronics公司开发的一款高性能的微控制器,适用于工业控制、通信、汽车电子等领域。 这本参考手册对STM32F407VG微控制器的各个方面进行了全面而详细的介绍,包括架构、管脚定义、内核特性、存储器映射、时钟、中断系统、外设等。手册中的信息可以帮助工程师在设计和开发应用程序时更好地了解和使用该微控制器。 参考手册的内容包括STM32F407VG微控制器的特性和功能的详细描述,以及相关的电气特性参数、时序图和寄存器映射。手册中还提供了使用该微控制器的建议和注意事项,以及使用ST公司提供的软件开发工具进行编程和调试的详细指导。 同时,手册还包括了丰富的实例代码和应用案例,以帮助工程师更好地理解和应用STM32F407VG微控制器。这些实例可以帮助工程师快速上手开发工作,提高开发效率。 总之,STM32F407VG参考手册对于对该微控制器进行开发和应用的工程师来说是非常有价值的参考资料。它提供了全面而详细的技术信息和实例,可以帮助工程师更好地了解和使用STM32F407VG微控制器,从而提高开发效率和产品质量。 ### 回答3: STM32F407VG是意法半导体公司推出的一款高性能、低功耗的32位微控制器。其参考手册是为了帮助开发者更好地理解和使用该芯片而编写的指南。参考手册包含了芯片的详细技术规格、引脚功能、寄存器配置、时钟设置、外设使用等信息,提供了全面而详细的参考资料。 在参考手册中,首先会介绍芯片的概述,包括器件特性、代码兼容性以及封装和引脚定义等基本信息。然后会详细介绍芯片的内部架构,包括中央处理器、存储器、定时器、串行通信接口等核心模块的组成和功能。接着会对每一个外设模块进行详细的介绍,包括外设的工作原理、寄存器配置和时序要求等。此外,还会提供一些使用示例和实际应用场景,帮助开发者更好地理解和应用芯片。 通过仔细阅读参考手册,开发者可以深入了解STM32F407VG的各个方面,掌握其功能和特性,从而更加灵活和高效地开发应用。它不仅是初学者入门的参考文献,也是有经验开发者的参考工具。在开发过程中遇到问题时,可以通过参考手册找到相关的信息和解决方案,提高开发效率。 总之,STM32F407VG参考手册是STM32F407VG芯片的重要参考文献,提供了全面而详细的技术资料,帮助开发者更好地理解和使用该芯片。无论是初学者还是有经验的开发者,都可以从中获取到丰富的知识和实用的工具,实现高效的开发和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值