色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如果有幾個設置參數需要存儲到Flash中,我們一般會怎么存儲呢?

GReq_mcu168 ? 來源:未知 ? 作者:李倩 ? 2018-05-14 16:15 ? 次閱讀

如果有幾個設置參數需要存儲到Flash中,我們一般會怎么存儲呢?將不同的參數都存儲到不同的頁中,還是將這幾個參數捆綁成一種結構體,每次修改都同時寫入一次呢?

將參數存儲到固定的地址,則每個參數都將占用Flash的一個塊。而將全部參數捆綁一起存入Flash塊中,那么只有一個參數修改時,也需要將全部參數一起存一遍。那么有什么更好的方法嗎?

前段時間學習Msos,看到其中使用的參數存儲的方法設計的很好,它將參數的變量地址與值,一同存儲入Flash中。出彩之處是使用參數的變量地址來標記不同的變量。

一、數據結構

這種存儲方式使用兩個數據結構:

typedef struct

{

uint Address; //參數變量的地址

uint Data; //參數變量的值

}CellStruct;

要存儲某個變量,需要將這個變量的地址和它的值一同存儲到存儲區。這種存儲方式的核心就是這個數據結構。這樣就可以使用*((uint *)(Address)) = Data直接將存儲值賦值給對應的變量。簡單的說就是根據地址值來標記各個不同的參數。

2.存儲區的數據結構

