*(volatile unsigned long *) 语法
#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 *) 语法相关推荐
- (*(volatile unsigned int *))详解
(*(volatile un 从日剧看日本单身狗现状 登录注册 阿拉丁神丢的博客 http://blog.sina.com.cn/ddlovetechnology [订阅][手机订阅] 首页博文目录图 ...
- C语言之强制类型转换与指针--#define DIR *((volatile unsigned int *) 0x0022)
强制类型转换形式:(类型说明符) (表达式) 举例说明:1) int a; a = (int)1.9; 2)char *b; int *p; p = (int *) b; //将b的值强制转换为指向整 ...
- 嵌入式中的 *(volatile unsigned int *)0x500 解释
C语言中*(volatile unsigned int *)0x500的解释: 如下: (unsigned int *)0x500:将地址0x500强制转化为int型指针 *(unsigned int ...
- 嵌入式开发中对(*(volatile unsigned long *)) 的理解
一.说明 (*(volatile unsigned long *)) 这个语句对于不同的计算机体系结构,设备可能是端口映射,也可能是内存映射的.如果系统结构支持独立的IO地址空间,并且是端口映射,就必 ...
- 有关volatile unsigned long一些说明
对于不同的计算机体系结构,设备可能是端口映射,也可能是内存映射的.如果系统结构支持独立的IO地址空间,并且是端口映射,就必须使用汇编语言完成实际对设备的控制,因为C语言并没有提供真正的"端口 ...
- 【嵌入式】——对#define GPBCON (*(volatile unsigned long*)0x56000010)的理解
#define GPBCON (*(volatile unsigned long*)0x56000010) 1:volatile 当计算机需要一个数值的时候,会先把内存中的值读取到寄存器,然后下次在使 ...
- #define GPBCON (*(volatile unsigned *)0x56000010) 的理解
2019独角兽企业重金招聘Python工程师标准>>> 对于不同的计算机体系结构,设备可能是端口映射,也可能是内存映射的.如果系统结构支持独立的IO地址空间,并且是端口映射,就必须使 ...
- c语言不通类型指针转换,C语言之强制类型转换与指针--#define DIR *((volatile unsigned int *) 0x0022)...
强制类型转换形式:(类型说明符) (表达式) 举例说明:1) int a; a = (int)1.9; 2)char *b; int *p; p = (int *) b; //将b的值强制转换为指向整 ...
- C语言里 指针变量强制类型转换,C语言之强制类型转换与指针--#define DIR *((volatile unsigned int *) 0x0022)...
强制类型转换形式:(类型说明符) (表达式) 举例说明:1) int a; a = (int)1.9; 2)char *b; int *p; p = (int *) b; //将b的值强制转换为指向整 ...
- DSP2833x_Device.h头文件中关于extern cregister volatile unsigned int IFR的解释
看源程序(TMS320F28335)的时候在main函数中看到这样一段: // Disable and clear all CPU interrupts: DINT; IER = 0x0000; IF ...
最新文章
- OpenCV(25)轮廓检测(轮廓提取、属性、近似轮廓、外接矩形和外接圆)
- P2870 [USACO07DEC]最佳牛线,黄金Best Cow Line, Gold(加强版)(贪心+hash哈希)
- setAdapter(adapter)空指针nullPointer 解决办法
- UVA-10212 The Last Non-zero Digit. 分解质因子+容斥定理
- ssacnf和sprintf实战取ip地址
- 从直觉主义到量化分析 让大数据做主
- 把佳佳的博客搬出去了
- python3.5中文手册_Python 入门指南 — Python3 中文手册 3.5.2 文档 | 三维部落
- Nemuria UML架构图 第2次迭代. 添加了缓冲层
- bzoj 4025: 二分图(可撤销并查集+CDQ分治)
- 我的成长(四)---看书
- 个人网站如何使用微信扫一扫登录---SpringBoot项目
- 科技爱好者周刊(第 171 期):云服务流量有多贵?
- android webview下载附件几种方法
- OpenAI 最强对话模型 ChatGPT 注册使用笔记
- el-select 多选取值_Python实战—Lasso回归选取关键特征
- java 给pdf文档加水印
- php小说网站windows慢,终于找到WORDPRESS网站响应慢的罪魁祸首,你仅仅需要一个优化方案。...
- 何时“大庇天下寒士俱欢颜”(附笑话)
- python 打包exe_python pyinstaller打包exe报错的解决方法
热门文章
- paip.提升性能---并行多核编程哈的数据结构list,set,map
- paip.提升用户体验---c++ QLabel标签以及QLineEdit文本框控件透明 设置
- 史上最污技术解读,60 个 IT 术语我竟然秒懂了......
- Rust: trim(),trim_matches()等江南六怪......
- (转)投资很难赚到你不信的那份钱︱投资道
- 【三维路径规划】基于matlab A_star算法无人机山地三维路径规划【含Matlab源码 266期】
- 毕设题目:Matlab答题卡识别
- 【图像处理】基于matlab GUI打靶仿真系统【含Matlab源码 1043期】
- 【光学】基于matlab光栅衍射仿真【含Matlab源码 502期】
- 【目标跟踪】基于matlab红外图像弱小目标检测与跟踪【含Matlab源码 374期】