如何使用C ++将字符存储在闪存STM32F4 HAL中?

时间:2015-06-11 09:50:12

标签: c++ flash-memory hal

所以我有一个缓冲区:

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)

完美无缺。现在有一种方法可以存储字符而不是内存吗?

1 个答案:

答案 0 :(得分:1)

您可以将HAL_FLASH_ProgramTYPEPROGRAM_BYTE一起使用来编写单个1字节字符。

如果您的数据有点长(结构,字符串...),您也可以使用TYPEPROGRAM_WORD或甚至TYPEPROGRAM_DOUBLEWORD(一次8个字节)编写批量,并且然后根据需要用单个字节完成或用零填充多余的字节。那肯定会快一点,但也许对你来说并不重要。