基地址文件
Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h
代码的地址结构基本上是一个base地址+偏移地址
但是也有例外,F103VET6外设的基地址是:
/*!< Peripheral memory map */
#define APB1PERIPH_BASE PERIPH_BASE
#define APB2PERIPH_BASE (PERIPH_BASE + 0x00010000U)
#define AHBPERIPH_BASE (PERIPH_BASE + 0x00020000U)
看上去AHBPERIPH_BASE就是AHB总线的首地址,实际不是!
0x4001 8000才是AHB的首地址,代码中为了计算方便设成了2000整数,对SDIO做例外处理: