STM32F107的通用定时器中断实验总结

发布者:清新心情最新更新时间:2018-12-10 来源: eefocus关键字:STM32F107  通用定时器  中断实验 手机看文章 扫描二维码
随时随地手机看文章

1.     STM32F107的通用定时器是指:  TIM2、TIM3、TIM4、TIM5、


STM32F107的高级定时器是指:  TIM1、TIM8


STM32F107的基本定时器是指:  TIM6、TIM7


2.     STM32F107的通用定时器(TIM2、TIM3、TIM4、TIM5)的模式有向上计数、向下计数、中央对齐模式。


向上计数模式:计数器从0计数到自动加载值(TIMx_ARR),然后重新从0开始计数并且产生一个计数器溢出事件。


向下计数模式:计数器从自动装入的值(TIMx_ARR)开始向下计数到0,然后从自动装入的值重新开始,并产生一个计数器向下溢出事件。


中央对齐模式(向上/向下计数):计数器从0开始计数到自动装入的值-1,产生一个计数器溢出事件,然后向下计数到1并且产生一个计数器溢出事件;然后再从0开始重新计数。


3.     STM32F107的通用定时器的时钟选择有多种,一般使用RCC提供的内部时钟TIMxCLK,  由APB1时钟分频提供。


4.     状态标志位获取和清除


FlagStatus TIM_GetFlagStatus(TIM_TypeDef* TIMx, uint16_tTIM_FLAG);


void TIM_ClearFlag(TIM_TypeDef* TIMx, uint16_t TIM_FLAG);


ITStatus TIM_GetITStatus(TIM_TypeDef* TIMx, uint16_tTIM_IT);


void TIM_ClearITPendingBit(TIM_TypeDef* TIMx, uint16_tTIM_IT);



定时器中断实现步骤:


1.         定时器时钟使能。   RCC_APB1PeriphClockCmd();


2.        初始化定时器,配置ARR,PSC。    TIM_TimeBaseInit();


3.       开启定时器中断,配置NVIC。     void TIM_ITConfig();    NVIC_Init();


4.      使能定时器。  TIM_Cmd();


5.      编写中断服务函数。    TIMx_IRQHandler();


1)    TIM_TimeBaseStructure.TIM_ClockDivision这一行代码是干吗的啊


   CKD[1:0]: 时钟分频因子 (Clock division) 这2位定义在定时器时钟(CK_INT)频率、死区时间和由死区发生器与数字滤波器(ETR,TIx)所用的采样时钟之间的分频比例。 00: tDTS = tCK_INT01 : tDTS = 2 x tCK_INT10: tDTS = 4 x tCK_INT 11 :保留,不要使用这个配置


用来屏蔽一些不需要的毛刺的。比如你数字滤波器的频率为1M,N=8,则频率大于1MHz/8=125KHz(持续时间小于8us)的脉冲都会被忽略。可以用在按键消抖之类的。


关键字:STM32F107  通用定时器  中断实验 引用地址:STM32F107的通用定时器中断实验总结

上一篇:STM32定时器周期计算
下一篇:stm32 基本定时器最简单定时配置

推荐阅读最新更新时间:2024-03-16 16:19

STM32学习笔记:通用定时器基本设定
STM32 包含11个定时器,其中TIM2~TIM5为通用定时器。 通用定时器挂载在低速外设总线APB1上,其时钟来源于输入为APB1的一个倍频器,只要APB1的时钟分频数不为1,TIMx的时钟频率就会为APB1时钟频率的2倍,即72MHz 。 配置通用定时器需要4步(以配置TIM2为例): (1)配置系统时钟 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);倍 开启TIM2与GPIOA的时钟,其中TIM2挂载在APB1上,GPIOA挂载在APB2上;
[单片机]
VxWorks下的异步通用定时器设计
   1 概 述   VxWorks是WindRiver公司开发的高性能实时嵌入式操作系统内核。在应用软件开发过程中经常会用到定时器。VxWorks下要实现定时功能有2个途径:一,借助taskDelay函数实现;二,使用VxWorks提供的看门狗(watchdog)。使用taskDelay函数实现定时器的缺点在于它是基于任务的,任务优先级会导致定时不准。看门狗基于系统时钟中断,定时精度大大优于前者,但是对用户的回调函数有诸多限制(如不允许使用semTake、printf等需要等待获取某种资源的函数,否则会引起死机)。另外,看门狗只触发一次回调函数,如果用户需要周期定时器就需要重新启动看门狗。   本文设计了基于看门狗机制的
