_IO uint32_t 中的_IO是什么意思
_IO是指静态。
volatileuint32_t是指32位的无符号整型变量;uint32_t是指32位的无符号苻抽苍黪整型变量。
volatile类型的数据可能会在未知条件下发生变化。 例如,硬件设备的终端对其进行了更改,现在,硬件设备通常具有自己的私有内存地址,例如视频内存,通常通过映射将其反映在特定的内存地址中。 这样,在某些条件下,程序可以直接访问这些私有内存。
另外,当多个程序在其上运行时,例如共享内存地址, 程序不知道何时更改此内存。 如果不添加voliatile修饰,程序将使用catch中的数据, 那可能已经过时了。 添加voliatile后,就在需要用的时候,程序重新去那个地址去提取,保证是最新的。
扩展资料:
对于((volatile unsigned long *) 0xE0028000)是一种根据硬件需求定义的地址,其前面带有“ *”指针,以直接指向该地址,而整个定义约定符号IOPIN则指向该地址,直接在调用时可以写内容,这实际上是内存映射机制的便利。
volatile关键字是嵌入式系统开发的重要功能。 将上面的表达式拆开进行分析:
首先,(volatile unsigned long *) 0xE0028000表示将0xE0028000强制转换为volatile unsigned long类型的指针。 临时记录为p,则是#define A * p,即A为P指针指向位置的内容了。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:26
阅读量:39
阅读量:41
阅读量:91
阅读量:50