看源程序(TMS320F28335)的时候在main函数中看到这样一段:

// Disable and clear all CPU interrupts:

DINT;

IER = 0x0000;

IFR = 0x0000;

就想看看这个IER和IFR的地址,结果找来找去都找不到,只在Device.h中有这样两段:

extern cregister volatile unsigned int IFR;

extern cregister volatile unsigned int IER;

就感觉很奇怪呀,没有地址怎么操作呀?所以上网查了查,才知道答案了。

在官方资料中(TMS320C28x Optimizing C/C++ Compiler.pdf)中有这样的说明:

The compiler extends the C/C++ language by adding the cregister keyword to allow high level language access to control registers.When you use the cregister keyword on an object, the compiler compares the name of the object to a list of standard control registers for the C28x (see Table 6-2 ). If the name matches, the compiler generates the code to reference the control register. Ifthe name does not match, the compiler issues an error.

Table 6-2. Valid Control Registers

------------------------------------

Register              Description

------------------------------------------

IER                      Interrupt  enable register

IFR                      Interrupt  flag register

To use the control registers in Table 6-2 , you must declare each register as follows. The c28x.h include file defines all the control registers through this syntax:

extern cregister volatile unsigned int register ;

原来这两个寄存器是可以用关键字cregister定义的寄存器,定义之后就可以直接调用了。

你可以先定义一个头文件,专门定义这个变量(实际就是相应的寄存器),

然后在相应的c源代码中直接引用这些变量了。

在ti的文档《TMS320C6000 Optimizing Compiler User's Guide》中第188页中有介绍的。你可以先定义一个头文件,专门定义这个变量(实际就是相应的寄存器),然后在相应的c源代码中直接引用这些变量了。定义这些变量的方式是:extern cregister volatile unsigned int register;其中register就是AMR,CSR,IFR等寄存器。例如:

extern cregister volatile unsigned int AMR;

extern cregister volatile unsigned int CSR;

extern cregister volatile unsigned int IFR;

extern cregister volatile unsigned int ISR;

extern cregister volatile unsigned int ICR;

extern cregister volatile unsigned int IER;

extern cregister volatile unsigned int FADCR;

extern cregister volatile unsigned int FAUCR;

extern cregister volatile unsigned int FMCR;

main(){printf(”AMR = %x\n”, AMR);}

DSP2833x_Device.h头文件中关于extern cregister volatile unsigned int IFR的解释相关推荐

  1. stdio.h头文件中申明的基本函数

    stdio.h头文件中申明的基本函数 调用scanf函数时,需传入变量的地址作为参数,scanf函数会等待标准输入设备(键盘等)输入数据,并且将输入的数据赋值给地址对应的变量. #include< ...

  2. rf中resourceid_解决VC++ MFC程序resource.h头文件中ID重复问题

    解决VC++ MFC程序resource.h头文件中ID重复问题 2018-12-07 一般MFC开发的时候,如果有些资源是从其他工程中移植到本工程的, 而在资源移植的时候都要将对应的资源ID复制到本 ...

  3. 每日一题(12)—— .h头文件中ifndef/define/endif的作用

     .h头文件中ifndef/define/endif的作用? 分析: 防止头文件被重复包含. #ifndef _TEST_H_ #define _TEST_H_/* test.h */#endif / ...

  4. math.h头文件中声明了常用的一些数学运算

    数学函数库,一些数学计算的公式的具体实现是放在math.h里,具体有: 1. 三角函数 double sin(double);正弦 double cos(double);余弦 double tan(d ...

  5. 我的探究:为什么.h头文件中不要写using namespace std

    转载于:https://www.cnblogs.com/nanlan2017/p/9179224.html

  6. C++中头文件中定义的变量

    1.在头文件.h中定义static变量,如: static int x;其实就等效于每个引用该头文件的源文件中,定义一个变量名为x的整型静态全局变量,每个文件中的x变量均属于本源文件,各文件中的互不相 ...

  7. c语言怎么创建一个h文件,求助C语言大佬 , 只会写到一个.c文件里 ,不会用.h头文件...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 简答题] 实验任务:学生成绩统计 从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,分别实现下列功能: (1)统计不 ...

  8. c语言中count的头文件,求助C语言大佬 , 只会写到一个.c文件里 ,不会用.h头文件...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 简答题] 实验任务:学生成绩统计 从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,分别实现下列功能: (1)统计不 ...

  9. C语言函数到.h文件,求助C语言大佬 , 只会写到一个.c文件里 ,不会用.h头文件...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 简答题] 实验任务:学生成绩统计 从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,分别实现下列功能: (1)统计不 ...

最新文章

  1. isa 2006 下发布 owa
  2. java变量数据类型_java变量与数据类型
  3. 某个应用导致html文件,某个应用导致你的默认浏览器设置出现问题(补丁又闯祸:Windows 10默认应用被重置 附解决方法)...
  4. 关于三星某些系列笔记本电脑无法安装Windows10的原因及解决办法
  5. Unix / Linux 文件系统
  6. 智能快递柜 软件架构 linux,13.智能快递柜(对接流程)
  7. ICEM 准备工作-常用操作
  8. ai水墨晕染效果_AI可能是一位优秀的西方画家,但它在中国水墨画中表现良好吗?...
  9. 移动开发之我见 ——移动WEB
  10. 求三个正整数的最大公约数和最小公倍数
  11. python中怎么统计英文字符的个数_python怎样实现字符串中字符分类及个数统计
  12. 如何创建html模版可编辑区,Dreamweaver中如何使用模板的创建与编辑
  13. int和Integer区别,为什么有了int还要有Integer
  14. word文档文字怎么竖排放在中间?
  15. 总有人会偷看你的朋友圈
  16. 基于Matlab-采用张正友标定法对双目相机进行标定
  17. 异常状态及发生率计算
  18. ApacheCN《Sklearn 与 TensorFlow 机器学习实用指南》 第11章 项目训练深层神经网络(梯度消失与梯度爆炸,选择初始化,选择激活函数)
  19. html图片文字环绕
  20. 5e平台能在linux,国服玩家正常使用5E对战平台的指引

热门文章

  1. Python的编码与解码
  2. 如何找到一个网站的icon
  3. MVP(登录判断+xlistview+二维码)
  4. POA理论:不要被你的目标欺骗了你
  5. 响应式编程(反应式编程)的来龙去脉(同步编程、多线程编程、异步编程再到响应式编程)
  6. qt 判断文件是否存在
  7. ARFoundation之路-光照估计
  8. 小白提问:C++ 不存在从 “std::string“ 到 “char *“ 的适当转换函数
  9. python 数据挖掘图书_Python数据科学熊猫图书馆终极指南
  10. 使用python,目前最全的Python使用手册