新手,问2个关于定时器的问题,谢谢
[*]每个总线的时钟频率哪里看呀? 我在手册中全局搜索84m都没有搜索到,比如APB1之类的
2.
我在网上看到一个溢出公式
Tout(溢出时间)=(ARR+1)(PSC+1)/Tclk
这个公式在哪儿看到的呀?
我写代码打时候初始化如下:
TIM_ClockConfigTypeDef sClockSourceConfig;
TIM_MasterConfigTypeDef sMasterConfig;
htim3.Instance = TIM3;
htim3.Init.Prescaler = 4799;
htim3.Init.CounterMode = TIM_COUNTERMODE_UP;
htim3.Init.Period = 9999;
htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
HAL_TIM_Base_Init(&htim3);
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
HAL_TIM_ConfigClockSource(&htim3, &sClockSourceConfig);
sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE;
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig);
中断事件大概是4.80017820
这个和公式好像有点不太一样呀
1、每个总线的时钟频率哪里看呀?
在对应系列的参考手册“RCC”章节的“时钟树”可以看到。
2.我在网上看到一个溢出公式
Tout(溢出时间)=(ARR+1)(PSC+1)/Tclk
这个公式在哪儿看到的呀?
这个公式的分两块来理解:(ARR+1)(PSC+1)可以从寄存器中找到;关键点:定时器在2分频以后,其 Fclk会2xFclk_int。
请问这个 sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;是什么意思呀?
定时器不是外设吗? 时钟源来自APB1
这样什么都不改是不是APB1和APB2只有16MHz? 自顶一下:( TIM_CLOCKSOURCE_INTERNAL== 内部时钟 ? 公式是没有错的,应该是楼主计算时参数错了。
楼主可能参考一下:http://blog.csdn.net/snow416/article/details/6458765 手册上面有公式 3.5 的库用 RCC_GetClocksFreq可以得到各总线的时钟。HAL没用过,不清楚有没有类似的函数。 beary 发表于 2015-11-22 20:51
这样什么都不改是不是APB1和APB2只有16MHz?
不改的话,只有16M 我不明白,我来顶下楼主
页:
[1]
2