今天下午学习定时器级联的问题,看了AN2592说明,以及运行仿真了下载的inputCapture例程,有个问题不懂,希望被指点一下。谢谢了先。
关于从定时器TIM2的TIM_TimeBaseStructure.TIM_Prescaler = 65535;不明白为什么?主定时器计满0xFFFF后溢出产生更新事件驱动从定时器计数加一,为什么从定时器还要把这个频率先分频65535呢?
网上搜了看到一个帖子http://blog.21ic.com/user1/5538/archives/2011/84221.html
这个网友用的例程还比我下载的例程多一句话TIM_PrescalerConfig(TIM2, 65535, TIM_PSCReloadMode_Update); 帖子上说65535改成0就没问题了。我下载仿真发现1:将TIM2的TIM_TimeBaseStructure.TIM_Prescaler 改成0、2、100或其他值都能测到我加载的外部信号;2:有没有TIM_PrescalerConfig(TIM2, 65535, TIM_PSCReloadMode_Update);这句话或将其中的值改为0或他值也能测量。
我就糊涂了,额,我自己学这个定时器总感觉弄不明白,希望可以得到指点帮助。非常感谢!!! |