嵌入式 32位微处理器的定时器计数常数的计算公式

定时器输入时钟频率=微处理器的系统频率参数/(预分频系数+1)/分割器值….①
计数常数=定时时间间隔/(1/定时器输入时钟频率) …..②

以S3C2410为例:主频参数PCLK为264MHz(即公式①的微处理器的系统频率参数),分割器值选择为16(即公式①的分割器值)(S3C2410的分割器值只能取,2,4,8,16),预分频系数为19(即公式①的预分频系数)(S3C2410的预分频系数可取范围为0~255),使用Timer2产生0.05秒的时间间隔(即公式②中的定时时间间隔),则该定时器应该装载的计数初值(即公式②中的计数常数)计算如下:

定时器输入时钟频率=微处理器的系统频率参数/(预分频系数+1)/分割器值=264*1000000Hz/(19+1)/16=825000Hz

计数常数=定时时间间隔/(1/定时器输入时钟频率)=0.05s/(1/825000Hz)=0.05s*825000Hz=41250

所以计数常数为41250,化为16进制数为 0xA122,则用寄存器法设置计数常数的语句为 rTCNTB2=0xA122; //rTCNTB2是S3C2410的Timer2计数器(定时器)的计数寄存器

你可能感兴趣的:(#,stm32)