自学STM32第七天——基本定时器

自学STM32第七天——基本定时器定时器的内容比较多 然后最近一周工作太忙 中断了学习 还好这个周末有时间了 总结一下今天所学的吧 定时器简单的说其实就是用来延时的 之前用到的 delay 函数也是用来延时的 为什么还要学习定时器呢 因为 delay 延时函数是纯软件的延时 延时不

欢迎大家来到IT世界,在知识的湖畔探索吧!

定时器的内容比较多,然后最近一周工作太忙,中断了学习,还好这个周末有时间了,总结一下今天所学的吧。

定时器简单的说其实就是用来延时的,之前用到的delay函数也是用来延时的,为什么还要学习定时器呢?因为delay延时函数是纯软件的延时,延时不精准,而且是让CPU死等,效率不高。要知道毫秒级别的延时,CPU能干多少事情啊,太浪费了。

定时器的原理

使用精准的时基,通过硬件的方式,实现定时功能;定时器核心就是计数器。

自学STM32第七天——基本定时器



欢迎大家来到IT世界,在知识的湖畔探索吧!

STM32定时器分类

自学STM32第七天——基本定时器

基本定时器

基本定时器:没有输入输出通道,常用作时基(定时功能)。STM32-F1基本定时器——TIM6/TIM7。

主要特性:16位递增计数器(计数值:0~65535),16位预分频器(分频系数:1~65536),可用于触发DAC,在更新事件(计数器溢出)时,会产生中断/DMA请求。

STM32定时器的技术模式及溢出条件

自学STM32第七天——基本定时器

定时器溢出时间计算方法

自学STM32第七天——基本定时器

Tout 是定时器溢出时间

Ft 是定时器的时钟源频率

ARR 是自动重装载寄存器的值

PSC 是预分频器寄存器的值

基础定时器中断实验的配置步骤

自学STM32第七天——基本定时器

相关HAL库函数

自学STM32第七天——基本定时器

关键结构体

typedef struct { TIM_TypeDef *Instance; /* 外设寄存器基地址 */ TIM_Base_InitTypeDef Init; /* 定时器初始化结构体*/ ... }TIM_HandleTypeDef; typedef struct { uint32_t Prescaler; /* 预分频系数 */ uint32_t CounterMode; /* 计数模式 */ uint32_t Period; /* 自动重载值 ARR */ uint32_t ClockDivision; /* 时钟分频因子 */ uint32_t RepetitionCounter; /* 重复计数器寄存器的值 */ uint32_t AutoReloadPreload; /* 自动重载预装载使能 */ } TIM_Base_InitTypeDef; 

欢迎大家来到IT世界,在知识的湖畔探索吧!


以上是对第七天学习的了内容做了大概的总结,由于我个人选择的是STM32F1系列的开发进行学习,所总结的大部分内容仅限于F1系列使用。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/122242.html

(0)
上一篇 1小时前
下一篇 1小时前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信