DSP

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

2019-07-13 10:09发布

DSP关键字cregister (关于IER,IFR找不到定义) DSP2833X_Device.h文件里有两个变量IER,IFR,只有声明却没有找到定义 extern cregister volatile unsignedint IFR; extern cregister volatile unsignedint IER; 打开spru514d(TMS320C28x Optimizing CCCompiler v6)手册, 大概意思就是:cregister是编译器扩展的C的关键字,用于高级语言C来直接控制寄存器。 当你使用这个关键字定义一个变量时,编译器会把它和表6-2IER,IFR比较,如果名字相同则把这个变量当做是IERIFR寄存器的引用,意思就是说编译器内部好像已经定义了IER,IFR的变量,你只需要extern声明一下就可以使用这个变量,编译器就会自动帮你实现它的定义。 当然一般我们操作寄存器都会在前面加上一个volatile关键字。 然后就是告诉你用法,如或与操作来直接操作这个寄存器。 像这样的用法以前玩单片机或者STM32的我都从来没见过。