娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年06月21日(星期六)

2019年06月21日 | STM32CubeMX(Keil5)開發之路——8Flash讀寫

發布者:溫馨小筑 來源: eefocus關鍵字:STM32CubeMX  Keil5  Flash讀寫 手機看文章 掃描二維碼
隨時隨地手機看文章

運行環境

Windows10

STM32CubeMX___Version 5.0.0

Keil5(MDK5)___Version 5.15

簡介

本例程主要講解如何對芯片內的Flash進行讀寫,用芯片內部Flash可以對一些需要斷電保存的數據進行保存,無需加外部得存儲芯片,本例程采用的是STM32F103ZET6,512K大小的Flash。


STM32CubeMx基本配置

基礎配置過程請參考 STM32CubeMx(Keil5)開發之路—配置第一個項目

printf重定向例程請參考 STM32CubeMx(Keil5)開發之路——3發送USART數據和printf重定向


代碼修改

1——選擇main.c文件

2——添加全局變量在全局變量區

3——在USER CODE中添加如下代碼,Flash寫入函數和Flash讀出函數

講解:本例程是512K大小的Flash,使用的是最后一個扇區的第一頁(每個扇區有四頁)

如果使用Flash大小為256K的芯片addr請設為0x0803E000

如果使用Flash大小為128K的芯片addr請設為0x0801F000

如果使用Flash大小為64K的芯片addr請設為0x08007000


/* Private user code ---------------------------------------------------------*/

/* USER CODE BEGIN 0 */

int fputc(int ch, FILE *f)

{

    HAL_UART_Transmit(&huart1, (uint8_t *)&ch,1, 0xFFFF);

    return ch;

}


uint32_t WriteFlashData = 0x12345678;

uint32_t addr = 0x0807E000;


/*FLASH寫入程序*/

void writeFlashTest(void)

{

/* 1/4解鎖FLASH*/

HAL_FLASH_Unlock();


/* 2/4擦除FLASH*/

/*初始化FLASH_EraseInitTypeDef*/

/*擦除方式頁擦除FLASH_TYPEERASE_PAGES,塊擦除FLASH_TYPEERASE_MASSERASE*/

/*擦除頁數*/

/*擦除地址*/

FLASH_EraseInitTypeDef FlashSet;

FlashSet.TypeErase = FLASH_TYPEERASE_PAGES;

FlashSet.PageAddress = addr;

FlashSet.NbPages = 1;

/*設置PageError,調用擦除函數*/

uint32_t PageError = 0;

HAL_FLASHEx_Erase(&FlashSet, &PageError);


/* 3/4對FLASH燒寫*/

HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, addr, WriteFlashData);


/* 4/4鎖住FLASH*/

HAL_FLASH_Lock();

}


/*FLASH讀取打印程序*/

void printFlashTest(void)

{

uint32_t temp = *(__IO uint32_t*)(addr);


printf("addr is:0x%x, data is:0x%xrn", addr, temp);

}

/* USER CODE END 0 */

接著在USER CODE BEGIN WHILE中接著添加如下代碼,進行讀寫測試測試


  /* Infinite loop */

  /* USER CODE BEGIN WHILE */

  

  /*Flash TEST*/

  WriteFlashData = 0x12345678;

  writeFlashTest();

  printFlashTest();

  WriteFlashData = 0x87654321;

  writeFlashTest();

  printFlashTest();

  

  while (1)

  {

  

    /* USER CODE END WHILE */


    /* USER CODE BEGIN 3 */

  

  }

  /* USER CODE END 3 */

}

燒錄代碼后打開出口調試助手,正確的話會看到如下輸出

關鍵字:STM32CubeMX  Keil5  Flash讀寫 引用地址:STM32CubeMX(Keil5)開發之路——8Flash讀寫

上一篇:STM32CubeMX FreeRTOS軟件定時器實驗
下一篇:STM32CubeMX(Keil5)開發之路——6外部中斷

推薦閱讀

