Как я могу хранить символы во флэш-памяти STM32F4 HAL с C ++?

Итак, у меня есть буфер:

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)

Это работает отлично. Есть ли способ хранить символы или целые числа?

0

Решение

Ты можешь использовать HAL_FLASH_Program с TYPEPROGRAM_BYTE написать один 1-байтовый символ.

Если ваши данные немного длинны (структура, строка …), вы также можете написать большую часть с помощью TYPEPROGRAM_WORD, или даже TYPEPROGRAM_DOUBLEWORD (По 8 байт за раз), а затем либо дополните одиночными байтами по мере необходимости, либо добавьте излишки к нулям. Это, конечно, будет немного быстрее, но, возможно, это не важно для вас.

1

Другие решения


По вопросам рекламы [email protected]