首页 > 其他分享 >STM32系统嘀嗒Systick定时器

STM32系统嘀嗒Systick定时器

时间:2024-07-10 14:33:14浏览次数:11  
标签:嘀嗒 定时器 STM32 内核 Systick 时钟

目录

STM32系统嘀嗒Systick定时器

基本概念

定时器是STM32中常用的外设,一般定时器的基本功能就是定时,而在Cortex M3/M4内核中也包含一个简单的定时器,就是系统嘀嗒定时器(Systick),它是属于CM4内核的一个外设,内嵌在NVIC中,所有基于Cortex-M3/M4内核的MCU中都包含这个Systick定时器,所以在不同的硬件中移植起来非常方便。

由于Systick定时器属于CM4内核,所以大家在STM32F4中文参考手册中是找不到关于Systick定时器的相关信息,大家可以在CM3权威指南或者Cortex M3/M4权威指南中找到。

基本应用

(1) 裸机开发:编写专门的延时函数,实现微秒、毫秒级别的延时,如作为闹钟或者延时。
(2) 操作系统:可以为RTOS实时操作系统的任务调度提供时钟节拍,RTOS的架构是并行的。

时钟分析

如果打算利用Systick定时器进行定时,则必须清楚Systick定时器的时钟频率,而定时器是挂载在总线下,而不同的总线的频率是不同的,而总线的频率是由时钟提供,而时钟的提供者又各不相同,所以必须要提前了解时钟源的区别。

时钟选择

通过M3内核文档可以知道Systick定时器有2个时钟源,一个是内部时钟(FCLK),一个是外部时钟(STCLK)
可以知道,Systick定时器的内部时钟的频率是168MHZ,外部时钟的频率是168MHZ/8 = 21MHZ 。

(1) 内部时钟

如果选择使用内部时钟(168MHZ)作为系统嘀嗒定时器的时钟源,则嘀嗒定时器的计数周期:1000000us生成168000000个脉冲,意味着 1us可以生成168个脉冲,所以计数周期等于1/168us。

(2) 外部时钟

如果选择使用外部时钟(21MHZ)作为系统嘀嗒定时器的时钟源,则嘀嗒定时器的计数周期:1000000us生成21000000个脉冲,意味着 1us可以生成21个脉冲,所以计数周期等于1/21us。

原理分析

如图

控制方式

如图



参考李明轩老师第7天的笔记

标签:嘀嗒,定时器,STM32,内核,Systick,时钟
From: https://www.cnblogs.com/shishusheng/p/18293979

相关文章

  • 基于STM32的气体检测系统--有上位机小程序
            毕设搞完了,来分享一下,第一次搞,多包涵!设计要求:        技术要求:1、原始数据:采集的气体浓度数据,包括CO2、可燃气体、有毒气体等;系统运行时的各种状态数据。2、选择合适的气体传感器,并进行性能测试和评估;设计稳定且精确的模拟信号采集电路;嵌入式程......
  • Windows定时器-timeSetEvent
     接口:MMRESULTtimeSetEvent(UINTuDelay,//以毫秒指定事件的周期UINTuResolution,//以毫秒指定延时的精度,缺省值为1msLPTIMECALLBACKlpTimeProc,//指向回调函数的指针WORDdwUser,//用户定义的回调数据,传递给回调函数......
  • stm32时钟源
    stm32时钟源目录stm32时钟源MCU提供5种时钟源(1) HSE高速外部时钟(2) HSI高速内部时钟(3) LSE低速外部时钟(4) LSI低速内部时钟(5) PLL倍频锁相环定时器是挂载在总线下,而不同的总线的频率是不同的,而总线的频率是由时钟提供,而时钟的提供者又各不相同,所以必须要提前了解时钟源的......
  • 移植stm32库函数应对不同形式或者不同的时钟源
    移植stm32库函数应对不同形式或者不同的时钟源如果是stm32F407ZET6,晶振是8MHZ,时钟是168MHz修改system_stm32f4xx.c的316行,需要把PLL_M的值从25修改为8修改stm32f4xx.h的123行,需要把宏HSE_VALUE的值从25修改为8MCU主频的计算=(HSE_VALUE/PLL_M*PLL_N)/PL......
  • 单片机知多少之STM32F103-GPIO输出应用篇
    示例:选择GPIOB做流水灯控制逻辑将8个发光二极管的负端分别接入PB0~PB7,正端接5V电源,当配置GPIO为低电平时,回路导通,二极管开始工作,亮灯;当配置GPIO为高电平时,回路等电位断开,二极管不工作,灭灯,使GPIO输出按一定顺序执行,即流水灯。编写代码变量定义:GPIO_InitTypeDefGPIO_InitSt......
  • STM32中的DMA:解锁高效数据传输的秘密武器(内附实例)
    目录引言理解DMA:数据的高效搬运工DMA的主要特性多优先级请求事件标志数据对齐多样化的数据传输路径广泛的数据源与目标最大数据长度DMA寄存器详解增量与循环模式DMA中断机制​编辑小实验:DMA-ADC串口发送引言在现代嵌入式系统设计中,数据传输速度和效率是关键......
  • 基于STM32设计的智能台灯(HC05蓝牙控制)179
    基于STM32设计的智能台灯(HC05蓝牙控制)(179)文章目录一、前言1.1项目介绍【1】开发背景【2】项目实现的功能【3】项目硬件模块组成1.2设计思路【1】整体设计思路【2】整体构架1.3项目开发背景【1】选题的意义【2】可行性分析【3】参考......
  • stm32串口接受定长和不定长数据的两种中断方式
    stm32串口有两种中断方式1.字节中断(定长数据接受)接收指定字节数的数据后产生中断:HAL_UART_Receive_IT(&huart3,rxBuffer,21);注意这里仍然是接受一个字节进入一次IRQ中断函数,这里指定的字节数指的是接受指定字节数量后进入一次回调函数,由于IRQ函数会关闭中断,如需重复接受定......
  • STM32标准库函数功能简介————GPIO篇
    1.void GPIO_DeInit (GPIO_TypeDef*GPIOx);函数解释:将指定的GPIO端口恢复到默认设置。2.voidGPIO_AFIODeInit(void);函数解释:将外设映射设置恢复为默认状态,以重新初始化外设映射配置。3.voidGPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_InitStruct);函数......
  • STM32简介
    STM32简介一、单片机单片机(MicrocontrollerUnit,MCU)是一种集成电路芯片,它将微处理器(CPU)、存储器(如RAM和ROM)、输入/输出接口(I/O)、定时器、中断系统、通讯接口等电脑常用硬件功能集成在单一的硅片上,形成一个微型的计算机系统。单片机的任务是采集信息(依靠传感器)、处理信息(依......