登录站点

用户名

密码

知识点1 —— 强制类型转换

已有 323 次阅读  2012-01-06 13:56   标签class  Microsoft  知识点  color 
 
知识点1 —— 强制类型转换

#define GPBCON (*((volatile unsigned long *)0x56000010))
    //GPBCON是指针所指向地址处的内容

#define GPBCON (unsigned long *)0x56000010    //GPBCON是个无符号的长整型地址指针值,是地址

0x56000010在ARM处理器中,只能识别为一个十六进制数值,具体是数据还是地址,它并不能自动区分.

而使用 ((volatile unsigned long *)0x56000010) ,对此数据进行强制转换,表明此数值为一个无符号的长整型地址指针值,关键字volatile告诉编译器它指向的内容是易变的,可能会被硬件等意外地修改.这一点很关键.

(*((volatile unsigned long *)0x56000010)) ,则是获取指针所指向地址处的内容,从而,使用了#define 预处理语句对GPBCON进行定义后,在用户程序中,对GPBCON的操作,就等同于在0x56000010地址上进行读写操作.

上一篇: Signal Tap II简单使用小记 下一篇: 输入阻抗和输出阻抗

分享 举报