历史上的今天
今天是:2025年06月27日(星期五)
2018年06月27日 | 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);
}
}
上一篇:stm32f407之通用定时器
下一篇:STM32F407系统时钟配置
史海拾趣
|
我想用一个红外对射开关控制欧姆龙MY2NJ继电器工作,对射开关的型号见图片 我用黄颜色的线接到继电器,继电器不能工作,继电器都是好的,我用12V电压直接控制继电器,是可以工作的,但用感应的不知道怎么接法。 红外对射开关工作电压是5V,继电器 ...… 查看全部问答> |
|
想在动车组两个车厢中实现数据的无线传输。 也考虑到一些实现方法,但是由于动车组有屏蔽大,速度快特点,造成无线数据包传输难度很大。 请问各位高手,用什么方式能达到这个目的呢?前提是不对车厢作出改造,比如车体外安装天线等 … 查看全部问答> |
|
现在软键盘基本上可以用了,但还有一个字符:小数点\'.\'不能用,发送字符小数点消息,可在我的应用程序里收到的消息却是: 第一个消息是:pMsg->hwnd为编辑框的句柄,但pMsg->message为15,也就是WM_PAINT,wParam和lParam为0, & ...… 查看全部问答> |




