关于ConfigCpuTimer()函数的说明
在共享文件DSP281x_CpuTimers.c 中,包含了两个函数:一个是定时器初始化函数InitCpuTimers(),另一个就是CPU 定时器配置函数ConfigCpuTimer()。
这里将整个定时器配置函数列出,除了对指令进行注释之外,还对出现在函数中指针的用法进行说明,作为第1 章位域结构体访问方法的补充。
1.对指令“Timer→RegsAddr→TCR.bit.TRB = 1”的注解
"struct CPUTIMER_VARS *Timer"
* 为指针运算符,Timer(可用其他字母替代)是一个具有CPUTIMER_VARS 结构体类型的指针变量,它指向结构体CPUTIMER_VARS。通过(*Timer).xxx 可以访问CPUTIMER_VARS 结构体中的xxx 成员。在C 语言中,为了使用方便和使之直观,可以把(*Timer).xxx 用Timer→xxx 来代替。“→”是成员选择(指针)。有了这个基本概念之后,再来看下面的指令:
Timer->RegsAddr->TCR.bit.TRB=1;
为了弄清前面两个指针的含义,先引入结构体CPUTIMER_VARS 有关定义:
struct CPUTIMER_VARS //该函数由DSP281x_CpuTimers.h 文件建立
{
volatile struct CPUTIMER_REGS *RegsAddr;
Uint32 InterruptCount;
float CPUFreqInMHz;
float PeriodInUSec;
}; |