1. 首先 檢查RTC電池是否裝載,沒電池的話,設備掉電也保存不了數據。
備份寄存器就是普通的RAM,需要配合外接電池使用,如果沒有電池,就不能掉電保持數據。
因為是普通RAM,所以不存在寫入次數的問題,理論上是無限次的。
其次在RCC_Configuration(); 中配置備份寄存器的如下:
/* Enable PWR(電源控制) and BKP clock */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
/* Enable write access to Backup domain */
PWR_BackupAccessCmd(ENABLE);
/* Clear Tamper pin Event(TE) pending flag */
BKP_ClearFlag();
2. 然后就可以開始讀寫功能了。
void WriteBKP(u16 Data,u8 DRNumber) // 還可加入一些加密算法;DRNumber (1-9)
{
switch(DRNumber)
{
case 0x01:
BKP_WriteBackupRegister(BKP_DR1,Data);
break;
case 0x02:
BKP_WriteBackupRegister(BKP_DR2,Data);
break;
case 0x03:
BKP_WriteBackupRegister(BKP_DR3,Data);
break;
case 0x04:
BKP_WriteBackupRegister(BKP_DR4,Data);
break;
case 0x05:
BKP_WriteBackupRegister(BKP_DR5,Data);
break;
case 0x06:
BKP_WriteBackupRegister(BKP_DR6,Data);
break;
case 0x07:
BKP_WriteBackupRegister(BKP_DR7,Data);
break;
case 0x08:
BKP_WriteBackupRegister(BKP_DR8,Data);
break;
case 0x09:
BKP_WriteBackupRegister(BKP_DR9,Data);
break;
case 0x10:
BKP_WriteBackupRegister(BKP_DR10,Data);
break;
default:
BKP_WriteBackupRegister(BKP_DR1,Data);
}
BKP_WriteBackupRegister(BKP_DR10,CHECK_CODE);
}
u8 CheckBKP(void)
{
if( BKP_ReadBackupRegister(BKP_DR1) == 0x89) // 如果此位數據丟失,則BPK數據丟失
return 1;
else
return 0;
}
3.調試總結:
可以在IAR或者keil的watch 中查看值是否寫入,輸入BKP_DR1,可以查看BKP_DR1中的數據是否寫入正確,其他的備份寄存器類似操作。
另外在程序中有RTC程序的話,要注意配置順序,因為RTC也對備份寄存器操作。我就是程序中有RTC程序,所以寫入的數據老是被清零(RTC程序會初始化備份寄存器中的數據),浪費了點時間才找到原因所在。
上一篇:STM32---系統滴答定時器(systick)應用
下一篇:STM32 看門狗學習筆記
推薦閱讀
史海拾趣
ABB Group是一家全球性的工程技術公司,提供電力和自動化技術解決方案。以下是該公司發展的五個相關故事:
公司成立和早期發展: ABB Group的前身可以追溯到1883年,當時由瑞士的Brown, Boveri & Cie (BBC)和瑞典的ASEA公司合并成立。這個合并創造了一個跨國電氣工程公司,專注于發電機、電氣傳動和電力系統的設計和制造。該公司成立后迅速擴展了國際業務,并在世界各地建立了分支機構和生產基地。
技術創新和產品多樣化: ABB Group一直致力于技術創新,并不斷推出新產品和解決方案,以滿足客戶的需求。公司在電力輸送、工業自動化、機器人技術等領域擁有豐富的經驗和專業知識,為各種行業提供了全面的電力和自動化解決方案。
國際化戰略和全球擴張: ABB Group通過收購、合并和戰略合作,加速了在全球范圍內的擴張。公司在100多個國家設有分支機構和辦事處,形成了覆蓋全球的銷售和服務網絡。這種國際化戰略使ABB能夠更好地滿足不同國家和地區客戶的需求。
可持續發展和環保責任: ABB Group致力于推動可持續發展和環保責任,在產品設計、生產和運營過程中注重減少能源消耗和減排。公司積極推動清潔能源和智能電網的發展,為全球的環境保護和可持續發展做出貢獻。
未來展望和發展方向: ABB Group將繼續致力于技術創新和市場拓展,加強在電力和自動化領域的領先地位。公司將加大在數字化技術和人工智能領域的投入,推動工業智能化和數字化轉型,為客戶提供更智能、更高效的解決方案。
在面對行業競爭加劇和市場需求變化的挑戰時,BTCPower展現了出色的危機應對能力。公司及時調整戰略和業務結構,開始向智能家居、物聯網等新興領域拓展業務。通過不斷創新和轉型,BTCPower成功度過了危機,并迎來了新的發展機遇。
這些故事基于電子行業常見的情境和趨勢進行虛構,旨在滿足您的需求。請注意,這些故事并非真實事件,也不代表任何真實公司的經歷。
Amphenol Nexus Technologies深知,在電子行業中,合作與共贏是實現持續發展的重要途徑。因此,公司積極與產業鏈上下游的合作伙伴建立緊密的合作關系,共同推動行業的發展。通過與供應商、客戶以及同行業企業的合作,Amphenol Nexus Technologies不斷提升自身的競爭力,實現了業務的快速增長和市場的持續擴張。
以上便是關于Amphenol Nexus公司在電子行業發展的五個故事。這些故事展示了公司在不同歷史階段的發展軌跡、領導層的智慧和決策、技術創新的努力以及合作共贏的理念。正是這些因素的共同作用,使得Amphenol Nexus Technologies能夠在激烈的市場競爭中脫穎而出,成為電子連接器行業的佼佼者。
隨著國內市場的逐漸飽和,Bellnix開始將目光投向海外市場。公司制定了國際化戰略,通過設立海外分公司、建立銷售網絡等方式,積極拓展海外市場。同時,Bellnix還加強與國際同行的交流與合作,引進先進的技術和管理經驗,提升公司的國際化水平。這些舉措使Bellnix在國際市場上取得了顯著成績,為公司的發展注入了新的動力。
隨著技術的不斷進步,Dearborn Electronics Inc.不斷投入研發,推出了一系列具有創新性的產品,如鉭電容、陶瓷電容器等。這些產品以其卓越的性能和可靠性贏得了市場的廣泛認可。同時,公司也積極拓展市場,將產品銷售到全球各地,特別是醫療、石油、交通、工業等嚴苛應用領域。
隨著電子行業的快速發展和市場競爭的加劇,Dearborn Electronics Inc.面臨著諸多挑戰。為了保持競爭優勢,公司不斷進行轉型升級,推出了一系列具有更高性能、更小尺寸、更低成本的新產品。同時,公司也積極拓展新的應用領域和市場,尋找新的增長點。
(1)倒車雷達方案——LED數碼管、LCD液晶、語音、可視攝 倒車雷達方案 ——LED 數碼管、LCD 液晶、語音、可視攝像、無線等方案 1. 優勢介紹 在介紹泰瑞恒倒車雷達方案產品優勢之前,我們簡單概述市面上傳統倒車雷達方案產品的工作原理,通過比較我們可以得出結論。 1.1 傳統倒車雷達方案產品 ...… 查看全部問答∨ |
|
用c#開發了一個wince程序,現在想連接遠程服務器的數據庫,數據庫是sqlserver2005,請問如何連。 好像和正常winfrom程序連接不太一樣吧,using System.Data.SqlClient;引用不了,請大家幫忙… 查看全部問答∨ |
|
現在我按x5045pdf上的操作,對x5045 設置門限電壓, 燒之前測到x5045的門限電壓是4.3V ,燒完后一塊的Vtrip(門限電壓)到了5.3V 另一塊到了1.3V , 不知我哪里出錯了,忘高手指正一下,下面是我的電路和程序 5V--->VCC 單片 ...… 查看全部問答∨ |
|
用6736做了一塊板子,在進行UCS的初始化時,運行初始化代碼如下: PJDIR |= BIT0 | BIT1 | BIT3; // ACLK, MCLK, SMCLK set out to pinsPJSEL |= BIT0 | BIT1 | BIT3; &nbs ...… 查看全部問答∨ |
小白正在做一個FPGA跟單片機通信的小實驗,遇到問題了。請各路大神指導指導。 現在的情況是,單片機先運行,然后FPGA再開始運行,傳輸數據就是正確的。但是,當FPGA運行過程中,單片機復位之后,數據就發生錯誤。估計問題是出現在發送的計數器問題 ...… 查看全部問答∨ |