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-2的IER,IFR比较,如果名字相同则把这个变量当做是IER或IFR寄存器的引用,意思就是说编译器内部好像已经定义了IER,IFR的变量,你只需要extern声明一下就可以使用这个变量,编译器就会自动帮你实现它的定义。
当然一般我们操作寄存器都会在前面加上一个volatile关键字。
然后就是告诉你用法,如或与操作来直接操作这个寄存器。
像这样的用法以前玩单片机或者STM32的我都从来没见过。
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