Silicon Labs EFM32:外部オシレータ(発振器)を使用する場合、ピンはどのように設定すれば良いですか?
EFx32
外部オシレータをHFXOとして使用する場合、HFXTAL_Nを使用します。ピン設定(Pin XXXをNFXTAL_Nとして使用する、という明示)は不要ですので、デフォルトのまま(Pinmode = disable)で結構です。
以下はサンプルコードです。なお、LFXOの場合も考え方は同様です。
- Sin波の場合
/* Use external sine wave for HFXO */
CMU->CTRL |= CMU_CTRL_HFXOMODE_BUFEXTCLK;
/* Enable HFXO as high frequency clock, HFCLK */
CMU_ClockSelectSet(cmuClock_HF,cmuSelect_HFXO);
/* Turn off HFRCO if not required */
CMU_OscillatorEnable(cmuOsc_HFRCO, false, false);
- 矩形波の場合
CMU->CTRL |= CMU_CTRL_HFXOMODE_DIGEXTCLK;
/* Enable HFXO as high frequency clock, HFCLK */
CMU_ClockSelectSet(cmuClock_HF,cmuSelect_HFXO);
/* Turn off HFRCO if not required */
CMU_OscillatorEnable(cmuOsc_HFRCO, false, false);
なお、外部クリスタルを使用する場合の設定については、別トピック(外部クリスタルを使用する場合、ピンはどのように設定すれば良いですか?)を参照してください。