使用例
初回アラーム割り込みから同時間内は10分おきに割り込みを発生させる
[GUI設定例]
リアルタイム・クロック |
使用する | |||
RTC |
使用する | |||
リアルタイムクロック動作設定 |
使用する | |||
時間制の選択 |
24時間制 | |||
リアルタイムクロック初期値設定 |
使用する 04/01/2018 00:00:00 | |||
RTC1HZ端子の出力(1 Hz)許可 |
使用しない | |||
アラーム検出機能 |
使用する | |||
アラーム検出初期値 |
使用する | |||
曜日 |
日曜日 木曜日 月曜日 金曜日 火曜日 土曜日 水曜日 | |||
時 : 分 |
午前 07:00 | |||
アラーム割り込み機能(INTRTC) |
使用する | |||
定周期割り込み機能(INTRTC) |
使用しない | |||
優先順位(INTRTC) |
低 |
[API設定例]
r_main.c
void main(void)
{
R_MAIN_UserInit();
/* Start user code. Do not edit comment generated here */
/* Enable the real-time clock */
R_RTC_Start();
/* Start the alarm operation */
R_RTC_Set_AlarmOn();
while (1U)
{
;
}
/* End user code. Do not edit comment generated here */
}
r_cg_rtc_user.c
/* Start user code for global. Do not edit comment generated here */
volatile rtc_alarm_value_t alarm_val;
/* End user code. Do not edit comment generated here */
static void r_rtc_callback_alarm(void)
{
/* Start user code. Do not edit comment generated here */
/* Get alarm value */
R_RTC_Get_AlarmValue((rtc_alarm_value_t *)&alarm_val);
if ((alarm_val.alarmwm + 0x10U) <= 0x59U)
{
alarm_val.alarmwm += 0x10U;
/* Set alarm value */
R_RTC_Set_AlarmValue(alarm_val);
}
else
{
/* Stop the alarm operation */
R_RTC_Set_AlarmOff();
}
/* End user code. Do not edit comment generated here */
}