EEPROMに関するチャレンジ課題に挑戦してみましょう!
timeValueの問題点
前回のプログラムで、タイマー時間を管理する変数、timerValueは、EEPROMの読み出し、書き込みに合わせて1バイト(unsigned char)に変更してしまいました。timerValueを秒にする場合、timerValueの最大値は255ですので、255秒までしか設定できません。
実際のタイマーは1分単位の設定で問題ないと思いますので、timerValueを分として扱い、タイマー時間計測をする部分では、timerValue x 60秒をカウントすれば対応できます。
ただ、保存できる値が255まで、というのはちょっと心許ないです。
そこで、チャレンジ課題として、現在は1バイト(=8ビット)で保存しているデータを2バイト(=16ビット)で保存するように変更してみましょう。
現在のプログラムは
unsigned char timerValue;
と宣言していますので、これを
unsigned short timerValue;
の2バイト変数として、このEEPROMから読み出したデータをこの変数に代入、またこの変数の値をEEPROMに保存するようにプログラムを変更してみてください。
更新履歴
日付 | 内容 |
---|---|
2017.7.30 | 新規投稿 |
2018.12.2 | 誤記訂正 |