一、封装外设
用C语言代码把外设地址映射用宏定义封装
/* 外设基地址 */
#define PERIPH_BASE ((unsigned int)0x40000000)
/* 总线基地址 */
#define APB1PERIPH_BASE PERIPH_BASE
#define APB2PERIPH_BASE (PERIPH_BASE + Ox00010000)
.
.
/* GPIO外设基地址 */
#define GPIOA_BASE (AHB1PERIPH_BASE + 0x0000)
#defien GPIOB_BAAE (AHB1PERIPH_BASE + 0x0400)
.
.
/* 寄存器基地址,以GPIOA为例 */
#define GPIOA_MODER (GPIOA_BASE+0x00)
#define GPIOA_OTYPER (GPIOA_BASE+0x04)
.
.
总结:定义“片上外设”基地址PERIPH_BASE,接着在PERIPH_BA