使用例
外部入力でクロックを切り替える
[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 */
}