当前位置:首页 > 编程技术 > 正文

stm32中延时函数如何书写

stm32中延时函数如何书写

在STM32微控制器中,编写延时函数通常需要使用定时器(Timer)或者SysTick(系统滴答定时器)。以下是两种常见的方法: 使用SysTick定时器SysTick...

在STM32微控制器中,编写延时函数通常需要使用定时器(Timer)或者SysTick(系统滴答定时器)。以下是两种常见的方法:

使用SysTick定时器

SysTick是STM32的一个内置定时器,可以用来创建简单的延时函数。以下是一个使用SysTick的延时函数示例:

```c

include "stm32f10x.h"

void DelayMs(uint32_t ms) {

SysTick->LOAD = (SystemCoreClock / 1000) ms 1; // 设置重装载值

SysTick->VAL = 0; // 清空当前计数值

SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk SysTick_CTRL_ENABLE_Msk; // 启用SysTick并选择CPU时钟源

while (!(SysTick->CTRL & SysTick_CTRL_COUNTFLAG_Msk)); // 等待计数器溢出

SysTick->CTRL = 0; // 关闭SysTick

最新文章