STM32 定时器 定时时间的计算
假设 系统时钟是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 定时器 定时时间的计算相关推荐
- STM32 定时器定时计算
STM32 定时器定时计算 STM32 定时器频率 例子 公式 reference STM32 定时器频率 定时时间 = 定时器频率 / 倍频 /装载周期 htim1.Init.Prescaler = ...
- 89c52单片机c语言延时程序计算 脉冲,89C52单片机定时器延时时间的计算与程序解析 - STC89C52单片机定时器/计数器详解(含程序和定时器2)...
STC单片机STC89C52RC定时器延时时间的计算 延时时间要根据晶振频率计算,不同板子可能有所不同. 时钟周期: 1/时钟源,在我现在这块板子上,晶振频率是11.0592M,也就是时钟周期是 1/ ...
- 关于stm32定时器定时周期计算
1.TIMx(1-8),在库设置默认的情况下,都是72M的时钟: 名为TIMx的有八个,其中TIM1和TIM8挂在APB2总线上,而TIM2-TIM7则挂在 APB1总线上.其中TIM1&TI ...
- stm32定时器定时中断
主频72MHz:最大计时59.65s 基本定时器: 基准时钟 预分频器 计数器 计数器与自动重装载寄存器进行比较 相等时计时时间到 进行中断相应 主模式触发DAC 硬件自动化 通用定时器: 计数模式不 ...
- 51单片机定时时间的计算
单片机根据计时/计数模式的不同,来进行计算 M1 M0 工作模式 说明 0 0 0 13位计时计数器 (8192) 0 1 1 16位计时计数器 (65536) 1 0 2 8位计时计数器,可自动重新 ...
- STM32 高级定时TIM 死区时间计算--C语言实现
#include <stdio.h> #include <math.h> #include <stdlib.h> #include <string.h> ...
- STM32 定时器【TIM】 定时如何计算?
Stm32定时器定时计算通过计数溢出计算,也就是说计数溢出就触发中断 计算公式: TimeOut = ((Prescaler + 1) * (Period + 1) ) / TimeClockFren ...
- 高级定时器/TIM1/TIM8 定时时间不准的问题/TIM_TimeBaseStructure.TIM_RepetitionCounter
配置定时器遇到的问题 举例1: /*TIM1时钟配置*/ TIM_TimeBaseStructure.TIM_Prescaler = 2; //预分频(时钟分频)72M/(2+1)=24M TIM_T ...
- 启动定时器t0的工作指令是_80c51单片机定时器t0工作于方式1定时时间1ms当晶振为6mhz时求计数初值为多少...
下面一段文字是对8051单片机定时器初值的计算描述,希望对你有所帮助,对于你的提问,根据下面文字的说明,可以得到初值为:FE0CH(65536-500) 定时器/计数器可用软件随时随地起动和关闭,起动 ...
最新文章
- 自主数据类型:在TVM中启用自定义数据类型探索
- codevs1258 关路灯(☆区间dp)
- 执行Shell脚本的4种方法
- BRCM5.02编译十:cmake: command not found
- 一个关于WCF调用远程链接返回405错误不允许使用此方法的问题
- 多个数据文件 mysql_mysql多实例(多个配置文件方式)
- 会真香吗?周某表示不会签约直播打工,想在老家种地
- 为什么别人年底购物,同学们年底考证?
- 让系统自动登录的方法
- android封装全局调用的toast_【Android】Android中WebView实现Java与JS交互
- OpenCV之图像混合
- Android:日常学习笔记(8)———开发微信聊天界面
- 论学习的重要性之 -- 影院售票系统
- 将sql server 2000的备份文件导入到sql server 2012中
- windows xp sp3下载
- windows注册表启动项
- 【基于深度学习的脑电图识别】应用篇:DEEP LEARNING APPROACHES FOR AUTOMATIC ANALYSIS OF EEGS
- 使用多张图片做帧动画的性能优化
- 二进制安装Kubernetes 高可用集群
- iOS 开发者账号下100台关联设备UDID如何删除替换
热门文章
- volatile关键字解析~高级java必问
- Thunk 函数的含义和用法
- spring boot 异常处理
- 【Python】青少年蓝桥杯_每日一题_4.21_s=a+aa+aaa+aaaa的值
- Java 洛谷 P1425 小鱼的游泳时间
- mysql 优惠卷表设计_这些年MySQL表设计踩过的坑!
- kvm虚拟机_通过QEMU-GuestAgent实现从外部注入写文件到KVM虚拟机内部
- 一个html表单赋给另一个表单,是否可以将表单输入到另一个html表单
- 图说数据中心新风节能技术
- 使用DCIM软件确保数据中心符合DCOI