假设 系统时钟是72Mhz,TIM1 是由PCLK2 (72MHz)得到,TIM2-7是由 PCLK1 得到

关键是设定 时钟预分频数,自动重装载寄存器周期的值

/*每1秒发生一次更新事件(进入中断服务程序)。RCC_Configuration()的SystemInit()的

RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2表明TIM3CLK为72MHz。因此,每次进入中

断服务程序间隔时间为

时间=1/频率×次数

((1+TIM_Prescaler )/72M)*(1+TIM_Period )=((1+7199)/72M)*(1+9999)=1秒 */

定时器的基本设置

1、   TIM_TimeBaseStructure.TIM_Prescaler = 7199;//时钟预分频数   例如 :时

钟频率=72/(时钟预分频+1) 

2、TIM_TimeBaseStructure.TIM_Period = 9999; // 自动重装载寄存器周期的值(定时

时间)     累计 0xFFFF个频率后产生个更新或者中断(也是说定时时间到)

3、  TIM_TimeBaseStructure.TIM_CounterMode =  TIM1_CounterMode_Up; //定时器

模式  向上计数

4、 TIM_TimeBaseStructure.TIM_ClockDivision = 0x0; //时间分割值

5、 TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);//初始化定时器2

6、 TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);  //打开中断   溢出中断

7、 TIM_Cmd(TIM2, ENABLE);//打开定时器

或者:

TIM_TimeBaseStructure.TIM_Prescaler = 35999;//分频35999      72M/

(35999+1)/2=1Hz  1秒中断溢出一次

TIM_TimeBaseStructure.TIM_Period = 2000; //计数值2000

((1+TIM_Prescaler )/72M)*(1+TIM_Period )=((1+35999)/72M)*(1+2000)=1秒 */

STM32 定时器 定时时间的计算相关推荐

  1. STM32 定时器定时计算

    STM32 定时器定时计算 STM32 定时器频率 例子 公式 reference STM32 定时器频率 定时时间 = 定时器频率 / 倍频 /装载周期 htim1.Init.Prescaler = ...

  2. 89c52单片机c语言延时程序计算 脉冲,89C52单片机定时器延时时间的计算与程序解析 - STC89C52单片机定时器/计数器详解(含程序和定时器2)...

    STC单片机STC89C52RC定时器延时时间的计算 延时时间要根据晶振频率计算,不同板子可能有所不同. 时钟周期: 1/时钟源,在我现在这块板子上,晶振频率是11.0592M,也就是时钟周期是 1/ ...

  3. 关于stm32定时器定时周期计算

    1.TIMx(1-8),在库设置默认的情况下,都是72M的时钟: 名为TIMx的有八个,其中TIM1和TIM8挂在APB2总线上,而TIM2-TIM7则挂在 APB1总线上.其中TIM1&TI ...

  4. stm32定时器定时中断

    主频72MHz:最大计时59.65s 基本定时器: 基准时钟 预分频器 计数器 计数器与自动重装载寄存器进行比较 相等时计时时间到 进行中断相应 主模式触发DAC 硬件自动化 通用定时器: 计数模式不 ...

  5. 51单片机定时时间的计算

    单片机根据计时/计数模式的不同,来进行计算 M1 M0 工作模式 说明 0 0 0 13位计时计数器 (8192) 0 1 1 16位计时计数器 (65536) 1 0 2 8位计时计数器,可自动重新 ...

  6. STM32 高级定时TIM 死区时间计算--C语言实现

    #include <stdio.h> #include <math.h> #include <stdlib.h> #include <string.h> ...

  7. STM32 定时器【TIM】 定时如何计算?

    Stm32定时器定时计算通过计数溢出计算,也就是说计数溢出就触发中断 计算公式: TimeOut = ((Prescaler + 1) * (Period + 1) ) / TimeClockFren ...

  8. 高级定时器/TIM1/TIM8 定时时间不准的问题/TIM_TimeBaseStructure.TIM_RepetitionCounter

    配置定时器遇到的问题 举例1: /*TIM1时钟配置*/ TIM_TimeBaseStructure.TIM_Prescaler = 2; //预分频(时钟分频)72M/(2+1)=24M TIM_T ...

  9. 启动定时器t0的工作指令是_80c51单片机定时器t0工作于方式1定时时间1ms当晶振为6mhz时求计数初值为多少...

    下面一段文字是对8051单片机定时器初值的计算描述,希望对你有所帮助,对于你的提问,根据下面文字的说明,可以得到初值为:FE0CH(65536-500) 定时器/计数器可用软件随时随地起动和关闭,起动 ...

最新文章

  1. 自主数据类型:在TVM中启用自定义数据类型探索
  2. codevs1258 关路灯(☆区间dp)
  3. 执行Shell脚本的4种方法
  4. BRCM5.02编译十:cmake: command not found
  5. 一个关于WCF调用远程链接返回405错误不允许使用此方法的问题
  6. 多个数据文件 mysql_mysql多实例(多个配置文件方式)
  7. 会真香吗?周某表示不会签约直播打工,想在老家种地
  8. 为什么别人年底购物,同学们年底考证?
  9. 让系统自动登录的方法
  10. android封装全局调用的toast_【Android】Android中WebView实现Java与JS交互
  11. OpenCV之图像混合
  12. Android:日常学习笔记(8)———开发微信聊天界面
  13. 论学习的重要性之 -- 影院售票系统
  14. 将sql server 2000的备份文件导入到sql server 2012中
  15. windows xp sp3下载
  16. windows注册表启动项
  17. 【基于深度学习的脑电图识别】应用篇:DEEP LEARNING APPROACHES FOR AUTOMATIC ANALYSIS OF EEGS
  18. 使用多张图片做帧动画的性能优化
  19. 二进制安装Kubernetes 高可用集群
  20. iOS 开发者账号下100台关联设备UDID如何删除替换

热门文章

  1. volatile关键字解析~高级java必问
  2. Thunk 函数的含义和用法
  3. spring boot 异常处理
  4. 【Python】青少年蓝桥杯_每日一题_4.21_s=a+aa+aaa+aaaa的值
  5. Java 洛谷 P1425 小鱼的游泳时间
  6. mysql 优惠卷表设计_这些年MySQL表设计踩过的坑!
  7. kvm虚拟机_通过QEMU-GuestAgent实现从外部注入写文件到KVM虚拟机内部
  8. 一个html表单赋给另一个表单,是否可以将表单输入到另一个html表单
  9. 图说数据中心新风节能技术
  10. 使用DCIM软件确保数据中心符合DCOI