stm32 地址外设简介

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

void GPIO_ETH_MediaInterfaceConfig(uint32_t GPIO_ETH_MediaInterface) 
{ 
  assert_param(IS_GPIO_ETH_MEDIA_INTERFACE(GPIO_ETH_MediaInterface)); 
 
  /* Configure MII_RMII selection bit */ 
  *(__IO uint32_t *) MAPR_MII_RMII_SEL_BB = GPIO_ETH_MediaInterface;
}

stm32 地址外设简介_第1张图片

#define PERIPH_BB_BASE        ((uint32_t)0x42000000) /*!< Peripheral base address in the alias region */
/* ---  MAPR Register ---*/ 地址0x40010004
/* Alias word address of MII_RMII_SEL bit */ 
#define MAPR_OFFSET                 (AFIO_OFFSET + 0x04)   //0x10004
#define MII_RMII_SEL_BitNumber      ((uint8_t)0x17) 
#define MAPR_MII_RMII_SEL_BB        (PERIPH_BB_BASE + (MAPR_OFFSET * 32) + (MII_RMII_SEL_BitNumber * 4))

由地址外设计算可知,上面的实际操作是,对0x40010004的0x17位置1,也就是重映射配置寄存器(AFIO_MAPR)的23位的位置1。配置为RMII_MODE。

转载于:https://my.oschina.net/u/274829/blog/270373

你可能感兴趣的:(stm32 地址外设简介)