EFM32片內外設CMU — 設定時鐘輸出

來源:互聯網
上載者:User

在有些場合情況下,特別是晶振起振不良的情況下,我們就需要測量晶體的起振情況.但是由於示波器的探頭本身帶有幾個pF的電容,因此如果直接測量晶體的兩根引腳的話,就很難測量出本身的起振情況了。畢竟我們的負載電容一般也就那麼幾十pF而已.

於是,在這種情況下,最好是通過其他方式來測量振蕩波形.EFM32支援將低頻或高頻的振蕩波形通過GPIO口輸出.此時,透過GPIO來測量,就可以知道最原始的波形了。控制該功能的片內模組是EFM32的CMU(時鐘管理)模組.

硬體準備:

在大多數型號上,低頻振蕩波形是通過PA1(#0)來輸出的。高頻振蕩波形是通過PA2(#0)來輸出的.所以用示波器測量即可.

軟體準備: 通過條件編譯來配置輸出內部波形還是外部波形

#include <stdint.h>
#include <stdbool.h>
#include "efm32.h"
#include "efm32_chip.h"
#include "efm32_cmu.h"
#include "efm32_gpio.h"

#define OUTPUT_INTERNAL      1      //GPIO輸出內部振蕩波形
//#define OUTPUT_EXTERNAL      2    //GPIO輸出外部晶振波形

int main(void)
{
  /* Chip errata */
  CHIP_Init();

#ifdef OUTPUT_INTERNAL
  CMU_HFRCOBandSet(cmuHFRCOBand_1MHz);
  CMU_ClockSelectSet(cmuClock_HF, cmuSelect_HFRCO);//1MHz
  CMU_ClockSelectSet(cmuClock_LFA, cmuSelect_LFRCO);//32KHz
#elif defined OUTPUT_EXTERNAL
  CMU_ClockSelectSet(cmuClock_HF, cmuSelect_HFXO);//32MHz
  CMU_ClockSelectSet(cmuClock_LFA, cmuSelect_LFXO);//32KHz
#endif

  CMU_ClockEnable(cmuClock_GPIO,true);  //使能GPIO模組
  GPIO_PinModeSet(gpioPortA, 1, gpioModePushPull, 1);  //將相應的GPIO口設定成輸出,低頻
  GPIO_PinModeSet(gpioPortA, 2, gpioModePushPull, 1);  //將相應的GPIO口設定成輸出,高頻
 
#ifdef OUTPUT_INTERNAL
  CMU->CTRL |= CMU_CTRL_CLKOUTSEL0_HFRCO + CMU_CTRL_CLKOUTSEL1_LFRCO;//CMU_CTRL_CLKOUTSEL0_HFXO; //配置為HFRCO輸出
#elif defined OUTPUT_EXTERNAL
  CMU->CTRL |= CMU_CTRL_CLKOUTSEL0_HFXO + CMU_CTRL_CLKOUTSEL1_LFXO;
#endif
  

  //允許GPIO的複用功能,並且置位允許位
  CMU->ROUTE = CMU_ROUTE_CLKOUT0PEN | CMU_ROUTE_CLKOUT1PEN | CMU_ROUTE_LOCATION_LOC0;      

  while (1)
  {
     
  }
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.