编译烧录完代码之后,按下复位键屏幕会进行刷新,数据不会丢失
·如果按下按键,进行页擦除,之后再按下复位键,发现屏幕不会再进行刷新,原因是程序已经被擦除,损毁,无法运行,此时可以打开STLINK unity观察FLASH中的数据,发现0800 0000起始的这一页的数据全部被擦除了。
但是此时OLED显示的值并没有消失,因为OLED内部具有显存,可以保存最后一次显示的内容,如果断电之后重新上电的话会发现OLED没有任何的显示,如果是进行全擦除也是同理
编程
·对于64K的闪存,最后一页的起始地址就是0800 FC00。在写入之前需要先执行页擦除。在myflsah.c处添加如下函数