Так что я не могу записать во внутреннюю флеш-память сразу после ее стирания. Если после операции записи нет операции стирания, я могу. Есть идеи о том, почему?Не удается записать во флэш-память после стирания
Функция программирования возвращает значение «успешной записи», но при просмотре памяти данные не записываются. Вот код:
uint32_t pageAddress = 0x08008000;
uint16_t buffer = 0xAAAA;
HAL_FLASH_Unlock();
FLASH_PageErase(pageAddress);
HAL_FLASH_Program(TYPEPROGRAM_HALFWORD, pageAddress, buffer);
HAL_FLASH_Lock();
Я попытался блокировкой памяти между стиранием и программированием его, создавая задержку между этими операциями, что не помогает.
ли флэш-стирания/write call s не возвращает информацию о статусе/ошибке? –
@ FLASH_PageErase()'MartinJames не работает. «HAL_FLASH_Program()» делает, и это «HAL_OK», независимо от того, была ли запись успешной или нет. –
Что произойдет, если вы просто замените 'HAL_FLASH_Program()' на 'FLASH_Program_HalfWord()'? – ElderBug