找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 16180|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

STM32學(xué)習(xí)-使用內(nèi)部時(shí)鐘HSI做為系統(tǒng)時(shí)鐘

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:81272 發(fā)表于 2015-5-27 16:25 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
現(xiàn)在新做了塊STM32的板子,有點(diǎn)兒悲摧,晶振還沒(méi)有,但程序還是要調(diào)試的,所以考慮使用內(nèi)部時(shí)鐘HSI。

首先在主程序中注釋掉SystemInit()
然后使用下面的函數(shù)做為系統(tǒng)時(shí)鐘的初始化函數(shù)
void RCC_Configuration(void)
{
  RCC_DeInit();//將外設(shè) RCC寄存器重設(shè)為缺省值

  RCC_HSICmd(ENABLE);//使能HSI  
  while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET)//等待HSI使能成功
  {
  }

  if(1)
  {
    //FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
    //FLASH_SetLatency(FLASH_Latency_2);

    RCC_HCLKConfig(RCC_SYSCLK_Div1);   
    RCC_PCLK1Config(RCC_HCLK_Div2);
    RCC_PCLK2Config(RCC_HCLK_Div1);

    //設(shè)置 PLL 時(shí)鐘源及倍頻系數(shù)
    RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_2);               
    //使能或者失能 PLL,這個(gè)參數(shù)可以。篍NABLE或者DISABLE
    RCC_PLLCmd(ENABLE);//如果PLL被用于系統(tǒng)時(shí)鐘,那么它不能被失能
    //等待指定的 RCC 標(biāo)志位設(shè)置成功 等待PLL初始化成功
    while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
    {
    }

    //設(shè)置系統(tǒng)時(shí)鐘(SYSCLK) 設(shè)置PLL為系統(tǒng)時(shí)鐘源
    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);  
    //等待PLL成功用作于系統(tǒng)時(shí)鐘的時(shí)鐘源
    //  0x00:HSI 作為系統(tǒng)時(shí)鐘
    //  0x04:HSE作為系統(tǒng)時(shí)鐘
    //  0x08:PLL作為系統(tǒng)時(shí)鐘  
    while(RCC_GetSYSCLKSource() != 0x08)
    {
    }
  }
}

當(dāng)然這段程序是從網(wǎng)上找來(lái)的,做了適當(dāng)?shù)男薷摹1尘霸O(shè)為綠色的部分已經(jīng)注釋掉的代碼,可能跟庫(kù)版本有關(guān),先注釋掉了,要不無(wú)法通過(guò)編譯。
現(xiàn)在把程序的流程理一下

中間配置時(shí)鐘的:
RCC_HCLKConfig(RCC_SYSCLK_Div1);   
RCC_PCLK1Config(RCC_HCLK_Div2);
RCC_PCLK2Config(RCC_HCLK_Div1);
分別對(duì)應(yīng)下圖①②③標(biāo)注的部分。RCC_HCLKConfig(RCC_SYSCLK_Div1)——表示AHB時(shí)鐘為系統(tǒng)時(shí)鐘SYSCLK;RCC_PCLK1Config(RCC_HCLK_Div2)——表示APB1時(shí)鐘為HCLK/2,其中HCLK為AHB時(shí)鐘;RCC_PCLK2Config(RCC_HCLK_Div1)——表示APB2時(shí)鐘為HCLK.

設(shè)置PLL,對(duì)應(yīng)圖中紅圈兒部分,設(shè)置PLL時(shí)鐘源和倍頻系統(tǒng)。
設(shè)置系統(tǒng)時(shí)鐘,對(duì)應(yīng)圖中藍(lán)圈部分。



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:365788 發(fā)表于 2019-10-16 13:42 | 只看該作者
學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表