1.1GPIO结构
1.2固件库组织代码步骤
1.3IO口操作步骤(常用技巧总结)
1.4IO口位操作**
1.1 GPIO结构
**
(1)基本结构
(2)工作模式
(3)寄存器地址
typedef struct //stm32f10x.h 定位到 GPIO_TypeDef 定义处 ,
{
__IO uint32_t CRL;
__IO uint32_t CRH;
__IO uint32_t IDR;
__IO uint32_t ODR;
__IO uint32_t BSRR;
__IO uint32_t BRR;
__IO uint32_t LCKR;
} GPIO_TypeDef;
*#define GPIOA ((GPIO_TypeDef ) GPIOA_BASE);
//GPIOA是指针、GPIOA_BASE代表地址、(GPIO_TypeDef *)代表强制转换类型为
//GPIO_TypeDef结构体,即GPIOA指向地址GPIOA_BASE,GPIOA_BASE所
//代表地址存放的数据类型为GPIO_TypeDef。
其中:#define GPIOA_BASE (APB2PERIPH_BASE + 0x0800);
#define APB2PERIPH_BASE (PERIPH_BASE + 0x10000);
#define PERIPH_BASE ((uint32_t)0x40000000) ;
GPIOA的寄存器的地址=GPIOA 基地址+寄存器相对 GPIOA 基地址的偏移值
(4)7寄存器
①端口配置寄存器