(*(volatile unsigned *)0x56000010) ,这句话怎么也不能理解
时间:10-02
整理:3721RD
点击:
(*(volatile unsigned *)0x56000010)
有人帮我解释的通俗一些么?
有人帮我解释的通俗一些么?
0x56000010是内存中的一个地址,(volatile unsigned *)是将这个地址强制转化成为volatile unsigned 类型的指针,而最后*(volatile unsigned *)0x56000010)很显然是取这个指针所指向的值,即内存地址为0x56000010里的值,32位系统默认应该为四个字节。
小编加油
1楼正解
多谢。现在看到串口了。发现UART的寄存器好多,不知道用哪个,杯具了。
学习了,一楼正解
你可以这么用:volatile unsigned int *p=(unsigned int* )0x56000010;
*p=0x11223344;
这个具体的含义就是直接取得0x56000010的值,省去了这么麻烦的步骤;自己思考一下
还有一点:#define ABCON (*(volatile unsigned *)0x56000010))
这样就可以用0x56000010这个地址了即,ABCON=0x11223344;