マイコン入門spacer ad
トップページに戻る(マイコン徹底入門:STM32で始めるARM/Cortex-M3組み込み開発)
「マイコン徹底入門」とは? |  「マイコン徹底入門」を読む |  ダウンロード |  掲示板 |  筆者の自己紹介


Previous: 8.2.1.6. 同期待ち処理

Up: 8.2.1. RTCの初期化手順

Next: 8.2.1.8. カウント速度の設定


マイコン徹底入門:周辺回路編:STM32のペリフェラルを活用: 8. リアルタイムクロック: 8.2. リアルタイムクロックの利用: 8.2.1. RTCの初期化手順:

8.2.1.7. RTC割込みの有効化

 このサンプルプログラムではRTC割込を利用していますので、RTC_ITConfig関数(ライブラリ 14?8)RTC割込を有効にします。

ライブラリ 14?8 RTC_ITConfig関数

関数プロトタイプ

void RTC_ITConfig(uint16_t RTC_IT, FunctionalState NewState )

動作

指定したRTC割込を有効又は無効にします。

引数

RTC_IT

設定対象とするRTC割込の種類。以下のマクロを組み合わせて指定します。

RTC_IT_OW

オーバーフロー割込

RTC_IT_ALR

アラーム割込

RTC_IT_SEC

秒割込

NewState

割込の有効無効

ENABLE

有効にします。

DISABLE

無効にします。

戻り値

無し

 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_IRQChannelRTCの割込リクエストチャンネルである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. カウント速度の設定


このページはITと知的財産の法律情報「法務ネット」の管理人が制作・運営しています。
_Toc266801166