存储器被组织为程序存储器模块数据EEPROM模块和信息块。
程序存储器块分为4 KB的扇区每个扇区都是进一步分成16页,每页256字节
该操作用于擦除程序存储器中的页面(64个字)。要做到这一点:
●设置FLASH_PECR寄存器中的PROG位选择程序页面
●将0x写入程序页的第一个字以擦除
注意:该功能可以从两个存储体RAM或外部存储器执荇。
这个操作用来写一个字到程序存储器假设它是
先前被删除。要做到这一点:
●将一个字写入程序存储器中的有效地址
代码:(注释刪了,上传后全是乱码实测可行)
XP之前一直使用的STM32F030C8T6單片机来做开发因需求更改更换了一个新型号STM32L051C8T6,主要是用到了其低功耗特性,本以为直接把代码拷贝一下就可以使用了结果是太天真了,STM32F030C8T6使用的库是STM32F0_StdPeriph_Lib而STM32L051C8T6使用的库是STM32L0xx_HAL_Driver两者的差别还是很大的而且官方也推荐使用后者,没办法重新学习一下吧。。参考其例程磕磕绊绊的勉強可以写一个工程了这里写一下有关UART
在使用STM32L151的时候遇到 GPIO_PinAFConfig(xx,xx,xx)函数无效,有时候还有导致程序HardFault的问题之前遇到就使用直接寄存器操作避免了这个问题,这次出现了Hardfault我想这得找找原因了,不然每次都得修改寄存器操作麻烦的很。文件“stm32l1xx_gpio.c”中关于GPIO_PinAFConfig
工作中使用STM32F407ZGT6这块芯片开发項目内部Flash有1M之多,出于数据存储需要而外部没有拓展EEPROM,就想着将数据存入Flash中因此研究了一下STM32F4读写内部Flash的一些操作。以下是关于Flash介绍部分来自互联网: 【STM32F4 内部Flash的一些信息】STM32F407ZGTx的内部Flash的地址是:0x,大小是0x写Flash的时候,如果发现写入地址的Flash没有被擦出数据将不会写入。Flash的擦除操作只能按Sector进行。不能单独擦除一个地址上的数据因此在写数据之前需要将地址所在Sector的所有数据擦除。在STM32F4的编程