STM32定时器周期计算

发布者:紫色小猫最新更新时间:2018-12-10 来源: eefocus关键字:STM32  定时器  周期计算 手机看文章 扫描二维码
随时随地手机看文章

STM32定时器周期计算


公式是:


((1+TIM_Prescaler )/时钟)*(1+TIM_Period )     

F103配置生成1ms的时钟((1+35 )/36M)*(1+999 ) = 1MS 


    TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;

    NVIC_InitTypeDef NVIC_InitStructure;

    TIM_DeInit(TIM5);

    TIM_TimeBaseStructInit(&TIM_TimeBaseStructure);

    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5, ENABLE);

    TIM_TimeBaseStructure.TIM_Period = 999;

    //APB1最大时钟36MHz, 36M/(35+1) = 1M hz

    TIM_TimeBaseStructure.TIM_Prescaler = 35;//最小1us

    TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;

    TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;

    TIM_TimeBaseInit(TIM5, &TIM_TimeBaseStructure);     

    TIM_Cmd(TIM5, ENABLE);



关键字:STM32  定时器  周期计算 引用地址:STM32定时器周期计算

上一篇:STM32定时器定时时长计算公式
下一篇:STM32F107的通用定时器中断实验总结

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

STM32复习笔记(七)定时器&定时器中断
一、STM32定时器: STM32F10x系列总共最多有8个定时器: 二、三种STM32定时器区别: 三、通用定时器功能特点描述: STM32 的通用 TIMx (TIM2、TIM3、TIM4 和 TIM5)定时器功能特点包括: 位于低速的APB1总线上(APB1) 16 位向上、向下、向上/向下(中心对齐)计数模式,自动装载计数器(TIMx_CNT)。 16 位可编程(可以实时修改)预分频器(TIMx_PSC),计数器时钟频率的分频系数 为 1~65535 之间的任意数值。 4 个独立通道(TIMx_CH1~4),这些通道可以用来作为: ① 输入捕获 ② 输出比较 ③ PWM 生成(边缘或中间对
[单片机]
<font color='red'>STM32</font>复习笔记(七)<font color='red'>定时器</font>&<font color='red'>定时器</font>中断
存储器与寄存器
一、前言追溯 备份寄存器 BKP 通用输入输出端口 GPIO 模拟/数字转换 ADC 定时器 TIMx(x=1...8) 实时时钟 RTC 独立看门狗 IWDG 窗口看门狗 WWDG 静态存储器控制器FSMC SDIO接口 SDIO 通用穿行总线 USB 控制器局域网 bxCAN 串行外设总线 SPI 芯片间总线接口 I2C 通用串行总线 OTG(OTG_FS) 以太网 ETH 二、存储器映射 存储器本身不具备地址信息,它的地址是厂商或用户分配的。 厂商或用户给存储器分配地址的过程成为存储器映射。
[单片机]
存储器与寄存器
STM32学习之路(五)——RTC系统时钟
在STM32的CPU有一个RTC引脚,用于连接电池。当系统掉电后,自动由电池给RTC供电,完成时间计数。 对RTC的访问是通过APB1接口进行的。APB1刚被开启的时候,从APB1读来的RTC寄存器的第一个值可能是被破坏了的。因此在程序中,先等待RTC_CRL寄存器中的RSF位被硬件置1,然后才开始读操作。对于写操作,在每一次写操作必须保证前一次写操作完成,即通过查询RTC_CR寄存器中的RTOFF状态位,判断RTC寄存器是否处于更新状态中。只有当RTOFF状态位是1,才可以写RTC寄存器。 RTC模块的寄存器实际上只有5个:控制寄存器RTC_CR,预分频装在寄存器RTC_PRL,预分频余数寄存器RTC
[单片机]
基于STM32的虚拟多线程(TI_BLE协议栈_ZStack协议栈)
基于STM32的虚拟多线程,可以很好的用于裸机程序中,用于模拟小型操作系统的多线程概念。本实例参考了参考TI_BLE协议栈_ZStack协议栈。 #include Hal_Led/Hal_Led.h #include Hal_delay/delay.h #include Hal_Key/Hal_Key.h #include ringbuffer.h #define APP_LED2_BLINK_EVENT 0x0001 #define HAL_LED1_BLINK_EVENT 0x0001 #define TASK_NO_TASK_RUNNING 0xFF unsigned short Hal_ProcessE
[单片机]
基于<font color='red'>STM32</font>的虚拟多线程(TI_BLE协议栈_ZStack协议栈)
stm32入门笔记(二)printf不定向直接使用问题
我们很多时候可能直接调用 printf,然后系统会出现各种各样的问题。 那么究竟是为什么呢? 因为我们需要将这个东西实现在,我们必须定义printf输出的端口 int fputc(int ch, FILE *f) { while(!(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == SET)) { USART_SendData(USART1, (u8) ch); } return ch; } 这才是c里面的标准输出函数。 当然,我一直都在为keil没有代码补全而烦恼,然后经过同事的指点,我发现是有这个功能的。 configuration
[单片机]
<font color='red'>stm32</font>入门笔记(二)printf不定向直接使用问题
STM32外部中断及定时器编程示例
简介:STM32外部中断及定时器编程示例 /*======================================================================================== *名 称: main.c *功 能: *入口 参数: *说 明: *范 例: *编者 时 间: *========================================================================================*/ #include stm32f10x.h #include 12864.h Er
[单片机]
51单片机中断定时器浅谈
中断处理函数原型 void timer1() interrupt 0 using 0 timer1() 函数名 interrupt 表示是中断处理函数 0 表示是第几个中断源的处理函数 using 0 表示是使用第几组工作寄存器一般在C语言里面编译器屏蔽了会自动分配程序员一般不用关心。 注意:如果在中断处理函数中进行处理数据不能处理的数据量太大,因为定时器时间已到它就会又进入下一个中断处理函数,也就是这个中断处理函数还没有处理完下一个中断又来了。这样会造成结果错误或异常。 定时器: 定时器又2个寄存器控制,一个是TMOD 用于选择定时器、计数器 T0,T1的工作模式和工作方式
[单片机]
STM32程序超时设计
软件超时机制 1、背景 在嵌入式软件程序设计过程中中,经常会遇到超时(或定时)的处理情况,基本处理思想是在时间到的时候进行相关程序处理,下面介绍两种超时(或定时)的程序设计方案。 2、方案一 基本思想:定时器中断使用一个变量TICK,中断间隔时间t,在准备定时开始时读取此时刻的TICK,在程序运行过程中实时读取当前的TICK信息并计算即可。 因此在时间计算时只需计算开始STARTTICK和结束ENDTICK即可完成时间计算。时间计算T=(ENDTICK-STARTTICK)*t;使用一个定时器中断每t时间处理一次中断,中断里面时间计数值s_u32TCNT++,如下图所示: 程序中定义一个结构体来保存超时开始和超时结
[单片机]
<font color='red'>STM32</font>程序超时设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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