上海网站开发外包公司,建e网室内设计网手机版,无法连接wordpress,大庆建设网站表格下载标题 方式一#xff1a;对地址进行宏定义方式二#xff1a;用结构体封装寄存器 访问寄存器是CPU执行程序的基础#xff0c;每种CPU架构都有其特定的寄存器集合和访问方式。 方式一#xff1a;对地址进行宏定义
#define GPIOA_BASE ((unsigned int)0x48000000)
#define GPI… 标题 方式一对地址进行宏定义方式二用结构体封装寄存器 访问寄存器是CPU执行程序的基础每种CPU架构都有其特定的寄存器集合和访问方式。 方式一对地址进行宏定义
#define GPIOA_BASE ((unsigned int)0x48000000)
#define GPIOA_ODR (GPIO_BASE 0X14)
//读操作
val1 *(unsigned int*)GPIOA_ODR
//写操作
*(unsigned int*)GPIOA_ODR val2方式二用结构体封装寄存器
typedef struct{uint32_t MODER;uint32_t OTYPER;uint32_t OSPEEDR;uint32_t IDR;uint32_t ODR;uint32_t BSRR;uint32_t LCKR;
}GPIO_TypeDef;//定义首地址
#define GPIOA_BASE ((unsigned int)0X48000000)
#define GPIOA ((GPIO_TypeDef *)GPIOA_BASE)
//访问方式
//这行代码是在操作GPIO端口的输出数据寄存器而不是设置内存地址。
//0x14是作为数据被写入到寄存器中以控制GPIO引脚的输出状态。
GPIOA-ODR 0x14;