第6章TMS320C54DSP的C程序设计(未完)课题.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 TMS320C64x DSP的C/C++程序设计;6.1 C/C++程序设计基础;6.1.1 面向DSP的程序设计原则;类型;6.1.5 C/C++的DSP访问规则;#define IMR (volatile unsigned int *)0x0000 #define IFR (volatile unsigned int *)0x0001 #define ST0 (volatile unsigned int *)0x0006 #define ST1 (volatile unsigned int *)0x0007 #define AL (volatile unsigned int *)0x0008 #define AH (volatile unsigned int *)0x0009 #define AG (volatile unsigned int *)0x000A #define BL (volatile unsigned int *)0x000B #define BH (volatile unsigned int *)0x000C #define BG (volatile unsigned int *)0x000D #define T (volatile unsigned int *)0x000E;#define TRN (volatile unsigned int *)0x000F #define AR0 (volatile unsigned int *)0x0010 #define AR1 (volatile unsigned int *)0x0011 #define AR2 (volatile unsigned int *)0x0012 #define SP (volatile unsigned int *)0x0018 #define BK (volatile unsigned int *)0x0019 #define BRC (volatile unsigned int *)0x0001A #define RSA (volatile unsigned int *)0x001B #define REA (volatile unsigned int *)0x001C #define PMST (volatile unsigned int *)0x001D #define XPC (volatile unsigned int *)0x001E;在用户程序中,若要读出或者写入一个特定的寄存器,就要对相应的指针进行操作。 下例通过指针操作对ST0和AR1进行初始化 Int userfunc() { … *ST0=0x1278; *AR1=0x6013; … };2.DSP内部和外部存储器的访问规则 DSP对存储器的访问也采用指针方式。 例: 对内部存储器单元0x4000和外部存储器单元0x80FF进行操作。 int *data1= 0x4000; int *data2= 0x80FF; int userfunc( ) { … *data1=7000; *data2= 0; … } ;3.DSP I/O端口的访问规则 在C语言中读写DSP的I/O端口空间,用关键字ioport实现。 用关键字ioport定义I/O端口的格式如下: ioport type porthex_num 其中ioport是关键字,指出这是一个I/O端口变量。 type只能是char、short、int或unsigned这几种数据类型。 porthex_num是端口号,hex_num是一个十六进制数。 所有端口变量都必须在文件级定义,不能在函数中定义。 ;下面的代码定义I/O端口为unsigned port 10h,将数据a写入port 10h,然后从port 10h读入数据存到b中: Ioport unsigned port10 ; /*端口说明*/ int func() { … port10=a ; /*数据a写入port 10h */ … b=port10 ; /*从port 10h读出数据

文档评论(0)

舞林宝贝 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档