您的位置:首页 > 编程语言 > C语言/C++

*(volatile int *)的理解

2016-07-15 15:08 288 查看
最近在SDK中遇到这么一句话

*(volatile int *)(XPAR_GPIO_1_BASEADDR)
指向该地址的内容


对LED的8bit GPIO口进行操作

#define LED_Reg *(volatile int *)(XPAR_GPIO_1_BASEADDR)
........
while(1)
{
displaynum++;
LED_Reg = displaynum;
myDelay(2000);
}


这样就实现流水灯操作

volatile它的作用是告诉编译器volatile变量是随时可能发生变化的,与volatile变量有关的运算,不要自作主张进行编译优化,以免出错,每次读取都从地址中获取。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C语言