當前位置:首頁 » 編程語言 » dsp實驗c語言

dsp實驗c語言

發布時間: 2022-08-09 10:02:53

『壹』 利用c語言編程,使DSP28335的cpu定時器1在主頻為100兆赫茲情況下每隔2秒觸發定時器中斷

咨詢記錄 · 回答於2021-09-26

『貳』 DSP怎樣用C語言寫程序啊

TI有C語言的常式的,是一個安裝文件,安裝之後才會出現那個文件夾。文件夾裡面是晶元上外設的使用方法的程序,很簡單,學過ANCIC的人能夠看懂。

『叄』 運用C語言對DSP編程的問題

不同的廠商提供了不同的庫文件包,比如TI給64x系列另外開發了圖像處理和數字信號處理庫文件,AD公司等都有自己的文件包,dsp的c語言先把基本的語法學好就可以了,包括文件操作部分,完了結合不同型號的DSP再學習。英文資料不少,中文資料有但是好多是騙人的,最好看看老外寫的東西。

『肆』 新手學習DSP的C語言編程,請高手指點:

C6713沒用過,我用過TMS320F2812的晶元。建議你先熟悉一下CCS開發環境,然後再認真的看代碼。TI的DSP,封裝了很多的頭文件,沒有必要全部都要看看頭文件里是怎麼寫的。最好先把整個程序的運行流程看懂。然後結合晶元手冊,看看每一步怎麼做的,是如何通過配置寄存器、如何使用外設等等。關鍵還是看晶元手冊。等熟悉了之後,再深入看頭文件啥的。

『伍』 DSP實驗 讓我用C語言編寫程序完成計算sin(2.3π)+cos(1.7π)的值

何編程語言是難學的,真正的工作中有時候學習一個新語法只有不到一周的時間,語法而言都一樣,如果還停留在語法層學習的上面,編寫程序的道路你就連門都沒有入.
但是後續的 數據結構和演算法 稍微要看下書了,開始接觸演算法了,著和語法沒有關系,之所以要先學好語法是為了能看懂用語法描敘的演算法,學通了用任何語言來描敘都一樣,到了這個階段的就相當於抬起一條腿准備跨到起跑線一樣,但還是沒有入門.
編譯原理 和 圖靈機 再到 自己編寫微型的操作系統 就需要有個老師來引導了
我學軟體開發就是從C開始一路由 ->國家資料庫3級-> 程序員->高級程序員->系統分析師考上去然後通過近9年的工作,體會是如果你能夠在市面上或者學校里精確買到或者學到的一門知識往往就表示你的層次還是不能讓你得興應手的在行業中創造你能想像的東西,真正的解決問題需要很多本書再加上80%以上的自己創造和理解才能做出來的時候才算真正懂得了你的工作.
一個程序員需要這樣的經歷
樓上的估計最高學歷不過是理工科的一個大學生,應該還沒畢業,沒有在計算機行業呆過,在做晶元處理的工作中比如DSP晶元設計需要你天天接觸演算法,但是這和C語言本身有關系嗎?傅立葉演算法是數學家傅立葉設計出來的數學模型但是不適合做在計算機軟體裡面(運算量太大了比如離散的傅立葉變換等同於用序列Y(n×1列矢量)乘以n×n矩陣Fn,需要n×n次乘法。若n=1024,則是104,8576次乘法運算。什麼概念呢?如果你選用的CPU單周期指令為25ns, 單周期也可以完成一次乘法運算,那麼要計算1024點的傅立葉變換則需要26.2144ms,這還不包括加法或其它運算),我給出C演算法如下:
void kkfft(double pr[], double pi[], int n, int k, double fr[], double fi[], int l, int il)
{
int it,m,is,i,j,nv,l0;
double p,q,s,vr,vi,poddr,poddi;

for (it=0; it<=n-1; it++)
{
m = it;
is = 0;
for(i=0; i<=k-1; i++)
{
j = m/2;
is = 2*is+(m-2*j);
m = j;
}
fr[it] = pr[is];
fi[it] = pi[is];
}
//----------------------------
pr[0] = 1.0;
pi[0] = 0.0;
p = 6.283185306/(1.0*n);
pr[1] = cos(p);
pi[1] = -sin(p);

if (l!=0)
pi[1]=-pi[1];

for (i=2; i<=n-1; i++)
{
p = pr[i-1]*pr[1];
q = pi[i-1]*pi[1];
s = (pr[i-1]+pi[i-1])*(pr[1]+pi[1]);
pr[i] = p-q;
pi[i] = s-p-q;
}

for (it=0; it<=n-2; it=it+2)
{
vr = fr[it];
vi = fi[it];
fr[it] = vr+fr[it+1];
fi[it] = vi+fi[it+1];
fr[it+1] = vr-fr[it+1];
fi[it+1] = vi-fi[it+1];
}
m = n/2;
nv = 2;

for (l0=k-2; l0>=0; l0--)
{
m = m/2;
nv = 2*nv;
for(it=0; it<=(m-1)*nv; it=it+nv)
for (j=0; j<=(nv/2)-1; j++)
{
p = pr[m*j]*fr[it+j+nv/2];
q = pi[m*j]*fi[it+j+nv/2];
s = pr[m*j]+pi[m*j];
s = s*(fr[it+j+nv/2]+fi[it+j+nv/2]);
poddr = p-q;
poddi = s-p-q;
fr[it+j+nv/2] = fr[it+j]-poddr;
fi[it+j+nv/2] = fi[it+j]-poddi;
fr[it+j] = fr[it+j]+poddr;
fi[it+j] = fi[it+j]+poddi;
}
}

if(l!=0)
for(i=0; i<=n-1; i++)
{
fr[i] = fr[i]/(1.0*n);
fi[i] = fi[i]/(1.0*n);
}

if(il!=0)
for(i=0; i<=n-1; i++)
{
pr[i] = sqrt(fr[i]*fr[i]+fi[i]*fi[i]);
if(fabs(fr[i])<0.000001*fabs(fi[i]))
{
if ((fi[i]*fr[i])>0)
pi[i] = 90.0;
else
pi[i] = -90.0;
}
else
pi[i] = atan(fi[i]/fr[i])*360.0/6.283185306;
}

return;
}
另外,虛機團上產品團購,超級便宜

