<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 汽車電子 > 學習方法與實踐 > DSP C語言基礎要點

          DSP C語言基礎要點

          ——
          作者: 時間:2006-12-15 來源: 收藏
          年初到現(xiàn)在,接觸已經(jīng)半年了,由于公司沒有人指導,做了這么久都沒出什么大的成果,也走了不少的彎路。以前做單片機用C編過一些程序,個人覺得還可以?,F(xiàn)在看來也只是在吃以前在學校里面一些C語言皮毛的老本,加上一些網(wǎng)上說的所謂的技巧什么的結合以前匯編的經(jīng)驗做了一些針對處理器的優(yōu)化而已,實在“雞肋”得很。很多東西都沒有接觸應用到。
             直到接觸到,由于使用TI的庫文件例程的緣故,對結構體,聯(lián)合體等有了進一步的了解,也對一個工程變量的使用有了更深的認識。下面對談談對 C剛入門者的一些建議:
             1.DSP程序的定位配置---CMD文件,要求熟悉DSP的存儲器結構。這一部分對接觸硬件多一些的新手很容易,其實也就是配置一般的C語言編譯器的一部分,比如AVR單片機的頭文件,cpu選擇等在DSP中就是這一部分完成。另外還要注意TI例程中對加密位,看門狗的處理。

             2.當然是C語言的一些基礎了:運算符,優(yōu)先級,幾個基本流程控制語句。這些無論是什么C平臺運行都一樣的,基礎中的基礎。但是也很容易因為這些基礎的簡單的問題,導致一些很郁悶的結果。也是因為對這些基礎的概念的理解深入程度影響你的軟件思想。

             3.結構體,聯(lián)合體,位域的運用,最好能有一個對比,了解運用的場合及優(yōu)缺點。有了這些基礎,就很容易明白TI例程的一些基本結構。

             4.變量的作用域以及生存期,這樣才能從最初的單個的C文件過渡到C工程,才能更好地了解模塊化編程地基本要素,實現(xiàn)基礎。

             5.Q格式等的應用,因為大多數(shù)DSP都是定點的,而做運算處理的很多時候都不可避免要用到浮點數(shù)。使用Q格式才能更好的發(fā)揮dsp高速的特性。所以有人說“不會使用Q格式的DSP程序員不是優(yōu)秀的程序員”!

             6.另外我覺得如果用DSP參與控制的話,最好能熟悉一些面向對象的程序語言,比如C++。要能了解用C實現(xiàn)面向對象的方法。為什么呢?一是面向對象我個人覺得在寫程序方面模塊化等要好一些,特別是控制領域,我看過一些高手的PLC程序也是采用的面向對象的思想構件模塊的,從那以后我的單片機程序才開始這樣靠攏,也確實發(fā)現(xiàn)了一些好處。比如對那些c流程中多次要操作的資源,有時候會出現(xiàn)一些共用操作的位置錯誤。二是TI的例程中有好多地方用到了這些思想,要明白這些東西,你才能更容易理解那些例程。這一部分我推薦一本書《DSP C2000程序員高手進階》。

            7.數(shù)據(jù)結構知識,DSP要做運算,肯定要涉及到一些好的數(shù)據(jù)結構。才能更好的優(yōu)化算法。

            8.matlab的運用。matlab提供了強大的數(shù)學運算能力,還能對DSP結合CCS進行仿真??梢园殉绦騿T從繁瑣的底層編程中解放出來。個人感覺matlab給編程思想和底層程序提供了一個連接,一個平臺。


          c語言相關文章:c語言教程


          c++相關文章:c++教程




          關鍵詞: DSP

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();