我试着给闪存写一个值,一开始我写了0x0000到我在代码中提到的位置,它是成功编写的,但在那之后,我第一次不能覆盖或擦除position.So中的数据,我可以成功地写入闪存,但是在那之后,我不能在那个位置写入(); // unlock the flash memory in ST status=HAL_FLASH_Program
我正在尝试将几个字节的数据写入STM32F410CBT3闪存扇区4(大小为64 in ),我选择了这个扇区,并假定使用该扇区是安全的,因为代码大约为30 in(可能驻留在扇区1和2中)。在进入闪存写入序列之前,我停止了LPTIM1中断,因为我认为,如果LPTIM1中断恰好发生在微控制器重写其闪存时,则会引起问题。的地方,闪存会被擦除。之后,它将再次转到0xFF,表示没有编写任何块/节。此时,代码已经在其HardFault处理程序中了。如果代码被认为是有效的,那么扇区将从??转到
FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR);HAL_FLASH_Programsend to the OLED with I2Csprintf(buf3, "%d", counter4);
我想要将变量counter写入闪存第一个闪存
作为测试,我尝试将一个简单的数字写入闪存并检索它。一旦成功,我会将其扩展到6个有符号的值。STM32L476RG uint64_t data = 88;HAL_FLASH_Unlock();
if (HAL_FLASH_Program根据我所读到的内容,我应该能够像现在这样访问闪存。但是它没有检索到我期望的值。