寄存器操作*(volatile uint32 *)含义详解
来源:互联网 发布:码云pages绑定域名 编辑:程序博客网 时间:2024/06/11 02:14
#define PINMUX3 *( volatile Uint32* )( 0x01C40000+ 0x0C )
PINMUX3 &= ~0x00600000;
分析:
将以上两句合成一条语句相当于
*( volatile Uint32* )( 0x01C40000+ 0x0C ) &= ~0x00600000;
意思是将0x01C40000+ 0x0C寄存器地址中的值&(~0x00600000)结果的值赋回给0x01C40000+ 0x0C寄存器
如上定义的PINMUX3是0x01C40000+ 0x0C地址中的值。
(volatile Uint32*)将地址强制转化成volatile Uint32*类型的指针。
即:
volatile Uint32* p = ( volatile Uint32* )( 0x01C40000+ 0x0C ) ;
* p &=~0x00600000; 相当于 *p = *p & (~0x00600000);
结论就是设置0x01C40000+ 0x0C寄存器中的值,该值等于原先寄存器值& (~0x00600000);
- 寄存器操作*(volatile uint32 *)含义详解
- ARM-----寄存器操作*(volatile uint32 *)含义详解
- volatile含义
- volatile的含义
- volatile的含义
- volatile 的含义
- volatile 的含义
- volatile 编程含义
- volatile含义及用法
- volatile的含义
- volatile的使用含义
- Java volatile 关键字含义
- 关键字volatile的含义
- volatile关键字的含义
- 寄存器操作
- 寄存器操作
- 寄存器操作
- ARM特殊寄存器定义详解——#define A (* (volatile unsigned long *) 0x48000000
- sed 删除文件中指定的行
- 基础裁剪知识
- phonegap用设备GPS获取经纬度(可能方案)
- jsGantt(甘特图控件)
- JAVA 线程 synchronized关键字详解
- 寄存器操作*(volatile uint32 *)含义详解
- 大话设计模式-组合模式
- Snowberry插件——Eclipse的UML插件
- 在 Eclipse 中创建新的重构功能
- 使用位图
- eclipse : Error while performing database login with the driver null
- PhysX学习记录 一
- c/c++中 char与十六进制转换
- Show Time