|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一、CPU定时器概述
' L$ l# X9 |, `# S! aDSP为了精确控制时间,以满足控制某些特定事件的要求,定时器是不可缺少的内容。: @& r: Q7 p7 j8 i" a2 q# W$ N
* J* F: _& m9 e4 }* E$ }
二、CPU定时器工作原理
( m% a9 g$ `( i2 a(1)在CPU定时器工作前,先要根据实际的需求,计算好CPU定时器周期寄存器的值,然后给周期寄存器PRDH:PRD赋值。
& N7 u4 }) p' H. O* E2 J8 P; k2 a(2)启动定时器开始计数,PRDH:PRD里面的值装在金定时器计数寄存器TIMH:TIM中。( a- N) k3 W, K# D- ~3 C
(3)计数器TIMH:TIM里面的值每隔一个TIMCLK就减小1,直到计数到0
0 f) ~, i% H' p: S& L(4)此时,CPU计时器会产生一个中断信号。; Z( K6 W: s" ]/ V0 A' J( V
(5)完成一个周期的计数后,在下一个定时器输入时钟周期开始时,周期寄存器PRDH:PRD里面的值重新装载如计数器寄存器TIMH:TIM中
4 f. d* S8 G: P一个定时器周期所经历的时间就等于(PRDH:PRD+1)×TIMCLK
7 W/ x8 e; l! Z8 M' c; W
5 p: K) \% t& d$ X2 x其中,TIMCLK由TDDRH:TDDR和PSCH:PSC控制:- b( K& H3 U1 B. Z
(1)先给TDDRH:TDDR赋值0 r" k! U/ {1 Y8 N3 k: T
(2)装载入PSCH:PSC中,每隔一个STSCLKOUT脉冲,PSC中的值减1,PCS中值为0的时候,输出一个TIMCLK,从而使TIM减12 y! P; k. P- E6 v; a9 ~3 X
一个TIMCLK就等于TDDR+1个系统时钟时间4 w. U7 x* g6 [: k3 P) P/ ]
! Y# ]* b) B1 K& _三、CPU定时器的配置函数2 z, K1 p0 J1 t! _+ r l/ J* R f7 k; M
调用方法:
9 R- Z( r$ G* X! Z) o
, {1 g- x+ Y) f2 iConfigCpuTimer(&CpuTimer0, 150, 1000000);
* v S4 j, R+ D( k, l, p- o3 [1
! y* h( L6 R: [2 V4 v4 U第一项为CPU定时器序号,第二项为CPU主频,第三项为时间周期设置,若要设置周期为1s,则设置为1*10000008 Z, X* k. H5 @8 E5 a
4 {: T( C# n& {* x
+ W |/ r8 P. a
|
|