stm32f407之基本定时器TIM6&TIM7(操作寄存器)

发布者:MysticalGlow最新更新时间:2019-08-06 来源: eefocus关键字:stm32f407  基本定时器  TIM6  TIM7  操作寄存器 手机看文章 扫描二维码
随时随地手机看文章

      基本定时器TIM6和TIM7包括一个由可编程分频器驱动的16位自动重载计数器。它可以用作普通的定时器,也可以用来驱动DAC。这两个定时器是完全独立的,不共享任何资源。更多时候是与DAC平配合使用。


作为定时器的配置步骤:


1.      设置中断优先级分组(如果之前没有设置),这个最好一个程序里只在开头设置一次。


2.     使能相关时钟。


3.     设置分频。


4.     清空计数器的值。


5.     设置自动重装寄存器的值。


6.     是否允许中断。


7.     如果允许中断,设置中断优先级,使能中断。


8.     使能计数器。


程序:



/************************************

    标题:定时器TIM7的定时练习

    软件平台:IAR for ARM6.21

    硬件平台:stm32f4-discovery

    主频:168M

*************************************/

 

#include  

#include "MyDebugger.h"

 

void main ()

{   

 

  SCB->AIRCR = 0x05FA0000 | 0x400;  //中断优先级分组 抢占:响应=3:1

  

  RCC->APB1ENR |= (1<<5); //打开TIM7时钟

  TIM7->PSC = 8399; //对时钟84M进行8400分频,使得计数频率为10k

  TIM7->ARR = 10000;  //定时一秒

  TIM7->CNT = 0;  //清空计数器

  TIM7->CR1 |= (1<<7); //自动重装载预装载使能

  TIM7->DIER |= 1; //使能中断

  NVIC->IP[55] = 0x80;

  NVIC->ISER[1] |= (1<<(55-32));

  TIM7->CR1 |= 1; //开始计时

  MyDebugger_Init();

  while(1)

  {

  };

}

 

void TIM7_IRQHandler(void)

{

  if(TIM7->SR)

  {

    MyDebugger_LEDs(blue, turn);

    TIM7->SR &= ~(0x0001); 

  }

}


关键字:stm32f407  基本定时器  TIM6  TIM7  操作寄存器 引用地址:stm32f407之基本定时器TIM6&TIM7(操作寄存器)

上一篇:STM32F429的定时器的使用方法
下一篇:STM32F4开发笔记4: UART的使用方法

推荐阅读最新更新时间:2024-11-04 20:30

