请分析以下system_stm32f10x.c文件中的一段语句?

williams   2010-1-20 01:08 楼主
在 system_stm32f10x.c 文件中,有下面一个函数:
SystemInit_ExtMemCtl()
{
......

/*----------------  FSMC Configuration ---------------------------------------*/  
/*----------------  Enable FSMC Bank1_SRAM Bank ------------------------------*/
  
  FSMC_Bank1->BTCR[4] = 0x00001011;
  FSMC_Bank1->BTCR[5] = 0x00000200;
}

FSMC_Bank1 的定义过程如下:
#define FSMC_R_BASE           ((uint32_t)0xA0000000) /*!< FSMC registers base address */

#define FSMC_Bank1_R_BASE     (FSMC_R_BASE + 0x0000) /*!< FSMC Bank1 registers base address */

typedef struct
{
  __IO uint32_t BTCR[8];   
} FSMC_Bank1_TypeDef;

#define FSMC_Bank1          ((FSMC_Bank1_TypeDef *) FSMC_Bank1_R_BASE)


==========================
FSMC_Bank1->BTCR[4] 和 FSMC_Bank1->BTCR[5]
指向的地址是多少?
是不是0xA0000004 和 0xA0000005 ?
指向的分别是哪2个寄存器?

回复评论 (1)

BTCR[4]=0xA0000010
BTCR[5]=0xA0000014

FSMC_Bank1_BTCR.GIF (18.88 KB)

点赞  2010-1-20 09:30
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复