簡體   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