DSP程序注释

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DSP程序注释

2006-08-18 18:55

DSP5402程序注释

2004年3月30日作者:浙江大学微系统公司

实验一

关于本程序的整体说明:

本程序的目的是利用5402进行处理,在屏幕上显示“hello,world!”其中使用了 #ifdef FILEIO 来选择是否输入字符串。

流程图如下:

定义了 FILEIO 么?

|

/ \

Y / \ N

输出“hello,world!” 输出“hello,world!”

| |

要求输入字符串 OVER

|

输出读入字符串大小

|

OVER

/* ======= hello.h ========== 头函数

struct PARMS { /*头函数中仅定义了一个结构体 PARMS*/

int Beta;

int EchoPower;

int ErrorPower;

int Ratio;

struct PARMS *Link;

};

======================= */

/* ======== hello.c ======== */

#include

#include "hello.h"

#define BUFSIZE 30 /*定义BUFSIZE(缓冲空间)为30*/

struct PARMS str = /*全局变量是一个结构体 str*/

{

2934, /*Beta = 2934*/

9432, /*EchoPower = 9432*/

213, /*ErrorPower = 213*/

9432, /*Ratio = 9432*/

&str /*Link 是指向str自己的指针。本程序中并未使用*/

}; /*PARAMS是在hello.h中定义的结构类型*/

/*

* ======== main ======== 主函数

*/

void main()

{

#ifdef FILEIO /*第一次运行程序时,FILEIO没有定义,此处不执行,只执行puts()一句。*/

int i;

char scanStr[BUFSIZE]; /*输入字符存入scanStr数组中*/

char fileStr[BUFSIZE]; /*存储从文件中读出的内容*/

size_t readSize; /* size_t 是在stdio.h中定义的无符号整型,用来存储输入字符数目*/

FILE fptr; /*FILE是在stdio.h中定义的一结构变量,用来记录控制输入输出流的所有信息,fprt是文件指针*/

#endif

/* 向标准输出设备写一字符串*/

puts("hello world!\n");

#ifdef FILEIO

/*清除字符型数组*/

for (i = 0; i < BUFSIZE; i++) {

scanStr[i] = 0 /* 预置的语法错误(少一个“;”)*/

fileStr[i] = 0;

}

/* 从输入设备读入一字符串,并存入scanStr数组中 */

scanf("%s", scanStr);

/*在主机上打开一文件,然后向文件写入刚才的字符串 */

fptr = fopen("file.txt", "w");

fprintf(fptr, "%s", scanStr);

fclose(fptr);

/* 在主机打开一文件,然后从中读入字符串 */

fptr = fopen("file.txt", "r");

fseek(fptr, 0L, SEEK_SET); /*SEEK_SET是stdio.h中通过宏定义定义的常量0x0000*/

/*此句如果没有,运行结果不改变,此处为了保证程序的规范(修改方便)*/

readSize = fread(fileStr, sizeof(char), BUFSIZE, fptr); /*获取文件大小,即输入字符数目*/ printf("Read a %d byte char array: %s \n", readSize, fileStr); /*输出“Read a ??(数字) byte char array: ??????(字符串)”*/

fclose(fptr); /*关闭文件*/

#endif

}

实验二

/* ======== hello.c ======== */

/* DSP/BIOS 头文件*/

#include

#include

/* 被配置工具创建的对象*/

extern far LOG_Obj trace;

/* ======== main ======== */

Void main()

{

LOG_printf(&trace, "hello world!"); /*本程序简单,仅有一句话意思很明了了。*/

/* 返回后进入DSP/BIOS闲置循环 */

return;

}

实验三

/* ======== volume.h ======== */

#ifndef __VOLUME_H

#define __VOLUME_H#ifndef TRUE

#define TRUE 1

#endif

#define BUFSIZE 0x64

#define FRAMESPERBUFFER 10

#define MINGAIN 1

#define MAXGAIN 10

#define MINCONTROL 0

#define MAXCONTROL 19

#define BASELOAD 1

#endif /* __VOLUME_H */

/*一些宏定义,定义了一些常量*/

#include

#include "volume.h"

/*定义全局变量 */

int inp_buffer[BUFSIZE]; /* 设置输入输出数据缓冲区 inp_buffer 和 out_buffer 大小为 0x64*/ int out_buffer[BUFSIZE];

int gain = MINGAIN; /* 增益设置,MINGAIN代表1,在volume.h中定义的 */

相关文档
最新文档