
 
 
| Previous: 8.2.1.6. 同期待ち処理 | Up: 8.2.1. RTCの初期化手順 | Next: 8.2.1.8. カウント速度の設定 | 
このサンプルプログラムではRTC割込を利用していますので、RTC_ITConfig関数(ライブラリ 14?8)でRTC割込を有効にします。
ライブラリ 14?8 RTC_ITConfig関数
| 関数プロトタイプ | void RTC_ITConfig(uint16_t RTC_IT, FunctionalState NewState ) | |||||||
| 動作 | 指定したRTC割込を有効又は無効にします。 | |||||||
| 引数 | RTC_IT | 設定対象とするRTC割込の種類。以下のマクロを組み合わせて指定します。 
 | ||||||
| NewState | 割込の有効無効 
 | |||||||
| 戻り値 | 無し | |||||||
RTC割込はRTCがカウントをしたとき(秒割込)、アラームが発生したとき(アラーム割込)、カウンタオーバーフロー(オーバーフロー割込)となったときに発生します。このサンプルプログラムでは秒割込を使用しますので、RTC_IT_SECを指定してRTC_ITConfig関数を実行します。なお先ほどお約束どおり、RTCは書き込みの前に「待ち」が必要です。RTC_ITConfig関数への書き込み処理ですから、次の書き込み動作のために、予めRTC_WaitForLastTask関数を実行しておきます。
| /* Enable the RTC Second */ RTC_ITConfig(RTC_IT_SEC, ENABLE); /* Wait until last write operation on RTC registers has finished */ RTC_WaitForLastTask(); | 
NVICの設定ですが、NVIC_IRQChannelをRTCの割込リクエストチャンネルであるRTC_IRQnで設定します。
| void NVIC_Configuration(void) { ? NVIC_InitTypeDef NVIC_InitStructure; 
 ? /* Enable the RTC Interrupt */ ? NVIC_InitStructure.NVIC_IRQChannel = RTC_IRQn; ? NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; ? NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; ? NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; ? NVIC_Init(&NVIC_InitStructure); } | 
| Previous: 8.2.1.6. 同期待ち処理 | Up: 8.2.1. RTCの初期化手順 | Next: 8.2.1.8. カウント速度の設定 |