第三讲-DSP-C语言程序设计基础_第1页
第三讲-DSP-C语言程序设计基础_第2页
第三讲-DSP-C语言程序设计基础_第3页
第三讲-DSP-C语言程序设计基础_第4页
第三讲-DSP-C语言程序设计基础_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序设计语言介绍从机器语言开始,程序设计语言经历了一个发展过程,如:机器语言、汇编语言、高级语言(C、C++等)。机器语言是由二进制代码“0”和“1”组成的,能够被硬件(计算机、单片机、DSP等)直接识别和执行的语言。最终烧写到硬件的就是机器语言。用机器语言编写程序难学、难记、难懂、难用,很少使用。DSPC语言程序设计基础汇编语言是一种符号化语言,它使用助记符代替二进制指令。汇编语言比机器语言易学易懂,它的优点是效率高、占用空间少、实时性高,但由于依赖具体硬件,因此可移植性差,编写大程序时调试复杂。C语言是一门高级语言,易学易用。它支持自上而下的结构化程序设计,可大大缩短应用程序的开发周期,使软件的可读性增加,编写效率明显提高,可移植性好。因此C语言已成为目前最流行的单片机、DSP开发语言。CCS软件简介

TexasInstruments公司的DSP集成开发环境CCS(CodeComposerStudio),是一个基于Windows的DSP开发平台,可以加速和提高程序员创建和测试实时嵌入式信号处理系统的开发过程,从而缩短将产品推向市场的时间。CCS主要包含了以下功能:1、集成可视化代码编辑界面,可直接编写C、汇编、.H文件、.cmd文件等。2、集成代码生成工具,包括汇编器、优化C编译器、连接器等。3、基本调试工具,如装入执行代码(.out文件),查看寄存器、存储器、反汇编、变量窗口等,支持C源码级调试。等等。CCS软件环境界面一个完整的工程由哪些文件构成包括:1)头文件.h文件

定义了DSP内部寄存器的数据结构,一般不需要修改,如果需要定义在整个工程内都具有作用域的全局变量时,可以将这些变量定义在头文件中。

2)源文件.c

工程的主要文件,软件开发时编写的代码都是在源文件内。

3).lib文件

库文件4).cmd文件

用来分配存储空间的。数值运算开设三个整型量x,y,z赋初值:x=1,y=2计算x+y输出结果到z循环编写以C语言为基础的简单DSP程序先新建源程序窗口,如图所示。输入源程序:intx,y,z;main(){x=1;y=2;while(1){z=x+y;}}

标识符用来定义常量、变量、函数、标号以及用户定义对象的名称。标识符由数字和字母组成,但第一个字符必须是字母或下划线。C语言中大、小写字母被认为是不同符号。例如:at、AT

关键字是一种已经被编译器定义过的标识符,具有特定的含义,因此也称作保留字,意义是不可以再被用户定义。下表列出了标准关键字。数据类型F281x支持的基本数据类型数据类型字长/b最小值最大值Signedchar16-3276832767Char,unsignedchar16065535Short,signedshort16-3276832767Unsignedshort16065535Int,signedint16-3276832767Unsignedint16065535Long,signedlong32-21474836482147483647Unsignedlong3204294967295Float321.17e-383.4e+38Double321.17e-383.4e+38先新建源程序窗口,如图所示。输入源程序:intx,y,z;main(){x=1;y=2;while(1){z=x+y;}}保存源程序为CProgram.cmain函数main函数是一个比较特殊的函数。每个单片机、DSPC程序都必须有一个名为main的函数,程序从这里开始执行。main函数另一个独特的属性是,它有两种正式的原型且经常会使用一些其它形式。两种标准型如下:intmain(void);intmain(intarge,char*argv[]);整型返回值的作用是向系统返回一个状态码,一般应用在复杂程序之中,单一程序中一般采用如下结构:voidmain(void){局部变量定义;函数体语句;}基本语句条件语句循环语句循环语句while循环语句

格式:

while(表达式)语句;

do-while循环语句格式:do语句while(表达式);for循环语句

格式:

for(循环变量赋初值;循环条件;循环变量增值)语句;if语句单分支if语句:

格式:if(条件表达式)语句;双分支if语句:

格式:if(条件表达式)语句1; else 语句2

;多分支if语句:格式:if(条件表达式1)语句1;

elseif(条件表达式2)语句2;…elseif(条件表达式n)语句n;

else语句n+1;结构体是将不同类型的数据按一定顺序存放在一起的数据结构。定义在声明类型的时候同时定义变量,形式为:struct结构体名{成员表列}变量名表列;直接定义结构体类型变量,形式为:struct{成员表列}变量名表列;引用:结构体变量名.成员名

例:定义一个结构体名为student的结构体,有两个变量为student1和student2,对变量student1的成员no赋值25,并将student1的成员no赋值给student2的成员no,如下:structstudent

{intno;/*学号*/

charname[8];/*姓名*/

charsex;/*性别*/

intage;/*年龄*/

floatscore;/*C成绩*/

}student1,student2;student1.no=25;student2.no=Student1.no;指针变量:一种特殊的变量,它在内存中保存的不是一般的数值,而是另一个变量的地址。间接存取方式:通过指针来实现数据访问的方法。定义:数据类型*指针变量名;取地址运算符“&”,引用形式:&变量。取内容运算符“*”,引用形式:*指针变量。externintSINTABLE[200];intlongVA[200],VB[200],VC[200];int*pia;int*pib;int*pic;pia=&SINTABLE[0];pib=&SINTABLE[133];pic=&SINTABLE[66];VA[i]=*pia/120;

VB[i]=*pib/218;

VC[i]=*pic/218;在CCS中调试程序的一般步骤打开文件夹内一个工程(系统自带的程序)。点击编译工具栏的rebuildall按钮,开始编译工程下载编译结果到DSP开发板。执行程序。在CCS中调试程序的一般步骤如何设置断点单步调试

Source-singlestep

就是按一下,走一步的模式。

Source-stepover

这个按钮是指在单步执行时,如果在函数内遇到子函数,则不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。

Source-stepout

当单步执行到子函数内时,用stepout就可以执行完子函数余下部分,并返回到上一层函数。如何使用watchwind

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论