Previous: 7.3.6. 書き込みデータの取得 |
Up: 7.3. バックアップレジスタの利用方法 |
Next: 7.4. タンパー検出機能 |
書き込む内容が取得できたら、バックアップレジスタに書き込みます。バックアップレジスタへの書き込みに使用するのがBKP_WriteBackupRegister関数(ライブラリ 13?5)です。
ライブラリ 13?5 BKP_WriteBackupRegister関数
関数プロトタイプ |
void BKP_WriteBackupRegister(uint16_t BKP_DR, uint16_t Data) |
|
動作 |
バックアップレジスタにデータを書き込みます。 |
|
引数 |
BKP_DR |
書き込み対象のバックアップレジスタを指定します。BKP_DRx型のマクロで指定し、xにはバックアップレジスタの番号が入ります。 |
Data |
書き込む内容を指定します。uint16_t型となります。 |
|
戻り値 |
無し |
このサンプルではメッセージの書き込みの際には、バックアップレジスタを上位8ビットと下位8ビットに分けて使用しています。
BKP_WriteBackupRegister(BKPDataReg[i+1], (((uint16_t)RxBuffer[i*2])<< 8) | ((uint16_t) RxBuffer[(i*2)+1]) ); |
最後に、次回起動時のため、忘れずに合い言葉も書き込んでおきます。
BKP_WriteBackupRegister(BKPDataReg[0], OPEN_SESAME); |
このサンプルではメッセージを記録しましたが、データであれば何でも記録できますので、ちょっとした記録用途には非常に便利です。
VBATでバックアップレジスタのみ(LSEは不使用)を保持している際の消費電流を計測したところ、0.29uAでした。これならかなりの長時間データを保存できますね。ボタン電池でも製品寿命が尽きるぐらいまでは持つのではないでしょうか。
Previous: 7.3.6. 書き込みデータの取得 |
Up: 7.3. バックアップレジスタの利用方法 |
Next: 7.4. タンパー検出機能 |