Итак, у меня есть буфер:
uint32_t buff[2];
buff[0] = 12;
buff[1] = 13;
...
Я могу записать это на флэш-память с помощью метода:
HAL_FLASH_Program(TYPEPROGRAM_WORD, (uint32_t)(startAddress+(i*4)), *buff)
Определение HAL_FLASH_Program
является:
HAL_StatusTypeDef HAL_FLASH_Program(uint32_t TypeProgram, uint32_t Address, uint64_t Data)
Это работает отлично. Есть ли способ хранить символы или целые числа?
Ты можешь использовать HAL_FLASH_Program
с TYPEPROGRAM_BYTE
написать один 1-байтовый символ.
Если ваши данные немного длинны (структура, строка …), вы также можете написать большую часть с помощью TYPEPROGRAM_WORD
, или даже TYPEPROGRAM_DOUBLEWORD
(По 8 байт за раз), а затем либо дополните одиночными байтами по мере необходимости, либо добавьте излишки к нулям. Это, конечно, будет немного быстрее, но, возможно, это не важно для вас.