DSP C語言基礎(chǔ)要點(diǎn)
——
直到接觸到DSP,由于使用TI的庫文件例程的緣故,對(duì)結(jié)構(gòu)體,聯(lián)合體等有了進(jìn)一步的了解,也對(duì)一個(gè)工程變量的使用有了更深的認(rèn)識(shí)。下面對(duì)談?wù)剬?duì)DSP C剛?cè)腴T者的一些建議:
1.DSP程序的定位配置---CMD文件,要求熟悉DSP的存儲(chǔ)器結(jié)構(gòu)。這一部分對(duì)接觸硬件多一些的新手很容易,其實(shí)也就是配置一般的C語言編譯器的一部分,比如AVR單片機(jī)的頭文件,cpu選擇等在DSP中就是這一部分完成。另外還要注意TI例程中對(duì)加密位,看門狗的處理。
2.當(dāng)然是C語言的一些基礎(chǔ)了:運(yùn)算符,優(yōu)先級(jí),幾個(gè)基本流程控制語句。這些無論是什么C平臺(tái)運(yùn)行都一樣的,基礎(chǔ)中的基礎(chǔ)。但是也很容易因?yàn)檫@些基礎(chǔ)的簡(jiǎn)單的問題,導(dǎo)致一些很郁悶的結(jié)果。也是因?yàn)閷?duì)這些基礎(chǔ)的概念的理解深入程度影響你的軟件思想。
3.結(jié)構(gòu)體,聯(lián)合體,位域的運(yùn)用,最好能有一個(gè)對(duì)比,了解運(yùn)用的場(chǎng)合及優(yōu)缺點(diǎn)。有了這些基礎(chǔ),就很容易明白TI例程的一些基本結(jié)構(gòu)。
4.變量的作用域以及生存期,這樣才能從最初的單個(gè)的C文件過渡到C工程,才能更好地了解模塊化編程地基本要素,實(shí)現(xiàn)基礎(chǔ)。
5.Q格式等的應(yīng)用,因?yàn)榇蠖鄶?shù)DSP都是定點(diǎn)的,而做運(yùn)算處理的很多時(shí)候都不可避免要用到浮點(diǎn)數(shù)。使用Q格式才能更好的發(fā)揮dsp高速的特性。所以有人說“不會(huì)使用Q格式的DSP程序員不是優(yōu)秀的程序員”!
6.另外我覺得如果用DSP參與控制的話,最好能熟悉一些面向?qū)ο蟮某绦蛘Z言,比如C++。要能了解用C實(shí)現(xiàn)面向?qū)ο蟮姆椒ā槭裁茨??一是面向?qū)ο笪覀€(gè)人覺得在寫程序方面模塊化等要好一些,特別是控制領(lǐng)域,我看過一些高手的PLC程序也是采用的面向?qū)ο蟮乃枷霕?gòu)件模塊的,從那以后我的單片機(jī)程序才開始這樣靠攏,也確實(shí)發(fā)現(xiàn)了一些好處。比如對(duì)那些c流程中多次要操作的資源,有時(shí)候會(huì)出現(xiàn)一些共用操作的位置錯(cuò)誤。二是TI的例程中有好多地方用到了這些思想,要明白這些東西,你才能更容易理解那些例程。這一部分我推薦一本書《DSP C2000程序員高手進(jìn)階》。
7.數(shù)據(jù)結(jié)構(gòu)知識(shí),DSP要做運(yùn)算,肯定要涉及到一些好的數(shù)據(jù)結(jié)構(gòu)。才能更好的優(yōu)化算法。
8.matlab的運(yùn)用。matlab提供了強(qiáng)大的數(shù)學(xué)運(yùn)算能力,還能對(duì)DSP結(jié)合CCS進(jìn)行仿真??梢园殉绦騿T從繁瑣的底層編程中解放出來。個(gè)人感覺matlab給編程思想和底層程序提供了一個(gè)連接,一個(gè)平臺(tái)。
c語言相關(guān)文章:c語言教程
c++相關(guān)文章:c++教程
評(píng)論