添加独立硬件开门狗

This commit is contained in:
yelvlab 2024-12-26 01:11:26 +08:00
parent a64b1427de
commit 9a07dba591
2 changed files with 22 additions and 1 deletions

View File

@ -37,4 +37,6 @@ OF SUCH DAMAGE.
// #define DEBUG_VERBOES
void watchdog_init(void);
#endif /* MAIN_H */

View File

@ -18,6 +18,21 @@
uint32_t g_temperature_uint32;
uint32_t g_eddy_current_value_uint32;
void watchdog_init(void) {
/* Enable the LSI clock */
rcu_osci_on(RCU_IRC40K);
rcu_osci_stab_wait(RCU_IRC40K);
/* Enable the FWDGT clock */
// rcu_periph_clock_enable(RCU_FWDGT);
/* Configure FWDGT counter clock: 40KHz(IRC40K) / 256 = 0.15625 KHz */
fwdgt_config(625, FWDGT_PSC_DIV256); // Set timeout to 4 seconds (625 / 0.15625 KHz)
/* Enable FWDGT */
fwdgt_enable();
}
/*!
\brief main function
\param[in] none
@ -40,13 +55,17 @@ int main(void) {
/* configure LDC1612 */
ldc1612_single_ch0_config();
/* Initialize watchdog */
watchdog_init();
while (1) {
delay_ms(100);
delay_ms(99);
g_eddy_current_value_uint32 = 0;
g_temperature_uint32 = 0;
g_eddy_current_value_uint32 = ldc1612_get_raw_channel_result(CHANNEL_0);
g_temperature_uint32 = tmp112a_get_raw_channel_result();
// printf("1");
fwdgt_counter_reload();
}
}