[英]How can I store characters in flash memory STM32F4 HAL with 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)
那很好。 现在有一种方法可以存储chars或int吗?
您可以将HAL_FLASH_Program
与TYPEPROGRAM_BYTE
一起使用,以写入一个1字节的字符。
如果您的数据有点长(一个结构,一个字符串...),您还可以使用TYPEPROGRAM_WORD
甚至TYPEPROGRAM_DOUBLEWORD
(一次8个字节)写入批量,然后根据需要以单个字节完成或填充多余的零。 那肯定会快一点,但是对您来说也许并不重要。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.