flash_status flash_programword(uint32_t address, uint32_t data)
static
float f32writedata =
1.23
;static
float f32readdata =
0.0;
//定義乙個指標指向待寫入float資料
unsigned
int*u32writedata =
(unsigned
int*
)&f32writedata;
//把float資料手動轉成二進位制形式
print
(*u32writedata)
;// *u32writedata = 0x3f9d70a4 這是float資料1.23用二進位制表示形式
print
(u32writedata)
;// u32writedata = 0x20000068 該記憶體由系統分配,每次可能不一樣。該值的位址拿出來做比較,無其他用途
print
(&f32writedata)
;// &f32writedata= 0x20000068 不要去儲存變數位址,這樣做沒任何意義
flash_programword
(0x0801f800
,*u32writedata)
;//從flash讀出資料
unsigned
int u32readdata =
flash_readword
(0x0801f800);
print
(u32readdata)
;//u32readdata = 0x3f9d70a4
f32readdata =
(float*)
&u32readdata;
//用float型別解析二進位制,則是我們所期望的值
print
(f32readdata)
;//f32readdata = 1.23 等於f32writedata
union test
test;
test.a=
1.23
;flash_programword
(address,test.b)
;//這樣進行儲存
print
(test.a)
;//a = 1.23
stm32 讀寫內部Flash
stm32的flash分為主儲存塊和資訊塊。主儲存塊用於儲存具體的程式 和使用者資料,資訊塊用於負責由stm32出廠是放置2kb的啟動程式 bootloader 和512b的使用者配置資訊區。主儲存塊是以頁為單位劃分的,一頁大小為1kb。範圍為從位址0x08000000開始的128kb內。對flas...
STM32 讀寫內部Flash
flash模組組織 儲存器被組織為程式儲存器模組,資料eeprom模組和資訊塊。程式儲存器塊分為4 kb的扇區,每個扇區都是進一步分成16頁,每頁256位元組。該操作用於擦除程式儲存器中的頁面 64個字 要做到這一點 解鎖flash pecr暫存器 1.將pekey1 0x89abcdef寫入程式設...
STM32學習筆記 FLASH讀寫
stm32的flash除了可以燒寫如程式外,還可以供給使用者做儲存器,儲存引數用,但是要注意的是,flsah的擦寫次數是有限制的,10萬次。stm32f1系列微控制器核心是cortext m3系列的,其儲存器的對映是按照cortext m3的標準設計的,如下圖。從上圖可看出最下main的512m是分...