DSP 的 C 语言程序设计
一、 为什么要使用 C 语言对 DSP 编程?
C 语言是高级语言,易学易用。
C 语言的编程效率极高,易于调试。
C 语言的可移植性好。
二、 C 程序的结构及组成
完整的 C 程序是由一个主函数 main() 和其它的子函数组成的, 每一个子函数完成特定的功能。 DSP 的 C
语言的入口地址固定为 c_int00 ,在 rts.lib 中定义。 C 语言支持丰富的数据类型和数据结构,在 ccs 集成开发
环境中,为 C 语言提供了完整的支持硬件的底层函数库和支持算法的 DSP 函数库。在使用 C 语言的库函数
时,在工程中必须包括相应的函数库和 rts.lib 运行时支持库。下面是一般 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 DSP 的 C 语言编
译器为了适应不同的编程习惯而这样定义的, 所以实际使用中可以将常用的数据类型进行适当简化, 即将短
整型、整型统一为整型( int ),将各种浮点类型统一为浮点型( float )。
另外,为了简化书写,用户可以自定义数据类型,例如