本文目录一览:
C语言文件中的文件格式*.dsp,*.dsw,*.ncb,*.opt是什么意思?
.DSP:VC开发环境生成的工程文件,VC4及以前版本使用MAK文件来定义工程。
.DSW:VC开发环境生成的WorkSpace文件,用来把多个工程组织到一个WorkSpace中。
.NCB:NCB是“No Compile Browser”的缩写,其中存放了供ClassView、WizardBar和Component Gallery使用的信息,由VC开发环境自动生成。
.OPT:VC开发环境自动生成的用来存放WorkSpace中各种选项的文件。
去这个网站,里面有VC开发环境下各种文件后缀的VC6中的文件后缀名的意思。
用C语言能否对DSP寄存器进行位域读取?
这里不是用C语言指令完成的,包括读取。用的是联合
请看,
【SciaRegs的定义】volatile struct SCI_REGS SciaRegs;
【struct SCI_REGS的定义】
struct SCI_REGS {
union SCICCR; // Communications control register
... //这里我剪裁了其它部分
};
【union SCICCR_REG的定义】
union SCICCR_REG {
Uint16 all;
struct SCICCR_BITS bit;
};
【struct SCICCR_BITS的定义】
struct SCICCR_BITS { // bit description
Uint16 SCICHAR:3; // 2:0 Character length control
Uint16 ADDRIDLE_MODE:1; // 3 ADDR/IDLE Mode control
Uint16 LOOPBKENA:1; // 4 Loop Back enable
Uint16 PARITYENA:1; // 5 Parity enable
Uint16 PARITY:1; // 6 Even or Odd Parity
Uint16 STOPBITS:1; // 7 Number of Stop Bits
Uint16 rsvd1:8; // 15:8 reserved
};
既然你已经用SciaRegs.SCICCR.bit.SCICHAR=7给这个控制寄存器的低3位赋值,那么读取时你可以直接用,比如:if ( SciaRegs.SCICCR.bit.SCICHAR==7 ) ...即可,系统会读取这个寄存器,你可以按照.all的方式来读,也可以利用union读局部位。
C语言中结构体和共用体怎样运用在DSP的寄存器定义上
cmd配置文
在软件上的运用主要是使用了位定义和寄存器文件结构方法
而寄存器文件结构的空间分配就压使用#gragma DATA_SECTTION(symbol,"section name")
在C++语言中编程方式为:
#gragma DATA_SECTION("section name")
共同体的使用
位区定义方法允许用户直接对寄存器的某位进行操作,但有时还是需要将整个寄存器作为一个值操作。
为此引入共同体,使寄存器的各位可以作为一个整体操作。
位区和寄存器文件结构方法有以下优点:
1TI公司为用户提供写好的文件结构和位区定义,可以在其网站下载
2使用位区方便编写代码,可读性强,易于升级。
3位区定义可以充分利用CCS编译器的自动代码输入功能,方便用户输入代码。
4方便CCS的Watch窗口观察变量。
还有位区的代码大小以及运行效率说不完了等等