使用例

外部入力でクロックを切り替える

 

[GUI設定例]

クロック発生回路

使用する

CGC

使用する

動作モード設定

高速メイン・モード 4.0(V) VDD 5.5(V)

メイン・システム・クロック(fMAIN)設定

高速オンチップオシレータクロック(fIH)

fIH 動作

使用する

fIH 周波数

64(MHz)

fMX 動作

使用する

高速システム・クロック設定

X1発振(fX)

fMX 周波数

4(MHz)

発振安定時間

65536 (2^18/fX)(μs)

fPLL 動作

使用しない

メイン/PLL 選択クロック(fMP)設定

64 (fMAIN)(MHz)

fSUB 動作

使用する

サブシステム・クロック(fSUB)設定

XT1発振(fXT)

fSUB 周波数

32.768(kHz)

XT1発振回路の発振モード選択

低消費発振

STOP

HALTモード時のクロック供給設定

低速内蔵発振クロック(fIL)設定

15(kHz)

低速オンチップ・オシレータクロック(fSL)設定

32.768 (fSUB)(kHz)

WDT専用低速オンチップ・オシレータ・クロック(fWDT)設定

15(kHz)

RTC動作クロック

32.768 (fSUB)(kHz)

タイマRD動作クロック

64000 (fIH)(kHz)

CPUと周辺クロック(fCLK)

32000 (fMP/2)(kHz)

 

割り込み

使用する

INTP

使用する

INTP0

有効エッジ

立下りエッジ

優先順位

 

 

[API設定例]

r_main.c

void main(void)

{

       R_MAIN_UserInit();

       /* Start user code. Do not edit comment generated here */

       /* Clear INTP0 interrupt flag and enable interrupt */

       R_INTC0_Start();

 

       while (1U)

       {

              ;

       }

       /* End user code. Do not edit comment generated here */

}

 

r_cg_intc_user.c

/* Start user code for include. Do not edit comment generated here */

#include "r_cg_cgc.h"

/* End user code. Do not edit comment generated here */

 

/* Start user code for global. Do not edit comment generated here */

volatile uint8_t g_cgc_f = 0U;

/* End user code. Do not edit comment generated here */

 

static void __near r_intc0_interrupt(void)

{

       /* Start user code. Do not edit comment generated here */

       /* Change clock generator operation mode */

       if (0U == g_cgc_f)

       {

              if (MD_OK == R_CGC_Set_ClockMode(SUBXT1CLK))

              {

                     g_cgc_f = 1U;

              }

       }

       else

       {

              if (MD_OK == R_CGC_Set_ClockMode(HIOCLK))

              {

                     g_cgc_f = 0U;

              }

       }

       /* End user code. Do not edit comment generated here */

}