(*(volatile unsigned *)0x56000010)中的(unsigned *)0x56000010表示地址为0x56000010的RAM单元的地址,(*(volatile unsigned *)0x56000010)就是地址为0x56000010的RAM单元内容了。
0x56000010如果其本身为一个int 型常量,则(unsigned *)0x56000010将0x56000010强制转换成一个unsigned 型的指针,变为一个地址了,在RAM中对应的地址上存放着数据。
volatile表示程序运行用到这个变量时每次都从RAM中重新读取,而不从CPU中的寄存器读取,以防寄存器中的数据和RAM中的数据不一至的情况。