stm32中UWTICK使用

时间:2024-04-25 12:05:02

stm32中UWTICK使用

__IO uint32_t uwTick;
uint32_t uwTickPrio = (1UL << __NVIC_PRIO_BITS); /* Invalid priority */
HAL_TickFreqTypeDef uwTickFreq = HAL_TICK_FREQ_DEFAULT;  /* 1KHz */

一个32位 全局变量 的数据类型:

从系统上电开始,uwTick 没过一个周期就计数值+1;

HAL_TickFreqTypeDef uwTickFreq = HAL_TICK_FREQ_DEFAULT; /* 1KHz */
表示1kHZ的频率,即为:

T = 1 / 1k = 0.001s = 1ms

也就是说,uwTick没过1ms计数值+1,可以直接模拟定时器的周期定时使用:

uint23_t current_time;
void Period(void){

	if(uwTick - current_time >=10){
		/*更替“时间戳”*/
		current_time  = uwTick ;
		/*每过10ms,执行以下逻辑功能*/
		/*....................*/
	}else{

	}
}