原创 STM32定时器配置问题

2011-1-14 09:56 6039 12 12 分类: MCU/ 嵌入式

使用定时器,在配置定时器的时候发现有这个问题:

void TIM2_Configuration(void)     //配置定时器2
  {
  TIM_TimeBaseStructure.TIM_Period = 0xFFFF;         
  TIM_TimeBaseStructure.TIM_Prescaler = 0x02;       //时钟预分频为3     
  TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;    
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
 
  TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
   }

其中 TIM_TimeBaseStructure.TIM_Prescaler = 0x02;       //时钟预分频为3  

和 TIM_TimeBaseStructure.TIM_ClockDivision = 0x0; 

第一句应该是设置时钟预分频,第二句说是分频因子,TDTS = Tck_tim ,

定义在定时器时钟(CK_INT)频率与数字滤波器(ETR,TIx)使用的采样频率之间的分频比例。

在TIMx_CR1中的CKD[1:0]可以由用户设置对输入信号的采样频率基准,有三种选择:
1)采样频率基准fDTS=定时器输入频率fCK_INT
2)采样频率基准fDTS=定时器输入频率fCK_INT/2
3)采样频率基准fDTS=定时器输入频率fCK_INT/4

例如:当fCK_INT=72MHz时,选择fDTS=fCK_INT/2=36MHz,采样频率fSAMPLING=fDTS/2=18MHz且N=6,则频率高于3MHz的信号将被这个滤波器滤除,有效地屏蔽了高于3MHz的干扰。


比如,结合输入捕获的中断,可以轻松地实现按键的去抖动功能,而不需要软件的干预;这可是由硬件实现的去抖动功能,大大节省了软件的开销和程序代码的长度。

每个定时器最多可以实现4个按键的输入,这个方法也可以用于键盘矩阵的扫描,而且因为是通过中断实现,软件不需频繁的进行扫描动作。

也就是说这个地方主要用于输入捕获的设置。具体在看看输入捕获的章节。

参考 源地址:http://blog.ednchina.com/STM32/263170/message.aspx

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
12
关闭 站长推荐上一条 /3 下一条