typedefstruct{

二、代碼解析

這種存儲方式的使用兩個函數:

讀取存儲區中的變量值并更新變量的值

變量的存儲函數

2.1 參數的讀取

流程圖如上,主要步驟如下:

根據Flash中存寫的變量地址,更新變量的值;

將Flash中存寫的地址值存入臨時數組中,并根據地址值判斷是否存在重復存儲的無效數據,并將無效數組失效;

清空Flash存儲區,將臨時數組中有效的變量重新存入Flash中。

通過這些步驟,將存儲區中存儲的變量讀出,并將存儲區中的重復的無效數據清除。下面是源代碼:

#definepUint(address)*((uint*)(address))#definePageSize1024//Stm32F103R8T61Page=1024Byte#defineParameterAddress(FLASH_BASE+(63*1024))#defineParameterSpacePageSize/4/2staticvoidReadAllParameter(void){boolCleanFlag;inti,j;

2.2 參數的寫入

參數的寫入就很簡單了,根據數據結構中的寫入點,將變量的地址與值寫入Flash中。

staticboolWriteParameter(void*dataPointer){

2.3 使用方法

使用方法:

每次上電啟動時,調用讀取全部變量的函數;

修改某個參數的時候,調用寫參數函數;

三、注意事項

在讀取參數時,需要在RAM中建立一個ParameterSpace大小的數組,如果這個值太大,會超過棧的大小,使得內存溢出。因此存儲區不能開辟的太大。四、

總結

這種方式使用簡便,尤其是在更新變量值時,根據存儲的變量地址更新相應的值。其實其本質與我們使用變量名來標記不同的變量是一樣的。不過也有缺點:

首先其同時存儲變量的地址與變量的值,相當于多使用一倍的存儲空間;

像上面的注意事項中說的,存儲區不能開辟的過大,否則會使臨時數組超過棧的大小。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 存儲
    +關注

    關注

    13

    文章

    4320

    瀏覽量

    85912
  • 變量
    +關注

    關注

    0

    文章

    613

    瀏覽量

    28397

原文標題:技術干貨:嵌入式中參數存儲的一種方式

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    CS SD NAND在打獵相機存儲應用

    如果有獵物出現,立刻喚醒機器以極快的速度進行抓拍。為什么說這樣的款產品會用到SD NAND?1、產品要求啟動速度非常快,獵物出現,
    發表于 04-26 18:40

    MCU產品開發實現參數存儲功能

    在工作,凡是涉及產品開發幾乎都會實現參數存儲功能,一般參數
    發表于 11-10 07:39

    嵌入式軟件如何利用內部flash存儲參數

    01前言嵌入式軟件中經常要存儲些非易失參數,例如用戶設置、校準參數、設備運行參數等,通常情況下
    發表于 11-25 08:52

    關于CH573的存儲映射結構

    ,常用的些代碼參數可以放在DataFlash內,共有32KB的存儲空間。系統Bootlader和配置信息InfoFlash內的數據一般是不操作,InfoFlash內的數據可通過工具進
    發表于 04-07 11:46

    嵌入式參數存儲種方式

    如果有幾個設置參數需要存儲
    發表于 04-20 09:57 ?726次閱讀

    招教你如何使用嵌入式參數代碼,入門必懂知識

    如果有幾個設置參數需要存儲
    發表于 04-30 07:50 ?2721次閱讀

    嵌入式的參數存儲訣竅分享

    分享:標簽:嵌入式 工業4.0 如果有幾個設置參數需要存儲
    發表于 10-13 20:24 ?0次下載
    嵌入式的<b class='flag-5'>參數</b><b class='flag-5'>存儲</b>訣竅分享

    干貨:嵌入式參數存儲種方式詳細教程

    如果有幾個設置參數需要存儲
    發表于 05-18 16:33 ?2032次閱讀

    如何處理嵌入式參數存儲

    如果有幾個設置參數需要存儲
    的頭像 發表于 10-03 10:49 ?3333次閱讀

    pcb布線線寬一般設置多少

    PCB布線是pcb設計很關鍵的環,有些小伙伴不知道pcb布線線寬一般設置多少,下面我們就來
    的頭像 發表于 08-17 15:07 ?6.7w次閱讀

    關于MCU產品開發參數存儲的幾種方案(開源項目持續收集整理)

    在工作,凡是涉及產品開發幾乎都會實現參數存儲功能,一般參數
    發表于 11-05 18:50 ?10次下載
    關于MCU產品開發<b class='flag-5'>參數</b><b class='flag-5'>存儲</b>的幾種方案(開源項目持續收集整理<b class='flag-5'>中</b>)

    如果有人用半的數據速率為你提供同樣的視頻質量,你接受嗎?

    如果有人用半的數據速率為你提供同樣的視頻質量,你接受嗎?
    發表于 11-04 09:50 ?0次下載
    <b class='flag-5'>如果有</b>人用<b class='flag-5'>一</b>半的數據速率為你提供同樣的視頻質量,你<b class='flag-5'>會</b>接受嗎?

    如果有精確的時間基準,為什么還需要鎖相環

    如果有精確的時間基準,為什么還需要鎖相環?? 隨著時代的不斷進步,人類對于時間的精確度與準確性要求越來越高,在許多領域,如通信技術、電力系統、精密儀器等等都需要
    的頭像 發表于 09-20 16:28 ?611次閱讀

    如何使用Flash模擬EEPROM存儲參數

    在MCU的使用,經常遇到需要存儲參數或掉電保持數據等功能。其中,Flash和EEPROM是常見的非易失性
    的頭像 發表于 09-21 09:14 ?1438次閱讀

    嵌入式軟件如何利用內部flash存儲參數

    嵌入式軟件中經常要存儲些非易失參數,例如用戶設置、校準參數、設備運行參數等,通常情況下
    的頭像 發表于 10-27 14:12 ?1435次閱讀
    嵌入式軟件<b class='flag-5'>中</b>如何利用內部<b class='flag-5'>flash</b><b class='flag-5'>存儲</b><b class='flag-5'>參數</b><b class='flag-5'>呢</b>?
    主站蜘蛛池模板: 国产 亚洲 中文在线 字幕| 久久久久青草大香线综合精品| 草699一码二码三码四码| qvod在线电影| 国产 欧美 亚洲 日韩视频| 国产精品99久久久久久WWW| 国产精品一国产AV麻豆| 精品国产乱码久久久久久夜深人妻| 久久久久久久久a免费| 麻豆乱码一卡二卡三卡视频| 欧美一区二区三区不卡免费| 色戒在线完整观看在线播放版| 午夜影院一区二区三区| 一边吃奶一边添P好爽故事| 97免费在线视频| 二色AV天堂在线| 国产亚洲精品免费视频| 久久视频在线视频观看精品15| 蜜柚影院在线观看免费高清中文 | 在线视频一区二区三区在线播放| 91免费永久在线地址| 粉嫩AV国产一区二区福利姬| 好男人在线观看视频观看高清视频免费| 久久精品电影久久电影大全| 欧美特级午夜一区二区三区| 翁熄性放纵交换01| 中国成人在线视频| 第一次处破女高清电影| 寂寞骚妇女被后入式抽插| 欧美在线看费视频在线| 亚洲AV无码乱码国产麻豆穿越| 中文字幕人妻无码系列第三区| 成人在线免费视频观看| 精品国产影院| 人妻激情综合久久久久蜜桃| 亚洲精品一卡二卡三卡四卡2021| a4you销魂gogo人体| 国产亚洲欧洲日韩在线三区| 男女做爽爽爽视频免费软件| 性欧美金发洋妞xxxxbbbb| 757一本到午夜宫|