原创 求解:RCC_PLLCmd函数的实现原理,bit-band access究竟是什么啊?

2009-8-8 08:16 3286 6 6 分类: MCU/ 嵌入式
方法一:
Using bit-band access this function will be coded as follows: 
void RCC_PLLCmd(FunctionalState NewState) 
{
   *(vu32 *) CR_PLLON_BB = (u32)NewState; 
}

/* Alias word address of PLLON bit */
#define PLLON_BitNumber           0x18
#define CR_PLLON_BB               (PERIPH_BB_BASE + (CR_OFFSET * 32) + (PLLON_BitNumber * 4))

方法二:
它的就是使能/禁止PLL,下面有一种做法是直接写寄存器:
(在固件函数库里有)
void RCC_PLLCmd(FunctionalState NewState)
{   
       if (NewState != DISABLE) 
       {  
           /* Enable PLL */
           RCC->CR |= CR_PLLON_Set;
       } 
       else 
       {
           /* Disable PLL */ 
           RCC->CR &= CR_PLLON_Reset; 
       }
}

问题来啦, 第一种方法是如何实现把数据写到CR去?

实现原理,bit-band access究竟是什么啊?
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
6
关闭 站长推荐上一条 /3 下一条