DSP原理及应用_总复习.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DSP编程语言的特点 C语言程序代码的特点:具有很好的可读性和可移植性,开发效率高,通常用C语言构成程序主框架; 汇编语言程序代码的特点:具有很高的运行效率,常用于对时间要求比较苛刻的地方,比如中断服务子程序等。 11.3.2 头文件(扩展名.h)(了解) 头文件(扩展名为.h)的本质: 头文件本身不含程序代码,只是起描述性作用,是一种包含功能函数、数据接口声明的载体文件; 头文件的内容: TI公司提供的头文件中定义了DSP系统用到的寄存器映射地址,寄存器位定义和寄存器结构等内容; ‘28x头文件主要包含DSP28-Device.h和各个外设头文件。 头文件的作用: 是C语言不可缺少的组成部分,是用户程序和函数库之间的纽带; 头文件的使用: 用户程序只要按照头文件中的接口声明来调用库功能,编译器就会从库中提取相应的代码; C语言编程 11.3 extern cregister volatile unsigned int IFR; extern cregister volatile unsigned int IER; #define EINT asm(“ clrc INTM) #define DINT asm(“ setc INTM) #define ERTM asm(“ clrc DBGM) #define DRTM asm(“ setc DBGM) #define EALLOW asm(“ EALLOW) #define EDIS asm(“ EDIS) #define ESTOP0 asm(“ ESTOP0) DSP28-Device.h定义中断标志/使能寄存器和汇编指令 TI公司提供了C语言软件开发的源程序框架,其中包含有寄存器结构定义文件、外设头文件、器件的宏与类型定义等各种文件,用户通过使用外设头文件,可以很容易控制片内外设。 用户也可以在TI公司提供的程序范例中选择有用的函数,删除不需要的函数,使得程序编写非常简便,结构清晰,易于修改和维护。 C语言程序框架 11.4 基于C语言的DSP程序框架: 完整的DSP程序应该包括必要的头文件包含、函数声明、 、宏定义、主函数main( )和中断服务子程序。 其中,主函数的编程步骤为: 第一步:初始化系统控制,包括PLL、WatchDog、外设时钟的设置与使能,通过调用InitSysCtrl( )实现; 第二步:清除所有中断并初始化PIE向量表,需要对外设级、PIE级、CPU级的中断都清除; 第三步:初始化所有用到的外设,通过调用相应的初始化子程序来完成,例如:InitGpio( ); 第四步:开中断,即使能所有需要用到中断及全局中断INTM、全局实时中断DBGM; 第五步:编写用户代码,完成用户所需功能。 #include DSP281x_Device.h // DSP281x Headerfile Include File 包含头文件 #include DSP281x_Examples.h // DSP281x Examples Include File interrupt void cpu_timer0_isr(void); // 函数的声明 void main(void) // 主函数 { InitSysCtrl(); // 第一步:初始化系统控制,包括 //PLL,WatchDog,使能外设时钟 //第二步:清除所有中断,初始化PIE中断向量表 DINT; // 禁止CPU中断 InitPieCtrl(); IER = 0x0000; IFR = 0x0000; InitPieVectTable(); //初始化PIE中断向量表 EALLOW; // 允许修改受EALLOW保护的寄存器 PieVectTable.TINT0 = cpu_timer0_isr; EDIS; // 禁止修改受EALLOW保护的寄存器 //第三步:初始化外设,例如Cpu Timers InitGpio(); //初始化输入输出端口GPIO: InitCpuTimers();

文档评论(0)

5500046 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档