单片机
返回首页

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

2018-06-27 来源:eefocus

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



作为定时器的配置步骤:


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


2.使能相关时钟。


3.设置分频。


4.清空计数器的值。


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


6.是否允许中断。


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


8.使能计数器。




程序:


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

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

    软件平台:IAR for ARM6.21  

    硬件平台:stm32f4-discovery  

    主频:168M  

      

    author:小船  

    data:2012-02-06  

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

  

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

  }  

}  


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 红外线探测报警器

  • 短波AM发射器电路设计图

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 用NE555制作定时器

  • 如何调制IC555振荡器

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章