たまには全くハードに無関係なネタということで、プログラムでEEPROMにデータを書いてみた。
mikroBASICには、EEPROM_Write、EEPROM_Readというルーチンが用意されている。
そのプログラム例からEEPROM_Writeを用いた部分だけを抜き出して書き直したプログラムを走らせてみる。
Write EEPROM 001
実行後にEEPROMのエリアをPICKit3 Programmerで見てみると
確かに先頭から32バイト分、0から31(0x00から0x1F)までの値が書き込まれていた。
あと、0x50に0x55も書き込まれていたが、0x02に0xAAはどうなったんだろう。
詳細は良く分かっていないが、0~255までの値を128個記録できる、ってことでいいのかな。
5分毎の温度のデータとかなら10時間分データ収集できるわけだが、データシートには、
High Endurance FLASH/EEPROM Cell
– 100,000 write FLASH endurance
– 1,000,000 write EEPROM endurance
– FLASH/Data EEPROM Retention: > 40 years
とある。
100万回書けて、40年間保持できるって、すげえな。