第3章_TMS320F2812外设的C语言程序设计精选.pptVIP

第3章_TMS320F2812外设的C语言程序设计精选.ppt

  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文档。上传文档
查看更多
第3章_TMS320F2812外设的C语言程序设计精选

第3章 TMS320F2812外设的C语言程序设计 学习重点 掌握CCS工程文档的基本结构、功能及特点。 掌握采用结构体 、共用体和位定义实现对DSP外设寄存器的结构定义和管理。 CCS中CMD文件的功能、定义。 如何对寄存器进行配置。 课程内容 CCS工程文档结构介绍; 利用传统的#define方法定义DSP寄存器; 利用位定义、结构体和共用体定义DSP寄存器; 举例说明。 1. CCS工程文档结构介绍; 在CCS中调试程序的一般步骤 打开 volume1 文件夹内的 Volume1.pjt(系统自带的程序)。 点击 编译工具栏的 rebuild all 按钮,开始编译工程 volume1.pjt。 下载编译结果到DSP开发板。 执行程序。 在CCS中调试程序的一般步骤 如何设置断点 单步调试 Source-single step 就是按一下,走一步的模式。 Source-step over 这个按钮是指在单步执行时,如果在函数内遇到子函数,则不会进入子函数内单步 执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。 Source-step out 当单步执行到子函数内时,用 step out 就可以执行完子函数余下部分,并返回到上 一层函数。 如何使用 watch window 其他一些操 Go main Set PC to cursor 在CCS中调试程序的一般步骤 统计代码运行时间 点击菜单栏中的“Profile”“Clock””Enable”,来使能 Clock功能。接下来点击“Profile”“Clock”“View”, 在 CCS 最下面会出现一个类似于秒表的工具,旁边显示数字“0”,通过设置断点观察始终数字的变化。 2. 利用传统的#define方法定义DSP寄存器 首先定义各寄存器的符号及其对应的入口地址; #define SCICCRA(volatile Uint16 *) 0x7050 #define SCICTRL1A(volatile Uint16 *) 0x7051 …… 利用指针形式访问寄存器; *SCICTL1A=0x0003; *SCICTL1B|=0x0001; 传统的#define方法定义DSP寄存器优缺点 优点: 定义简单、快速、容易分类; 直接采用寄存器的名字进行定义,易于操作。 缺点: 对寄存器的位操作比较困难; 不利于在CCS内跟踪调试; 3. 利用位定义、结构体和共用体定义DSP寄存器; 在头文件中定义各寄存器结构体及其变量; 使用DATA_SECTION将寄存器变量映射到相应物理地址空间; 在CMD文件中定义各区段物理地址及长度; 通过寄存器结构体变量访问相应寄存器。 在头文件中定义各寄存器结构体及其变量 在DSP28_Sci.h文件中实现 struct SCICTL1_BITS { // bit description Uint16 RXENA:1; // 0 SCI receiver enable Uint16 TXENA:1; // 1 SCI transmitter enable Uint16 SLEEP:1; // 2 SCI sleep Uint16 TXWAKE:1; // 3 Transmitter wakeup method Uint16 rsvd:1; // 4 reserved Uint16 SWRESET:1; // 5 Software reset Uint16 RXERRINTENA:1; // 6 Recieve interrupt enable Uint16 rsvd1:9; // 15:7 reserved }; union SCICTL1_REG { Uint16 all; struct SCICTL1_BITS bit; }; 在头文件中定义各寄存器结构体及其变量 struct SCI_REGS { union SCICCR_REG SCICCR; // Communications control register union SCICTL1_REG SCICTL1; // Control register 1 Uint16 SCIHBAUD; // Baud rate (high

文档评论(0)

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

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

1亿VIP精品文档

相关文档