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

[复制链接]
 楼主| test 发表于 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个寄存器?
香水城 发表于 2010-1-20 17:46 | 显示全部楼层
是0xA0000010 和 0xA0000014
FSMC_Bank1_BTCR.GIF

评分

参与人数 1威望 +1 收起 理由
test + 1

查看全部评分

 楼主| test 发表于 2010-1-21 19:06 | 显示全部楼层
谢谢,一时短路了,因为看到  uint32_t BTCR[8];   ,就认为这里的地址不是字节来计的.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

27

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部