繁体   English   中英

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

[英]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_ProgramTYPEPROGRAM_BYTE一起使用,以写入一个1字节的字符。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM