STM32定时器延时函数

本文用STM32F205芯片中的TIM3为例,写了两种定时器延时函数。本人所知的延时函数方式有3种,通过定时器中断方式的延时函数在本文中暂时不提及。为方便自己记忆,以下均为自己总结,如有错误,欢迎大家讨论。
TIM3挂载在APB1上,30MHz,故TIM3的始终频率为60MHz。

方法一:1. 先配置定时器的单次定时时长,定时器分频为1M,即每计一个数需要1us。
2. 写延时函数,当计数器的计数值大于给定的计数值时,停止计数。

void TIM3_Init(void)
{
   
	TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
	RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);  ///使能TIM3时钟
	TIM_TimeBaseInitStructure.TIM_Period    = 50000-1; 	//自动重装载值
	TIM_TimeBaseInitStructure.TIM_Prescaler = 60-1;     

你可能感兴趣的:(stm32)