设为首页 加入收藏

TOP

STM32F7xx外设驱动3-rcc(寄存器)
2023-07-23 13:31:23 】 浏览:64
Tags:STM32F7xx 3-rcc
//源文件
void RccPhyConfig()
{
	uint16_t retry = 0;
	RCC->APB1ENR|=1<<28; //电源接口时钟使能
    PWR->CR1|=3<<14; //高性能模式,时钟可到 180Mhz
    PWR->CR1|=1<<16; //使能过驱动,频率可到 216Mhz
    PWR->CR1|=1<<17; //使能过驱动切换
	RCC->CR |= (1<<16);   //开启HSE
	while( ((RCC->CR&(1<<17))==0)&&(retry<0X1FFF)) //等待HSE 就绪
	{
	   retry++;
	}
	if(retry == 0X1FFF)
	{
	   ZlError();
	}
    RCC->CR &= ~(1<<24);    //关闭主PLL
	RCC->CFGR|=(0<<4)|(5<<10)|(4<<13);//HCLK 不分频;APB1 4 分频;APB2 2 分频
	RCC->PLLCFGR = PLL_M|(PLL_N<<6)|(((PLL_P>>1)-1)<<16)|(PLL_Q<<24)|(1<<22);
	RCC->CR |= (1<<24);    //打开主PLL
	while((RCC->CR&(1<<25))==0);//等待 PLL 准备好
	FLASH->ACR|=1<<8; //指令预取使能.
    FLASH->ACR|=1<<9; //使能 ART Accelerator
    FLASH->ACR|=7<<0; //8 个 CPU 等待周期.
    RCC->CFGR&=~(3<<0); //清零
    RCC->CFGR|=2<<0; //选择主 PLL 作为系统时钟
    while((RCC->CFGR&(3<<2))!=(2<<2));//等待主 PLL 作为系统时钟成功.
}

void ZlError()
{
  while(1);
}

//头文件
/***************************** RCC*************************************/
#define   PLL_M     8
#define   PLL_N     432
#define   PLL_P     2
#define   PLL_Q     9

void RccPhyConfig(void);
void ZlError(void);
/**********************************************************************/

  

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇《痞子衡嵌入式半月刊》 第 66 期 下一篇STM32F7xx外设驱动2-delay(寄存..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目