本帖最后由 qhtflsw 于 2021-12-10 11:13 编辑
测试翻转电平时候发现,STM32G031主频64M,分频8后,理论PCLK是8M,TPCLK是16M,
但是改变APB的分频竟然对TIM17中断时间没有改变,仿真看到RCC_CFGR已经修改到了。
系统配置:
LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_8);
// LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_2);
// LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1);
定时器初始化:
TIM_InitStruct.Prescaler = 63;//64分频
TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP;
TIM_InitStruct.Autoreload = 99;//100计数
TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV1;
TIM_InitStruct.RepetitionCounter = 0;
LL_TIM_Init(TIM17, &TIM_InitStruct);
100us中断一次,累加10000次翻转就是1s翻转。
无论是改1-2-8都对定时器17中断100us没影响。即定时器一直是主频64M,完全不受APB分频影响
规格书和时钟树都有说明,TIM17从APB分出来的,我就奇了怪了。
|