我对这块感兴趣是因为我昨天刚好调了一个W25Q32的程序。是SPI的。这个无所谓。
我对备份寄存器感兴趣,是我想存几个字节在里边应该没有问题。
我的意思是说完全可以当一个EEPROM用。前提是必须有一个电池给VBAT管脚供电。
可以用3.3V芯片电池直接供就可以。
那么好用吗?我可以不断电来试一试:
打开BAKPR那个例程,修改如下:
- int main(void)
- {
- /* NVIC configuration */
- NVIC_EnableIRQRequest(TAMPER_IRQn, 0, 0);
- BOARD_LED_Config(LED2);
- BOARD_LED_Config(LED3);
- BOARD_LED_Off(LED2);
- BOARD_LED_Off(LED3);
- RCM_EnableAPB1PeriphClock((RCM_APB1_PERIPH_T)(RCM_APB1_PERIPH_BAKR | RCM_APB1_PERIPH_PMU));
- PMU_EnableBackupAccess();
- //BAKPR_DisableTamperPin();
- //BAKPR_DisableInterrupt();
- //BAKPR_ConfigTamperPinLevel(BAKPR_TAMPER_PIN_LEVEL_LOW);
- //BAKPR_ClearStatusFlag();
- //BAKPR_EnableInterrupt();
- //BAKPR_EnableTamperPin();
- WriteDataToBackupReg(0xFFFF);
- /* Infinite loop */
- while (1)
- {
- /* Check if the written data are correct */
- if (!CheckBackupRegData(0x1234))
- {
- /* Toggle LED2 */
- BOARD_LED_Toggle(LED2);
- Delay();
- }
- else
- {
- /* Toggle LED3 */
- BOARD_LED_Toggle(LED3);
- Delay();
- }
- }
- }
这时的灯是LED3在闪,而我如果写0x1234,LED2在闪。而什么入侵事件,同我的工作生活没有多大关系。我把它的初始化去掉。
跑了一下。结果同预想一样。如果将来我碰到十在是加不了W25Q16的或AT24C02
的那么。我就得这么干了。
|