[[ファームウェア関数一覧>ファームウェア関数一覧#ab20bb5e]]
[[ファームウェア関数一覧>ファームウェア関数一覧#i5485a63]]
*RTC_SetPrescaler [#jb7f5932]
#contents
**ヘッダ宣言 [#s4e31186]

**関数プロトタイプ [#nba0f959]
 void RTC_SetPrescaler(uint32_t PrescalerValue)
**動作 [#f3548e47]
-RTCのプリスケーラ値を設定します。
**引数 [#ud56b9b6]
-PrescalerValue
プリスケーラの値。
**戻り値 [#p8581f39]
-無し
**場所 [#kba5152c]
**呼び出し関数 [#v6c7b73e]
-[[RTC_EnterConfigMode()>RTC_EnterConfigMode]]
-[[RTC_ExitConfigMode()>RTC_ExitConfigMode]]
**サンプル [#rb2b4f48]
RTCのクロック源はLSEであり、32.768KHzである。1カウント1秒になるようなRTCを得るためには1/32768に分周する必要があるので、この関数で分周率を設定する。RTCがカウントするのはプリスケーラがオーバーフローした時であるので、分周比から1を引いた値を設定する。つまり、32767 = 32768 - 1 である。

 /* Set RTC prescaler: set RTC period to 1sec */
 RTC_SetPrescaler(32767); /* RTC period = RTCCLK/RTC_PR = (32.768 KHz)/(32767+1) */
 /* Wait until last write operation on RTC registers has finished */
 RTC_WaitForLastTask();
**参照 [#i978994d]
-リアルタイムクロック&br;
[[RCC_APB1PeriphClockCmd]]→[[PWR_BackupAccessCmd]]→[[BKP_DeInit]]→[[RCC_LSEConfig]]→[[RCC_GetFlagStatus]]→&br;
[[RCC_RTCCLKConfig]]→[[RCC_RTCCLKCmd]]→[[RTC_WaitForSynchro]]→[[RTC_WaitForLastTask]]→[[RTC_ITConfig]]→[[RTC_SetPrescaler]]
-[[STMマイコン徹底入門 HP >http://miqn.net/periph/141.html]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS