37 lines
1.2 KiB
C
37 lines
1.2 KiB
C
/***
|
||
* @Author: mbw
|
||
* @Date: 2024-12-15 16:29:58
|
||
* @LastEditors: mbw && 1600520629@qq.com
|
||
* @LastEditTime: 2024-12-15 16:40:26
|
||
* @FilePath: \ble_-tyq_-bjq_-ch584-m\bsp\inc\bsp_iwdg.h
|
||
* @Description:
|
||
* @
|
||
* @Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.
|
||
*/
|
||
#ifndef __BSP_IWDG_H__
|
||
#define __BSP_IWDG_H__
|
||
|
||
#include "CONFIG.h"
|
||
|
||
#define RB_RLR 0x0FFF // RW, watch-dog counter reload (write protect)
|
||
#define RB_PR 0x7000 // PR, prescale (write protect)
|
||
#define RB_PVU 0x8000 // RO, register update flag (write protect)
|
||
#define RB_COUNT 0xFF0000 // RO, watch-dog down counter
|
||
#define RB_STOP_EN 0x20000000 // RW, watch-dog stop enable (write protect)
|
||
#define RB_WR_PROTECT 0x40000000 // RO, write protect
|
||
#define RB_IWDG_EN 0x80000000 // RO, watch-dog enable
|
||
|
||
void IWDG_Init(uint16_t ms);
|
||
|
||
// 需要定时调用喂狗
|
||
// 在看门狗键寄存器 (R32_IWDG_KR) 中,软件要以一定的间隔写入 0xAAAA,重装载计数值,这就是喂狗的操作。
|
||
// 否则,当计数器为 0 时,看门狗会产生复位。
|
||
#define FEED_IWDG() \
|
||
{ \
|
||
R32_IWDG_KR = 0xAAAA; \
|
||
}
|
||
|
||
void ShowRestartReason(void);
|
||
|
||
#endif // !__BSP_IWDG_H__
|