STM32中的定时器有多种,按功能分成2个高级控制器定时器,4个普通定时器,2个基本定时器,2个看门狗定时器,1个系统滴答定时器SysTICk。
定时器的关键是定时时间的计算。比如用定时器控制继电器的开关的时候,需要延时一段时间才关闭或者开启,这时候离不开定时器定时。
通用定时器定时时间计算。1秒中断的基本实现:
通用定时器模块的入口时钟经过分频得到计数器的时钟,用CK_CNT表示,预分频器的系数为:TIMx_PSC,当TIMx_PSC=0时,表示不分频,=1时,2分频。以此类推。
公式为:CK_CNT=fclk_PSC/(PSC[15:0]+1),其中PSC最大为65535.
其次是TIM5计数器的计数值的设置,TIM5计数器以CK_CNT为时钟来计数。计数到设定值产生中断。
(1/分频后计数时钟)*计数值=设定时间。以1秒为例
(1/(72MHz/7200))*10000=1s
初始化通用定时器的一个重要的结构体TIM_TimeBaseInitTypeDef
typedef struct
{
u16 TIM_Period; //自动装载的计数值,
u16 TIM_Prescaler; //分频值,当为0时表示不分频所以要减1.
u8 TIM_CLOCkDivision;//设置时钟分割,
u16 TIM_CounterMode; //向上,向下等计数模式
} TIM_TimeBaseInitTypeDef;
初始化结构体后调用函数
void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef * TIM_TimeBaseInitStruct) 初始化TIMx定时器时间基数单位。
其次还要清除中断待处理位,函数void TIM_ClearITPendingBit(TIM_TypeDef* TIMx, u16 TIM_IT) 做了这项工作。其中TIM_IT:待检查的 TIM 中断待处理位 。
关键字:STM32 单片机 通用定时器 定时时间
引用地址:
STM32单片机的通用定时器定时时间的计算
推荐阅读最新更新时间:2024-03-16 15:57
Ubuntu下安装Stm32的Eclipse的开发环境(2)
序 linux的GUI和windos比起来实在逊色,虽然它的终端模式(命令行模式)非常强大。linux发行版ubuntu的GUI相对其他版本要华丽一些,所以最近由redhat转向ubuntu进行linux的学习。曾经一度使用gcc命令行模式来编译、调试C程序,但是我还是渴望一个C/C++集成开发环境可以给我更好的视觉感受和方便的操作,以避免命令行的繁琐操作,所以就尝试着在自己的ubuntu上装一个eclipse的集成开发环境。 eclipse简介 eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标
[单片机]
基于单片机的智能大功率直流电源设计
引言 在大功率直流电源中,主电路一般采用晶闸管三相全控桥式整流电路,其关键在于如何准确、可靠、稳定地控制晶闸管的导通角。 目前,大功率直流电源现场应用中最为普遍的控制方式大都采用KC或KJ系列小规模集成电路,即采用三相锯齿波信号和直流控制信号相比较获得的移相信号。然而,三相锯齿波信号的斜率、占空比、幅度等与每相的器件参数密切相关,并且比较信号中小的干扰可能造成较大的相移误差,因而电路的可靠性和自动平衡能力较差。 利用单片机作为控制电路,根据三相全控桥触发脉冲之间的逻辑关系,直接产生六相高度均衡的触发脉冲,可以克服KC、KJ系列电路均衡性差的缺点。但是,由于现场系统工作在强电干扰比较严重的场合,为了减小干扰可能
[单片机]
TI推出新MCU打造更小型更智能便携式医疗设备
日前,德州仪器 (TI) 宣布推出全新 MSP430FG47x 超低功耗微处理器 (MCU) 产品系列,以充分满足工程师对可提供低功耗、高性能以及有针对性外设集成等特性的 MCU的需求,帮助他们迅速高效地开发具有可靠性、便捷性以及低成本等优势的医疗设备。FG47x MCU 实现了完整信号链的片上集成,不但可降低设计复杂性,而且还可显著节省空间与成本。这些器件将帮助开发人员改进医疗服务质量与产品易用性,满足血糖计、数字体温表、脉搏血氧计以及血压/心率监测器等多种产品的需求。 MSP430FG47x 的主要特性与优势 • 片上集成了完整的信号链,包括两个可配置的运算放大器、12 位数模转换器 (DAC)、比较器以及
[单片机]
基于32位单片机MC68HC376的高可靠性系统设计
引言 随着工业技术的不断发展,对单片机控制的要求也越来越高,需要单片机具备更高的反应速度和更强的数据处理能力,各种高性能的新型单片机得到了迅猛的发展和应用。单片机上主要是高速的数字信号,弱信号很容易受到外界的电磁干扰,同时,单片机系统也会发生掉电、死循环等问题。在工业控制场合,一旦控制发生错误,将会造成难以估计的损失。因此,如何提高控制的可靠性是长期以来的一个重要问题。本文介绍了应用32位高性能单片机MC68HC376的一种实际开发方案,同时重点讨论了提高系统可靠性的设计和实现方法。 MC68HC376是Motorola公司推出的一种新型的32位高性能单片机,具有极强的数据处理、逻辑运算和信息存储能力,且支持BDM(Backgr
[应用]
STM32笔记(七)---Systick系统定时器
一、 概念 1-1 Systick简介 SysTick—系统定时器是属于 CM3 内核中的一个外设,内嵌在 NVIC 中。系统定时器是一个 24bit 的向下递减的计数器,计数器每计数一次的时间为 1/SYSCLK,一般我们设置系统时钟 SYSCLK 等于 72M。当重装载数值寄存器的值递减到 0 的时候,系统定时器就产生一次中断,以此循环往复。 因为 SysTick 是属于 CM3 内核的外设,所以所有基于 CM3 内核的单片机都具有这个系统定时器,使得软件在 CM3 单片机中可以很容易的移植。系统定时器一般用于操作系统,用于产生时基,维持操作系统的心跳。 1-2 Systick功能框图 counter(STK_VA
[单片机]
51单片机+DAC0832+LM358放大的单电源函数信号发生器
这是之前大二51单片机中的实践项目,分享一下资料 1.本设计基于STC89C51/52(与AT89S51/52、AT89C51/52通用,可任选)单片机 2.LCD1602液晶显示波形种类和频率值(10-100HZ)。 3.按键设置波形种类和设定频率步进值 4.电位器器改变振幅(2.5V-3.5V稳定)。 5.本设计可产生正弦波、锯齿波、三角波、矩形波。 6.有四个指示灯分别指示发出的是哪种波形,方便明了。 按键说明: 1 2 3 4 1键:设置步进值按键 2键:加按键 3键:减按键 4键:波形切换按键 开机液晶显示正弦波,频率是10Hz,如果要改变波形,按下4键可以选择波形,波形符号会显示在液晶上,同时4个LED也会指示不同的波
[单片机]
STM32 IIC通信往24C02写数据、读数据
1、24C02模块的原理图:从图中可以看出,A0、A1、A2三个引脚全部接地,说明表示器件地址7位数据后三位全部是0 注:当上一个数据写完之后,若发送停止信号,则至少停下10ms时间后,才能再发送起始信号,这个时间就叫做写周期。 3、器件寻址: 4、字节写: 5、写页: (1)、用页写,CAT24WC01可一次写入8个字节的数据,CAT24C02/04/08/16可以一次写入16个字节的数据。 (2)、页写操作的启动和字节写一样,不同在于传送了一字节数据后并不产生停止信号,主器件还可以被允许额外再发送7或者15个字节。 (3)、每发送一个字节数据后CAT24WCxx产生一个
[单片机]
PIC16LF874单片机在电容测量模块中的应用
电容式传感器已广泛应用于工业、医学、军事等领城。但目前大部分电容测量方法集成化水平低、精度低,因而对电容特别是对微小电容的精确测量始终是一个很重要的内容。振荡法电路结构简单、抗干扰能力差,板间内电容影响测量结果;电桥法利用电桥平衡原理测量电容,测量结果受桥臂电容性能影响较大。本文用到美国Micmchip公司PICl6LF874单片机,该单片机采用RISC精简指令集、哈佛总线结构、流水线指令方式,具有抗干扰能力强、功耗低、高性能、价格低等特性。 1 PIC16LF874单片机 PIC16系列单片机采用精简指令集(Reduced Instruction Set Computer,RISC)结构,突破了传统单片机对PC机
[单片机]