|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一、CPU定时器概述 L2 K8 H. G0 w* L
DSP为了精确控制时间,以满足控制某些特定事件的要求,定时器是不可缺少的内容。* v3 q( @0 t5 i; D( O" c* j
p; u7 A5 @( d2 W3 n \% {二、CPU定时器工作原理- a; K8 }# Q- `7 k' r
(1)在CPU定时器工作前,先要根据实际的需求,计算好CPU定时器周期寄存器的值,然后给周期寄存器PRDH:PRD赋值。: C# j% S0 q0 f% Y& U& ~
(2)启动定时器开始计数,PRDH:PRD里面的值装在金定时器计数寄存器TIMH:TIM中。6 d6 P; Q, T! X7 T% d
(3)计数器TIMH:TIM里面的值每隔一个TIMCLK就减小1,直到计数到0; t: S3 x+ _3 x& L
(4)此时,CPU计时器会产生一个中断信号。8 t+ `6 f6 R) t4 d! M# Y8 Y. a' t
(5)完成一个周期的计数后,在下一个定时器输入时钟周期开始时,周期寄存器PRDH:PRD里面的值重新装载如计数器寄存器TIMH:TIM中4 K( ]" M" _6 o: n: [
一个定时器周期所经历的时间就等于(PRDH:PRD+1)×TIMCLK
6 b& \1 V+ b+ F0 w* R8 V! O
% I5 p, m/ V& n: v2 U: w( o其中,TIMCLK由TDDRH:TDDR和PSCH:PSC控制:
6 ^' w7 x" w3 k# r0 g* A. U/ ^(1)先给TDDRH:TDDR赋值
. G) v6 ~3 ?: B- I* @(2)装载入PSCH:PSC中,每隔一个STSCLKOUT脉冲,PSC中的值减1,PCS中值为0的时候,输出一个TIMCLK,从而使TIM减18 S8 h! u- J- W* C
一个TIMCLK就等于TDDR+1个系统时钟时间; E% b2 O, c" A5 q. x
; A0 E0 c" G0 ?. D; T
三、CPU定时器的配置函数
- \& b- u- m3 b调用方法:+ H8 T2 s4 M! e: @) F" S
8 \! }# O2 I& T- h1 W- Q2 U
ConfigCpuTimer(&CpuTimer0, 150, 1000000);
( E+ x& E5 o. a1
# k$ h( E5 Y' D/ u: o4 z第一项为CPU定时器序号,第二项为CPU主频,第三项为时间周期设置,若要设置周期为1s,则设置为1*1000000" j. Z$ G7 x- b7 S
# \* A ]4 a$ T9 ?& b* i/ R! c4 k9 B# Q
|
|