本文目錄一覽:
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窗口觀察變數。
還有位區的代碼大小以及運行效率說不完了等等
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/301353.html