对单片机程序升级,对于新的产品数据出厂之后会对EE或者铁电中的数据进行初始化,之后使用数据正常计算。
但是如果现场产品已经使用一段时间,添加新功能后,只想要程序首次上电对EE数据进行一次特殊操作,比如一次求和……下次上电时不再进行该操作,
1、在EE中找一个未使用的地址,出厂时改地址初始化为0XFA;上电之后判断该地址数据是否为0XFA,是则证明是新的程序不需要进行特殊的操作。如果读出该地址的数据不是0XFA则证明该产品为升级后首次上电,对其进行一次数据的特殊操作,之后对该EE地址进行写数据为0XFA。再次上电就不会对其同一操作进行多次。 问题是每次上电都要进行一次EE的读取和判断。
2、可以对一数据进行校验,在EE中存储数据位和校验位;初始化出厂值都为0,上电时判断数据的校验和EE地址的校验值是否相等,相等则说明为新产品;不相等说明为程序升级首次上电,计算数据的校验并把校验值写到EE对应的校验位。