自动重装载值和预分频系数怎么算 定时器的频率

2019-07-21 04:41发布

        TIM_TimeBaseInitStruct.TIM_Period=arr;
        TIM_TimeBaseInitStruct.TIM_Prescaler=pre;
        TIM_TimeBaseInitStruct.TIM_CounterMode=TIM_CounterMode_Up;
        TIM_TimeBaseInitStruct.TIM_ClockDivision=TIM_CKD_DIV1;
        TIM_TimeBaseInit(TIM3,&TIM_TimeBaseInitStruct);
不清楚定时器的频率怎么算
比方说10khz的  
我的第一反应就是 时钟频率/预分频系数  72MHZ/7200
但是这样我就不知道这个自动冲装载值怎么设了

        /* Time base configuration */
        TIM_TimeBaseStructure.TIM_Period = 999;  //1KHz
        TIM_TimeBaseStructure.TIM_Prescaler = 0;
        TIM_TimeBaseStructure.TIM_ClockDivision = 0;
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
        TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
        //TIM2预分频设置:1MHZ,APB1分频系数2,输入到TIM3时钟为36MHzx2 = 72MHz  
        TIM_PrescalerConfig(TIM2,71, TIM_PSCReloadMode_Immediate);               



比方说这么例题 这个1khz 怎么算的?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
xkwy
1楼-- · 2019-07-21 20:22
461450651 发表于 2016-3-16 20:19
不是,蓝桥杯那里不是有电路设计吗

这就是2013的电路设计题。

去年国赛真题有中文界面,提供有取模软件,这是我写的,你参考一下。
第六届国赛真题-xkwy.rar (95.41 KB, 下载次数: 591) 2016-3-16 21:56 上传 点击文件名下载附件
旗威
2楼-- · 2019-07-21 20:56
 精彩回答 2  元偷偷看……
461450651
3楼-- · 2019-07-22 05:19
旗威 发表于 2016-3-16 22:09
TIMx_Period = (SystemCoreClock / 频率) - 1
ChannelxPulse = DutyCycle * (TIMx_Period - 1) / 100

好谢谢
zcls
4楼-- · 2019-07-22 10:34
461450651 发表于 2016-3-16 18:08
好好理解公式f=1/T(频率=1/周期)
TIM_TimeBaseStructure.TIM_Period里面装的就是周期
TIM_TimeBaseStruct ...

你说的不好,定时器频率就是72 000 000hz(APB1频率)除以7200(预分频数)等于1000hz计算出来的,哪用你说的那么麻烦。然后计算周期的时候用到自动重载值就好了,根据频率1us计数一次,计数是1000次,所以计数周期就是1000us即1s
老乡开门
5楼-- · 2019-07-22 10:49
zcls 发表于 2016-4-21 15:23
你说的不好,定时器频率就是72 000 000hz(APB1频率)除以7200(预分频数)等于1000hz计算出来的,哪用你 ...

大兄弟,72 000 000/7200=10 000,no 1 000啊!
123546
6楼-- · 2019-07-22 11:45
 精彩回答 2  元偷偷看……

一周热门 更多>