HWREGBITW((GPIO_PORTA_BASE + GPIO_O_DATA+(GPIO_PIN_7<<2)), 7)
问题1,结合下面的资料解释这句话??
#define GPIO_PIN_7 0x00000080 // GPIO pin 7
#define GPIO_O_DATA 0x00000000 问题2,这个是什么意思
#define HWREGBITW(x, b)
HWREG(((unsigned long)(x) & 0xF0000000) | 0x02000000 |
(((unsigned long)(x) & 0x000FFFFF) << 5) | ((b) << 2))
问题3,这个是什么意思??
GPIO 数据寄存器 (GPIODATA)
GPIO 端口 A (APB) 基址: 0x4000.4000 问题4, 这个基址 是什么意思??
GPIO 端口 A (AHB) 基址: 0x4005.8000
GPIO 端口 B (APB) 基址: 0x4000.5000
GPIO 端口 B (AHB) 基址: 0x4005.9000
GPIO 端口 C (APB) 基址: 0x4000.6000
GPIO 端口 C (AHB) 基址: 0x4005.A000
GPIO 端口 D (APB) 基址: 0x4000.7000
GPIO 端口 D (AHB) 基址: 0x4005.B000
GPIO 端口 E (APB) 基址: 0x4002.4000
GPIO 端口 E (AHB) 基址: 0x4005.C000
GPIO 端口 F (APB) 基址: 0x4002.5000
GPIO 端口 F (AHB) 基址: 0x4005.D000
偏移量 0x000
类型 R/W, 复位 0x0000.0000
32位数据寄存器
位/域 名称 类型 复位 描述
31:8 保留 RO 0x0000.00 软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
7:0 DATA R/W 0x00 GPIO数据寄存器
该寄存器被虚拟地映射到地址空间的256 个单元中。为便于通过单独的
驱动器读写这些寄存器,从这些寄存器读取的值和写入这些寄存器的值
可以通过八条地址线 [9:2] 屏蔽。读取该寄存器将返回其当前状态。写入
该寄存器仅影响那些没有被 ADDR[9:2] 屏蔽的位和被配置成输出的位。
关于读写操作的实例,请参考 “数据寄存器的操作”(580页)。
|