50 lines
1.7 KiB
C
Executable File
50 lines
1.7 KiB
C
Executable File
#include <stdint.h>
|
|
|
|
typedef struct {
|
|
uint32_t key : 16; // 0 Key value (write only, read 0x0000)
|
|
uint32_t reserve0 : 16; // 16 Reserve
|
|
} reg_sec_iwdg_kr_t;
|
|
|
|
typedef struct {
|
|
uint32_t pr : 4; // 0 Prescaler divider
|
|
uint32_t reserve0 : 28; // 4 Reserve
|
|
} reg_sec_iwdg_pr_t;
|
|
|
|
typedef struct {
|
|
uint32_t rl : 12; // 0 Watchdog counter reload value
|
|
uint32_t reserve0 : 20; // 12 Reserve
|
|
} reg_sec_iwdg_rlr_t;
|
|
|
|
typedef struct {
|
|
uint32_t pvu : 1; // 0 Watchdog prescaler value update
|
|
uint32_t rvu : 1; // 1 Watchdog counter reload value update
|
|
uint32_t wvu : 1; // 2 Watchdog counter window value update
|
|
uint32_t ewu : 1; // 3 Watchdog interrupt comparator value update
|
|
uint32_t reserve0 : 10; // 4 Reserve
|
|
uint32_t ewif : 1; // 14 Watchdog Early interrupt flag
|
|
uint32_t reserve1 : 17; // 15 Reserve
|
|
} reg_sec_iwdg_sr_t;
|
|
|
|
typedef struct {
|
|
uint32_t win : 12; // 0 Watchdog counter window value
|
|
uint32_t reserve0 : 20; // 12 Reserve
|
|
} reg_sec_iwdg_winr_t;
|
|
|
|
typedef struct {
|
|
uint32_t ewit : 12; // 0 Watchdog counter window value
|
|
uint32_t reserve0 : 2; // 12 Reserve
|
|
uint32_t ewic : 1; // 14 Watchdog early interrupt acknowledge
|
|
uint32_t ewie : 1; // 15 Watchdog early interrupt enable
|
|
uint32_t reserve1 : 16; // 16 Reserve
|
|
} reg_sec_iwdg_ewcr_t;
|
|
|
|
typedef struct {
|
|
volatile reg_sec_iwdg_kr_t kr;
|
|
volatile reg_sec_iwdg_pr_t pr;
|
|
volatile reg_sec_iwdg_rlr_t rlr;
|
|
volatile reg_sec_iwdg_sr_t sr;
|
|
volatile reg_sec_iwdg_winr_t winr;
|
|
volatile reg_sec_iwdg_ewcr_t ewcr;
|
|
} reg_sec_iwdg_t;
|
|
|