#define APB2PERIPH_BASE (PERIPH_BASE + 0x10000)//端口地址
#define GPIOA_BASE (APB2PERIPH_BASE + 0x0800)//端口地址
#define GPIOA ((GPIO_TypeDef *) GPIOA_BASE)//
typedef unsigned long u32;
typedef volatile unsigned long vu32;// volatile是什么意思
typedef struct
{
vu32 CRL;
vu32 CRH;
vu32 IDR;
vu32 ODR;
vu32 BSRR;
vu32 BRR;
vu32 LCKR;
} GPIO_TypeDef;
//GPIO_TypeDef中的几个寄存器都是32位(4个字节)的,且地址连续。则CRL地址等于基地址,CRH地址=基地址+4,IDR地址=基地址+8.........以此类推
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』