如何使用STM32实现systick的精确延时

发布者:EuphoricMelody最新更新时间:2024-02-27 来源: elecfans关键字:STM32  systick  精确延时 手机看文章 扫描二维码
随时随地手机看文章

SYSTICK寄存器初始化

void SysTick_Configuration(void)


{

if (SysTick_Config(SystemCoreClock / 100))

{

while (1);

}

NVIC_SetPriority(SysTick_IRQn, 0x0);

}

SysTick_Config默认时钟为SysTick_CLKSource_HCLK,所以在这之前使用SysTick_CLKSourceConfig()选择系统时钟不会改变systick的时钟

static __INLINE uint32_t SysTick_Config(uint32_t ticks)


{

if (ticks 》 SysTick_LOAD_RELOAD_Msk)return (1);

SysTick-》LOAD= (ticks & SysTick_LOAD_RELOAD_Msk) - 1;

NVIC_SetPriority (SysTick_IRQn, (1《《__NVIC_PRIO_BITS) - 1);

SysTick-》VAL= 0;

SysTick-》CTRL=SysTick_CTRL_CLKSOURCE_Msk |

SysTick_CTRL_TICKINT_Msk|

SysTick_CTRL_ENABLE_Msk;

return (0);

}

systick中断服务程序

void SysTick_Handler(void)

{

systime ++;

}

延时程序

void delay_ms(unsigned int ms)

{

unsigned int temp;

temp = systime;

while((systime - temp) 《 ms);

}

void SysTick_CLKSourceConfig(uint32_t SysTick_CLKSource)在misc.c文件中定义

static __INLINE uint32_t SysTick_Config(uint32_t ticks)在core_cm3.h中定义


关键字:STM32  systick  精确延时 引用地址:如何使用STM32实现systick的精确延时

上一篇:怎样在Linux上开发STM32程序
下一篇:基于STM32实现串口的两个分案解析

推荐阅读最新更新时间:2024-11-17 17:54

