如果单片机没有ISP功能,那么只能取下单片机,利用编程器,可以擦除有EEPROM的单片机存储器,用紫外线擦除具有EPROM的存储器。
看单片机PDF,STC的写之前一定要擦除,因为要为空时才可对其编程,写(因为只有扇区擦除才能把0变为1,若这个扇区原本有0的话你不擦出就不是覆盖了而是混乱!!!)。一个扇区可以写很多数据的,但是在每写一个数据之前要把其他的数据都先读出来保存一份到RAM,(定义几个变量,比如,a=eeprom_read(0x4000) b=eeprom_read(0x4001))读出来后执行 eeprom_eares(0x4000)也就是擦除这个扇区,等擦除 *** 作执行完后和新数据一起写入这个扇区,如下:\x0d\x0aeeprom_write(0x4000,a)//读出来的数据写回去\x0d\x0aeeprom_write(0x4001,b)\x0d\x0aeeprom_write(0x4002,c)\x0d\x0a这样c就和a,b一起写到这个扇区了,写a的时候同样要把b,c读出来,写b的时候要把a,c读出来。\x0d\x0a很多单片机有64个扇区,够用的话尽量一个扇区写一个数据,这样程序写起来比较方便,\x0d\x0a其他类型的单片机没试验不知道,外部eeprom情况又不一样欢迎分享,转载请注明来源:内存溢出
评论列表(0条)