STM32CubeMX開發之路 8Flash讀寫

2022-06-08 01:27:09 字數 1384 閱讀 9058

讀寫乙個資料的例項:

國外老哥的程式:

直接貼**了,說明都在**裡:

下面是c檔案:

//下面這些include 檔案用的時候都包含進去;

#include "flash_read_write.h"

#include "stm32f1xx_hal.h"

#include "stdio.h"

#include "string.h"

//這個位址是stm32f103c8t6的最後一頁的首位址

uint32_t addr = 0x08007000;

/*flash寫入程式*/

uint32_t flash_write_data (uint32_t startpageaddress, uint32_t * data_32)

//乙個字乙個字的寫入flash

startpageaddress=0x08007000;

while (sofar//給flash上鎖

hal_flash_lock();

return 0;

}void flash_read_data (uint32_t startpageaddress, __io uint32_t *data_32)

startpageaddress += 4;

data_32++;}}

標頭檔案:

#ifndef __flash_read_write_h__

#define __flash_read_write_h__

#include "stm32f1xx_hal.h"

/*flash寫入程式*/

uint32_t flash_write_data (uint32_t startpageaddress, uint32_t * data_32);

/*flash讀取列印程式*/

void flash_read_data (uint32_t startpageaddress, __io uint32_t * data_32);

#endif

主函式應用檔案**示例:

下面這些是資料宣告:

//從flash裡面讀出的資料存在該陣列

uint32_t start_addr=0x08007000;

__io uint32_t data_read_fromflash[9];

uint32_t data_tobe_wrote[9] = ;

應用程式:

flash_write_data(start_addr,data_tobe_wrote);

hal_delay(100);

flash_read_data(start_addr,data_read_fromflash);

int i=0;

for(i=0;i<9;i++)

STM32CubeMX系列 待機喚醒

1.低功耗模式簡介 系統或電源復位後,微處理器處於執行狀態,執行狀態下hclk為cpu提供時鐘,核心執行程式 當cpu不需繼續執行時 例如等待某個外部事件 可以利用多個低功耗模式來節省功耗。使用者需要根據最低電源消耗 最快速啟動時間和可用的喚醒源等條件,選定乙個最佳的低功耗模式。stm32提供了3種...

STM32CubeMX系列 記憶體管理

1.記憶體管理簡介 stm32f103zet6內部有64kb的sram記憶體,加上外擴的128kb容量的sram後,可使用的記憶體還是比較多的。本例程將介紹一種簡單的記憶體管理方式 即分塊記憶體管理 來有效管理這些記憶體,類似於c語言中通過malloc函式和free函式來申請和釋放記憶體 記憶體管理...

用STM32CubeMX建立FreeRTOS專案

1.目標,pg13,pg14雙線程雙閃燈。2.測試平台 stm32f429i disco keil v5.13.0.0 cubemx 4.8.0 3.步驟 3.1 開啟cube,pg13,13設為輸出,rcc選外部晶振,點選freertos 3.2 時鐘配置介面 enable css,配置成系統主頻...