tim #6
@ -109,6 +109,15 @@ void bkp_reset(void)
|
|||||||
rcc_regs->BDCR.BDRST = 0;
|
rcc_regs->BDCR.BDRST = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void bkp_write_data(enum BkpData data_index, uint16_t data)
|
||||||
|
{
|
||||||
|
bkp_regs->DR[data_index].D = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint16_t bkp_read_data(enum BkpData data_index)
|
||||||
|
{
|
||||||
|
return bkp_regs->DR[data_index].D;
|
||||||
|
}
|
||||||
|
|
||||||
//--local functions-------------------------------------------------------------
|
//--local functions-------------------------------------------------------------
|
||||||
|
|
||||||
|
|||||||
16
drv/bkp.h
16
drv/bkp.h
@ -39,6 +39,19 @@ enum BkpRtcIrq {
|
|||||||
BKP_RTC_IRQ_OVERFLOW = 0x1 << 2,
|
BKP_RTC_IRQ_OVERFLOW = 0x1 << 2,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum BkpData {
|
||||||
|
BKP_DATA_LSI_CALIB,
|
||||||
|
BKP_DATA_1,
|
||||||
|
BKP_DATA_2,
|
||||||
|
BKP_DATA_3,
|
||||||
|
BKP_DATA_4,
|
||||||
|
BKP_DATA_5,
|
||||||
|
BKP_DATA_6,
|
||||||
|
BKP_DATA_7,
|
||||||
|
BKP_DATA_8,
|
||||||
|
BKP_DATA_9,
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Prototype of the IRQ callbacks that the applicative code can provide
|
* Prototype of the IRQ callbacks that the applicative code can provide
|
||||||
*/
|
*/
|
||||||
@ -92,6 +105,9 @@ uint32_t bkp_read_rtc(void);
|
|||||||
*/
|
*/
|
||||||
void bkp_reset(void);
|
void bkp_reset(void);
|
||||||
|
|
||||||
|
void bkp_write_data(enum BkpData data_index, uint16_t data);
|
||||||
|
uint16_t bkp_read_data(enum BkpData data_index);
|
||||||
|
|
||||||
//unimplemented functions
|
//unimplemented functions
|
||||||
void bkp_configure_tamper();
|
void bkp_configure_tamper();
|
||||||
void bkp_calibrate_lsi(void);
|
void bkp_calibrate_lsi(void);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user