当前位置: 首页 > news >正文

wordpress网站菜单固定2345浏览器网址导航

wordpress网站菜单固定,2345浏览器网址导航,加强政府网站集群建设,网站开发主流技术目录 STM32定时器概述 STM32基本定时器 基本定时器的功能 STM32基本定时器的寄存器 STM32通用定时器 STM32定时器HAL库函数 STM32定时器概述 从本质上讲定时器就是“数字电路”课程中学过的计数器(Counter),它像“闹钟”一样忠实地为处…

目录

STM32定时器概述

STM32基本定时器

基本定时器的功能

STM32基本定时器的寄存器

STM32通用定时器

STM32定时器HAL库函数


STM32定时器概述

从本质上讲定时器就是“数字电路”课程中学过的计数器(Counter),它像“闹钟”一样忠实地为处理器完成定时或计数任务,几乎是所有现代微处理器必备的一种片上外设。 定时与计数的应用十分广泛。在实际生产过程中,许多场合都需要定时或者计数操作。例如产生精确的时间,对流水线上的产品进行计数等。因此,定时/计数器在嵌入式微控制器中十分重要。定时和计数可以通过以下方式实现:

1.    软件延时 单片机是在一定时钟下运行的,可以根据代码所需的时钟周期完成延时操作,软件延时会导致CPU利用率低。因此主要用于短时间延时,如高速A/D转换器。 延时的纯软件方式实现起来非常简单,但具有以下缺点: (1)对于不同的微控制器,每条指令的执行时间不同,很难做到精确延时。例如,在上面讲到的LED闪烁应用案例中,如果要使LED点亮和熄灭的时间精确到各为500ms,对应软件实现的循环语句中决定延时时间的变量nCount的具体取值很难由计算准确 得出。 (2)延时过程中CPU始终被占用,CPU利用率不高。 虽然纯软件定时/计数方式有以上缺点,但由于其简单方便、易于实现等优点,在当今的嵌入式应用中,尤其在短延时和不精确延时中,被频繁地使用。例如,高速ADC的转换时间可能只需要几个时钟周期,这种情况下,使用软件延时反而效率更高。

2.    可编程定时/计数器 微控制器中的可编程定时/计数器可以实现定时和计数操作,定时/计数器功能由程序灵活设置,重复利用。设置好后由硬件与CPU并行工作,不占用CPU时间,这样在软件的控制下,可以实现多个精密定时/计数。嵌入式处理器为了适应多种应用,通常集成多个高性能的定时/计数器。 微控制器中的定时器本质上是一个计数器,可以对内部脉冲或外部输入进行计数,不仅具有基本的延时/计数功能,还具有输入捕获、输出比较和PWM波形输出等高级功能。在嵌入式开发中,充分利用定时器的强大功能,可以显著提高外设驱动的编程效率和CPU利用率,增强系统的实时性

STM32内部集成了多个定时/计数器。根据型号不同,STM32 系列芯片最多包含8个定时/计数器。其中,TIM6和TIM7为基本定时器,TIM2~TIM5为通用定时器,TIM1和TIM8为高级控制定时器,功能最强。三种定时器具备的功能如表所示。此外,在STM32中还有两个看门狗定时器和一个系统滴答定时器。

可编程定时/计数器(简称定时器)是当代微控制器标配的片上外设和功能模块。它不仅可以实现延时,而且还完成其他功能: (1)如果时钟源来自内部系统时钟,那么可编程定时/计数器可以实现精确的定时。此时的定时器工作于普通模式、比较输出或PWM输出模式,通常用于延时、输出指定波形、驱动电机等应用中。 (2)如果时钟源来自外部输入信号,那么可编程定时/计数器可以完成对外部信号的计数。此时的定时器工作于输入捕获模式,通常用于测量输入信号的频率和占空比、测量外部事件的发生次数和时间间隔等应用中。

在嵌入式系统应用中,使用定时器可以完成以下功能:

(1)在多任务的分时系统中用作中断实现任务的切换。

(2)周期性执行某个任务,如每隔固定时间完成一次A/D采集。

(3)延时一定时间执行某个任务,如交通灯信号变化。

(4)显示实时时间,如万年历。

(5)产生不同频率的波形,如MP3播放器。

(6)产生不同脉宽的波形,如驱动伺服电机。

(7)测量脉冲的个数,如测量转速。

(8)测量脉冲的宽度,如测量频率。 从图看出,定时器的时钟不是直接来自APB1或APB2,而是来自于输入为APB1或APB2的一个倍频器。

STM32基本定时器

STM32F103 基本定时器TIM6和TIM7各包含一个16位自动装载计数器,由各自的可编程预分频器驱动。它们可以作为通用定时器提供时间基准,特别是可以为数模转换器(DAC)提供时钟。实际上,它们在芯片内部在直接连接到DAC并通过触发输出直接驱动DAC,这2个定时器是互相独立的,不共享任何资源。

TIM6和TIM7定时器的主要功能包括: (1)16位自动重装载累加计数器。 (2)16位可编程(可实时修改)预分额器,用于对输入的时钟按系数为1~65536之间的任意数值分频。 (3)触发DAC的同步电路。 (4)在更新事件(计数器溢出)时产生中断/DMA请求。 基本定时器内部结构如图所示。

基本定时器的功能

1. 时基单元 可编程通用定时器的主要部分是一个16位计数器和与其相关的自动装载寄存器。这个计数器可以向上计数、向下计数或者向上向下双向计数。 计数器、自动装载寄存器和预分频器寄存器可以由软件读写,在计数器运行时仍可以读写。时基单元包含:计数器寄存器(TIMx_CNT)、预分频器寄存器(TIMx_PSC)和自动装载寄存器(TIMx_ARR)。 时基单元包含:

(1)计数器寄存器(TIMx_CNT)。

(2)预分频寄存器(TIMx_PSC)。

(3)自动重装载寄存器(TIMx_ARR)。

2. 时钟源 从STM32F103基本定时器内部结构图可以看出,基本定时器TIM6和TIM7只有一个时钟源,即内部时钟CK_INT。 对于STM32F103所有的定时器,内部时钟CK_INT都来自RCC的TIMxCLK,但对于不同的定时器,TIMxCLK的来源不同。基本定时器TIM6和TIM7的TIMxCLK来源于APB1预分频器的输出,系统默认情况下,APB1的时钟频率为72MHz。 3. 预分频器 预分频可以以系数介于1~65536之间的任意数值对计数器时钟分频。它是通过一个16位寄存器(TIMx_PSC)的计数实现分频。因为TIMx_PSC控制寄存器具有缓冲作用,可以在运行过程中改变它的数值,新的预分频数值将在下一个更新事件时起作用。

4. 计数模式 STM32F103基本定时器只有向上计数工作模式,其工作过程如图所示,其中↑表示产生溢出事件。

基本定时器工作时,脉冲计数器TIMx_CNT从0累加计数到自动重装载数值(TIMx_ARR寄存器),然后重新从0开始计数并产生一个计数器溢出事件。由此可见,如果使用基本定时器进行延时,延时时间可以由以下公式计算: 延时时间=(TIMx_ARR+1) (TIMx_PSC+1)/TIMxCLK 当发生一次更新事件时,所有寄存器会被更新并设置更新标志:传送预装载值(TIMx_PSC寄存器的内容)至预分频器的缓冲区,自动重装载影子寄存器被更新为预装载值(TIMx_ARR)。以下是一些在TIMx_ARR=0x36时不同时钟频率下计数器工作的图示例子

STM32基本定时器的寄存器

现将STM32F103基本定时器相关寄存器名称介绍如下,可以用半字(16位)或字(32位)的方式操作这些外设寄存器,由于是采用库函数方式编程,故不作进一步的探讨。

(1)TIM6和TIM7控制寄存器1(TIMx_CR1)。

(2)TIM6和TIM7控制寄存器2(TIMx_CR2)。

(3)TIM6和TIM7 DMA/中断使能寄存器(TIMx_DIER)。

(4)TIM6和TIM7状态寄存器(TIMx_SR)。

(5)TIM6和TIM7事件产生寄存器(TIMx_EGR)。

(6)TIM6和TIM7计数器(TIMx_CNT).

(7)TIM6和TIM7 预分频器(TIMx_PSC)。

(8)TIM6和TIM7 自动重装载寄存器(TIMx_ARR)

STM32通用定时器

STM32内置4个可同步运行的通用定时器(TIM2、TIM3、TIM4、TIM5),每个定时都有1个16位自动加载的进加/递减计数器、1个16位的预分频器和4个独立的通道,通道都可用于输入捕获、输出比较、PWM和单脉冲模式输出。 每个定时器都有独立的DMA请求机制。通过定时器链接功能与高级控制定时器共同工作,提供同步或事件链接功能。 通用TIMx(TIM2、TIM3、TIM4和TIM5)定时器功能包括:

(1)16位向上、向下、向上/向下自动装载计数器。

(2)16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65536之间的任意数值。

(3)4个独立通道: ①输入捕获。 ②输出比较。 ③PWM生成(边缘或中间对齐模式)。 ④单脉冲模式输出。

(4)使用外部信号控制定时器和定时器互连的同步电路。

(5)如下事件发生时产生中断/DMA:

① 更新,计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发)。 ② 触发事件(计数器启动、停止、初始化或者由内部/外部触发计数)。 ③ 输入捕获。 ④ 输出比较。 (6)支持针对定位的增量(正交)编码器和霍尔传感器电路。

(7)触发输入作为外部时钟或者按周期的电流管理。

STM32定时器HAL库函数

http://www.dinnco.com/news/11793.html

相关文章:

  • 辽宁建设工程信息网业绩录入规定重庆快速排名优化
  • 自己建一个网站能过期吗东莞seo网站制作报价
  • 深圳住房网站appsemantic ui
  • 福州网站建设信息不花钱网站推广
  • 官方网站怎么做网络推广专员
  • 简述网页制作的步骤seo营销培训咨询
  • 旅游小镇网站建设方案域名收录查询
  • 网站建设公司能信吗网站托管
  • 官网域名改版方案文军seo
  • 太原企业网站制作百度推广开户渠道
  • 素材网哪个好网页优化包括
  • 泉州网站建站公司公众号推广方案
  • 怎么用net123做网站南宁网
  • 三亚城乡建设局网站百度关键词竞价和收费的方法
  • WordPress离线博客深圳seo优化服务
  • 做分析图的地图网站网站开发
  • 政府网站做的不好去哪里投诉中国搜索引擎份额排行
  • 行业网站建设费用明细seo运营是什么意思
  • 外汇网站怎么做优外汇网站国际新闻最新消息10条
  • 网站盈利模式设计如何建网站详细步骤
  • 自己办网站网址查询站长工具
  • 成都个人网站建设百度网盘资源搜索
  • wordpress开启https的教程万词霸屏百度推广seo
  • 网站制作哪家好又便宜重庆疫情最新情况
  • 网站如何设定关键词网站推广方案模板
  • 国外订房网站怎么和做腾讯云建站
  • 做网站代理商深圳关键词快速排名
  • 做网站有限公司成都关键词seo推广平台
  • 外贸购物网站建设杭州网站seo外包
  • 有专门做英文字幕的网站吗全球搜索引擎