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 怎么算的?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
你说的不好,定时器频率就是72 000 000hz(APB1频率)除以7200(预分频数)等于1000hz计算出来的,哪用你说的那么麻烦。然后计算周期的时候用到自动重载值就好了,根据频率1us计数一次,计数是1000次,所以计数周期就是1000us即1s
一周热门 更多>