[嵌入式]
正点原子战舰V3 31讲 通用定时器
STM32F10X 最多有8个定时器 例如 STM32F103RC 有 4个通用定时器 2个高级定时器 2个基本定时器 三种定时器的区别 F1系列只有16位定时器 16位可编程预分频 将定时器的时钟源进行分频 预分频相当于将频率进行一个除法运算。可以降低时钟的频率。时钟低的话计数时间可以更长。 每一个定时器 都有4个独立的通道 STM32 中文参考手册的第13章 时钟来源分类 1.内部时钟来自APB1 触发控制器将 内部时钟作为定时器的时钟来源 2 外部引脚输入 ETR 引脚 ETR对应的引脚可以 在数据手册上找---引脚功能描述 搜索 ETR就可以找到ETR对应的的相关功能
[单片机]
正点原子战舰V3 31讲 <font color='red'>通用</font><font color='red'>定时器</font>
ARM开发(10)基于STM32的通用定时器中断控制蜂鸣器响
一 通用定时器原理: 1.1 本实验实现通用定时器中断控制蜂鸣器1s鸣叫一次。 1.2 实验思路:理解中断控制寄存器,DMA/中断使能寄存器,预分频寄存器,初始化定时器参数,中断优先级设置,编写中断服务函数,中断服务函数里面我们实现蜂鸣器1s鸣叫一次 1.3 开发环境 : MDK5 库函数版本开发 JLINK仿真 二 实验步骤: 2.1 timer.h代码: #ifndef __TIMER_H #define __TIMER_H #include sys.h void TIM3_Int_Init(u16 arr,u16 psc); #endif 1 2 3 4 5 2.2 timer.c代码(通用定时器参
[单片机]
STM32——高级定时器通用定时器、基本定时器的区别
TIM1和TIM8定时器的功能包括【增强型】: ● 16位向上、向下、向上/下自动装载 计数器 ● 16位可编程(可以实时修改) 预分频器 ,计数器时钟频率的分频系数为1~65535之间的任意数值 ● 多达4个独立通道: ─ 输入捕获 ─ 输出比较 ─ PWM生成(边缘或中间对齐模式) ─ 单脉冲模式输出 ● 死区时间可编程的互补输出 ● 使用外部信号控制定时器和定时器互联的同步电路 ● 允许在指定数目的计数器周期之后更新定时器寄存器的重复计数器 ● 刹车输入信号可以将定时器输出信号置于复位状态或者一个已知状态 ● 如下事件发生时产生中断/DMA: ─ 更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发) ─
[单片机]
PORT.H头文件下载-AVR定时器通用IO端口定义
/***************************************************************************** 文件名称:PORT.H 文件标识:_PORT_H_ 摘 要:AVR定时器通用IO端口定义 *****************************************************************************/ #ifndef _PORT_H_ #define _PORT_H_ #define P(X,Y) (BYPORT(X)*256+BYBIT(Y)) //合并引脚信息 #defin
[单片机]
STM32F107——W5500网络通信
#ifndef _W5500_QUEUE_H_ #define _W5500_QUEUE_H_ #include type.h #define W5500_FRAME_SIZE 2048 #define W5500_RECV_QUEUE_SIZE 20 typedef enum { W5500_FAILURE = 0, W5500_OK = 1, } w5500_queue_status_t; typedef __packed struct { uint8_t data ; uint16_t length; } w5500_frame_t; typedef struct { uint16
[单片机]
STM32 TImer几种模式_通用定时器
输入捕获模式 库函数例程位置: STM32F10x_StdPeriph_Lib_V3.3.0\Project\STM32F10x_StdPeriph_Examples\TIM\InputCapture 在输入捕获模式下,当检测到ICx信号上相应的边沿后,计数器的当前值被锁存到捕获/比较寄存器(TIMx_CCRx)中。当捕获事件发生时,相应的CCxIF标志(TIMx_SR寄存器)被置 1 ,如果使能了中断或者DMA操作,则将产生中断或者DMA操作。 在捕获模式下,捕获发生在影子寄存器上,然后再复制到预装载寄存器中。 PWM输入模式 库函数例程位置 :STM32F10x_StdPeriph_Lib_V3.3.0\Project\
[单片机]
STM32 TImer几种模式_<font color='red'>通用</font><font color='red'>定时器</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

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

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

更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved