CubeMx配置LPTIM:在这里插入图片描述
在这里插入图片描述

counts internal clock events 计数内部时钟事件

prescaler 预分频器

updata end of period 更新期末

kil5配置:

在这里插入图片描述

中断回调函数完善一下:

void HAL_LPTIM_AutoReloadMatchCallback(LPTIM_HandleTypeDef *hlptim){
	  if(cnt != 10) cnt ++;
	  else{
			time ++;
			cnt = 0;
	  }
}

AutoReloadMatch 自动重新加载配置


由于我的时钟是32MHz,分频是128,所以32Mhz/128就是计数器的时钟计数器的值设为25000,记录10次刚好记录250000所耗费时间恰为1s

进过我的测试发现记录的时间不准,不知道是手机不准还是计数器不准

cubemx配置基本定时器

基本定时器计数还是准的

在这里插入图片描述
首先配置rcc

在这里插入图片描述
再配置TIM7 activated

由于我的晶振是32MHz所以分频器配31,那么计数器的频率为32MHz / 32 = 1Mhz,也就是说1s记这么多数,
记满1000溢出,也就是1000 / 1MHz = 0.001s也就是说1ms记满一次,自动重装设置为enable,NVIC打开即可

在这里插入图片描述
代码中在中断回调函数中操作即可

RCC配不配置都可以,但是驱动函数是

HAL_TIM_Base_Start_IT(&htim7);
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