#define GPJ2CON (*(volatile unsigned long *) 0xE0200280)

开始对于上面的语法不太理解,但通过拆分,我们可以看的更明白:

1、(unsigned long *)变量,代表“变量”是一个unsigned long类型的指针;例如:(unsigned long *)i ,语句中 i 即为 (unsigned long *)的一个指针;

2、volatile是一个修饰符,告诉编译器此段代码不要优化;因此,(volatile unsigned long *)变量,意思是未优化指针类型的变量;例如:(volatile unsigned long *)i ,语句中 i 即为 (volatile unsigned long *)的一个指针;

3、(volatile unsigned long *) 0xE0200280,此处把变量换成了固定地址,意思是(volatile unsigned long *)指针指向固定的地址 0xE0200280

4、前面再加一个*,即 (volatile unsigned long *) 0xE0200280 代表 GPJ2CON 是一个变量,我们既可以给固定地址中赋值,也可以从固定地址中取值。例如:(volatile unsigned long *)i ,语句中 i 即为 (volatile unsigned long *)的一个指针,而 *i 即代表 i 中存储的值,我们既可以对其赋值,又可以从其中取值;

*(volatile unsigned long *) 语法相关推荐

  1. (*(volatile unsigned int *))详解

    (*(volatile un 从日剧看日本单身狗现状 登录注册 阿拉丁神丢的博客 http://blog.sina.com.cn/ddlovetechnology [订阅][手机订阅] 首页博文目录图 ...

  2. C语言之强制类型转换与指针--#define DIR *((volatile unsigned int *) 0x0022)

    强制类型转换形式:(类型说明符) (表达式) 举例说明:1) int a; a = (int)1.9; 2)char *b; int *p; p = (int *) b; //将b的值强制转换为指向整 ...

  3. 嵌入式中的 *(volatile unsigned int *)0x500 解释

    C语言中*(volatile unsigned int *)0x500的解释: 如下: (unsigned int *)0x500:将地址0x500强制转化为int型指针 *(unsigned int ...

  4. 嵌入式开发中对(*(volatile unsigned long *)) 的理解

    一.说明 (*(volatile unsigned long *)) 这个语句对于不同的计算机体系结构,设备可能是端口映射,也可能是内存映射的.如果系统结构支持独立的IO地址空间,并且是端口映射,就必 ...

  5. 有关volatile unsigned long一些说明

    对于不同的计算机体系结构,设备可能是端口映射,也可能是内存映射的.如果系统结构支持独立的IO地址空间,并且是端口映射,就必须使用汇编语言完成实际对设备的控制,因为C语言并没有提供真正的"端口 ...

  6. 【嵌入式】——对#define GPBCON (*(volatile unsigned long*)0x56000010)的理解

    #define GPBCON (*(volatile unsigned long*)0x56000010) 1:volatile 当计算机需要一个数值的时候,会先把内存中的值读取到寄存器,然后下次在使 ...

  7. #define GPBCON (*(volatile unsigned *)0x56000010) 的理解

    2019独角兽企业重金招聘Python工程师标准>>> 对于不同的计算机体系结构,设备可能是端口映射,也可能是内存映射的.如果系统结构支持独立的IO地址空间,并且是端口映射,就必须使 ...

  8. c语言不通类型指针转换,C语言之强制类型转换与指针--#define DIR *((volatile unsigned int *) 0x0022)...

    强制类型转换形式:(类型说明符) (表达式) 举例说明:1) int a; a = (int)1.9; 2)char *b; int *p; p = (int *) b; //将b的值强制转换为指向整 ...

  9. C语言里 指针变量强制类型转换,C语言之强制类型转换与指针--#define DIR *((volatile unsigned int *) 0x0022)...

    强制类型转换形式:(类型说明符) (表达式) 举例说明:1) int a; a = (int)1.9; 2)char *b; int *p; p = (int *) b; //将b的值强制转换为指向整 ...

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

    看源程序(TMS320F28335)的时候在main函数中看到这样一段: // Disable and clear all CPU interrupts: DINT; IER = 0x0000; IF ...

最新文章

  1. OpenCV(25)轮廓检测(轮廓提取、属性、近似轮廓、外接矩形和外接圆)
  2. P2870 [USACO07DEC]最佳牛线,黄金Best Cow Line, Gold(加强版)(贪心+hash哈希)
  3. setAdapter(adapter)空指针nullPointer 解决办法
  4. UVA-10212 The Last Non-zero Digit. 分解质因子+容斥定理
  5. ssacnf和sprintf实战取ip地址
  6. 从直觉主义到量化分析 让大数据做主
  7. 把佳佳的博客搬出去了
  8. python3.5中文手册_Python 入门指南 — Python3 中文手册 3.5.2 文档 | 三维部落
  9. Nemuria UML架构图 第2次迭代. 添加了缓冲层
  10. bzoj 4025: 二分图(可撤销并查集+CDQ分治)
  11. 我的成长(四)---看书
  12. 个人网站如何使用微信扫一扫登录---SpringBoot项目
  13. 科技爱好者周刊(第 171 期):云服务流量有多贵?
  14. android webview下载附件几种方法
  15. OpenAI 最强对话模型 ChatGPT 注册使用笔记
  16. el-select 多选取值_Python实战—Lasso回归选取关键特征
  17. java 给pdf文档加水印
  18. php小说网站windows慢,终于找到WORDPRESS网站响应慢的罪魁祸首,你仅仅需要一个优化方案。...
  19. 何时“大庇天下寒士俱欢颜”(附笑话)
  20. python 打包exe_python pyinstaller打包exe报错的解决方法

热门文章

  1. paip.提升性能---并行多核编程哈的数据结构list,set,map
  2. paip.提升用户体验---c++ QLabel标签以及QLineEdit文本框控件透明 设置
  3. 史上最污技术解读,60 个 IT 术语我竟然秒懂了......
  4. Rust: trim(),trim_matches()等江南六怪......
  5. (转)投资很难赚到你不信的那份钱︱投资道
  6. 【三维路径规划】基于matlab A_star算法无人机山地三维路径规划【含Matlab源码 266期】
  7. 毕设题目:Matlab答题卡识别
  8. 【图像处理】基于matlab GUI打靶仿真系统【含Matlab源码 1043期】
  9. 【光学】基于matlab光栅衍射仿真【含Matlab源码 502期】
  10. 【目标跟踪】基于matlab红外图像弱小目标检测与跟踪【含Matlab源码 374期】