在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 1584|回复: 1

[原创] 谁会dsp和ccs帮个忙好吗??

[复制链接]
发表于 2009-5-24 11:51:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 cjsb37 于 2013-4-29 09:26 编辑

谁会dsp和ccs帮个忙好吗??                                                                                                                                                                                                                                                                                                                    为什么我的c程序在turboc中结果正确  在ccs中就不行了呢??
这是c程序 下面还有cmd文件
要怎么修改一下 才对呢??
最好能给我一个能调试成功的工程文件

#include "math.h"


struct compx
{ double real;
  double imag;
} compx ;


struct compx EE(struct compx b1,struct compx b2)
{
struct compx b3;
b3.real=b1.real*b2.real-b1.imag*b2.imag;
b3.imag=b1.real*b2.imag+b1.imag*b2.real;
return(b3);
}

void FFT(struct compx *xin,int N)
{
int f,m,LH,nm,i,k,j,L;
double p , ps ;
int le,B,ip;
float pi;
struct compx w,t;
LH=N/2;
f=N;
for(m=1;(f=f/2)!=1;m++){;}
nm=N-2;
j=N/2;

for(i=1;i<=nm;i++)
{
if(i<j){t=xin[j];xin[j]=xin;xin=t;}
k=LH;
while(j>=k){j=j-k;k=k/2;}
j=j+k;
}

{
for(L=1;L<=m;L++)
{
le=pow(2,L);
B=le/2;
pi=3.14159;
for(j=0;j<=B-1;j++)
  {
   p=pow(2,m-L)*j;
   ps=2*pi/N*p;
   w.real=cos(ps);
   w.imag=-sin(ps);
   for(i=j;i<=N-1;i=i+le)
     {
      ip=i+B;
      t=EE(xin[ip],w);
      xin[ip].real=xin.real-t.real;
      xin[ip].imag=xin.imag-t.imag;
      xin.real=xin.real+t.real;
      xin.imag=xin.imag+t.imag;
     }
  }
}
}
return ;
}




#include <math.h>
#include <stdlib.h>
float  result[256];
struct  compx s[256];
int   Num=8;
const float pp=3.14159;

main()
{

int i;
for(i=0;i<8;i++){
s.real=sin(pp*i/4);
s.imag=0;
}

FFT(s,Num);

for(i=0;i<8;i++)
{
printf("%.4f",s.real);
printf("+%.4fj\n",s.imag);
result=sqrt(pow(s.real,2)+pow(s.imag,2));
}
for(i=0;i<8;i++)
printf("%.4f\n",result);
}
/* COMMAND FILE FOR LINKING PROGRAMS TO RUN ON LEAD SIMULATOR */



-c

-x

-stack 100

-heap  100

/* -l rts500.lib */



MEMORY

{

   PAGE 0:

      PROG: origin = 0x1400, length = 0xFF80

   PAGE 1:

      DATA: origin = 0x1400, length = 0xFF80  /*mmr and internal dual access scratch, RAM */

}



SECTIONS

{

   .text   PAGE 0

   .cinit  PAGE 0

   .switch PAGE 0



   .bss    PAGE 1

   .const  PAGE 1

   .sysmem PAGE 1

   .stack  PAGE 1

   .cio    PAGE 1
}









发表于 2009-5-24 12:53:27 | 显示全部楼层

怎么没人回答
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-15 02:01 , Processed in 0.018534 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表