專利名稱:防止電子秤使用過程中數(shù)據(jù)丟失的方法
防止電子秤使用過程中數(shù)據(jù)丟失的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電子秤的技術(shù)領(lǐng)域,尤其涉及一種防止電子秤使用過程中數(shù)據(jù)丟失的方法。
背景技術(shù):
電子秤在使用過程中,會發(fā)生設(shè)置參數(shù)丟失現(xiàn)象,比如某個參數(shù)的設(shè)置值設(shè)置為3,過幾天或者幾個月后,發(fā)現(xiàn)該設(shè)置值變?yōu)镺。究其原因,是因為設(shè)置值被非正常修改過。其有兩種可能會導(dǎo)致設(shè)置值被非正常修改1.電子秤在上下電瞬間,由于電壓不穩(wěn),電子秤程序指針極有可能跑飛,導(dǎo)致非法修改參數(shù),使得電子秤數(shù)據(jù)丟失。2.電子秤在使用過程中,受到干擾如靜電、電磁輻射,程序指針也會跑飛,導(dǎo)致非法修改參數(shù),使得電子秤數(shù)據(jù)丟失。程序指針是一個很重要的概念,程序的執(zhí)行就是靠執(zhí)行代碼,每一條代碼都有一個指針指向JPCPU執(zhí)行代碼就是讓指針來引導(dǎo)執(zhí)行的方向。以上電子秤數(shù)據(jù)丟失的原因,不是人 為修改的,而是程序運行不正常造成的?,F(xiàn)有的電子秤軟件未帶有防止電子秤使用過程中數(shù)據(jù)丟失的功能。則用戶使用過程中很容易出現(xiàn)稱量的數(shù)據(jù)丟失或者不正確的現(xiàn)象。本發(fā)明要解決的就是通過在軟件上增加數(shù)據(jù)防丟失的方法用來防止數(shù)據(jù)的非法改寫,從而實現(xiàn)電子秤使用過程中數(shù)據(jù)防丟失的目的?,F(xiàn)有技術(shù)中提供了一種“可自動采集稱量數(shù)據(jù)的稱量系統(tǒng)”,見公開號為CN201974234U,
公開日為2011.09. 14的中國專利,其包括用于稱量物品重量的電子秤,所述的電子秤設(shè)有數(shù)據(jù)輸出端口,設(shè)有電腦主機,該電腦主機通過自帶的數(shù)據(jù)輸入端口與檢測儀的數(shù)據(jù)輸出端口相連接。該實用新型可自動采集稱量數(shù)據(jù)的稱量系統(tǒng)省去稱量時數(shù)據(jù)的記錄及手動錄入電腦的過程,稱量數(shù)據(jù)可直接導(dǎo)入電腦特定表格中,可避免人為失誤,提高了準確性。但該實用新型不能防止電子秤使用過程的數(shù)據(jù)丟失的現(xiàn)象。
發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問題,在于提供一種防止電子秤使用過程中數(shù)據(jù)丟失的方法,提高了電子秤的可靠性。本發(fā)明是這樣實現(xiàn)的一種防止電子秤使用過程中數(shù)據(jù)丟失的方法,包括如下步驟步驟10、電子秤開機,在電子秤程序中定義一第一變量、一第二變量;步驟20、初始化兩個變量的值為0 ;步驟30、電子秤程序進行初始化時,判斷第一變量的值是否為0 ;否,則電子秤程序指針發(fā)生偏移,返回步驟20 ;是,則進入步驟40 ;步驟40、將所述第一變量的值加上任意一個大于0的數(shù)值,電子秤程序進入稱量時,判斷第一變量的值是否為所述數(shù)值,否,則電子秤程序指針發(fā)生偏移,返回步驟20 ;是,則將第一變量的值再加上所述數(shù)值,并進入步驟50 ;步驟50、判斷電子秤是否有按鍵按下,是,則響應(yīng)按鍵操作,并進入步驟60 ;所述按鍵操作中,進行電子秤校準、修改設(shè)置參數(shù)后;則需將操作后的數(shù)據(jù)存入電子秤的存儲器EEPROM中;否,則直接進入步驟60 ;步驟60、判斷第一變量的值是否為所述數(shù)值的2倍,否,則返回步驟20 ;是,則將第一變量的值再加上所述數(shù)值,并進入步驟70 ;步驟70、電子秤的CPU判斷是否有操作 后的數(shù)據(jù)需保存,是,則先把操作后的數(shù)據(jù)進行按字節(jié)異或校驗形成預(yù)存儲校驗碼,再將第二變量置1,根據(jù)需要保存數(shù)據(jù)的類型給定需要寫入的地址并調(diào)用寫EEPROM函數(shù)進行寫操作,并進入步驟80 ;否,則直接進入步驟80 ;步驟80、判斷電子秤A/D轉(zhuǎn)換器是否收到被測物的數(shù)據(jù),是,則采集被測物的數(shù)據(jù),并根據(jù)EEPROM寫入的設(shè)置參數(shù),來獲取被測物的稱重;進入步驟90 ;否,則直接進入步驟 100 ;步驟90、刷新電子秤顯示屏,并顯示被測物的稱重或者設(shè)置參數(shù)值;步驟100、判斷第一變量的值是否為所述數(shù)值的3倍,是,則將第一變量的值清0,并返回步驟40 ;否,則返回步驟20。本發(fā)明具有如下優(yōu)點本發(fā)明提供一種防止電子秤使用過程中數(shù)據(jù)丟失的方法,通過在電子秤程序中定義兩個變量,變量一和變量二。變量一用于標志電子秤程序是否按照正常的順序執(zhí)行,是,則將變量值進行按順序遞增,否,則說明程序指針發(fā)生偏移,將引導(dǎo)程序復(fù)位,從電子秤的開始程序進行重新執(zhí)行,防止發(fā)生意外錯誤;而程序執(zhí)行過程中遇到要將數(shù)據(jù)寫入EEPROM時,在EEPROM函數(shù)的寫操作中通過變量二、校驗等方式進行各種判斷,如果判斷出來,非正常的寫操作,則結(jié)束寫EEPROM操作。正常的寫操作,則將數(shù)據(jù)寫入EEPROM中。本發(fā)明可以有效防止電子秤在使用過程中造成數(shù)據(jù)非法改寫,導(dǎo)致數(shù)據(jù)丟失的現(xiàn)象,提高電子秤的可靠性。
圖I為本發(fā)明方法流程示意圖。圖2為本發(fā)明調(diào)用EEPROM函數(shù)進行EEPROM寫的操作的流程示意圖。
具體實施方式本發(fā)明分為2個部分,分別主程序指針跑飛捕獲以及存儲器EEPROM寫函數(shù)的防誤寫入。其中,電子秤程序指針跑飛捕獲的主要技術(shù)特征是當檢測到電子秤程序不是按照正常的順序執(zhí)行了,引導(dǎo)程序復(fù)位,從電子秤的開始程序進行重新執(zhí)行,防止發(fā)生意外錯誤;而EEPROM寫函數(shù)的防誤寫入的主要技術(shù)特征在于啟動EEPROM寫操作后,進行各種判斷,如果判斷出來,非正常的寫操作,則結(jié)束寫EEPROM操作。主程序在執(zhí)行時,判斷到需要寫EEPROM時,調(diào)用EEPROM寫函數(shù)。請參閱圖I所示,本發(fā)明的一種防止電子秤使用過程中數(shù)據(jù)丟失的方法,其特征在于包括如下步驟步驟10、電子秤開機,在電子秤程序中定義一第一變量如step、第二變量如bWrite ;步驟20、初始化兩個變量的值為0 ;
步驟30、電子秤程序進行初始化時,判斷第一變量的值是否為0 ;否,則電子秤程序指針發(fā)生偏移,返回步驟20 ;是,則說明電子秤程序是從開始按順序往下執(zhí)行的,進入步驟40 ;步驟40、將所述第一變量的值加上任意一個大于0的數(shù)值(如數(shù)值為2),電子秤程序進入稱量時,判斷第一變量的值是否為所述數(shù)值(即step是否等于2),否,則電子秤程序指針發(fā)生偏移,返回步驟20 ;是,則將第一變量的值再加上所述數(shù)值(即此時step=4),并進入步驟50 ;步驟50、判斷電子秤是否有按鍵按下,是,則響應(yīng)按鍵操作,并進入步驟60 ;所述按鍵操作中,進行電子秤校準、修改設(shè)置參數(shù)后,則需將操作后的數(shù)據(jù)存入電子秤的存儲器EEPROM中;否,則直接進入步驟60 ;步驟60、判斷第一變量的值是否為所述數(shù)值的2倍(即step是否等于4),否,則返回步驟20 ;是,則將第一變量的值再加上所述數(shù)值(即此時st印=6),并進入步驟70 ;步驟70、電子秤的CPU判斷是否有操作后的數(shù)據(jù)需保存,是,則先把操作后的數(shù)據(jù)·進行按字節(jié)異或校驗形成預(yù)存儲校驗碼,再將第二變量置1,根據(jù)需要保存數(shù)據(jù)的類型給定需要寫入的地址(即將保存數(shù)據(jù)進行綁定一個寫入的地址)并調(diào)用寫EEPROM函數(shù)進行寫操作,并進入步驟80 ;否,則直接進入步驟80 ;所述寫入的地址范圍為0x000(T0xFFFF ;步驟80、判斷電子秤A/D轉(zhuǎn)換器是否收到被測物的數(shù)據(jù),是,則采集被測物的數(shù)據(jù),并根據(jù)EEPROM寫入的設(shè)置參數(shù),來獲取被測物的稱重;進入步驟90 ;否,則直接進入步驟 100 ;步驟90、刷新電子秤顯示屏,并顯示被測物的稱重或者設(shè)置參數(shù)值;步驟100、判斷第一變量的值是否為所述數(shù)值的3倍(即St印是否等于6),是,則將第一變量的值清0,并返回步驟40,進行新一輪的檢測循環(huán);否,則返回步驟20。如圖2所示,其中,所述步驟70中根據(jù)需要保存數(shù)據(jù)的類型給定需要寫入的地址并調(diào)用寫EEPROM函數(shù)進行寫操作具體包括如下步驟步驟71、將需寫入EEPROM的數(shù)據(jù)(即需要保存的數(shù)據(jù))進行按字節(jié)異或校驗形成一個校驗碼,將所述預(yù)存儲校驗碼和該校驗碼進行比較;如果一致,則校驗通過,進入步驟72 ;不一致,則校驗失敗,結(jié)束EEPROM寫的操作,結(jié)束流程;步驟72、判斷第二變量的值是否為1,否,則表示電子秤程序異常進入EEPROM函數(shù),結(jié)束EEPROM寫的操作,結(jié)束流程;是,則進入步驟73 ;步驟73、判斷所述寫入地址是否超出所述存儲器EEPROM的存儲地址范圍,是,則電子秤程序異常進入EEPROM函數(shù),結(jié)束EEPROM寫的操作,結(jié)束流程;否,則進入步驟74 ;所述存儲器EEPROM的存儲地址范圍是0x000(T0x00FF ;步驟74、根據(jù)所述寫入地址在存儲器EEPROM中查找對應(yīng)的存儲地址,并將所述操作后的數(shù)據(jù)寫入該存儲地址對應(yīng)的EEPROM的單元中;步驟74. I、判斷操作后的數(shù)據(jù)是否全部寫完,是,則進入步驟75 ;否,則將所述寫入地址加I,并提取下一個操作后的數(shù)據(jù)進行EEPROM寫的操作;步驟75、EEPROM寫的操作結(jié)束后,將所述第二變量的值置O。這里值得一提的是剛開始按照正常啟動存儲器EEPROM寫操作時,如果存儲器EEPROM是通過外圍I2C總線的連接的,則啟動I2C總線;如果存儲器EEPROM是電子秤內(nèi)部的flash器件,則按具體flash器件的時序要求寫入相應(yīng)的字節(jié),如依次寫入0x5A, 0xA5 ;來啟動存儲器EEPROM。以上所述僅為本發(fā)明的較佳實施例,凡依本發(fā)明申請專利范圍所做的均等變化與 修飾,皆應(yīng)屬本發(fā)明的涵蓋范圍。
權(quán)利要求
1.ー種防止電子秤使用過程中數(shù)據(jù)丟失的方法,其特征在于包括如下步驟 步驟10、電子秤開機,在電子秤程序中定義ー第一變量、一第二變量; 步驟20、初始化兩個變量的值為O ; 步驟30、電子秤程序進行初始化時,判斷第一變量的值是否為O ;否,則電子秤程序指針發(fā)生偏移,返回步驟20 ;是,則進入步驟40 ; 步驟40、將所述第一變量的值加上任意一個大于O的數(shù)值,電子秤程序進入稱量時,判斷第一變量的值是否為所述數(shù)值,否,則電子秤程序指針發(fā)生偏移,返回步驟20 ;是,則將第一變量的值再加上所述數(shù)值,并進入步驟50 ; 步驟50、判斷電子秤是否有按鍵按下,是,則響應(yīng)按鍵操作,并進入步驟60 ;所述按鍵操作中,進行電子秤校準、修改設(shè)置參數(shù)后,則需將操作后的數(shù)據(jù)存入電子秤的存儲器EEPROM中;否,則直接進入步驟60 ; 步驟60、判斷第一變量的值是否為所述數(shù)值的2倍,否,則返回步驟20 ;是,則將第一變量的值再加上所述數(shù)值,并進入步驟70 ; 步驟70、電子秤的CPU判斷是否有操作后的數(shù)據(jù)需保存,是,則先把操作后的數(shù)據(jù)進行按字節(jié)異或校驗形成預(yù)存儲校驗碼,再將第二變量置1,根據(jù)需要保存數(shù)據(jù)的類型給定需要寫入的地址并調(diào)用寫EEPROM函數(shù)進行寫操作,并進入步驟80 ;否,則直接進入步驟80 ;步驟80、判斷電子秤A/D轉(zhuǎn)換器是否收到被測物的數(shù)據(jù),是,則采集被測物的數(shù)據(jù),并根據(jù)EEPROM寫入的設(shè)置參數(shù),來獲取被測物的稱重;進入步驟90 ;否,則直接進入步驟100 ; 步驟90、刷新電子秤顯示屏,并顯示被測物的稱重或者設(shè)置參數(shù)值; 步驟100、判斷第一變量的值是否為所述數(shù)值的3倍,是,則將第一變量的值清0,并返回步驟40 ;否,則返回步驟20。
2.根據(jù)權(quán)利要求I所述的防止電子秤使用過程中數(shù)據(jù)丟失的方法,其特征在于所述步驟70中根據(jù)需要保存數(shù)據(jù)的類型給定需要寫入的地址并調(diào)用寫EEPROM函數(shù)進行寫操作具體包括如下步驟 步驟71、將需寫入EEPROM的數(shù)據(jù)進行按字節(jié)異或校驗形成ー個校驗碼,將所述預(yù)存儲校驗碼和該校驗碼進行比較;如果一致,則校驗通過,進入步驟72 ;不一致,則校驗失敗,結(jié)束EEPROM寫的操作,結(jié)束流程; 步驟72、判斷第二變量的值是否為1,否,則表示電子秤程序異常進入EEPROM函數(shù),結(jié)束EEPROM寫的操作,結(jié)束流程;是,則進入步驟73 ; 步驟73、判斷所述寫入地址是否超出所述存儲器EEPROM的存儲地址范圍,是,則電子秤程序異常進入EEPROM函數(shù),結(jié)束EEPROM寫的操作,結(jié)束流程;否,則進入步驟74 ; 步驟74、根據(jù)所述寫入的地址在存儲器EEPROM中查找對應(yīng)的存儲地址,并將所述操作后的數(shù)據(jù)寫入該存儲地址對應(yīng)的EEPROM的單元中; 步驟75、EEPROM寫的操作結(jié)束后,將所述第二變量的值置O。
3.根據(jù)權(quán)利要求2所述的防止電子秤使用過程中數(shù)據(jù)丟失的方法,其特征在于在所述步驟74和步驟75之間進ー步包括 步驟74. I、判斷操作后的數(shù)據(jù)是否全部寫完,是,則進入步驟75 ;否,則將所述寫入的地址加1,并提取下ー個操作后的數(shù)據(jù)進行EEPROM寫的操作。
全文摘要
本發(fā)明提供一種防止電子秤使用過程中數(shù)據(jù)丟失的方法,所述方法為在電子秤程序中定義兩個變量,變量一和變量二。變量一用于標志電子秤程序是否按照正常的順序執(zhí)行,是,則將變量值進行按順序遞增,否,則說明程序指針發(fā)生偏移,將引導(dǎo)程序復(fù)位,從開始程序進行重新執(zhí)行,防止發(fā)生意外錯誤;而程序中要將數(shù)據(jù)寫入EEPROM時,在EEPROM寫操作中通過變量二、校驗等方式進行各種判斷,如果判斷出來,非正常的寫操作,則結(jié)束寫EEPROM操作。正常的寫操作,則將數(shù)據(jù)寫入EEPROM中。本發(fā)明可以有效防止電子秤在使用過程中造成數(shù)據(jù)非法改寫,導(dǎo)致數(shù)據(jù)丟失的現(xiàn)象,提高電子秤的可靠性。
文檔編號G01G23/42GK102735323SQ20121017595
公開日2012年10月17日 申請日期2012年5月31日 優(yōu)先權(quán)日2012年5月31日
發(fā)明者徐平, 溫泳榮, 鄭崇蘇 申請人:福州科迪電子技術(shù)有限公司