所以我有一个缓冲区:
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 :(得分:1)
您可以将HAL_FLASH_Program
与TYPEPROGRAM_BYTE
一起使用来编写单个1字节字符。
如果您的数据有点长(结构,字符串...),您也可以使用TYPEPROGRAM_WORD
或甚至TYPEPROGRAM_DOUBLEWORD
(一次8个字节)编写批量,并且然后根据需要用单个字节完成或用零填充多余的字节。那肯定会快一点,但也许对你来说并不重要。