2578|1

305

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

STM32F107VC金龙开发板 第八章 金龙107——TIM [复制链接]

第八章 金龙107——TIM


8.1 TIMER:
     通用定时器是一个通过可编程预分频器驱动的16位自动装载计数器构成。它适用于多种场合,包括测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和PWM)
使用定时器预分频器和RCC时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个毫秒间调整。 每个定时器都是完全独立的,没有互相共享任何资源。它们可以一起同步操作。STM32为用户配备了2个基本定时器TIM6TIM74个通用定时器TIM2TIM3TIM4TIM52个高级定时器。在《STM32 参考手册》中仅对定时器的介绍就已经占了 100
多页,看来STM32定时器的资源是非常强大的。
    由于 STM32 通用定时器比较复杂,这里我们不再多作介绍,请大家直接参考《STM32 参考手册》第 253 页,通用定时器一章。为了深入了解 STM32 的通用定时器,下面我们先介绍一下与我们这章实验密切相关的几个函数的配置、调用。
8.2实验说明:
在本实验中,主要使用STM32F107TIM4LED5,程序下载运行后,LED51s时间间隔亮灭闪烁。
主要跳线帽:JP4JP7都接在2-3
8.3硬件说明:
本实验主要涉及的硬件LED灯,
8.4程序说明:
本实验配置主要是TIM的配置,主要是涉及到定时器定时时间的计算,因为计数器的时钟频率(CK_CNT)于fCK_PSC/( PSC[15:0]+1)。所以在设定预分频值时留心注意,其次是定时器的计数的数值,计数方式。这一章,我们将使用定时器TIM4产生中断,然后在中断服务函数里面翻转LED4上的电平,来指示定时器中断的产生。接下来我们以通用定时器 TIM4 为实例,来说明要经过哪些步骤,才能达到这个要求,并产生中断。这里我们就对每个步骤通过库函数的实现方式来描述。
首先要提到的是,定时器相关的库函数主要集中在固件库文件 stm32f10x_tim.h stm32f10x_tim.c 文件中。
1)  使能TIM4时钟
TIM4是挂载在 APB1 之下,所以我们通过 APB1 总线下的使能使能函数来使能 TIM4。调用的函数是:
2) 初始化定时器参数,设置自动重装值,分频系数,计数方式等
  
   3) 设置 TIM4_DIER 允许更新中断。
因为我们要使用 TIM4 的更新中断,寄存器的相应位便可使能更新中断。在库函数里面定
时器中断使能是通过 TIM_ITConfig 函数来实现的:
    第一个参数是选择定时器号。我们这里选择TIM4
    第二个参数非常关键,是用来指明我们使能的定时器中断的类型,定时器中断的类型包括更新中断 TIM_IT_Update,触发中断 TIM_IT_Trigger,以及输入捕获中断等等。
第三个参数就是失能还是使能。
4) 中断优先级的设置
       在定时器中断使能后,因为要产生中断,必不可少的要设置NVIC相关寄存器和中断优先级
5) 使能TIM4
6) 编写中断服务函数
在配置好了所有外设的时候,最后就要编写我们的中断服务函数了。中断产生后,通过ITStatus TIM_GetITStatus(TIM_TypeDef* TIMx, uint16_t TIM_IT)来判断此次产生的中断类型。然后执行相关的操作,我们这里使用的是更新(溢出)中断,在处理完中断之后调用        TIM_ClearITPendingBit(TIM4, TIM_FLAG_Update);来清除该中断标志。
中断函数里面要判断中断源和清除中断标志位,再执行中断处理程序
    通过以上几个步骤,就可以达到我们的实验目的,使用TIM4的更新中断,来控制
LED5 的亮灭。
8.5实验现象:
LED1灯闪烁指示程序运行(简单延时)
LD5闪烁周期为2(TIM4的更新中断)
此帖出自stm32/stm8论坛

最新回复

用处大大的有啊  详情 回复 发表于 2015-4-29 11:46

赞赏

1

查看全部赞赏

点赞 关注
个人签名http://openmcu.taobao.com]77[/url]
 

回复
举报

67

帖子

2

TA的资源

一粒金砂(中级)

沙发
 
用处大大的有啊
此帖出自stm32/stm8论坛
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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