DSP关键字cregister (关于IER,IFR找不到定义)

DSP关键字cregister (关于IER,IFR找不到定义)

DSP2833X_Device.h文件里有两个变量IER,IFR,只有声明却没有找到定义

extern cregister volatile unsignedint IFR;

extern cregister volatile unsignedint IER;

打开spru514d(TMS320C28x Optimizing CCCompiler v6)手册,

DSP关键字cregister (关于IER,IFR找不到定义)_第1张图片

大概意思就是:cregister是编译器扩展的C的关键字,用于高级语言C来直接控制寄存器。

当你使用这个关键字定义一个变量时,编译器会把它和表6-2IER,IFR比较,如果名字相同则把这个变量当做是IERIFR寄存器的引用,意思就是说编译器内部好像已经定义了IER,IFR的变量,你只需要extern声明一下就可以使用这个变量,编译器就会自动帮你实现它的定义。

当然一般我们操作寄存器都会在前面加上一个volatile关键字。

然后就是告诉你用法,如或与操作来直接操作这个寄存器。

像这样的用法以前玩单片机或者STM32的我都从来没见过。

你可能感兴趣的:(DSP)