打印
[应用相关]

定时器配置里的这句话是什么意思

[复制链接]
1108|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; 定时器配置里的这句话是什么意思?我查到是时钟分割的意思,这是配置TIM2,需要将36MHz两倍频,但是TIM_CKD_DIV1=0,为什么TIM_TimeBaseStructure.TIM_ClockDivision=0就是将时钟两倍频了??谢谢大家了。
沙发
ABHK| | 2013-12-22 17:30 | 只看该作者
应该是说  将某一个时钟信号   倍频吧   这个  目测是这个意思   你自己在实际操作一遍吧

使用特权

评论回复
板凳
杨爱林林| | 2013-12-23 08:26 | 只看该作者
分频

使用特权

评论回复
地板
ahuzjh| | 2013-12-23 09:23 | 只看该作者
建议看看STM32关于系统整个时钟的框图,可能会有答案的,注意一下你所设置的TIM2的时钟来源以及系统默认的时钟来源。

使用特权

评论回复
5
jjjkkk00| | 2013-12-23 14:00 | 只看该作者
本帖最后由 jjjkkk00 于 2013-12-23 14:05 编辑

这个问题涉及到两点:APB时钟的预分频系数和定时器外设的时钟分频因子。
这要追查到库函数和寄存器配置的问题。
void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct)
{
//省略部分代码......
//对TIM6以外的定时器外设配置时钟分频因子。
  if(TIMx != TIM6)
  {
    /* Set the clock division */
    tmpcr1 &= (uint16_t)(~((uint16_t)TIM_CR1_CKD));
    tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_ClockDivision;
  }
  TIMx->CR1 = tmpcr1;
//省略部分代码......
}

时钟树的截图如下:APB时钟的预分频系数在RCC寄存器配置中查看。

使用特权

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

本版积分规则

506

主题

2446

帖子

8

粉丝