STM32完全学习——使用定时器1精确延时

一、定时器的相关配置

首先一定要是递减定时器,递增的不太行,控制的不够准确,其次在大于10微秒的延时是非常准确的,小于的话,就没有那没准,但是凑合能用。误差都在一个微秒以内。使用高级定时器也就是时钟频率高的定时器,是比较好用的。

二、延时函数的实现

这里使用阻塞的方式实现,定时范围就是3120个微秒。

cpp 复制代码
void delay_us(uint32_t us)
{
	HAL_TIM_Base_Start(&htim1);
	__HAL_TIM_SET_COUNTER(&htim1, us*21);   //动态更改计数器里面的值
	
	while (__HAL_TIM_GET_COUNTER(&htim1) != 0)  //判断计数器里面的值是否计时结束
	{                                           //因为是递减计数器,因此以0作为判断
		
	}
	HAL_TIM_Base_Stop(&htim1);   //计时结束就关掉定时器
	
}
相关推荐
潜心一志2 小时前
HALCON软件——基本架构,算子参数
学习·计算机视觉
爱吃苹果的日记本4 小时前
数据结构第三课(时间复杂度)
数据结构·学习
Zw-awa5 小时前
标准输入输出与 MicroLIB:C 语言的终端去了哪里
stm32
糖糖单片机设计6 小时前
基于 STM32 的公交车定位与报站系统
stm32·单片机·嵌入式硬件
祖力556 小时前
快速学会51单片机基础
单片机·嵌入式硬件·51单片机
泡泡鱼(敲代码中)7 小时前
MySQL基础学习笔记:从数据模型到DDL全掌握
开发语言·数据库·笔记·学习·mysql
fanged8 小时前
Agent的Skills(TODO)
学习
是隼人8 小时前
buuctf-pwn picoctf_2018_shellcode(ret2shellcode)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
单片机仿真设计8 小时前
【proteus仿真】基于 STM32 的林区环境监控系统设计
stm32·单片机·proteus
m4Rk_8 小时前
【论文阅读】Agent 记忆机制(69):STITCH——用上下文意图解决“语义相关但情境错误”的记忆检索
论文阅读·人工智能·学习·开源·github