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


Previous: 8.4.1. アラーム値の設定

Up: 8.4. アラーム機能

Next: 8.5. タンパーピン出力


マイコン徹底入門:周辺回路編:STM32のペリフェラルを活用: 8. リアルタイムクロック: 8.4. アラーム機能:

8.4.2. 割込みハンドラの作成

 アラーム発生時は、RTC割込みのハンドラ(RTC_IRQHandler)が呼び出されますので、その中で割込みの発生原因がアラームかどうかを確認します。ちょっと紛らわしいのですが、RTCアラーム割込みは後述のEXTIと併用する場合専用の割込みです。アラーム発生時には呼ばれません。このことを確認するため、サンプルプログラムではRTCアラーム割込みのハンドラ(RTCAlarm_IRQHandler)も記述しています。NVIC の設定でも、RTCアラーム割込みの割り込み優先度をRTC割込みの割り込み優先度よりも高く設定しています。しかしRTCAlarm_IRQHandlerは一切実行されませんので、確認してみてください。

 このサンプルではRTC割込みのハンドラに以下のように割込み処理を記述しています。処理の内容としては割込みがアラーム割込みであることを確認の上で、ペンディングフラグをクリアして、メインルーチンで使用するフラグ用変数に値を設定しています。

if (RTC_GetITStatus(RTC_IT_ALR) != RESET)

?{

?? /* Wait until last write operation on RTC registers has finished */

?? RTC_WaitForLastTask();

?? /* Clear the RTC Second interrupt */

?? RTC_ClearITPendingBit(RTC_IT_ALR);

?? Alarm = 1;

?}


Previous: 8.4.1. アラーム値の設定

Up: 8.4. アラーム機能

Next: 8.5. タンパーピン出力


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