淺析.Net Micro Framework的數據永久存儲
.Net Micro Framework不支持文件系統(目前該項功能正在研發之中),所以無法像Windows和windows ce平臺那樣把需要***保存的數據保存到文件之中。內存中保存的數據只要系統一掉電,所有的數據也都消失了,這對一些需要保存參數的應用來說真是不妙。
這幾天在研究MF觸摸屏功能時就遇到該問題,因為觸摸屏校準之后,需要保存校準后的參數,否則MF一重啟,難道還需要重新校準不成?
感謝Donald Thompson 和 Rob S. Miles,從他們的大作上找到了問題的解決辦法。辦法就是把對象保存到Flash(EEPROM)中(有點像對象的二進制序列化)。
下面是我整理的示例代碼(實現比較簡單,但總覺得不太正規,不知道能存多大,也搞不清楚數據到底存放在什么位置了。):
圖1建立存儲類
圖2建立存儲函數
圖3Bug預見處理
圖4保存數據
圖5存儲數據
以上代碼在Digi開發板上測試成功,斷電之后,再上電,保存的數據確實沒有丟失。
MSDN中相關函數的說明如下:
圖6繼承所用的數據結構
圖7Field的設置
圖8Properties的設置
圖9方法的設置
【編輯推薦】