打印
[STM32G0]

G031使用定时器17改变APB分频没反应

[复制链接]
552|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qhtflsw|  楼主 | 2021-12-10 10:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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分出来的,我就奇了怪了。







使用特权

评论回复
沙发
qhtflsw|  楼主 | 2021-12-22 15:52 | 只看该作者
The timers TIM16 and TIM17 are unduly clocked by SYSCLK instead of being clocked by the timer clock
TIMPCLK. As a consequence, they do not reflect AHB and APB prescaler settings.
The TIM16 and TIM17 are fully functional as long as the SYSCLK-to-PCLK frequency ratio remains smaller than
or equal to four.
数据手册有问题,果然是系统时钟决定的,坑啊

使用特权

评论回复
板凳
zyj213| | 2021-12-31 15:14 | 只看该作者
你可以使用cubemx进行时钟配置,那个配置简单

使用特权

评论回复
地板
shjuturt| | 2021-12-31 15:59 | 只看该作者
你查查手册,看看具体怎么配置呗,我觉得好像还是你的配置不对

使用特权

评论回复
5
ksjdisa| | 2021-12-31 16:27 | 只看该作者
这个时钟的问题,我觉得你可以查查时钟树哈

使用特权

评论回复
6
ppaakala| | 2021-12-31 16:28 | 只看该作者
你是不是操作错了呢,还是缺少什么使能之类的配置

使用特权

评论回复
7
shskaoanc| | 2021-12-31 16:57 | 只看该作者
换其他定时器是否正常呢?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

59

主题

164

帖子

4

粉丝