『陸』 DSP C語言問題

ioport是ti ccs定的關鍵字,被聲明為 ioport的定義。
PORT10 是一個io口; 該函數的意思是,port10 輸出a;和從port10中讀入給b;
希望你滿意!!

『柒』 c語言編程PSK和FSK調制解調.DSP實驗用CCS3.3軟體編程。 DSP實驗求c語言程序。求各

中海油(00883-HK)第3季收入增64%至89億人民幣鳳凰網 2010-10-28 16:30:00

『捌』 關於DSP的 C語言編程

這個還得結合具體點的解壓演算法來理解啊 只看這樣的根據段落碼來分別處理 沒看演算法真心看不懂具體的為什麼這么操作 肯定是有演算法依據的 結合文檔看吧

『玖』 如何利用C和匯編語言混合編程實現DSP軟體設計

其中絕大部分功能不屬於標准C語言,因此被稱為C語言擴展。下面列出的是其中有益於DSP編程的一些功能。 內聯匯編(inline assembly):該功能可以幫助編程人員將匯編指令插入C代碼。 硬體寄存器綁定C變數:該功能經常與匯編指令內聯功能結合在一起,幫助內聯匯編代碼訪問C語言級的變數(見圖3)。圖3:結合內聯匯編和硬體寄存器綁定功能的代碼示例。 存儲區屬性:該功能允許編程人員將上述變數和函數分配到獨特的用戶定義存儲區,可以讓編程人員將C語言級單元分配到實際的存儲器位置,這對DSP應用來說非常關鍵。 用戶定義的調用約定:在某些情況下,匯編函數可以通過用戶定義的調用約定取得更好的優化效果。 編譯器內部函數(Compiler intrinsics):是指能夠使用專門的宏或函數調用觸發的內建編譯器功能總稱。沒有內部函數支持的編譯器必須調用用戶定義的函數,這樣做可能會令用戶定義函數可能會在一個環路里產生函數調用和返回(見圖4),從而產生巨大的開銷。圖4:ETSI的mult_r(乘法和取整)基本操作的C代碼實現(左)和對應的由CEVA-TeakLite-III編譯器生成的匯編代碼(右)。 匯編內部函數:是將匯編代碼內聯進C代碼的一種先進方法,下文將有詳細介紹。把匯編指令當作C語句一樣來編寫內聯匯編功能具有顯著的缺點。它會破壞各種編譯器優化操作,因為編譯器不了解內聯代碼的內容,會使用最壞假設;以及它可能迫使編程人員處理底層問題,如寄存器分配和指令調度。匯編內部函數可以幫助編程人員實現內聯匯編代碼,並且不存在這些缺點。從編程人員的角度看,匯編內部函數就像是C語言宏或函數。它們接收C語言變數,返回C語言輸出結果,同時表現為單個匯編指令。由於涉及該功能的所有代碼都在C語言等級,因此編程人員不必擔心寄存器分配、指令調度和其它底層問題。匯編內部函數不僅不會妨礙編譯器優化操作,還會參與優化過程,就像它們是編譯器正常產生的匯編指令一樣。這些特徵使得匯編內部函數的功能非常強大。利用匯編內部函數,編程人員可以從編譯器不可能產生的獨特匯編指令中受益。例如,CEVA-X1641的bitrev(位反向)指令就是為FFT等演算法定製的。由於編譯器不太可能把一個程序看作一個FFT並使用bitrev指令,因此編程人員可以完全把bitrev匯編內部功能嵌入到C代碼中。結合對應用的透徹了解,編程人員還可以使用C應用程序的性能決定段里的精確序列匯編內部函數,從而能夠確保編譯器生成的代碼效率就像手工編寫的一樣高。圖5是CEVA-X1641編譯器與匯編內部函數一起使用的例子。匯編內部函數還受益於由CEVA-X1641編譯器處理的問題所決定的機器,如寄存器分配、指令調度和硬體單元分配。圖5:CEVA-X1641編譯器支持的匯編內部函數的使用。 調試混合代碼的應用程序匯編代碼的調試需要對延遲和存儲器對齊限制等架構和機器級問題有深入的了解。只是簡單地把C代碼和匯編代碼放在一起會使事情更麻煩,因為編程人員現在還必須調試C代碼和匯編代碼之間的連接。調試混合代碼應用程序的第一步就是分隔問題。假設保持匯編代碼的C語言實現不變以及C語言實現方案工作正常,那麼將匯編函數轉換成C語言實現並重新測試應用程序就相對比較容易。為了迅速檢測出問題,編程人員可以在每一步把受懷疑函數的一半轉換為相應的C語言實現方案。一旦有問題的匯編函數被確定,它就應該同時作為獨立的匯編問題和C與匯編的連接問題加以分析。調試獨立的匯編問題對匯編編程人員來說十分簡單明了,但C與匯編的連接問題就有點麻煩。在考慮匯編函數本身時,C與匯編的連接問題是不可見的,這與獨立的匯編問題有所不同。為了找出這些問題,編程人員必須檢查編譯器的約定,比如調用約定和寄存器使用約定。編程人員還必須檢查編譯器假設,比如匯編指令的行蹤。為了節省調試時間,編程人員應該在第一次實現匯編函數時驗證是否遵循所有的編譯器約定和假設。

『拾』 怎麼學好DSP 的c語言編程

匯編忽略它 做介面或病毒可以考慮下下
VB太低級,不過可以做實實在在的程序
C語言是中級語言,通過C可以掌握面向過程編程的精髓,前提是你得學得下去才行。
java面向對象,現在主流。入門不難。
個人建議:C --> C++ --> java

熱點內容
做解壓橡皮 發布:2025-01-21 15:03:06 瀏覽:990
雙系統win訪問mac 發布:2025-01-21 14:53:52 瀏覽:484
安卓車機系統如何安裝carplay 發布:2025-01-21 14:52:24 瀏覽:589
sql操作手冊 發布:2025-01-21 14:46:08 瀏覽:311
青橙腳本 發布:2025-01-21 14:44:05 瀏覽:218
東風本田crv時尚版是什麼配置 發布:2025-01-21 14:20:04 瀏覽:219
安卓如何多開軟體每個機型不一樣 發布:2025-01-21 14:15:29 瀏覽:501
iis配置php5 發布:2025-01-21 14:08:19 瀏覽:274
凱叔講故事為什麼聯系不到伺服器 發布:2025-01-21 13:56:50 瀏覽:387
linux鏡像文件下載 發布:2025-01-21 13:34:36 瀏覽:218