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


Previous: 8.2.1.5. RTCの有効化

Up: 8.2.1. RTCの初期化手順

Next: 8.2.1.7. RTC割込みの有効化


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

8.2.1.6. 同期待ち処理

 RTCは他の周辺回路と違い、RTCのレジスタから値を読み込む前に、RTCのレジスタに実際の状態が反映されるまで待つ必要があります。というのも、RTC回路の仕様上、RTCのレジスタに実際の状態が反映される(同期される)のは、RTCのクロックの立ち上がりエッジが発生した時だからです。ファームウェアにはこの「同期待ち」のための、RTC_WaitForSynchro関数(ライブラリ 14?6)が用意されています。

ライブラリ 14?6 RTC_WaitForSynchro関数

関数プロトタイプ

void RTC_WaitForSynchro(void )

 

動作

RTCレジスタがRTCクロックで更新されるまで待ちます。

引数

無し

戻り値

無し

 サンプルプログラムでは以下の部分となります。

/* Wait for RTC registers synchronization */

RTC_WaitForSynchro();

 またRTCのレジスタへの書き込みは、前に行った書き込みが完了した後でないと行えません。ファームウェアにはこちらの「待ち」のために使用するRTC_WaitForLastTask関数(ライブラリ 14?7)も用意されています。

ライブラリ 14?7 RTC_WaitForLastTask関数

関数プロトタイプ

void RTC_WaitForLastTask(void )

動作

最後に行ったRTCへの書き込み処理が完了するまで待ちます。

引数

無し

戻り値

無し

 サンプルプログラムでは以下の部分です。

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

RTC_WaitForLastTask();


Previous: 8.2.1.5. RTCの有効化

Up: 8.2.1. RTCの初期化手順

Next: 8.2.1.7. RTC割込みの有効化


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