*(volatile unsigned short *)0x20000000背后的意义是啥?该如何处理
*(volatile unsigned short *)0x20000000背后的意义是啥?从8*8LED点阵灯程序中看到的。[解决办法] volatile
*(volatile unsigned short *)0x20000000背后的意义是啥?
从8*8LED点阵灯程序中看到的。
[解决办法]
volatile 表示 禁止编译器优化
[解决办法]
volatile 定义为一个已初始化的全局变量
unsigned short * 的意思是定义一个2个字节的地址指针
连起来就是在0x20000000地址位置上输出一个2个字节长的数据。我想你0x20000000地址应该是一个LED点阵灯的片选信号。
*(volatile unsigned short *)0x20000000 = 0x0;可能是点亮led或关闭led
[解决办法]
volatile 可以不去管
( unsigned short * )是声明了一个 指针,
指针本身就是数值,
unsigned short *p = ( unsigned short * )0x20000000;
*p = 0; 与 *( unsigned short * )0x2000000 = 0;是一样的。
[解决办法]
[解决办法][解决办法][解决办法][解决办法][解决办法]volatile 是多余的,删掉它,然后应该就明白了吧
[解决办法]