您的位置:

c语言dsp寄存,dsp寄存器和库函数开发

本文目录一览:

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窗口观察变量。

还有位区的代码大小以及运行效率说不完了等等