STM32F407 ADC时钟设置及采样频率设置
/************************************************* 在system_stm32f4xx.c中有如下定义: /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N / / / #define PLL_M 8 #define PLL_N 336 /* SYSCLK = PLL_VCO / PLL_P // #define PLL_P 2 /* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ /// #define PLL_Q
[单片机]
stm32f407之GPIO(操作寄存器
stm32f407VG这款单片机上共有PA-PE共5×16共80个复用IO口,每个通用I / O端口有4个32位配置寄存器(GPIOx_MODERGPIOx_OTYPER GPIOx_OSPEEDR GPIOx_PUPDR),两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位的置位/复位寄存器(GPIOx_BSRR),32位锁定寄存器(GPIOx_LCKR)和两个32位的备用功能选择寄存器(GPIOx_AFRHGPIOx_AFRL)。 设置步骤: 1. 使能相关时钟 2. 设置相应的IO口为输入或输出 3. 设置输入输出的类型 4. 设置输出的速度(如果设置为输入,此步跳
[单片机]
stm32f407外部中断
一,外部中断的概念 STM32F4 的每个 IO 都可以作为外部中断输入。 STM32F4 的中断控制器支持 22 个外部中断 / 事件请求: EXTI线0~15:对应外部IO口的输入中断。 EXTI线16:连接到PVD输出。 EXTI线17:连接到RTC闹钟事件。 EXTI线18:连接到USB OTG FS唤醒事件。 EXTI线19:连接到以太网唤醒事件。 EXTI线20:连接到USB OTG HS(在FS中配置)唤醒事件。 EXTI线21:连接到RTC入侵和时间戳事件。 EXTI线22:连接到RTC唤醒事件。 每个外部中断线可以独立的配置触发方式(上升沿,下降沿或者双边沿触发),触发/屏蔽,专用
[单片机]
<font color='red'>stm32f407</font>外部中断
STM8L外部中断为何死循环 寄存器操作
STM8L 系列单片机是 ST公司推出的低功耗单片机,与STM8S系列相比功耗降低了很多,但内部结构也删减了很多,使用时一定要仔细阅读手册。 这是第一次使用STM8,实现功能不是很复杂就没想研究库函数,准备直接控制寄存器操作,没想到本人 因为中断问题纠结了大半天。 在外部中断中这一点很不同, STM8S自动清除外部中断,而STM8L是需要软件清除, 清除标志位的寄存器根据设置而不同,下面有说明。 下面以STM8L外部中断 PB1为例 说明外部中断 寄存器操作 设置外部中断有下面几步: 第一步、设置IO口为中断输入 通过设置 (PB_DDR |= 0X00; PB_CR1 |= 0X02; PB_CR2 |= 0X02;)
[单片机]
STM8L外部中断为何死循环 <font color='red'>寄存器</font><font color='red'>操作</font>
STM32F103基本定时器使用
  STM32F103单片机中定时器分为3种,高级定时器、通用定时器、基本定时器。   基本定时器TIM6和TIM7各包含一个16位自动装载计数器,由各自的可编程预分频器驱动。它们可以作为通用定时器提供时间基准,特别地可以为数模转换器(DAC)提供时钟。实际上,它们在芯片内部直接连接到DAC并通过触发输出直接驱动DAC。这2个定时器是互相独立的,不共享任何资源。 TIM6和TIM7定时器的主要功能包括: 16位自动重装载累加计数器 16位可编程(可实时修改)预分频器,用于对输入的时钟按系数为1~65536之间的任意数值分频 触发DAC的同步电路 在更新事件(计数器溢出)时产生中断/DMA请求   这个可编程定时器的主要
[单片机]
设计单片机日志系统
环境: 主机:WIN10 开发环境:MDK5.12 MCU:STM32F407 说明: 为单片机设计了一套简单的日志系统,通过日志系统提供的接口可以查看设备状态,并进行一些基本的调试。 日志系统通过串口输出,所以单片机需要准备一个串口供日志系统使用。注意串口发送不能用DMA发送(避免在在中断中打印日志造成的中断竞争),接收可以用DMA接收。 功能: 打开/关闭各个模块的调试输出 输入动作指令,让设备进行一些动作 打印系统运行日志 指令: H:帮助 O:调试输出全开 O1:打开1号模块,打开其他模块指令类似 F:调试输出全关 F1:关闭1号模块 I:输出系统日志 C:清除系统日志 A1:执行1号动作,执行其他动
[单片机]
stm32F407+ov7670的摄像头识别
单片机源程序如下: #include system.h #include SysTick.h #include led.h #include usart.h #include tftlcd.h #include malloc.h #include sdio_sdcard.h #include flash.h #include ff.h #include fatfs_app.h #include key.h #include font_show.h #include exti.h #include time.h #include string.h #include math.h
[单片机]
stm32F407+ov7670的摄像头识别
STM32定时器基本计数原理解析
概述 STM32的TIM定时器分为三类:基本定时器、通用定时器和高级定时器。从分类来看就知道STM32的定时器功能是非常强大的,但是,功能强大了,软件配置定时器就相对复杂多了。很多初学者甚至工作了一段时间的人都不知道STM32最基本的计数原理。 虽然STM32定时器功能强大,也分了三类,但他们最基本的计数部分原理都是一样的,也就是我们常常使用的延时(或定时)多少us、ms等。 接下来我会讲述关于STM32最基本的计数原理,详细讲述如何做到(配置)计数1us的延时,并提供实例代码供大家参考学习。 TIM计数原理描述 定时器可以简单的理解为:由计数时钟(系统时钟或外部时钟)一个一个计数,直到计数至我们设定的值,这个时候产生
[单片机]
STM32<font color='red'>定时器</font><font color='red'>基本</font>计数原理解析
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved