STM32 定时器复习

12MHz晶振的机器周期是1us,因为单片机的一个机器周期由6个状态周期组成,1个机器周期=6个状态周期=12个时钟周期,因此机器周期为1us。

51单片机常用

c 复制代码
for(){
	__nop(); //执行一个机器周期,若想循环n us,则循环n次。
}

软件定时原理

使用纯软件(CPU死等)的方式实现定时功能。

函数调用压栈出栈也需要时间。

STM32是ARM架构,具有流水线,一个指令的执行会分成多个步骤,延时也不精准。

缺点:

  1. 延时不精准
  2. CPU死等

定时器定时原理

使用精准的时基,通过硬件的方式,实现定时。

定时器核心就是计数器。

STM32定时器分类

  1. 常规定时器:基本定时器、通用定时器、高级定时器
  2. 专用定时器:独立看门狗、窗口看门狗、实时时钟、低功耗定时器
  3. 内核定时器:SysTick定时器

区别:

  1. 基本定时器:没有输入输出通道,常用作时基,即定时功能。
  2. 通用定时器:具有多路独立通道,可用于输入捕获、输出比较,甚至可用作时基。
  3. 高级定时器:除了具备通用定时器所有功能外,还具备带死区控制的信号输出。

基本定时器

基本定时器:TIM6/TIM7

16位递增计数器(计数值:0~65535)

16位预分频器(分频系数:1~65536)

可用于触发DAC

在计数器溢出时,可产生中断/DMA请求

  1. 时钟源
  2. 控制器
  3. 计数器

溢出条件 CNT=ARR(影子)

影子寄存器是实际起作用的寄存器,不可直接访问。


因此,定时器2-7最大频率72MHz。

计数器模式及溢出条件:

  1. 递增计数器:CNT==ARR(影子)
  2. 递减计数器:CNT==0
  3. 中心对齐模式:CNTARR-1、CNT1


具有缓冲能减少操作寄存器时间的误差。

相关推荐
桀人8 分钟前
认识AT24C02
stm32·单片机·嵌入式硬件
国科安芯1 小时前
星间激光通信终端CANFD控制网络的时延确定性与辐射可靠性
网络·嵌入式硬件·信息与通信·canfd·低轨卫星·商业航天·抗辐射
一直C2 小时前
嵌入式 Linux 驱动开发学习笔记:内核定时器、platform 总线与 I²C 驱动
linux·驱动开发·嵌入式硬件·学习·imx6ull
传感器与混合集成电路2 小时前
150MHz主频、8路DAC与6路PWM:JLH221360伺服控制SIP解析
嵌入式硬件
comyccccc2 小时前
STM32PID控制板设计全解析学习笔记
单片机·嵌入式硬件
碧海银沙音频科技研究院3 小时前
实现炬芯ATS308X的usb cdc 串口IAP 固件升级功能实现
人工智能·嵌入式硬件·深度学习·算法
恒锐丰科技林技术员3 小时前
EG1160 高压半桥驱动芯片:高压功率变换的实用驱动方案
经验分享·嵌入式硬件·硬件工程
智购科技自动售卖机厂家4 小时前
双摄像头方案F1-score只有0.85,排查发现是上下视角的融合逻辑写反了~YH
python·单片机·嵌入式硬件·算法·eclipse
llilian_164 小时前
脉冲时间间隔及计数如何精准测试?
功能测试·嵌入式硬件·51单片机·软件工程
路上有只喵5 小时前
认识元器件 · 牛角型电解电容· 规格书解读
嵌入式硬件