1. 后備數(shù)據(jù)寄存器概述
CH32V307后備寄存器(BKP)提供了10個16位的通用數(shù)據(jù)寄存器(BKP_DATARx),可以用來存儲20個字節(jié)的用戶數(shù)據(jù)。
BKP_DATARx 后備數(shù)據(jù)寄存器在VDD掉電時,可依靠VBAT電源保持?jǐn)?shù)據(jù)。
當(dāng)系統(tǒng)在待機模式下被喚醒,或系統(tǒng)復(fù)位或電源復(fù)位時,這些數(shù)據(jù)也不會被復(fù)位。
BKP_DATARx 后備數(shù)據(jù)寄存器復(fù)位條件:
后備域復(fù)位(BDRST)
侵入引腳事件復(fù)位(需開啟侵入檢測功能,引腳為PC13)
2. 后備數(shù)據(jù)寄存器讀寫操作
微控制器復(fù)位后對后備寄存器和RTC 的訪問被禁止,需通過以下操作開啟對后備寄存器的訪問:
置寄存器RCC_APB1PCENR 的PWREN 位和BKPEN 位來打開電源和后備接口的操作時鐘
置電源控制寄存器PWR_CTLR 的DBP 位,使能對后備寄存器和RTC 寄存器的訪問
參考代碼:
int main (void)
{
USART_Printf_Init(115200);
printf("ch32V307 BKP test\\r\\n");
?
//打開電源和后備接口時鐘
RCC_APB1PeriphClockCmd( RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE );
//PWR_CTLR寄存器DBP位使能,后備區(qū)域?qū)懯鼓?/span>
PWR_BackupAccessCmd( ENABLE ); //PWR->CTLR |= (1 << 8);
BKP_WriteBackupRegister( BKP_DR1, 0x1234 );
BKP_WriteBackupRegister( BKP_DR2, 0x5678 );
?
printf( "BKP_DR1:%08x\\r\\n", BKP->DATAR1 );
printf( "BKP_DR2:%08x\\r\\n", BKP->DATAR2 );
while (1);
}
-
微控制器
+關(guān)注
關(guān)注
48文章
7902瀏覽量
153651 -
寄存器
+關(guān)注
關(guān)注
31文章
5419瀏覽量
123237 -
讀寫操作
+關(guān)注
關(guān)注
0文章
5瀏覽量
7198 -
VDD
+關(guān)注
關(guān)注
1文章
316瀏覽量
34745 -
ch32v307
+關(guān)注
關(guān)注
0文章
14瀏覽量
2087
發(fā)布評論請先 登錄
寄存器是什么?怎么操作寄存器點亮LED燈?

在PORT寄存器和GPIO引腳的LAT寄存器上進(jìn)行讀寫操作的利弊?
stm32寄存器開發(fā)概述
數(shù)據(jù)寄存器,數(shù)據(jù)寄存器是什么意思
寄存器和cache的區(qū)別介紹
寄存器操作方法_對寄存器操作的通用方法總結(jié)
HMC5883L的應(yīng)用和引腳與寄存器及讀寫數(shù)據(jù)等詳細(xì)資料說明

芯片與寄存器

STM32的寄存器操作

SpinalHDL中如何優(yōu)雅地實現(xiàn)寄存器總線讀寫
簡述RAL寄存器模型基礎(chǔ)

評論