1

所以我有一个缓冲区:

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)

这完美无缺。现在有没有办法可以存储字符或整数?

4

1 回答 1

1

您可以使用HAL_FLASH_ProgramwithTYPEPROGRAM_BYTE来编写单个 1 字节字符。

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

于 2015-06-11T10:05:26.797 回答