欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2372|回復: 7
打印 上一主題 下一主題
收起左側

單片機意外掉電數(shù)據(jù)快速保存方法

[復制鏈接]
跳轉到指定樓層
樓主
ID:838763 發(fā)表于 2024-7-15 11:11 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
最近在項目上遇到需要意外掉電保存20個字節(jié)的數(shù)據(jù),因為要保存查看這些信息,所以數(shù)據(jù)保存在外部eeprom里面,但是掉電瞬間系統(tǒng)供電不能長時間維持寫入,,方法將要寫的數(shù)據(jù)先保存在單片機內部flash里面,開機的時候在寫到外部存貯器,STM32本身具有低電壓檢測,這樣就不需要硬件電路配合就可以簡單的實現(xiàn)大量數(shù)據(jù)意外掉電保存的要求,目前測試良好,提供給大家,看看哪位高人還有什么方法能決絕這樣類似問題。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發(fā)
ID:466250 發(fā)表于 2024-7-15 17:17 | 只看該作者
還可以用鐵電,寫入次數(shù)接近無限次,無視掉電
回復

使用道具 舉報

板凳
ID:401564 發(fā)表于 2024-7-15 18:32 | 只看該作者
藍藍小星星 發(fā)表于 2024-7-15 17:17
還可以用鐵電,寫入次數(shù)接近無限次,無視掉電

鐵電一般是100億次以上,但并不是無限的,一樣的要掉電檢測的
回復

使用道具 舉報

地板
ID:384109 發(fā)表于 2024-7-15 20:07 | 只看該作者
要保存的數(shù)據(jù)在調電瞬間有更新的話該怎么保存呢
回復

使用道具 舉報

5#
ID:466250 發(fā)表于 2024-7-16 01:52 | 只看該作者
Y_G_G 發(fā)表于 2024-7-15 18:32
鐵電一般是100億次以上,但并不是無限的,一樣的要掉電檢測的

鐵電內部就是用的ram,沒有寫入等待時間。肯定是無限次,只是廠家保守了。掉電還寫入引起出錯的問題,這是程序邏輯問題,不是鐵電的問題。
回復

使用道具 舉報

6#
ID:421260 發(fā)表于 2024-7-16 07:46 | 只看該作者
用了N年的掉電數(shù)據(jù)源保存!
void PVD_NVIC_Configuration(void)
{
    NVIC_InitTypeDef NVIC_InitStructure; //中斷優(yōu)先級配置
    EXTI_InitTypeDef EXTI_InitStructure;

    RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);

    NVIC_InitStructure.NVIC_IRQChannel = PVD_IRQn;
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStructure);

    EXTI_StructInit(&EXTI_InitStructure);
    EXTI_InitStructure.EXTI_Line = EXTI_Line16;             //PVD連接到中斷線16上
    EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;     //使用中斷模式
    EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;  //電壓低于閥值時產生中斷
    EXTI_InitStructure.EXTI_LineCmd = ENABLE;               //使能中斷線
    EXTI_Init(&EXTI_InitStructure);                         //初始

    PWR_PVDLevelConfig(PWR_PVDLevel_2V8);//設定監(jiān)控閥值
    PWR_PVDCmd(ENABLE);//使能PVD
}
/*-------------------------------------------------------------------------------
PVD中斷
---------------------------------------------------------------------------------*/
void PVD_IRQHandler(void)
{
    if(EXTI_GetITStatus(EXTI_Line16) != RESET)
    {
       這里些:代碼,需要保持的數(shù)據(jù)。。。
        EXTI_ClearITPendingBit(EXTI_Line16);//清中斷
    }
}
回復

使用道具 舉報

7#
ID:230500 發(fā)表于 2024-7-16 08:45 | 只看該作者
如果硬件不能更改; 就用鐵電吧;幾乎接近無限次寫入!  其次再考慮一些偏門的方案,比如寫入到時鐘芯片內
回復

使用道具 舉報

8#
ID:838763 發(fā)表于 2024-7-16 15:01 | 只看該作者
szqinyi 發(fā)表于 2024-7-16 07:46
用了N年的掉電數(shù)據(jù)源保存!
void PVD_NVIC_Configuration(void)
{

這個程序本身沒有任何問題,只是斷電系統(tǒng)耗電太大,寫入數(shù)據(jù)較大,就會出問題
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表