|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
我自己寫的C語言FIR濾波程序,在CCS運行錯誤,TC里運行是對的 |
| 作者:star316 欄目:DSP技術 |
#include "stdio.h" void main() ;在CCS里運行不對,但是在TC運行正常,怎么回事??? { int a[5]={1,2,3,4,0}; int b[5]={0};int *p,*buffer; int c[6]={9,8,7,6,5,4}; int out[6]={0}; int i,j,k; int s=0; p=c; buffer=out; for (i=0;i<6;i++) { for (k=3;k>=0;k--) b[k+1]=b[k]; b[0]=*p++; s=0; for (j=0;j<4;j++) //CCS里面下面兩行出問題 s=a[j]*b[j]; *buffer++=s; } } |
| 2樓: | >>參與討論 |
| 作者: zgl7903 于 2006/8/17 21:21:00 發(fā)布:
個人見解 CCS里還要考慮內(nèi)存分配的問題,可能是cmd文件的問題,可以使用軟仿真調(diào)試看看 |
|
| 3樓: | >>參與討論 |
| 作者: star316 于 2006/8/18 10:30:00 發(fā)布:
? 改了CMD還是有問題啊? 郁悶 ,大家?guī)拖胂朕k法啊?? 我把 for (j=0;j<4;j++) s+=a[j]*b[j]; 改成 s=a[0]*b[0]+a[1]*b[1]+a[2]*b[2]; 沒問題 但是改成 s=a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3] ;S的值就老出錯 CMD 配置 MEMORY { PAGE 0: EPROG: origin = 0x200, len = 0x3000 VECT: origin = 0x0080, len = 0x80 PAGE 1: IDATA: origin = 0x300, len = 0x3000 } SECTIONS { .vectors: {} > VECT PAGE 0 .text:{}> EPROG PAGE 0 .cinit: {} > EPROG PAGE 0 .data:{}> IDATA PAGE 1 .bss:{}> IDATA PAGE 1 .const:{}> IDATA PAGE 1 |
|
| 4樓: | >>參與討論 |
| 作者: amsion 于 2006/8/20 18:11:00 發(fā)布:
試試 數(shù)組a和b都是int 的,把s改成unsigned int試試 不行把內(nèi)存開大點 |
|
| 5樓: | >>參與討論 |
| 作者: lltmhy2005 于 2006/8/22 21:40:00 發(fā)布:
試試 將指針p和buffer改成數(shù)組試試 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |