Switch clock by external input.
[GUI setting example]
Clock Generator |
Used | |||
CGC |
Used | |||
Operation mode setting |
High speed min mode 4.0(V) ≦ VDD ≦ 5.5(V) | |||
Main system clock (fMAIN) setting |
High-speed OCO(fIH) | |||
fIH Operation |
Used | |||
fIH Frequency |
64(MHz) | |||
fMX Operation |
Used | |||
High-speed system clock setting |
X1 oscillation(fX) | |||
fMX frequency |
4(MHz) | |||
Stable time |
65536 (2^18/fX) (μs) | |||
fPLL operation |
Unused | |||
Main/PLL select clock (fMP) setting |
64 (fMAIN)(MHz) | |||
fSUB operation |
Used | |||
Subsystem clock (fSUB) setting |
XT1oscillation(fXT) | |||
fSUB frequency |
32.768(kHz) | |||
XT1 oscillator oscillation mode setting |
Low power consumption | |||
STOP |
Subsystem clock in STOP, HALT mode setting | |||
Internal low-speed oscillation clock (fIL) setting |
15(kHz) | |||
Low speed on-chip oscillatior clock (fSL) setting |
32.768 (fSUB)(kHz) | |||
WDT operation clock (fWDT) setting |
15(kHz) | |||
RTCoperation clock setting |
32.768 (fSUB)(kHz) | |||
Timer RD operation clock |
64000 (fIH)(kHz) | |||
CPU and peripheralclock setting (fCLK) |
32000 (fMP/2) (kHz) |
Interrupt |
Used | |||
INTP |
Used | |||
INTP0 |
||||
Valid edge |
Falling | |||
Priority |
Low |
[API setting example]
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 */
}