下载此文档

DSP的C语言程序设计.doc


文档分类:IT计算机 | 页数:约22页 举报非法文档有奖
1/22
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/22 下载此文档
文档列表 文档介绍
DSPC语言程序设计
为什么要使用C语言对DSP编程?
C语言是高档语言,易学易用。
C语言编程效率极高,易于调试。
C语言可移植性好。
C程序构造及构成
完整C程序是由一种主函数main()和其他子函数构成,每一种子函数完毕特定功能。DSPC语言入口地址固定为c_int00,。C语言支持丰富数据类型和数据构造,在ccs集成开发环境中,为C语言提供了完整支持硬件底层函数库和支持算法DSP函数库。在使用C语言库函数时,。下面是普通C语言程序构造和构成框架。
普通C程序构造如下:

// #include包括语句定义程序中使用函数库相应. h头文献
#include “函数库1”
#include <函数库2>
#include “函数库3”

// #define 定义程序中所有宏替代
#define 宏替代名 替代内容

//本程序内部函数声明,这些函数普通放在main()函数背面
函数类型 函数名(函数参数列表);

//中断服务程序(函数)声明
interrupt void function_name (void);
//全局变量声明
变量类型 全局变量名;

//主函数main()
void main(void)
{
//局部变量定义

for(;;)
{
//调用子函数来解决数据

//完毕数据输入和输出功能

}
}
//本程序内部函数
函数类型 函数名(函数参数列表)
{
//本函数局部变量定义

//本函数中算法

}

//程序结束
数据类型
C语言支持数据类型很丰富,涉及字符型、短整型、整型、长整型、枚举型、浮点型、双精度浮点型、长双精度浮点型、数据指针及程序指针,要注意是由于54x DSP是16位解决器,它字符型数据长度是16位,此外注意比较各种数据类型长度、内容以及所示值范畴大小,可以发现短整型和整型数据类型是一致,浮点型、双精度浮点型和长双精度浮点型是一致,这是由于54x DSPC语言编译器为了适应不同编程****惯而这样定义,因此实际使用中可以将惯用数据类型进行恰当简化,即将短整型、整型统一为整型(int),将各种浮点类型统一为浮点型(float)。
此外,为了简化书写,顾客可以自定义数据类型,:
typedef float f32; //浮点型
typedef long s32; //有符号长整型
typedef int s16; //有符号整型
typedef unsigned char u8; //无符号字符型
typedef unsigned int u16; //无符号整型
typedef unsigned long u32; //无符号长整型

头文献中存储器映射寄存器(MMR)定义和访问
对于DSP软件设计,一方面必要明了DSP可用片内资源及其访问办法,涉及DSP片上存储器映射寄存器、程序存储器、数据存储器、I/O空间寻址范畴、寻址方式,片上外设寄存器定义、工作流程以及编程控制办法。
54X ,这些头文献位于 c:\ti\c5400\dsk5402\include目录下,在这两个文献中定义了C54x DSP中涉及到所有寄存器及其所包括控制和状态比特,这些定义是使用宏替代定义#define进行,例如:串口控制寄存器中接受移位寄存器满标志位比特域定义:
# define RSRFULL 13 //RSRFULL标志比特位于寄存器bit13位置
#define RSRFULL_SZ 1 //此标志长度为1个比特
咱们只需要理解这些寄存器定义,在编程过程中直接使用而不需要自己来重新定义。
,。注意#define语句中“\”是续行符。
,如:
REG_READ(addr); //寄存器读
REG_WRITE(addr,val); //寄存器写
RESET_BIT(addr,bit); //bit位清零
GET_BIT(addr,bit);

DSP的C语言程序设计 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数22
  • 收藏数0 收藏
  • 顶次数0
  • 上传人读书之乐
  • 文件大小63 KB
  • 时间2021-12-06