PWM控制电机速度的基本原理
做STM32智能小车的实验中会用到定时器PWM输出,来改变直流电机的转速。分享本文了解如何通过PWM实现对电机速度的控制。 PWM控制电机速度的基本原理 PWM(Pulse Width Modulation),也就是脉冲宽度调制。 PWM中有一个比较重要的概念,占空比:是一个脉冲周期内有效电平在整个周期所占的比例。 为了实现IO口上电压的持续性变化,可以调节PWM的占空比。这也能够使外设的功率进行持续性变化,最终控制直流电机转速的快慢。如何调节PWM波形的输出就是重点。相关推荐:STM32中PWM的配置与应用详解。 上图中的ARR是我们给定时器的一个预装载值,CCRx的上下变化是产生P
[单片机]
PWM控制电机速度的基本原理
一文解析STM32启动流程
可执行程序 - cpu执行第一条用户代码 这个流程中着重讲述的是 HEX 文件如何被烧写到 STM32 内部的指定地址处。(烧写到 STM32 中的可执行文件不仅只有 HEX 格式,还有 axf、bin。针对不同格式的可执行文件,用不同的工具进行烧写)。 而本篇文章将要详细地描述一个流程: cpu执行第一条用户代码 - 调用 __main 函数- __rt_entry - main函数 这里需要注意一下,__main 是 c 库中的一个函数,和 main 函数是有区别的!!! 启动文件内容描述 上图中的汇编关键字最好记住,因为比较常用。 在此基础上,我们继续深入一点。 DCD指令 STM32 启动文件中使用 DCD 指令的
[单片机]
一文解析<font color='red'>STM32</font>启动流程
基于STM32的超声波传感器测距(含代码)
1. 实验原理 超声波传感器采用的是HC-SR04,具有VCC、GND、Trig、Echo四个引脚,其使用方法为:将Trig 设置为高电平并保持至少10us,传感器将发出 8 个脉冲的声波。对于声波产生回声所需的整个时间内, Echo 为高电平。测量该高电平时间即可知经过的时间,则可计算障碍物的距离。 测量Echo 为高电平的时间是利用STM32的通用定时器进行输入捕获,测量得到的高电平时间通过公式:距离 = Thigh *340/2 (m) ,其中Thigh 单位为秒(s), 340米/秒(m/s)为声速。 2. 设计分析 由STM32F4xx数据手册可知,所采用的板子有TM2-TM5四个
[单片机]
基于<font color='red'>STM32</font>的超声波传感器测距(含代码)
STM32中的独立看门狗IWDG
一. 简述STM32中的看门狗系统 STM32F10xxx内置两个看门狗,一个是IWDG(独立看门狗),一个是WWDG(窗口看门狗),两个看 门狗设备(可用来检测和解决由软件错误引起的故障。 当计数器达到给定的超时值时,IWDG会产生系统复位。而WWDG会触发中断。这篇文章主要讲解一下IWDG。 二. 关于 独立看门狗IWDG 1. 独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它也仍然有效。IWDG最适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精度要求较低的场合。 2. IWDG主要性能 自由运行的递减计数器 时钟由独立的RC振荡器提供(可在
[单片机]
STM32 LED灯的另一种写法
#ifndef __BSP_LED_ #define __BSP_LED_ #include MM32x103.h // 这个换成STM32的库文件就行 #include type.h //================================================================================== #define LED1_RUN_GRP GPIOC #define LED1_RUN_IDX GPIO_Pin_6 #define LED1_RUN_OFF() GPIO_ResetBits(LED1_RUN_GRP, LED1_RUN_IDX) #define
[单片机]
STM32用keil5调试程序出现 Error 解决方案
一 目的:装好keil MDK 想用 在线调试 二 背景:开发环境 keil MDK 422 三 准备: 1 keil MDK 安装文件夹ARMSegger里是否有三个动态连接表 2 程序编译通过 3 jlink驱动安装好(我安装的是408版本) 四 操作步骤: 1 2 3 5 然后一路OK过去 就可以了。 6 点 进入到在线调试届满 进行调试。 注:如果没有进行第五步(根据芯片选择flash容量)会报错 Error: Flash download failed- Cortex-M3 。 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
[单片机]
<font color='red'>STM32</font>用keil5调试程序出现 Error 解决方案
STM32串口双缓冲乒乓数据传输方式
对于没玩过DMA 的朋友,这里简单说一下DMA,用自己的语言说吧,那就是,从某个位置 传输数据到某个位置,如果不用DMA,那要CPU参与操作,一个字节一个字节地搬,效率高 点的,就一个字一个字地搬.但当你用了DMA 后,那就是只需要设置:A.从哪里开始搬; B, 搬到哪里去;C以字节方式搬还是半字还是字;D:一共搬多少个.之后,启动DMA.CPU内部 就会开始搬数据了,整个搬数据的过程都不需要指令的参与,唯一要做的,就是检测什么时 候搬完.你可以扫描寄存器,也可以用中断.这里,我使用了中断. 具体设置功能看注释就可以明白了.注意一点就是,有一个设置: DMA_InitStructure.DMA_PeripheralInc = DM
[单片机]
<font color='red'>STM32</font>串口双缓冲乒乓数据传输方式
gd32和stm32哪个好?
GD32和STM32是两种常见的微控制器系列,是开发者们常用的开发板核心。尽管它们相似之处很多,但它们也存在着差异,本文将深入探讨GD32和STM32,分享它们的优缺点。 首先,我们从GD32说起。GD32是由国内的同时表示中心研发的一种基于ARM Cortex-M3 CPU的微控制器,该平台具有很高的兼容性、低功耗以及出色的性能。许多GD32产品也广泛用在电子产品、智能家居、工业控制系统和无人机开发等领域。 与此相反,STM32系列是ST公司基于Cortex-M3架构开发的高性能微控制器。STM32系列以其高速运算能力、出色的数据处理性能、广泛的官方支持和易用的硬件软件接口而著名。STM32可轻松完成各种任务,比如音频、显示以及
[单片机]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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