您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > 一个简单的DSP-C语言例子
一个简单的dspC语言例子开发平台:CCS集成开发环境通过这个简单的例子,可以大致了解用C语言开发dsp程序的原理。程序要求:用C语言编写产生正弦调幅波信号的源程序;正弦调幅波的公式在离散域中的表示:y(n)=(1+M*sin(2*PI*fb/fs*n))*sin(2*PI*fa/fs*n);编写文件1.sin_am.c#includestdio.h#includemath.h#defineTRUE1#definepi3.1415926536inty[500],i;floatM;voidmain(){puts(amplitudemodulationsinewaveexamplestarted.\n);M=50;for(i=0;i500;i++)y[i]=0;while(TRUE){for(i=0;i500;i++)y[i]=(int)((1+M/100*sin(i*2*pi*20/4000))*sin(i*2*pi*200/4000)*16384);puts(programend);}}2.sin_am_v.asm(resetvectorfile).titlesin_am_v.asm.sect.vectors.ref_c_int00RESET:B_c_int00.end3.sin_am.cmdsin_am.objsin_am_v.obj-msin_am.map-osin_am.outMEMORY{PAGE0:EPROG:origin=0x1400,len=0x7c00VECT:origin=0xff80,len=0x80PAGE1:USERREGS:origin=0x60,len=0x1cIDATA:origin=0x80,len=0x3000}SECTIONS{.vectors:VECTPAGE0.text:EPROGPAGE0.cinit:EPROGPAGE0.bss:IDATAPAGE1.const:IDATAPAGE1.switch:IDATAPAGE1.system:IDATAPAGE1.stack:IDATAPAGE1}*.cmd文件说明:链接命令文件是实现对段的存储空间位置的定位,C语言程序中常用已初始化和未初始化段如下:已初始化段包括:.init存放C程序中的变量的初值和常量,放在ROM和RAM中均可,一般属于PAGE0.const存放C程序中的字符常量、浮点常量和用const声明的常量,放在ROM和RAM中均可,一般属于PAGE1.text存放C程序代码,放在ROM和RAM中均可,一般属于PAGE0.switch存放C程序中的语句的跳针表,放在ROM和RAM中均可,一般属于PAGE0未初始化段包括:.bss为C程序中的全局和静态变量保留存储空间,一般存放于RAM中,属于PAGE1.stack为C程序系统堆栈保留存储空间,用于保存返回地址、函数间的参数传递、存储局部变量和保存中间结果,一般存放于RAM中,属于PAGE1.sysmem用于C程序中malloc、calloc和realloc函数动态分配存储空间,一般存放于RAM中,属于PAGE14.vary_M.gelmenuitemMyfunctionsslidervary_M(0,100,10,1,Amount_of_modulation){M=Amount_of_modulation;}该文件用于调试的时候可随意改变变量M的值,该文件通过file-loadGELFile添加到工程中,调试的时候可选择GEL-MyFunctions-vary_M来打开vary_M滑动条组件。5.rts.lib此为C语言的标准支持库,添加路径\ti\c5400\cgtools\lib\rts.lib
本文标题:一个简单的DSP-C语言例子
链接地址:https://www.777doc.com/doc-6193245 .html