據外媒Xperia Blog報道,從去年9月索尼發布XZ1之后,一些用戶就在網上反饋屏幕出現條紋和斑點的情況。之后包括XZ2以及Xperia Blog的測試機也“中招”,索尼移動官方論壇不好的聲音越來越多,事態似乎變得嚴重起來,現在索尼終于坐不住了,針對該問題作出了正面回應。索尼官方回應XZ1/XZ2屏幕問題:靜電導致(圖片來自微博)  索尼移動強調,針對有網友...
模擬IC行業現狀和人才趨勢據IC insights預測,持續到2020年,模擬電路下游應用中通訊模擬芯片和汽車電子將呈現最快年復合增長率,分別為7.4%和7.0%,高于集成電路5.1%的年復合增長率水平。模擬電路行業下游需求分散,受單一下游影響較小,因此在智能手機增長乏力的大背景下,依然可以短期受益5G通訊變革和射頻前端鏈路的結構性變化,長期受益于物聯網和汽...
最近有些小的項目需要用到嵌入式微型控制電路,10年玩過AVR開發,并且玩的非常熟練,所以開始決定重新熟悉一下AVR。工欲善其事,必先利其器,要開始AVR開發,就要準備ISP編程器和JTAG仿真器。10前使用ISP編程器和仿真調試器都已經送人了,所以現在只能重新制作(不愿意買現成的)。買回各種元器件,放出老電腦里面存留的AVR各種編程器資料,決定做一個UsbASP...
讓我們看一下當前數字設計中信號劣化的部分具體成因。為什么現在這些問題比過去幾年盛行得多了呢?答案是速度。在“低速的舊時代”,保持可以接受的數字信號完整性只需注意細節就可以了,比如時鐘分配、信號路徑設計、噪聲余量、負荷影響、傳輸線效應、總線端接、解耦和配電。所有這些規則仍然適用,但是今天,總線周期時間比20年前快了100倍!過去需要幾微秒的...

史海拾趣

問答坊 | AI 解惑

LATTICE可編程電源管理POWER MANAGER II

LATTICE半導體公司發布了第二代Power Manager II產品系列的兩款新增器件ispPAC-POWR1014和ispPAC-POWR1014A。Power Manager II系列是LATTICE獲獎的ispPAC Power Manager可編程混合信號器件的功能擴展系列。通過一組經過優化的可編程數字和模擬功能 ...…

查看全部問答∨

大賽D題

本帖最后由 paulhyde 于 2014-9-15 09:35 編輯 大家一起努力  …

查看全部問答∨

WINCE 開發程序,當界面上有TEXTBOX時如何屏蔽輸入法

WINCE 開發程序,當界面上有TEXTBOX時如何屏蔽輸入法,屏蔽界面下方會出現個中文的輸入法…

查看全部問答∨

什么是位尋址功能?

本人初涉單片機,請各位指教~謝謝~ 什么是位尋址功能?字節直接尋址和位尋址功能它們有什么區別? 為什么有些可以進位尋址有些又不行呢?…

查看全部問答∨

winCE 開發環境如何配置

我有PDA設備是MC3000的,我用的是C#來做開發的,現在我遇到一個重大問題,數據同步不到PDA設備上,就是執行PULL時出錯, 我估計是我的環境配置有問題,我的PC上已經裝了sql server 2000 sp3的補丁,也裝了sql ce 3.0 的程序,在IE里測試我的IIS是正確的,PD ...…

查看全部問答∨

關于電壓轉換

需要一個28V的輸入,而現在只有程控電源0~20V可調,請推薦一個能從這之中的某個電壓轉到28V的DC/DC模塊.請告知具體型號,謝謝!…

查看全部問答∨

KEIL編譯UC/OS-II??

        在KEIL平臺上編譯UC/OS我有這樣的一個困惑,我發現任務堆棧里保存的僅僅是CPU寄存器的狀態和一些函數嵌套時的PC值還有就是函數嵌套時的一些傳遞參數的值,但是他并沒有保存函數中的局部變量,這樣的話 ...…

查看全部問答∨

LED照明與功率因數關系解析

  交流電流過負載時,加在該負載上的交流電壓與通過該負載的交流電流產生相位差,人們便從中引出功率因數這一概念。人們生產、生活用電來自電網,電網提供頻率為50Hz或60Hz的交流電。作為交流電的負載有電阻、電感、電容三種類型。   當交流 ...…

查看全部問答∨

智能 交通燈 控制器設計

本人畢設遇到了瓶頸,無奈導師太忙。故在此求助各位大蝦~ 內容是可以通過對車流量的實時監測,綠燈的倒計時間可以實時更改,涉及到一個智能控制的問題。 在車流量監測方面最好用視頻識別,不過有點困難,暫時用其他方法代替也可。 小弟現在問題 ...…

查看全部問答∨

TIVA C Launchpad周計劃-第三周

tiva的lanchpad片上有otg,LMF120的板子只有device,所以只能暫且玩玩了。 ti給出了bluk的例子大家可以看看。我是用MDK+vs2005調試的。 …

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 万荣县| 昂仁县| 潜山县| 呼玛县| 阿图什市| 密山市| 乌拉特中旗| 康定县| 青州市| 永平县| 左云县| 垦利县| 宁河县| 海安县| 玛纳斯县| 读书| 土默特右旗| 洪湖市| 涞水县| 海盐县| 津市市| 兴文县| 大化| 蓝山县| 荣昌县| 瓮安县| 日土县| 衡南县| 孝昌县| 新邵县| 介休市| 东乌珠穆沁旗| 舞阳县| 潢川县| 灵寿县| 县级市| 扎赉特旗| 辽宁省| 盈江县| 闽侯县| 堆龙德庆县|