在map.h文件中
根据是否是debug模式对于某一个外设的基址有两种设置法,以GPIOA为例:
#ifndef debug
#ifdef _GPIOA #define GPIOA (GPIO_TypeDef *)GPIOA_BASE #endif
#else
#ifdef _GPIOA EXT GPIO_TypeDef *GPIOA; #endif
#endif
普通模式下定义了常量宏GPIOA为外设基址.且可以按结构体访问(已强制转换)
而debug模式下,为何要定义一个变量? 这个变量在debug_init中初始化为了 GPIOA_BASE..效果不是一样吗?? 据文档中说是为了调试的目的..
请教: )
|