/*
本实验接口说明
GPB5 ------ LED0
GPB6 ------ LED1
GPB8 ------ LED2
GPB10 ------ LED3
*/
PORT B CONTROL REGISTERS(GPBCON ,GPBDAT,GPBUP)
GPBCON: Configures the pins of port B 0x56000010 (address)
CPBDAT: the data register for port B 0x56000014
GPBUP : Pull-up disable register port B 0x56000018
#define GPBCON (*(volatile unsigned *)0x56000010)
Volatile:相当于告诉编译器该变量可能随时被改变,例如被操作系统或硬件所改变。
因为带有限定符 volatile 的变量可以在任何时刻改变,该变量的物理地址
可能被频繁地访问。这就意味着编译器不能对这些变量实现优化,
例如,将变量缓存到寄存器避免访问内存。
当有以下情况时需要定义为 volatile 类型的变量:
访问内存映射的外围设备。
在

本文档介绍了S3C2440处理器上实现流水灯的代码,并详细解释了Volatile关键字的作用,强调了在访问内存映射的外围设备、多进程共享全局变量和中断服务程序中使用Volatile的重要性。同时,文中还展示了如何通过内存寻址方式访问寄存器以及延时函数Delay的实现。

1962

被折叠的 条评论
为什么被折叠?



