17668 lines
778 KiB
C++
17668 lines
778 KiB
C++
#ifndef STM32L4x2_HDEF
|
|
#define STM32L4x2_HDEF
|
|
/** @brief STM32L4x2 */
|
|
/* STM32L4x2 */
|
|
|
|
/* IO definitions (access restrictions to peripheral registers) */
|
|
/** defines 'read only' permissions */
|
|
#define __I volatile
|
|
/** defines 'write only' permissions */
|
|
#define __O volatile
|
|
/** defines 'read / write' permissions */
|
|
#define __IO volatile
|
|
#include <stdint.h>
|
|
#define MERGE union
|
|
/*
|
|
cpuName = CM4
|
|
revision = r0p1
|
|
endian = little
|
|
*/
|
|
#define __MPU_PRESENT 1
|
|
#define __NVIC_PRIO_BITS 4
|
|
#define __Vendor_SysTickConfig 0
|
|
#define __FPU_PRESENT 1
|
|
enum ONE_BIT { RESET = 0, SET = 1 };
|
|
|
|
// ////////////////////+++ AES +-+//////////////////// //
|
|
struct AES_Type { /*!< Advanced encryption standard hardware accelerator */
|
|
union CR_DEF { //!< control register
|
|
struct {
|
|
__IO ONE_BIT EN : 1; //!<[00] AES enable
|
|
__IO uint32_t DATATYPE : 2; //!<[01] Data type selection (for data in and data out to/from the cryptographic block)
|
|
__IO uint32_t MODE : 2; //!<[03] AES operating mode
|
|
__IO uint32_t CHMOD : 2; //!<[05] AES chaining mode
|
|
__IO ONE_BIT CCFC : 1; //!<[07] Computation Complete Flag Clear
|
|
__IO ONE_BIT ERRC : 1; //!<[08] Error clear
|
|
__IO ONE_BIT CCFIE : 1; //!<[09] CCF flag interrupt enable
|
|
__IO ONE_BIT ERRIE : 1; //!<[10] Error interrupt enable
|
|
__IO ONE_BIT DMAINEN : 1; //!<[11] Enable DMA management of data input phase
|
|
__IO ONE_BIT DMAOUTEN : 1; //!<[12] Enable DMA management of data output phase
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SR_DEF { //!< status register
|
|
struct {
|
|
__I ONE_BIT CCF : 1; //!<[00] Computation complete flag
|
|
__I ONE_BIT RDERR : 1; //!<[01] Read error flag
|
|
__I ONE_BIT WRERR : 1; //!<[02] Write error flag
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit SR_DEF (volatile SR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DINR_DEF { //!< data input register
|
|
struct {
|
|
__IO uint32_t AES_DINR : 32; //!<[00] Data Input Register
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DINR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DINR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DINR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DOUTR_DEF { //!< data output register
|
|
struct {
|
|
__I uint32_t AES_DOUTR : 32; //!<[00] Data output register
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DOUTR_DEF (volatile DOUTR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union KEYR0_DEF { //!< key register 0
|
|
struct {
|
|
__IO uint32_t AES_KEYR0 : 32; //!<[00] Data Output Register (LSB key [31:0])
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit KEYR0_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
KEYR0_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
KEYR0_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union KEYR1_DEF { //!< key register 1
|
|
struct {
|
|
__IO uint32_t AES_KEYR1 : 32; //!<[00] AES key register (key [63:32])
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit KEYR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
KEYR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
KEYR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union KEYR2_DEF { //!< key register 2
|
|
struct {
|
|
__IO uint32_t AES_KEYR2 : 32; //!<[00] AES key register (key [95:64])
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit KEYR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
KEYR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
KEYR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union KEYR3_DEF { //!< key register 3
|
|
struct {
|
|
__IO uint32_t AES_KEYR3 : 32; //!<[00] AES key register (MSB key [127:96])
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit KEYR3_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
KEYR3_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
KEYR3_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union IVR0_DEF { //!< initialization vector register 0
|
|
struct {
|
|
__IO uint32_t AES_IVR0 : 32; //!<[00] initialization vector register (LSB IVR [31:0])
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit IVR0_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
IVR0_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
IVR0_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union IVR1_DEF { //!< initialization vector register 1
|
|
struct {
|
|
__IO uint32_t AES_IVR1 : 32; //!<[00] Initialization Vector Register (IVR [63:32])
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit IVR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
IVR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
IVR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union IVR2_DEF { //!< initialization vector register 2
|
|
struct {
|
|
__IO uint32_t AES_IVR2 : 32; //!<[00] Initialization Vector Register (IVR [95:64])
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit IVR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
IVR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
IVR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union IVR3_DEF { //!< initialization vector register 3
|
|
struct {
|
|
__IO uint32_t AES_IVR3 : 32; //!<[00] Initialization Vector Register (MSB IVR [127:96])
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit IVR3_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
IVR3_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
IVR3_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL AES REGISTERS INSTANCES
|
|
__IO CR_DEF CR ; //!< [0000](04)[0x00000000]
|
|
__I SR_DEF SR ; //!< [0004](04)[0x00000000]
|
|
__IO DINR_DEF DINR ; //!< [0008](04)[0x00000000]
|
|
__I DOUTR_DEF DOUTR ; //!< [000c](04)[0x00000000]
|
|
__IO KEYR0_DEF KEYR0 ; //!< [0010](04)[0x00000000]
|
|
__IO KEYR1_DEF KEYR1 ; //!< [0014](04)[0x00000000]
|
|
__IO KEYR2_DEF KEYR2 ; //!< [0018](04)[0x00000000]
|
|
__IO KEYR3_DEF KEYR3 ; //!< [001c](04)[0x00000000]
|
|
__IO IVR0_DEF IVR0 ; //!< [0020](04)[0x00000000]
|
|
__IO IVR1_DEF IVR1 ; //!< [0024](04)[0x00000000]
|
|
__IO IVR2_DEF IVR2 ; //!< [0028](04)[0x00000000]
|
|
__IO IVR3_DEF IVR3 ; //!< [002c](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x0030 */
|
|
|
|
// ////////////////////+++ ADC1 +-+//////////////////// //
|
|
struct ADC1_Type { /*!< Analog-to-Digital Converter */
|
|
union ADC_ISR_DEF { //!< ADC interrupt and status register
|
|
enum ADRDY_ENUM /* uint32_t */ {
|
|
ADRDY_B_0x0 = 0, //!< ADC not yet ready to start conversion (or the flag event was already acknowledged and cleared by software)
|
|
ADRDY_B_0x1 = 1, //!< ADC is ready to start conversion
|
|
};
|
|
enum EOSMP_ENUM /* uint32_t */ {
|
|
EOSMP_B_0x0 = 0, //!< not at the end of the sampling phase (or the flag event was already acknowledged and cleared by software)
|
|
EOSMP_B_0x1 = 1, //!< End of sampling phase reached
|
|
};
|
|
enum EOC_ENUM /* uint32_t */ {
|
|
EOC_B_0x0 = 0, //!< Regular channel conversion not complete (or the flag event was already acknowledged and cleared by software)
|
|
EOC_B_0x1 = 1, //!< Regular channel conversion complete
|
|
};
|
|
enum EOS_ENUM /* uint32_t */ {
|
|
EOS_B_0x0 = 0, //!< Regular Conversions sequence not complete (or the flag event was already acknowledged and cleared by software)
|
|
EOS_B_0x1 = 1, //!< Regular Conversions sequence complete
|
|
};
|
|
enum OVR_ENUM /* uint32_t */ {
|
|
OVR_B_0x0 = 0, //!< No overrun occurred (or the flag event was already acknowledged and cleared by software)
|
|
OVR_B_0x1 = 1, //!< Overrun has occurred
|
|
};
|
|
enum JEOC_ENUM /* uint32_t */ {
|
|
JEOC_B_0x0 = 0, //!< Injected channel conversion not complete (or the flag event was already acknowledged and cleared by software)
|
|
JEOC_B_0x1 = 1, //!< Injected channel conversion complete
|
|
};
|
|
enum JEOS_ENUM /* uint32_t */ {
|
|
JEOS_B_0x0 = 0, //!< Injected conversion sequence not complete (or the flag event was already acknowledged and cleared by software)
|
|
JEOS_B_0x1 = 1, //!< Injected conversions complete
|
|
};
|
|
enum AWD1_ENUM /* uint32_t */ {
|
|
AWD1_B_0x0 = 0, //!< No analog watchdog 1 event occurred (or the flag event was already acknowledged and cleared by software)
|
|
AWD1_B_0x1 = 1, //!< Analog watchdog 1 event occurred
|
|
};
|
|
enum AWD2_ENUM /* uint32_t */ {
|
|
AWD2_B_0x0 = 0, //!< No analog watchdog 2 event occurred (or the flag event was already acknowledged and cleared by software)
|
|
AWD2_B_0x1 = 1, //!< Analog watchdog 2 event occurred
|
|
};
|
|
enum AWD3_ENUM /* uint32_t */ {
|
|
AWD3_B_0x0 = 0, //!< No analog watchdog 3 event occurred (or the flag event was already acknowledged and cleared by software)
|
|
AWD3_B_0x1 = 1, //!< Analog watchdog 3 event occurred
|
|
};
|
|
enum JQOVF_ENUM /* uint32_t */ {
|
|
JQOVF_B_0x0 = 0, //!< No injected context queue overflow occurred (or the flag event was already acknowledged and cleared by software)
|
|
JQOVF_B_0x1 = 1, //!< Injected context queue overflow has occurred
|
|
};
|
|
struct {
|
|
__IO ADRDY_ENUM ADRDY : 1; //!<[00] ADC ready This bit is set by hardware after the ADC has been enabled (bit ADEN = 1) and when the ADC reaches a state where it is ready to accept conversion requests.It is cleared by software writing 1 to it.
|
|
__IO EOSMP_ENUM EOSMP : 1; //!<[01] End of sampling flagThis bit is set by hardware during the conversion of any channel (only for regular channels), at the end of the sampling phase.
|
|
__IO EOC_ENUM EOC : 1; //!<[02] End of conversion flagThis bit is set by hardware at the end of each regular conversion of a channel when a new data is available in the ADC_DR register. It is cleared by software writing 1 to it or by reading the ADC_DR register
|
|
__IO EOS_ENUM EOS : 1; //!<[03] End of regular sequence flagThis bit is set by hardware at the end of the conversions of a regular sequence of channels. It is cleared by software writing 1 to it.
|
|
__IO OVR_ENUM OVR : 1; //!<[04] ADC overrunThis bit is set by hardware when an overrun occurs on a regular channel, meaning that a new conversion has completed while the EOC flag was already set. It is cleared by software writing 1 to it.
|
|
__IO JEOC_ENUM JEOC : 1; //!<[05] Injected channel end of conversion flagThis bit is set by hardware at the end of each injected conversion of a channel when a new data is available in the corresponding ADC_JDRy register. It is cleared by software writing 1 to it or by reading the corresponding ADC_JDRy register
|
|
__IO JEOS_ENUM JEOS : 1; //!<[06] Injected channel end of sequence flagThis bit is set by hardware at the end of the conversions of all injected channels in the group. It is cleared by software writing 1 to it.
|
|
__IO AWD1_ENUM AWD1 : 1; //!<[07] Analog watchdog 1 flagThis bit is set by hardware when the converted voltage crosses the values programmed in the fields LT1[11:0] and HT1[11:0] of ADC_TR1 register. It is cleared by software. writing 1 to it.
|
|
__IO AWD2_ENUM AWD2 : 1; //!<[08] Analog watchdog 2 flagThis bit is set by hardware when the converted voltage crosses the values programmed in the fields LT2[7:0] and HT2[7:0] of ADC_TR2 register. It is cleared by software writing 1 to it.
|
|
__IO AWD3_ENUM AWD3 : 1; //!<[09] Analog watchdog 3 flagThis bit is set by hardware when the converted voltage crosses the values programmed in the fields LT3[7:0] and HT3[7:0] of ADC_TR3 register. It is cleared by software writing 1 to it.
|
|
__IO JQOVF_ENUM JQOVF : 1; //!<[10] Injected context queue overflowThis bit is set by hardware when an Overflow of the Injected Queue of Context occurs. It is cleared by software writing 1 to it. Refer to Section 16.4.21: Queue of context for injected conversions for more information.
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_ISR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_ISR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_ISR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_IER_DEF { //!< ADC interrupt enable register
|
|
enum ADRDYIE_ENUM /* uint32_t */ {
|
|
ADRDYIE_B_0x0 = 0, //!< ADRDY interrupt disabled
|
|
ADRDYIE_B_0x1 = 1, //!< ADRDY interrupt enabled. An interrupt is generated when the ADRDY bit is set.
|
|
};
|
|
enum EOSMPIE_ENUM /* uint32_t */ {
|
|
EOSMPIE_B_0x0 = 0, //!< EOSMP interrupt disabled.
|
|
EOSMPIE_B_0x1 = 1, //!< EOSMP interrupt enabled. An interrupt is generated when the EOSMP bit is set.
|
|
};
|
|
enum EOCIE_ENUM /* uint32_t */ {
|
|
EOCIE_B_0x0 = 0, //!< EOC interrupt disabled.
|
|
EOCIE_B_0x1 = 1, //!< EOC interrupt enabled. An interrupt is generated when the EOC bit is set.
|
|
};
|
|
enum EOSIE_ENUM /* uint32_t */ {
|
|
EOSIE_B_0x0 = 0, //!< EOS interrupt disabled
|
|
EOSIE_B_0x1 = 1, //!< EOS interrupt enabled. An interrupt is generated when the EOS bit is set.
|
|
};
|
|
enum OVRIE_ENUM /* uint32_t */ {
|
|
OVRIE_B_0x0 = 0, //!< Overrun interrupt disabled
|
|
OVRIE_B_0x1 = 1, //!< Overrun interrupt enabled. An interrupt is generated when the OVR bit is set.
|
|
};
|
|
enum JEOCIE_ENUM /* uint32_t */ {
|
|
JEOCIE_B_0x0 = 0, //!< JEOC interrupt disabled.
|
|
JEOCIE_B_0x1 = 1, //!< JEOC interrupt enabled. An interrupt is generated when the JEOC bit is set.
|
|
};
|
|
enum JEOSIE_ENUM /* uint32_t */ {
|
|
JEOSIE_B_0x0 = 0, //!< JEOS interrupt disabled
|
|
JEOSIE_B_0x1 = 1, //!< JEOS interrupt enabled. An interrupt is generated when the JEOS bit is set.
|
|
};
|
|
enum AWD1IE_ENUM /* uint32_t */ {
|
|
AWD1IE_B_0x0 = 0, //!< Analog watchdog 1 interrupt disabled
|
|
AWD1IE_B_0x1 = 1, //!< Analog watchdog 1 interrupt enabled
|
|
};
|
|
enum AWD2IE_ENUM /* uint32_t */ {
|
|
AWD2IE_B_0x0 = 0, //!< Analog watchdog 2 interrupt disabled
|
|
AWD2IE_B_0x1 = 1, //!< Analog watchdog 2 interrupt enabled
|
|
};
|
|
enum AWD3IE_ENUM /* uint32_t */ {
|
|
AWD3IE_B_0x0 = 0, //!< Analog watchdog 3 interrupt disabled
|
|
AWD3IE_B_0x1 = 1, //!< Analog watchdog 3 interrupt enabled
|
|
};
|
|
enum JQOVFIE_ENUM /* uint32_t */ {
|
|
JQOVFIE_B_0x0 = 0, //!< Injected Context Queue Overflow interrupt disabled
|
|
JQOVFIE_B_0x1 = 1, //!< Injected Context Queue Overflow interrupt enabled. An interrupt is generated when the JQOVF bit is set.
|
|
};
|
|
struct {
|
|
__IO ADRDYIE_ENUM ADRDYIE : 1; //!<[00] ADC ready interrupt enableThis bit is set and cleared by software to enable/disable the ADC Ready interrupt.Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).
|
|
__IO EOSMPIE_ENUM EOSMPIE : 1; //!<[01] End of sampling flag interrupt enable for regular conversionsThis bit is set and cleared by software to enable/disable the end of the sampling phase interrupt for regular conversions.Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
__IO EOCIE_ENUM EOCIE : 1; //!<[02] End of regular conversion interrupt enableThis bit is set and cleared by software to enable/disable the end of a regular conversion interrupt.Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
__IO EOSIE_ENUM EOSIE : 1; //!<[03] End of regular sequence of conversions interrupt enableThis bit is set and cleared by software to enable/disable the end of regular sequence of conversions interrupt.Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
__IO OVRIE_ENUM OVRIE : 1; //!<[04] Overrun interrupt enableThis bit is set and cleared by software to enable/disable the Overrun interrupt of a regular conversion.Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
__IO JEOCIE_ENUM JEOCIE : 1; //!<[05] End of injected conversion interrupt enableThis bit is set and cleared by software to enable/disable the end of an injected conversion interrupt.Note: The software is allowed to write this bit only when JADSTART = 0 (which ensures that no injected conversion is ongoing).
|
|
__IO JEOSIE_ENUM JEOSIE : 1; //!<[06] End of injected sequence of conversions interrupt enableThis bit is set and cleared by software to enable/disable the end of injected sequence of conversions interrupt.Note: The software is allowed to write this bit only when JADSTART = 0 (which ensures that no injected conversion is ongoing).
|
|
__IO AWD1IE_ENUM AWD1IE : 1; //!<[07] Analog watchdog 1 interrupt enableThis bit is set and cleared by software to enable/disable the analog watchdog 1 interrupt. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).
|
|
__IO AWD2IE_ENUM AWD2IE : 1; //!<[08] Analog watchdog 2 interrupt enableThis bit is set and cleared by software to enable/disable the analog watchdog 2 interrupt.Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).
|
|
__IO AWD3IE_ENUM AWD3IE : 1; //!<[09] Analog watchdog 3 interrupt enableThis bit is set and cleared by software to enable/disable the analog watchdog 2 interrupt.Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).
|
|
__IO JQOVFIE_ENUM JQOVFIE : 1; //!<[10] Injected context queue overflow interrupt enableThis bit is set and cleared by software to enable/disable the Injected Context Queue Overflow interrupt.Note: The software is allowed to write this bit only when JADSTART = 0 (which ensures that no injected conversion is ongoing).
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_IER_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_IER_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_IER_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_CR_DEF { //!< ADC control register
|
|
enum ADEN_ENUM /* uint32_t */ {
|
|
ADEN_B_0x0 = 0, //!< ADC is disabled (OFF state)
|
|
ADEN_B_0x1 = 1, //!< Write 1 to enable the ADC.
|
|
};
|
|
enum ADDIS_ENUM /* uint32_t */ {
|
|
ADDIS_B_0x0 = 0, //!< no ADDIS command ongoing
|
|
ADDIS_B_0x1 = 1, //!< Write 1 to disable the ADC. Read 1 means that an ADDIS command is in progress.
|
|
};
|
|
enum ADSTART_ENUM /* uint32_t */ {
|
|
ADSTART_B_0x0 = 0, //!< No ADC regular conversion is ongoing.
|
|
ADSTART_B_0x1 = 1, //!< Write 1 to start regular conversions. Read 1 means that the ADC is operating and eventually converting a regular channel.
|
|
};
|
|
enum JADSTART_ENUM /* uint32_t */ {
|
|
JADSTART_B_0x0 = 0, //!< No ADC injected conversion is ongoing.
|
|
JADSTART_B_0x1 = 1, //!< Write 1 to start injected conversions. Read 1 means that the ADC is operating and eventually converting an injected channel.
|
|
};
|
|
enum ADSTP_ENUM /* uint32_t */ {
|
|
ADSTP_B_0x0 = 0, //!< No ADC stop regular conversion command ongoing
|
|
ADSTP_B_0x1 = 1, //!< Write 1 to stop regular conversions ongoing. Read 1 means that an ADSTP command is in progress.
|
|
};
|
|
enum JADSTP_ENUM /* uint32_t */ {
|
|
JADSTP_B_0x0 = 0, //!< No ADC stop injected conversion command ongoing
|
|
JADSTP_B_0x1 = 1, //!< Write 1 to stop injected conversions ongoing. Read 1 means that an ADSTP command is in progress.
|
|
};
|
|
enum ADVREGEN_ENUM /* uint32_t */ {
|
|
ADVREGEN_B_0x0 = 0, //!< ADC Voltage regulator disabled
|
|
ADVREGEN_B_0x1 = 1, //!< ADC Voltage regulator enabled.
|
|
};
|
|
enum DEEPPWD_ENUM /* uint32_t */ {
|
|
DEEPPWD_B_0x0 = 0, //!< ADC not in Deep-power down
|
|
DEEPPWD_B_0x1 = 1, //!< ADC in Deep-power-down (default reset state)
|
|
};
|
|
enum ADCALDIF_ENUM /* uint32_t */ {
|
|
ADCALDIF_B_0x0 = 0, //!< Writing ADCAL launches a calibration in single-ended inputs mode.
|
|
ADCALDIF_B_0x1 = 1, //!< Writing ADCAL launches a calibration in differential inputs mode.
|
|
};
|
|
enum ADCAL_ENUM /* uint32_t */ {
|
|
ADCAL_B_0x0 = 0, //!< Calibration complete
|
|
ADCAL_B_0x1 = 1, //!< Write 1 to calibrate the ADC. Read at 1 means that a calibration in progress.
|
|
};
|
|
struct {
|
|
__IO ADEN_ENUM ADEN : 1; //!<[00] ADC enable controlThis bit is set by software to enable the ADC. The ADC is effectively ready to operate once the flag ADRDY has been set.It is cleared by hardware when the ADC is disabled, after the execution of the ADDIS command.Note: The software is allowed to set ADEN only when all bits of ADC_CR registers are 0 (ADCAL = 0, JADSTART = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0) except for bit ADVREGEN which must be 1 (and the software must have wait for the startup time of the voltage regulator)
|
|
__IO ADDIS_ENUM ADDIS : 1; //!<[01] ADC disable commandThis bit is set by software to disable the ADC (ADDIS command) and put it into power-down state (OFF state).It is cleared by hardware once the ADC is effectively disabled (ADEN is also cleared by hardware at this time).Note: The software is allowed to set ADDIS only when ADEN = 1 and both ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)
|
|
__IO ADSTART_ENUM ADSTART : 1; //!<[02] ADC start of regular conversionThis bit is set by software to start ADC conversion of regular channels. Depending on the configuration bits EXTEN[1:0], a conversion starts immediately (software trigger configuration) or once a regular hardware trigger event occurs (hardware trigger configuration).It is cleared by hardware:in single conversion mode when software trigger is selected (EXTSEL = 0x0): at the assertion of the End of Regular Conversion Sequence (EOS) flag.in all cases: after the execution of the ADSTP command, at the same time that ADSTP is cleared by hardware.Note: The software is allowed to set ADSTART only when ADEN = 1 and ADDIS = 0 (ADC is enabled and there is no pending request to disable the ADC)Note: In auto-injection mode (JAUTO = 1), regular and auto-injected conversions are started by setting bit ADSTART (JADSTART must be kept cleared)
|
|
__IO JADSTART_ENUM JADSTART : 1; //!<[03] ADC start of injected conversionThis bit is set by software to start ADC conversion of injected channels. Depending on the configuration bits JEXTEN[1:0], a conversion starts immediately (software trigger configuration) or once an injected hardware trigger event occurs (hardware trigger configuration).It is cleared by hardware:in single conversion mode when software trigger is selected (JEXTSEL = 0x0): at the assertion of the End of Injected Conversion Sequence (JEOS) flag.in all cases: after the execution of the JADSTP command, at the same time that JADSTP is cleared by hardware.Note: The software is allowed to set JADSTART only when ADEN = 1 and ADDIS = 0 (ADC is enabled and there is no pending request to disable the ADC).Note: In auto-injection mode (JAUTO = 1), regular and auto-injected conversions are started by setting bit ADSTART (JADSTART must be kept cleared)
|
|
__IO ADSTP_ENUM ADSTP : 1; //!<[04] ADC stop of regular conversion commandThis bit is set by software to stop and discard an ongoing regular conversion (ADSTP Command).It is cleared by hardware when the conversion is effectively discarded and the ADC regular sequence and triggers can be re-configured. The ADC is then ready to accept a new start of regular conversions (ADSTART command).Note: The software is allowed to set ADSTP only when ADSTART = 1 and ADDIS = 0 (ADC is enabled and eventually converting a regular conversion and there is no pending request to disable the ADC).In auto-injection mode (JAUTO = 1), setting ADSTP bit aborts both regular and injected conversions (do not use JADSTP).
|
|
__IO JADSTP_ENUM JADSTP : 1; //!<[05] ADC stop of injected conversion commandThis bit is set by software to stop and discard an ongoing injected conversion (JADSTP Command).It is cleared by hardware when the conversion is effectively discarded and the ADC injected sequence and triggers can be re-configured. The ADC is then ready to accept a new start of injected conversions (JADSTART command).Note: The software is allowed to set JADSTP only when JADSTART = 1 and ADDIS = 0 (ADC is enabled and eventually converting an injected conversion and there is no pending request to disable the ADC)Note: In Auto-injection mode (JAUTO = 1), setting ADSTP bit aborts both regular and injected conversions (do not use JADSTP)
|
|
uint32_t UNUSED0 : 22; //!<[06]
|
|
__IO ADVREGEN_ENUM ADVREGEN : 1; //!<[28] ADC voltage regulator enableThis bits is set by software to enable the ADC voltage regulator.Before performing any operation such as launching a calibration or enabling the ADC, the ADC voltage regulator must first be enabled and the software must wait for the regulator start-up time.For more details about the ADC voltage regulator enable and disable sequences, refer to Section 16.4.6: ADC Deep-power-down mode (DEEPPWD) and ADC voltage regulator (ADVREGEN).The software can program this bit field only when the ADC is disabled (ADCAL = 0, JADSTART = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0).
|
|
__IO DEEPPWD_ENUM DEEPPWD : 1; //!<[29] Deep-power-down enableThis bit is set and cleared by software to put the ADC in Deep-power-down mode.Note: The software is allowed to write this bit only when the ADC is disabled (ADCAL = 0, JADSTART = 0, JADSTP = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0).
|
|
__IO ADCALDIF_ENUM ADCALDIF : 1; //!<[30] Differential mode for calibrationThis bit is set and cleared by software to configure the single-ended or differential inputs mode for the calibration.Note: The software is allowed to write this bit only when the ADC is disabled and is not calibrating (ADCAL = 0, JADSTART = 0, JADSTP = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0).
|
|
__IO ADCAL_ENUM ADCAL : 1; //!<[31] ADC calibrationThis bit is set by software to start the calibration of the ADC. Program first the bit ADCALDIF to determine if this calibration applies for single-ended or differential inputs mode.It is cleared by hardware after calibration is complete.Note: The software is allowed to launch a calibration by setting ADCAL only when ADEN = 0.Note: The software is allowed to update the calibration factor by writing ADC_CALFACT only when ADEN = 1 and ADSTART = 0 and JADSTART = 0 (ADC enabled and no conversion is ongoing)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_CR_DEF () noexcept { R = 0x20000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_CR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_CR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_CFGR_DEF { //!< ADC configuration register
|
|
enum DMAEN_ENUM /* uint32_t */ {
|
|
DMAEN_B_0x0 = 0, //!< DMA disabled
|
|
DMAEN_B_0x1 = 1, //!< DMA enabled
|
|
};
|
|
enum DMACFG_ENUM /* uint32_t */ {
|
|
DMACFG_B_0x0 = 0, //!< DMA One Shot mode selected
|
|
DMACFG_B_0x1 = 1, //!< DMA Circular mode selected
|
|
};
|
|
enum DFSDMCFG_ENUM /* uint32_t */ {
|
|
DFSDMCFG_B_0x0 = 0, //!< DFSDM mode disabled
|
|
DFSDMCFG_B_0x1 = 1, //!< DFSDM mode enabled
|
|
};
|
|
enum RES_ENUM /* uint32_t */ {
|
|
RES_B_0x0 = 0, //!< 12-bit
|
|
RES_B_0x1 = 1, //!< 10-bit
|
|
RES_B_0x2 = 2, //!< 8-bit
|
|
RES_B_0x3 = 3, //!< 6-bit
|
|
};
|
|
enum ALIGN_ENUM /* uint32_t */ {
|
|
ALIGN_B_0x0 = 0, //!< Right alignment
|
|
ALIGN_B_0x1 = 1, //!< Left alignment
|
|
};
|
|
enum EXTSEL0_ENUM /* uint32_t */ {
|
|
EXTSEL0_B_0x0 = 0, //!< Event 0
|
|
EXTSEL0_B_0x1 = 1, //!< Event 1
|
|
};
|
|
enum EXTSEL1_ENUM /* uint32_t */ {
|
|
EXTSEL1_B_0x0 = 0, //!< Event 0
|
|
EXTSEL1_B_0x1 = 1, //!< Event 1
|
|
};
|
|
enum EXTSEL2_ENUM /* uint32_t */ {
|
|
EXTSEL2_B_0x0 = 0, //!< Event 0
|
|
EXTSEL2_B_0x1 = 1, //!< Event 1
|
|
};
|
|
enum EXTSEL3_ENUM /* uint32_t */ {
|
|
EXTSEL3_B_0x0 = 0, //!< Event 0
|
|
EXTSEL3_B_0x1 = 1, //!< Event 1
|
|
};
|
|
enum EXTEN_ENUM /* uint32_t */ {
|
|
EXTEN_B_0x0 = 0, //!< Hardware trigger detection disabled (conversions can be launched by software)
|
|
EXTEN_B_0x1 = 1, //!< Hardware trigger detection on the rising edge
|
|
EXTEN_B_0x2 = 2, //!< Hardware trigger detection on the falling edge
|
|
EXTEN_B_0x3 = 3, //!< Hardware trigger detection on both the rising and falling edges
|
|
};
|
|
enum OVRMOD_ENUM /* uint32_t */ {
|
|
OVRMOD_B_0x0 = 0, //!< ADC_DR register is preserved with the old data when an overrun is detected.
|
|
OVRMOD_B_0x1 = 1, //!< ADC_DR register is overwritten with the last conversion result when an overrun is detected.
|
|
};
|
|
enum CONT_ENUM /* uint32_t */ {
|
|
CONT_B_0x0 = 0, //!< Single conversion mode
|
|
CONT_B_0x1 = 1, //!< Continuous conversion mode
|
|
};
|
|
enum AUTDLY_ENUM /* uint32_t */ {
|
|
AUTDLY_B_0x0 = 0, //!< Auto-delayed conversion mode off
|
|
AUTDLY_B_0x1 = 1, //!< Auto-delayed conversion mode on
|
|
};
|
|
enum DISCEN_ENUM /* uint32_t */ {
|
|
DISCEN_B_0x0 = 0, //!< Discontinuous mode for regular channels disabled
|
|
DISCEN_B_0x1 = 1, //!< Discontinuous mode for regular channels enabled
|
|
};
|
|
enum DISCNUM_ENUM /* uint32_t */ {
|
|
DISCNUM_B_0x0 = 0, //!< 1 channel
|
|
DISCNUM_B_0x1 = 1, //!< 2 channels
|
|
DISCNUM_B_0x7 = 7, //!< 8 channels
|
|
};
|
|
enum JDISCEN_ENUM /* uint32_t */ {
|
|
JDISCEN_B_0x0 = 0, //!< Discontinuous mode on injected channels disabled
|
|
JDISCEN_B_0x1 = 1, //!< Discontinuous mode on injected channels enabled
|
|
};
|
|
enum JQM_ENUM /* uint32_t */ {
|
|
JQM_B_0x0 = 0, //!< JSQR mode 0: The Queue is never empty and maintains the last written configuration into JSQR.
|
|
JQM_B_0x1 = 1, //!< JSQR mode 1: The Queue can be empty and when this occurs, the software and hardware triggers of the injected sequence are both internally disabled just after the completion of the last valid injected sequence.
|
|
};
|
|
enum AWD1SGL_ENUM /* uint32_t */ {
|
|
AWD1SGL_B_0x0 = 0, //!< Analog watchdog 1 enabled on all channels
|
|
AWD1SGL_B_0x1 = 1, //!< Analog watchdog 1 enabled on a single channel
|
|
};
|
|
enum AWD1EN_ENUM /* uint32_t */ {
|
|
AWD1EN_B_0x0 = 0, //!< Analog watchdog 1 disabled on regular channels
|
|
AWD1EN_B_0x1 = 1, //!< Analog watchdog 1 enabled on regular channels
|
|
};
|
|
enum JAWD1EN_ENUM /* uint32_t */ {
|
|
JAWD1EN_B_0x0 = 0, //!< Analog watchdog 1 disabled on injected channels
|
|
JAWD1EN_B_0x1 = 1, //!< Analog watchdog 1 enabled on injected channels
|
|
};
|
|
enum JAUTO_ENUM /* uint32_t */ {
|
|
JAUTO_B_0x0 = 0, //!< Automatic injected group conversion disabled
|
|
JAUTO_B_0x1 = 1, //!< Automatic injected group conversion enabled
|
|
};
|
|
enum AWD1CH_ENUM /* uint32_t */ {
|
|
AWD1CH_B_0x0 = 0, //!< ADC analog input channel 0 monitored by AWD1 (available on ADC1 only)
|
|
AWD1CH_B_0x1 = 1, //!< ADC analog input channel 1 monitored by AWD1
|
|
AWD1CH_B_0x12 = 18, //!< ADC analog input channel 18 monitored by AWD1
|
|
};
|
|
enum JQDIS_ENUM /* uint32_t */ {
|
|
JQDIS_B_0x0 = 0, //!< Injected Queue enabled
|
|
JQDIS_B_0x1 = 1, //!< Injected Queue disabled
|
|
};
|
|
struct {
|
|
__IO DMAEN_ENUM DMAEN : 1; //!<[00] Direct memory access enableThis bit is set and cleared by software to enable the generation of DMA requests. This allows to use the DMA to manage automatically the converted data. For more details, refer to Section : Managing conversions using the DMA.Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: In dual-ADC modes, this bit is not relevant and replaced by control bits MDMA[1:0] of the ADCx_CCR register.
|
|
__IO DMACFG_ENUM DMACFG : 1; //!<[01] Direct memory access configurationThis bit is set and cleared by software to select between two DMA modes of operation and is effective only when DMAEN = 1.For more details, refer to Section : Managing conversions using the DMANote: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: In dual-ADC modes, this bit is not relevant and replaced by control bit DMACFG of the ADCx_CCR register.
|
|
__IO DFSDMCFG_ENUM DFSDMCFG : 1; //!<[02] DFSDM mode configuration This bit is set and cleared by software to enable the DFSDM mode. It is effective only whenDMAEN = 0.Note: To make sure no conversion is ongoing, the software is allowed to write this bit only when ADSTART= 0 and JADSTART= 0.
|
|
__IO RES_ENUM RES : 2; //!<[03] Data resolutionThese bits are written by software to select the resolution of the conversion.Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).
|
|
__IO ALIGN_ENUM ALIGN : 1; //!<[05] Data alignmentThis bit is set and cleared by software to select right or left alignment. Refer to Section : Data register, data alignment and offset (ADC_DR, OFFSETy, OFFSETy_CH, ALIGN)Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).
|
|
__IO EXTSEL0_ENUM EXTSEL0 : 1; //!<[06] External trigger selection for regular groupThese bits select the external event used to trigger the start of conversion of a regular group:...Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
__IO EXTSEL1_ENUM EXTSEL1 : 1; //!<[07] External trigger selection for regular groupThese bits select the external event used to trigger the start of conversion of a regular group:...Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
__IO EXTSEL2_ENUM EXTSEL2 : 1; //!<[08] External trigger selection for regular groupThese bits select the external event used to trigger the start of conversion of a regular group:...Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
__IO EXTSEL3_ENUM EXTSEL3 : 1; //!<[09] External trigger selection for regular groupThese bits select the external event used to trigger the start of conversion of a regular group:...Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
__IO EXTEN_ENUM EXTEN : 2; //!<[10] External trigger enable and polarity selection for regular channelsThese bits are set and cleared by software to select the external trigger polarity and enable the trigger of a regular group.Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
__IO OVRMOD_ENUM OVRMOD : 1; //!<[12] Overrun modeThis bit is set and cleared by software and configure the way data overrun is managed.Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
__IO CONT_ENUM CONT : 1; //!<[13] Single / continuous conversion mode for regular conversionsThis bit is set and cleared by software. If it is set, regular conversion takes place continuously until it is cleared.Note: It is not possible to have both discontinuous mode and continuous mode enabled: it is forbidden to set both DISCEN = 1 and CONT = 1.Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing).Note: When dual mode is enabled (DUAL bits in ADCx_CCR register are not equal to zero), the bit CONT of the slave ADC is no more writable and its content is equal to the bit CONT of the master ADC.
|
|
__IO AUTDLY_ENUM AUTDLY : 1; //!<[14] Delayed conversion modeThis bit is set and cleared by software to enable/disable the Auto Delayed Conversion mode.Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: When dual mode is enabled (DUAL bits in ADCx_CCR register are not equal to zero), the bit AUTDLY of the slave ADC is no more writable and its content is equal to the bit AUTDLY of the master ADC.
|
|
ONE_BIT UNUSED0 : 1; //!<[15]
|
|
__IO DISCEN_ENUM DISCEN : 1; //!<[16] Discontinuous mode for regular channelsThis bit is set and cleared by software to enable/disable Discontinuous mode for regular channels.Note: It is not possible to have both discontinuous mode and continuous mode enabled: it is forbidden to set both DISCEN = 1 and CONT = 1.Note: It is not possible to use both auto-injected mode and discontinuous mode simultaneously: the bits DISCEN and JDISCEN must be kept cleared by software when JAUTO is set. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing).Note: When dual mode is enabled (DUAL bits in ADCx_CCR register are not equal to zero), the bit DISCEN of the slave ADC is no more writable and its content is equal to the bit DISCEN of the master ADC.
|
|
__IO DISCNUM_ENUM DISCNUM : 3; //!<[17] Discontinuous mode channel countThese bits are written by software to define the number of regular channels to be converted in discontinuous mode, after receiving an external trigger....Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing).Note: When dual mode is enabled (DUAL bits in ADCx_CCR register are not equal to zero), the bits DISCNUM[2:0] of the slave ADC are no more writable and their content is equal to the bits DISCNUM[2:0] of the master ADC.
|
|
__IO JDISCEN_ENUM JDISCEN : 1; //!<[20] Discontinuous mode on injected channelsThis bit is set and cleared by software to enable/disable discontinuous mode on the injected channels of a group.Note: The software is allowed to write this bit only when JADSTART = 0 (which ensures that no injected conversion is ongoing).Note: It is not possible to use both auto-injected mode and discontinuous mode simultaneously: the bits DISCEN and JDISCEN must be kept cleared by software when JAUTO is set.Note: When dual mode is enabled (bits DUAL of ADCx_CCR register are not equal to zero), the bit JDISCEN of the slave ADC is no more writable and its content is equal to the bit JDISCEN of the master ADC.
|
|
__IO JQM_ENUM JQM : 1; //!<[21] JSQR queue modeThis bit is set and cleared by software.It defines how an empty Queue is managed.Refer to Section 16.4.21: Queue of context for injected conversions for more information.Note: The software is allowed to write this bit only when JADSTART = 0 (which ensures that no injected conversion is ongoing).Note: When dual mode is enabled (DUAL bits in ADCx_CCR register are not equal to zero), the bit JQM of the slave ADC is no more writable and its content is equal to the bit JQM of the master ADC.
|
|
__IO AWD1SGL_ENUM AWD1SGL : 1; //!<[22] Enable the watchdog 1 on a single channel or on all channelsThis bit is set and cleared by software to enable the analog watchdog on the channel identified by the AWD1CH[4:0] bits or on all the channelsNote: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).
|
|
__IO AWD1EN_ENUM AWD1EN : 1; //!<[23] Analog watchdog 1 enable on regular channelsThis bit is set and cleared by softwareNote: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
__IO JAWD1EN_ENUM JAWD1EN : 1; //!<[24] Analog watchdog 1 enable on injected channelsThis bit is set and cleared by softwareNote: The software is allowed to write this bit only when JADSTART = 0 (which ensures that no injected conversion is ongoing).
|
|
__IO JAUTO_ENUM JAUTO : 1; //!<[25] Automatic injected group conversionThis bit is set and cleared by software to enable/disable automatic injected group conversion after regular group conversion.Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no regular nor injected conversion is ongoing).Note: When dual mode is enabled (DUAL bits in ADCx_CCR register are not equal to zero), the bit JAUTO of the slave ADC is no more writable and its content is equal to the bit JAUTO of the master ADC.
|
|
__IO AWD1CH_ENUM AWD1CH : 5; //!<[26] Analog watchdog 1 channel selectionThese bits are set and cleared by software. They select the input channel to be guarded by the analog watchdog......others: reserved, must not be usedNote: Some channels are not connected physically. Keep the corresponding AWD1CH[4:0] setting to the reset value.Note: The channel selected by AWD1CH must be also selected into the SQRi or JSQRi registers.Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).
|
|
__IO JQDIS_ENUM JQDIS : 1; //!<[31] Injected Queue disableThese bits are set and cleared by software to disable the Injected Queue mechanism :Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no regular nor injected conversion is ongoing).Note: A set or reset of JQDIS bit causes the injected queue to be flushed and the JSQR register is cleared.
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_CFGR_DEF () noexcept { R = 0x80000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_CFGR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_CFGR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_CFGR2_DEF { //!< ADC configuration register 2
|
|
enum ROVSE_ENUM /* uint32_t */ {
|
|
ROVSE_B_0x0 = 0, //!< Regular Oversampling disabled
|
|
ROVSE_B_0x1 = 1, //!< Regular Oversampling enabled
|
|
};
|
|
enum JOVSE_ENUM /* uint32_t */ {
|
|
JOVSE_B_0x0 = 0, //!< Injected Oversampling disabled
|
|
JOVSE_B_0x1 = 1, //!< Injected Oversampling enabled
|
|
};
|
|
enum OVSR_ENUM /* uint32_t */ {
|
|
OVSR_B_0x0 = 0, //!< 2x
|
|
OVSR_B_0x1 = 1, //!< 4x
|
|
OVSR_B_0x2 = 2, //!< 8x
|
|
OVSR_B_0x3 = 3, //!< 16x
|
|
OVSR_B_0x4 = 4, //!< 32x
|
|
OVSR_B_0x5 = 5, //!< 64x
|
|
OVSR_B_0x6 = 6, //!< 128x
|
|
OVSR_B_0x7 = 7, //!< 256x
|
|
};
|
|
enum OVSS_ENUM /* uint32_t */ {
|
|
OVSS_B_0x0 = 0, //!< No shift
|
|
OVSS_B_0x1 = 1, //!< Shift 1-bit
|
|
OVSS_B_0x2 = 2, //!< Shift 2-bits
|
|
OVSS_B_0x3 = 3, //!< Shift 3-bits
|
|
OVSS_B_0x4 = 4, //!< Shift 4-bits
|
|
OVSS_B_0x5 = 5, //!< Shift 5-bits
|
|
OVSS_B_0x6 = 6, //!< Shift 6-bits
|
|
OVSS_B_0x7 = 7, //!< Shift 7-bits
|
|
OVSS_B_0x8 = 8, //!< Shift 8-bits
|
|
};
|
|
enum TROVS_ENUM /* uint32_t */ {
|
|
TROVS_B_0x0 = 0, //!< All oversampled conversions for a channel are done consecutively following a trigger
|
|
TROVS_B_0x1 = 1, //!< Each oversampled conversion for a channel needs a new trigger
|
|
};
|
|
enum ROVSM_ENUM /* uint32_t */ {
|
|
ROVSM_B_0x0 = 0, //!< Continued mode: When injected conversions are triggered, the oversampling is temporary stopped and continued after the injection sequence (oversampling buffer is maintained during injected sequence)
|
|
ROVSM_B_0x1 = 1, //!< Resumed mode: When injected conversions are triggered, the current oversampling is aborted and resumed from start after the injection sequence (oversampling buffer is zeroed by injected sequence start)
|
|
};
|
|
struct {
|
|
__IO ROVSE_ENUM ROVSE : 1; //!<[00] Regular Oversampling EnableThis bit is set and cleared by software to enable regular oversampling.Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)
|
|
__IO JOVSE_ENUM JOVSE : 1; //!<[01] Injected Oversampling EnableThis bit is set and cleared by software to enable injected oversampling.Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)
|
|
__IO OVSR_ENUM OVSR : 3; //!<[02] Oversampling ratioThis bitfield is set and cleared by software to define the oversampling ratio.Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no conversion is ongoing).
|
|
__IO OVSS_ENUM OVSS : 4; //!<[05] Oversampling shiftThis bitfield is set and cleared by software to define the right shifting applied to the raw oversampling result.Other codes reservedNote: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no conversion is ongoing).
|
|
__IO TROVS_ENUM TROVS : 1; //!<[09] Triggered Regular OversamplingThis bit is set and cleared by software to enable triggered oversamplingNote: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing).
|
|
__IO ROVSM_ENUM ROVSM : 1; //!<[10] Regular Oversampling modeThis bit is set and cleared by software to select the regular oversampling mode.Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing).
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_CFGR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_CFGR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_CFGR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_SMPR1_DEF { //!< ADC sample time register 1
|
|
enum SMP0_ENUM /* uint32_t */ {
|
|
SMP0_B_0x0 = 0, //!< 2.5 ADC clock cycles
|
|
SMP0_B_0x1 = 1, //!< 6.5 ADC clock cycles
|
|
SMP0_B_0x2 = 2, //!< 12.5 ADC clock cycles
|
|
SMP0_B_0x3 = 3, //!< 24.5 ADC clock cycles
|
|
SMP0_B_0x4 = 4, //!< 47.5 ADC clock cycles
|
|
SMP0_B_0x5 = 5, //!< 92.5 ADC clock cycles
|
|
SMP0_B_0x6 = 6, //!< 247.5 ADC clock cycles
|
|
SMP0_B_0x7 = 7, //!< 640.5 ADC clock cycles
|
|
};
|
|
enum SMP1_ENUM /* uint32_t */ {
|
|
SMP1_B_0x0 = 0, //!< 2.5 ADC clock cycles
|
|
SMP1_B_0x1 = 1, //!< 6.5 ADC clock cycles
|
|
SMP1_B_0x2 = 2, //!< 12.5 ADC clock cycles
|
|
SMP1_B_0x3 = 3, //!< 24.5 ADC clock cycles
|
|
SMP1_B_0x4 = 4, //!< 47.5 ADC clock cycles
|
|
SMP1_B_0x5 = 5, //!< 92.5 ADC clock cycles
|
|
SMP1_B_0x6 = 6, //!< 247.5 ADC clock cycles
|
|
SMP1_B_0x7 = 7, //!< 640.5 ADC clock cycles
|
|
};
|
|
enum SMP2_ENUM /* uint32_t */ {
|
|
SMP2_B_0x0 = 0, //!< 2.5 ADC clock cycles
|
|
SMP2_B_0x1 = 1, //!< 6.5 ADC clock cycles
|
|
SMP2_B_0x2 = 2, //!< 12.5 ADC clock cycles
|
|
SMP2_B_0x3 = 3, //!< 24.5 ADC clock cycles
|
|
SMP2_B_0x4 = 4, //!< 47.5 ADC clock cycles
|
|
SMP2_B_0x5 = 5, //!< 92.5 ADC clock cycles
|
|
SMP2_B_0x6 = 6, //!< 247.5 ADC clock cycles
|
|
SMP2_B_0x7 = 7, //!< 640.5 ADC clock cycles
|
|
};
|
|
enum SMP3_ENUM /* uint32_t */ {
|
|
SMP3_B_0x0 = 0, //!< 2.5 ADC clock cycles
|
|
SMP3_B_0x1 = 1, //!< 6.5 ADC clock cycles
|
|
SMP3_B_0x2 = 2, //!< 12.5 ADC clock cycles
|
|
SMP3_B_0x3 = 3, //!< 24.5 ADC clock cycles
|
|
SMP3_B_0x4 = 4, //!< 47.5 ADC clock cycles
|
|
SMP3_B_0x5 = 5, //!< 92.5 ADC clock cycles
|
|
SMP3_B_0x6 = 6, //!< 247.5 ADC clock cycles
|
|
SMP3_B_0x7 = 7, //!< 640.5 ADC clock cycles
|
|
};
|
|
enum SMP4_ENUM /* uint32_t */ {
|
|
SMP4_B_0x0 = 0, //!< 2.5 ADC clock cycles
|
|
SMP4_B_0x1 = 1, //!< 6.5 ADC clock cycles
|
|
SMP4_B_0x2 = 2, //!< 12.5 ADC clock cycles
|
|
SMP4_B_0x3 = 3, //!< 24.5 ADC clock cycles
|
|
SMP4_B_0x4 = 4, //!< 47.5 ADC clock cycles
|
|
SMP4_B_0x5 = 5, //!< 92.5 ADC clock cycles
|
|
SMP4_B_0x6 = 6, //!< 247.5 ADC clock cycles
|
|
SMP4_B_0x7 = 7, //!< 640.5 ADC clock cycles
|
|
};
|
|
enum SMP5_ENUM /* uint32_t */ {
|
|
SMP5_B_0x0 = 0, //!< 2.5 ADC clock cycles
|
|
SMP5_B_0x1 = 1, //!< 6.5 ADC clock cycles
|
|
SMP5_B_0x2 = 2, //!< 12.5 ADC clock cycles
|
|
SMP5_B_0x3 = 3, //!< 24.5 ADC clock cycles
|
|
SMP5_B_0x4 = 4, //!< 47.5 ADC clock cycles
|
|
SMP5_B_0x5 = 5, //!< 92.5 ADC clock cycles
|
|
SMP5_B_0x6 = 6, //!< 247.5 ADC clock cycles
|
|
SMP5_B_0x7 = 7, //!< 640.5 ADC clock cycles
|
|
};
|
|
enum SMP6_ENUM /* uint32_t */ {
|
|
SMP6_B_0x0 = 0, //!< 2.5 ADC clock cycles
|
|
SMP6_B_0x1 = 1, //!< 6.5 ADC clock cycles
|
|
SMP6_B_0x2 = 2, //!< 12.5 ADC clock cycles
|
|
SMP6_B_0x3 = 3, //!< 24.5 ADC clock cycles
|
|
SMP6_B_0x4 = 4, //!< 47.5 ADC clock cycles
|
|
SMP6_B_0x5 = 5, //!< 92.5 ADC clock cycles
|
|
SMP6_B_0x6 = 6, //!< 247.5 ADC clock cycles
|
|
SMP6_B_0x7 = 7, //!< 640.5 ADC clock cycles
|
|
};
|
|
enum SMP7_ENUM /* uint32_t */ {
|
|
SMP7_B_0x0 = 0, //!< 2.5 ADC clock cycles
|
|
SMP7_B_0x1 = 1, //!< 6.5 ADC clock cycles
|
|
SMP7_B_0x2 = 2, //!< 12.5 ADC clock cycles
|
|
SMP7_B_0x3 = 3, //!< 24.5 ADC clock cycles
|
|
SMP7_B_0x4 = 4, //!< 47.5 ADC clock cycles
|
|
SMP7_B_0x5 = 5, //!< 92.5 ADC clock cycles
|
|
SMP7_B_0x6 = 6, //!< 247.5 ADC clock cycles
|
|
SMP7_B_0x7 = 7, //!< 640.5 ADC clock cycles
|
|
};
|
|
enum SMP8_ENUM /* uint32_t */ {
|
|
SMP8_B_0x0 = 0, //!< 2.5 ADC clock cycles
|
|
SMP8_B_0x1 = 1, //!< 6.5 ADC clock cycles
|
|
SMP8_B_0x2 = 2, //!< 12.5 ADC clock cycles
|
|
SMP8_B_0x3 = 3, //!< 24.5 ADC clock cycles
|
|
SMP8_B_0x4 = 4, //!< 47.5 ADC clock cycles
|
|
SMP8_B_0x5 = 5, //!< 92.5 ADC clock cycles
|
|
SMP8_B_0x6 = 6, //!< 247.5 ADC clock cycles
|
|
SMP8_B_0x7 = 7, //!< 640.5 ADC clock cycles
|
|
};
|
|
enum SMP9_ENUM /* uint32_t */ {
|
|
SMP9_B_0x0 = 0, //!< 2.5 ADC clock cycles
|
|
SMP9_B_0x1 = 1, //!< 6.5 ADC clock cycles
|
|
SMP9_B_0x2 = 2, //!< 12.5 ADC clock cycles
|
|
SMP9_B_0x3 = 3, //!< 24.5 ADC clock cycles
|
|
SMP9_B_0x4 = 4, //!< 47.5 ADC clock cycles
|
|
SMP9_B_0x5 = 5, //!< 92.5 ADC clock cycles
|
|
SMP9_B_0x6 = 6, //!< 247.5 ADC clock cycles
|
|
SMP9_B_0x7 = 7, //!< 640.5 ADC clock cycles
|
|
};
|
|
enum SMPPLUS_ENUM /* uint32_t */ {
|
|
SMPPLUS_B_0x0 = 0, //!< The sampling time remains set to 2.5 ADC clock cycles remains
|
|
SMPPLUS_B_0x1 = 1, //!< 2.5 ADC clock cycle sampling time becomes 3.5 ADC clock cycles for the ADC_SMPR1 and ADC_SMPR2 registers.
|
|
};
|
|
struct {
|
|
__IO SMP0_ENUM SMP0 : 3; //!<[00] Channel x sampling time selection (x = 9 to 0)These bits are written by software to select the sampling time individually for each channel. During sample cycles, the channel selection bits must remain unchanged.Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value.
|
|
__IO SMP1_ENUM SMP1 : 3; //!<[03] Channel x sampling time selection (x = 9 to 0)These bits are written by software to select the sampling time individually for each channel. During sample cycles, the channel selection bits must remain unchanged.Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value.
|
|
__IO SMP2_ENUM SMP2 : 3; //!<[06] Channel x sampling time selection (x = 9 to 0)These bits are written by software to select the sampling time individually for each channel. During sample cycles, the channel selection bits must remain unchanged.Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value.
|
|
__IO SMP3_ENUM SMP3 : 3; //!<[09] Channel x sampling time selection (x = 9 to 0)These bits are written by software to select the sampling time individually for each channel. During sample cycles, the channel selection bits must remain unchanged.Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value.
|
|
__IO SMP4_ENUM SMP4 : 3; //!<[12] Channel x sampling time selection (x = 9 to 0)These bits are written by software to select the sampling time individually for each channel. During sample cycles, the channel selection bits must remain unchanged.Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value.
|
|
__IO SMP5_ENUM SMP5 : 3; //!<[15] Channel x sampling time selection (x = 9 to 0)These bits are written by software to select the sampling time individually for each channel. During sample cycles, the channel selection bits must remain unchanged.Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value.
|
|
__IO SMP6_ENUM SMP6 : 3; //!<[18] Channel x sampling time selection (x = 9 to 0)These bits are written by software to select the sampling time individually for each channel. During sample cycles, the channel selection bits must remain unchanged.Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value.
|
|
__IO SMP7_ENUM SMP7 : 3; //!<[21] Channel x sampling time selection (x = 9 to 0)These bits are written by software to select the sampling time individually for each channel. During sample cycles, the channel selection bits must remain unchanged.Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value.
|
|
__IO SMP8_ENUM SMP8 : 3; //!<[24] Channel x sampling time selection (x = 9 to 0)These bits are written by software to select the sampling time individually for each channel. During sample cycles, the channel selection bits must remain unchanged.Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value.
|
|
__IO SMP9_ENUM SMP9 : 3; //!<[27] Channel x sampling time selection (x = 9 to 0)These bits are written by software to select the sampling time individually for each channel. During sample cycles, the channel selection bits must remain unchanged.Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value.
|
|
ONE_BIT UNUSED0 : 1; //!<[30]
|
|
__IO SMPPLUS_ENUM SMPPLUS : 1; //!<[31] Addition of one clock cycle to the sampling timeTo make sure no conversion is ongoing, the software is allowed to write this bit only when ADSTART= 0 and JADSTART= 0.
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_SMPR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_SMPR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_SMPR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_SMPR2_DEF { //!< ADC sample time register 2
|
|
enum SMP10_ENUM /* uint32_t */ {
|
|
SMP10_B_0x0 = 0, //!< 2.5 ADC clock cycles
|
|
SMP10_B_0x1 = 1, //!< 6.5 ADC clock cycles
|
|
SMP10_B_0x2 = 2, //!< 12.5 ADC clock cycles
|
|
SMP10_B_0x3 = 3, //!< 24.5 ADC clock cycles
|
|
SMP10_B_0x4 = 4, //!< 47.5 ADC clock cycles
|
|
SMP10_B_0x5 = 5, //!< 92.5 ADC clock cycles
|
|
SMP10_B_0x6 = 6, //!< 247.5 ADC clock cycles
|
|
SMP10_B_0x7 = 7, //!< 640.5 ADC clock cycles
|
|
};
|
|
enum SMP11_ENUM /* uint32_t */ {
|
|
SMP11_B_0x0 = 0, //!< 2.5 ADC clock cycles
|
|
SMP11_B_0x1 = 1, //!< 6.5 ADC clock cycles
|
|
SMP11_B_0x2 = 2, //!< 12.5 ADC clock cycles
|
|
SMP11_B_0x3 = 3, //!< 24.5 ADC clock cycles
|
|
SMP11_B_0x4 = 4, //!< 47.5 ADC clock cycles
|
|
SMP11_B_0x5 = 5, //!< 92.5 ADC clock cycles
|
|
SMP11_B_0x6 = 6, //!< 247.5 ADC clock cycles
|
|
SMP11_B_0x7 = 7, //!< 640.5 ADC clock cycles
|
|
};
|
|
enum SMP12_ENUM /* uint32_t */ {
|
|
SMP12_B_0x0 = 0, //!< 2.5 ADC clock cycles
|
|
SMP12_B_0x1 = 1, //!< 6.5 ADC clock cycles
|
|
SMP12_B_0x2 = 2, //!< 12.5 ADC clock cycles
|
|
SMP12_B_0x3 = 3, //!< 24.5 ADC clock cycles
|
|
SMP12_B_0x4 = 4, //!< 47.5 ADC clock cycles
|
|
SMP12_B_0x5 = 5, //!< 92.5 ADC clock cycles
|
|
SMP12_B_0x6 = 6, //!< 247.5 ADC clock cycles
|
|
SMP12_B_0x7 = 7, //!< 640.5 ADC clock cycles
|
|
};
|
|
enum SMP13_ENUM /* uint32_t */ {
|
|
SMP13_B_0x0 = 0, //!< 2.5 ADC clock cycles
|
|
SMP13_B_0x1 = 1, //!< 6.5 ADC clock cycles
|
|
SMP13_B_0x2 = 2, //!< 12.5 ADC clock cycles
|
|
SMP13_B_0x3 = 3, //!< 24.5 ADC clock cycles
|
|
SMP13_B_0x4 = 4, //!< 47.5 ADC clock cycles
|
|
SMP13_B_0x5 = 5, //!< 92.5 ADC clock cycles
|
|
SMP13_B_0x6 = 6, //!< 247.5 ADC clock cycles
|
|
SMP13_B_0x7 = 7, //!< 640.5 ADC clock cycles
|
|
};
|
|
enum SMP14_ENUM /* uint32_t */ {
|
|
SMP14_B_0x0 = 0, //!< 2.5 ADC clock cycles
|
|
SMP14_B_0x1 = 1, //!< 6.5 ADC clock cycles
|
|
SMP14_B_0x2 = 2, //!< 12.5 ADC clock cycles
|
|
SMP14_B_0x3 = 3, //!< 24.5 ADC clock cycles
|
|
SMP14_B_0x4 = 4, //!< 47.5 ADC clock cycles
|
|
SMP14_B_0x5 = 5, //!< 92.5 ADC clock cycles
|
|
SMP14_B_0x6 = 6, //!< 247.5 ADC clock cycles
|
|
SMP14_B_0x7 = 7, //!< 640.5 ADC clock cycles
|
|
};
|
|
enum SMP15_ENUM /* uint32_t */ {
|
|
SMP15_B_0x0 = 0, //!< 2.5 ADC clock cycles
|
|
SMP15_B_0x1 = 1, //!< 6.5 ADC clock cycles
|
|
SMP15_B_0x2 = 2, //!< 12.5 ADC clock cycles
|
|
SMP15_B_0x3 = 3, //!< 24.5 ADC clock cycles
|
|
SMP15_B_0x4 = 4, //!< 47.5 ADC clock cycles
|
|
SMP15_B_0x5 = 5, //!< 92.5 ADC clock cycles
|
|
SMP15_B_0x6 = 6, //!< 247.5 ADC clock cycles
|
|
SMP15_B_0x7 = 7, //!< 640.5 ADC clock cycles
|
|
};
|
|
enum SMP16_ENUM /* uint32_t */ {
|
|
SMP16_B_0x0 = 0, //!< 2.5 ADC clock cycles
|
|
SMP16_B_0x1 = 1, //!< 6.5 ADC clock cycles
|
|
SMP16_B_0x2 = 2, //!< 12.5 ADC clock cycles
|
|
SMP16_B_0x3 = 3, //!< 24.5 ADC clock cycles
|
|
SMP16_B_0x4 = 4, //!< 47.5 ADC clock cycles
|
|
SMP16_B_0x5 = 5, //!< 92.5 ADC clock cycles
|
|
SMP16_B_0x6 = 6, //!< 247.5 ADC clock cycles
|
|
SMP16_B_0x7 = 7, //!< 640.5 ADC clock cycles
|
|
};
|
|
enum SMP17_ENUM /* uint32_t */ {
|
|
SMP17_B_0x0 = 0, //!< 2.5 ADC clock cycles
|
|
SMP17_B_0x1 = 1, //!< 6.5 ADC clock cycles
|
|
SMP17_B_0x2 = 2, //!< 12.5 ADC clock cycles
|
|
SMP17_B_0x3 = 3, //!< 24.5 ADC clock cycles
|
|
SMP17_B_0x4 = 4, //!< 47.5 ADC clock cycles
|
|
SMP17_B_0x5 = 5, //!< 92.5 ADC clock cycles
|
|
SMP17_B_0x6 = 6, //!< 247.5 ADC clock cycles
|
|
SMP17_B_0x7 = 7, //!< 640.5 ADC clock cycles
|
|
};
|
|
enum SMP18_ENUM /* uint32_t */ {
|
|
SMP18_B_0x0 = 0, //!< 2.5 ADC clock cycles
|
|
SMP18_B_0x1 = 1, //!< 6.5 ADC clock cycles
|
|
SMP18_B_0x2 = 2, //!< 12.5 ADC clock cycles
|
|
SMP18_B_0x3 = 3, //!< 24.5 ADC clock cycles
|
|
SMP18_B_0x4 = 4, //!< 47.5 ADC clock cycles
|
|
SMP18_B_0x5 = 5, //!< 92.5 ADC clock cycles
|
|
SMP18_B_0x6 = 6, //!< 247.5 ADC clock cycles
|
|
SMP18_B_0x7 = 7, //!< 640.5 ADC clock cycles
|
|
};
|
|
struct {
|
|
__IO SMP10_ENUM SMP10 : 3; //!<[00] Channel x sampling time selection (x = 18 to 10)These bits are written by software to select the sampling time individually for each channel. During sampling cycles, the channel selection bits must remain unchanged.Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value.
|
|
__IO SMP11_ENUM SMP11 : 3; //!<[03] Channel x sampling time selection (x = 18 to 10)These bits are written by software to select the sampling time individually for each channel. During sampling cycles, the channel selection bits must remain unchanged.Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value.
|
|
__IO SMP12_ENUM SMP12 : 3; //!<[06] Channel x sampling time selection (x = 18 to 10)These bits are written by software to select the sampling time individually for each channel. During sampling cycles, the channel selection bits must remain unchanged.Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value.
|
|
__IO SMP13_ENUM SMP13 : 3; //!<[09] Channel x sampling time selection (x = 18 to 10)These bits are written by software to select the sampling time individually for each channel. During sampling cycles, the channel selection bits must remain unchanged.Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value.
|
|
__IO SMP14_ENUM SMP14 : 3; //!<[12] Channel x sampling time selection (x = 18 to 10)These bits are written by software to select the sampling time individually for each channel. During sampling cycles, the channel selection bits must remain unchanged.Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value.
|
|
__IO SMP15_ENUM SMP15 : 3; //!<[15] Channel x sampling time selection (x = 18 to 10)These bits are written by software to select the sampling time individually for each channel. During sampling cycles, the channel selection bits must remain unchanged.Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value.
|
|
__IO SMP16_ENUM SMP16 : 3; //!<[18] Channel x sampling time selection (x = 18 to 10)These bits are written by software to select the sampling time individually for each channel. During sampling cycles, the channel selection bits must remain unchanged.Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value.
|
|
__IO SMP17_ENUM SMP17 : 3; //!<[21] Channel x sampling time selection (x = 18 to 10)These bits are written by software to select the sampling time individually for each channel. During sampling cycles, the channel selection bits must remain unchanged.Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value.
|
|
__IO SMP18_ENUM SMP18 : 3; //!<[24] Channel x sampling time selection (x = 18 to 10)These bits are written by software to select the sampling time individually for each channel. During sampling cycles, the channel selection bits must remain unchanged.Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value.
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_SMPR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_SMPR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_SMPR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_TR1_DEF { //!< ADC watchdog threshold register 1
|
|
struct {
|
|
__IO uint32_t LT1 : 12; //!<[00] Analog watchdog 1 lower thresholdThese bits are written by software to define the lower threshold for the analog watchdog 1.Refer to Section 16.4.28: Analog window watchdog (AWD1EN, JAWD1EN, AWD1SGL, AWD1CH, AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx)Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).
|
|
uint32_t UNUSED0 : 4; //!<[12]
|
|
__IO uint32_t HT1 : 12; //!<[16] Analog watchdog 1 higher thresholdThese bits are written by software to define the higher threshold for the analog watchdog 1. Refer to Section 16.4.28: Analog window watchdog (AWD1EN, JAWD1EN, AWD1SGL, AWD1CH, AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx)Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_TR1_DEF () noexcept { R = 0x0fff0000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_TR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_TR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_TR2_DEF { //!< ADC watchdog threshold register 2
|
|
struct {
|
|
__IO uint32_t LT2 : 8; //!<[00] Analog watchdog 2 lower thresholdThese bits are written by software to define the lower threshold for the analog watchdog 2.Refer to Section 16.4.28: Analog window watchdog (AWD1EN, JAWD1EN, AWD1SGL, AWD1CH, AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx)Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).
|
|
uint32_t UNUSED0 : 8; //!<[08]
|
|
__IO uint32_t HT2 : 8; //!<[16] Analog watchdog 2 higher thresholdThese bits are written by software to define the higher threshold for the analog watchdog 2. Refer to Section 16.4.28: Analog window watchdog (AWD1EN, JAWD1EN, AWD1SGL, AWD1CH, AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx)Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_TR2_DEF () noexcept { R = 0x00ff0000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_TR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_TR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_TR3_DEF { //!< ADC watchdog threshold register 3
|
|
struct {
|
|
__IO uint32_t LT3 : 8; //!<[00] Analog watchdog 3 lower thresholdThese bits are written by software to define the lower threshold for the analog watchdog 3.This watchdog compares the 8-bit of LT3 with the 8 MSB of the converted data.Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).
|
|
uint32_t UNUSED0 : 8; //!<[08]
|
|
__IO uint32_t HT3 : 8; //!<[16] Analog watchdog 3 higher thresholdThese bits are written by software to define the higher threshold for the analog watchdog 3.Refer to Section 16.4.28: Analog window watchdog (AWD1EN, JAWD1EN, AWD1SGL, AWD1CH, AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx)Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_TR3_DEF () noexcept { R = 0x00ff0000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_TR3_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_TR3_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_SQR1_DEF { //!< ADC regular sequence register 1
|
|
enum L_ENUM /* uint32_t */ {
|
|
L_B_0x0 = 0, //!< 1 conversion
|
|
L_B_0x1 = 1, //!< 2 conversions
|
|
L_B_0xF = 15, //!< 16 conversions
|
|
};
|
|
struct {
|
|
__IO L_ENUM L : 4; //!<[00] Regular channel sequence lengthThese bits are written by software to define the total number of conversions in the regular channel conversion sequence....Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
uint32_t UNUSED0 : 2; //!<[04]
|
|
__IO uint32_t SQ1 : 5; //!<[06] 1st conversion in regular sequenceThese bits are written by software with the channel number (0 to 18) assigned as the 1st in the regular conversion sequence.Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
ONE_BIT UNUSED1 : 1; //!<[11]
|
|
__IO uint32_t SQ2 : 5; //!<[12] 2nd conversion in regular sequenceThese bits are written by software with the channel number (0 to 18) assigned as the 2nd in the regular conversion sequence.Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
ONE_BIT UNUSED2 : 1; //!<[17]
|
|
__IO uint32_t SQ3 : 5; //!<[18] 3rd conversion in regular sequenceThese bits are written by software with the channel number (0 to 18) assigned as the 3rd in the regular conversion sequence.Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
ONE_BIT UNUSED3 : 1; //!<[23]
|
|
__IO uint32_t SQ4 : 5; //!<[24] 4th conversion in regular sequenceThese bits are written by software with the channel number (0 to 18) assigned as the 4th in the regular conversion sequence.Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_SQR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_SQR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_SQR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_SQR2_DEF { //!< ADC regular sequence register 2
|
|
struct {
|
|
__IO uint32_t SQ5 : 5; //!<[00] 5th conversion in regular sequenceThese bits are written by software with the channel number (0 to 18) assigned as the 5th in the regular conversion sequence.Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
ONE_BIT UNUSED0 : 1; //!<[05]
|
|
__IO uint32_t SQ6 : 5; //!<[06] 6th conversion in regular sequenceThese bits are written by software with the channel number (0 to 18) assigned as the 6th in the regular conversion sequence.Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
ONE_BIT UNUSED1 : 1; //!<[11]
|
|
__IO uint32_t SQ7 : 5; //!<[12] 7th conversion in regular sequenceThese bits are written by software with the channel number (0 to 18) assigned as the 7th in the regular conversion sequence.Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
ONE_BIT UNUSED2 : 1; //!<[17]
|
|
__IO uint32_t SQ8 : 5; //!<[18] 8th conversion in regular sequenceThese bits are written by software with the channel number (0 to 18) assigned as the 8th in the regular conversion sequenceNote: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
ONE_BIT UNUSED3 : 1; //!<[23]
|
|
__IO uint32_t SQ9 : 5; //!<[24] 9th conversion in regular sequenceThese bits are written by software with the channel number (0 to 18) assigned as the 9th in the regular conversion sequence.Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_SQR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_SQR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_SQR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_SQR3_DEF { //!< ADC regular sequence register 3
|
|
struct {
|
|
__IO uint32_t SQ10 : 5; //!<[00] 10th conversion in regular sequenceThese bits are written by software with the channel number (0 to 18) assigned as the 10th in the regular conversion sequence.Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
ONE_BIT UNUSED0 : 1; //!<[05]
|
|
__IO uint32_t SQ11 : 5; //!<[06] 11th conversion in regular sequenceThese bits are written by software with the channel number (0 to 18) assigned as the 11th in the regular conversion sequence.Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
ONE_BIT UNUSED1 : 1; //!<[11]
|
|
__IO uint32_t SQ12 : 5; //!<[12] 12th conversion in regular sequenceThese bits are written by software with the channel number (0 to 18) assigned as the 12th in the regular conversion sequence.Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
ONE_BIT UNUSED2 : 1; //!<[17]
|
|
__IO uint32_t SQ13 : 5; //!<[18] 13th conversion in regular sequenceThese bits are written by software with the channel number (0 to 18) assigned as the 13th in the regular conversion sequence.Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
ONE_BIT UNUSED3 : 1; //!<[23]
|
|
__IO uint32_t SQ14 : 5; //!<[24] 14th conversion in regular sequenceThese bits are written by software with the channel number (0 to 18) assigned as the 14th in the regular conversion sequence.Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_SQR3_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_SQR3_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_SQR3_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_SQR4_DEF { //!< ADC regular sequence register 4
|
|
struct {
|
|
__IO uint32_t SQ15 : 5; //!<[00] 15th conversion in regular sequenceThese bits are written by software with the channel number (0 to 18) assigned as the 15th in the regular conversion sequence.Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
ONE_BIT UNUSED0 : 1; //!<[05]
|
|
__IO uint32_t SQ16 : 5; //!<[06] 16th conversion in regular sequenceThese bits are written by software with the channel number (0 to 18) assigned as the 16th in the regular conversion sequence.Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_SQR4_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_SQR4_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_SQR4_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_DR_DEF { //!< ADC regular data register
|
|
struct {
|
|
__I uint32_t RDATA : 16; //!<[00] Regular data convertedThese bits are read-only. They contain the conversion result from the last converted regular channel. The data are left- or right-aligned as described in Section 16.4.26: Data management.
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_DR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_DR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_DR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_JSQR_DEF { //!< ADC injected sequence register
|
|
enum JL_ENUM /* uint32_t */ {
|
|
JL_B_0x0 = 0, //!< 1 conversion
|
|
JL_B_0x1 = 1, //!< 2 conversions
|
|
JL_B_0x2 = 2, //!< 3 conversions
|
|
JL_B_0x3 = 3, //!< 4 conversions
|
|
};
|
|
enum JEXTSEL_ENUM /* uint32_t */ {
|
|
JEXTSEL_B_0x0 = 0, //!< Event 0
|
|
JEXTSEL_B_0x1 = 1, //!< Event 1
|
|
JEXTSEL_B_0x2 = 2, //!< Event 2
|
|
JEXTSEL_B_0x3 = 3, //!< Event 3
|
|
JEXTSEL_B_0x4 = 4, //!< Event 4
|
|
JEXTSEL_B_0x5 = 5, //!< Event 5
|
|
JEXTSEL_B_0x6 = 6, //!< Event 6
|
|
JEXTSEL_B_0x7 = 7, //!< Event 7
|
|
JEXTSEL_B_0xF = 15, //!< Event 15
|
|
};
|
|
enum JEXTEN_ENUM /* uint32_t */ {
|
|
JEXTEN_B_0x0 = 0, //!< If JQDIS = 1 (queue disabled), Hardware trigger detection disabled (conversions can be launched by software)
|
|
JEXTEN_B_0x1 = 1, //!< Hardware trigger detection on the rising edge
|
|
JEXTEN_B_0x2 = 2, //!< Hardware trigger detection on the falling edge
|
|
JEXTEN_B_0x3 = 3, //!< Hardware trigger detection on both the rising and falling edges
|
|
};
|
|
struct {
|
|
__IO JL_ENUM JL : 2; //!<[00] Injected channel sequence lengthThese bits are written by software to define the total number of conversions in the injected channel conversion sequence.Note: The software is allowed to write these bits only when JADSTART = 0 (which ensures that no injected conversion is ongoing).
|
|
__IO JEXTSEL_ENUM JEXTSEL : 4; //!<[02] External Trigger Selection for injected groupThese bits select the external event used to trigger the start of conversion of an injected group:...Note: The software is allowed to write these bits only when JADSTART = 0 (which ensures that no injected conversion is ongoing).
|
|
__IO JEXTEN_ENUM JEXTEN : 2; //!<[06] External Trigger Enable and Polarity Selection for injected channelsThese bits are set and cleared by software to select the external trigger polarity and enable the trigger of an injected group. Note: The software is allowed to write these bits only when JADSTART = 0 (which ensures that no injected conversion is ongoing).Note: If JQM = 1 and if the Queue of Context becomes empty, the software and hardware triggers of the injected sequence are both internally disabled (refer to Section 16.4.21: Queue of context for injected conversions)
|
|
__IO uint32_t JSQ1 : 5; //!<[08] 1st conversion in the injected sequenceThese bits are written by software with the channel number (0 to 18) assigned as the 1st in the injected conversion sequence.Note: The software is allowed to write these bits only when JADSTART = 0 (which ensures that no injected conversion is ongoing).
|
|
ONE_BIT UNUSED0 : 1; //!<[13]
|
|
__IO uint32_t JSQ2 : 5; //!<[14] 2nd conversion in the injected sequenceThese bits are written by software with the channel number (0 to 18) assigned as the 2nd in the injected conversion sequence.Note: The software is allowed to write these bits only when JADSTART = 0 (which ensures that no injected conversion is ongoing).
|
|
ONE_BIT UNUSED1 : 1; //!<[19]
|
|
__IO uint32_t JSQ3 : 5; //!<[20] 3rd conversion in the injected sequenceThese bits are written by software with the channel number (0 to 18) assigned as the 3rd in the injected conversion sequence.Note: The software is allowed to write these bits only when JADSTART = 0 (which ensures that no injected conversion is ongoing).
|
|
ONE_BIT UNUSED2 : 1; //!<[25]
|
|
__IO uint32_t JSQ4 : 5; //!<[26] 4th conversion in the injected sequenceThese bits are written by software with the channel number (0 to 18) assigned as the 4th in the injected conversion sequence.Note: The software is allowed to write these bits only when JADSTART = 0 (which ensures that no injected conversion is ongoing).
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_JSQR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_JSQR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_JSQR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_OFR1_DEF { //!< ADC offset 1 register
|
|
struct {
|
|
__IO uint32_t OFFSET : 12; //!<[00] Data offset y for the channel programmed into bits OFFSETy_CH[4:0]These bits are written by software to define the offset y to be subtracted from the raw converted data when converting a channel (can be regular or injected). The channel to which applies the data offset y must be programmed in the bits OFFSETy_CH[4:0]. The conversion result can be read from in the ADC_DR (regular conversion) or from in the ADC_JDRyi registers (injected conversion). Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).If several offset (OFFSETy) point to the same channel, only the offset with the lowest x value is considered for the subtraction. Note: Ex: if OFFSET1_CH[4:0]=4 and OFFSET2_CH[4:0]=4, this is OFFSET1[11:0] which is subtracted when converting channel 4.
|
|
uint32_t UNUSED0 : 14; //!<[12]
|
|
__IO uint32_t OFFSET_CH : 5; //!<[26] Channel selection for the data offset yThese bits are written by software to define the channel to which the offset programmed into bits OFFSETy[11:0] applies. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: Some channels are not connected physically and must not be selected for the data offset y.
|
|
__IO ONE_BIT OFFSET_EN : 1; //!<[31] Offset y enableThis bit is written by software to enable or disable the offset programmed into bits OFFSETy[11:0]. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_OFR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_OFR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_OFR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_OFR2_DEF { //!< ADC offset 2 register
|
|
struct {
|
|
__IO uint32_t OFFSET : 12; //!<[00] Data offset y for the channel programmed into bits OFFSETy_CH[4:0]These bits are written by software to define the offset y to be subtracted from the raw converted data when converting a channel (can be regular or injected). The channel to which applies the data offset y must be programmed in the bits OFFSETy_CH[4:0]. The conversion result can be read from in the ADC_DR (regular conversion) or from in the ADC_JDRyi registers (injected conversion). Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).If several offset (OFFSETy) point to the same channel, only the offset with the lowest x value is considered for the subtraction. Note: Ex: if OFFSET1_CH[4:0]=4 and OFFSET2_CH[4:0]=4, this is OFFSET1[11:0] which is subtracted when converting channel 4.
|
|
uint32_t UNUSED0 : 14; //!<[12]
|
|
__IO uint32_t OFFSET_CH : 5; //!<[26] Channel selection for the data offset yThese bits are written by software to define the channel to which the offset programmed into bits OFFSETy[11:0] applies. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: Some channels are not connected physically and must not be selected for the data offset y.
|
|
__IO ONE_BIT OFFSET_EN : 1; //!<[31] Offset y enableThis bit is written by software to enable or disable the offset programmed into bits OFFSETy[11:0]. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_OFR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_OFR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_OFR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_OFR3_DEF { //!< ADC offset 3 register
|
|
struct {
|
|
__IO uint32_t OFFSET : 12; //!<[00] Data offset y for the channel programmed into bits OFFSETy_CH[4:0]These bits are written by software to define the offset y to be subtracted from the raw converted data when converting a channel (can be regular or injected). The channel to which applies the data offset y must be programmed in the bits OFFSETy_CH[4:0]. The conversion result can be read from in the ADC_DR (regular conversion) or from in the ADC_JDRyi registers (injected conversion). Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).If several offset (OFFSETy) point to the same channel, only the offset with the lowest x value is considered for the subtraction. Note: Ex: if OFFSET1_CH[4:0]=4 and OFFSET2_CH[4:0]=4, this is OFFSET1[11:0] which is subtracted when converting channel 4.
|
|
uint32_t UNUSED0 : 14; //!<[12]
|
|
__IO uint32_t OFFSET_CH : 5; //!<[26] Channel selection for the data offset yThese bits are written by software to define the channel to which the offset programmed into bits OFFSETy[11:0] applies. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: Some channels are not connected physically and must not be selected for the data offset y.
|
|
__IO ONE_BIT OFFSET_EN : 1; //!<[31] Offset y enableThis bit is written by software to enable or disable the offset programmed into bits OFFSETy[11:0]. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_OFR3_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_OFR3_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_OFR3_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_OFR4_DEF { //!< ADC offset 4 register
|
|
struct {
|
|
__IO uint32_t OFFSET : 12; //!<[00] Data offset y for the channel programmed into bits OFFSETy_CH[4:0]These bits are written by software to define the offset y to be subtracted from the raw converted data when converting a channel (can be regular or injected). The channel to which applies the data offset y must be programmed in the bits OFFSETy_CH[4:0]. The conversion result can be read from in the ADC_DR (regular conversion) or from in the ADC_JDRyi registers (injected conversion). Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).If several offset (OFFSETy) point to the same channel, only the offset with the lowest x value is considered for the subtraction. Note: Ex: if OFFSET1_CH[4:0]=4 and OFFSET2_CH[4:0]=4, this is OFFSET1[11:0] which is subtracted when converting channel 4.
|
|
uint32_t UNUSED0 : 14; //!<[12]
|
|
__IO uint32_t OFFSET_CH : 5; //!<[26] Channel selection for the data offset yThese bits are written by software to define the channel to which the offset programmed into bits OFFSETy[11:0] applies. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: Some channels are not connected physically and must not be selected for the data offset y.
|
|
__IO ONE_BIT OFFSET_EN : 1; //!<[31] Offset y enableThis bit is written by software to enable or disable the offset programmed into bits OFFSETy[11:0]. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_OFR4_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_OFR4_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_OFR4_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_JDR1_DEF { //!< ADC injected channel 1 data register
|
|
struct {
|
|
__I uint32_t JDATA : 16; //!<[00] Injected dataThese bits are read-only. They contain the conversion result from injected channel y. The data are left -or right-aligned as described in Section 16.4.26: Data management.
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_JDR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_JDR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_JDR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_JDR2_DEF { //!< ADC injected channel 2 data register
|
|
struct {
|
|
__I uint32_t JDATA : 16; //!<[00] Injected dataThese bits are read-only. They contain the conversion result from injected channel y. The data are left -or right-aligned as described in Section 16.4.26: Data management.
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_JDR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_JDR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_JDR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_JDR3_DEF { //!< ADC injected channel 3 data register
|
|
struct {
|
|
__I uint32_t JDATA : 16; //!<[00] Injected dataThese bits are read-only. They contain the conversion result from injected channel y. The data are left -or right-aligned as described in Section 16.4.26: Data management.
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_JDR3_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_JDR3_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_JDR3_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_JDR4_DEF { //!< ADC injected channel 4 data register
|
|
struct {
|
|
__I uint32_t JDATA : 16; //!<[00] Injected dataThese bits are read-only. They contain the conversion result from injected channel y. The data are left -or right-aligned as described in Section 16.4.26: Data management.
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_JDR4_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_JDR4_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_JDR4_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_AWD2CR_DEF { //!< ADC analog watchdog 2 configuration register
|
|
struct {
|
|
__IO uint32_t AWD2CH : 19; //!<[00] Analog watchdog 2 channel selectionThese bits are set and cleared by software. They enable and select the input channels to be guarded by the analog watchdog 2.AWD2CH[i] = 0: ADC analog input channel i is not monitored by AWD2AWD2CH[i] = 1: ADC analog input channel i is monitored by AWD2When AWD2CH[18:0] = 000..0, the analog watchdog 2 is disabledNote: The channels selected by AWD2CH must be also selected into the SQRi or JSQRi registers.Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: Some channels are not connected physically and must not be selected for the analog watchdog.
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_AWD2CR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_AWD2CR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_AWD2CR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_AWD3CR_DEF { //!< ADC analog watchdog 3 configuration register
|
|
struct {
|
|
__IO uint32_t AWD3CH : 19; //!<[00] Analog watchdog 3 channel selectionThese bits are set and cleared by software. They enable and select the input channels to be guarded by the analog watchdog 3.AWD3CH[i] = 0: ADC analog input channel i is not monitored by AWD3AWD3CH[i] = 1: ADC analog input channel i is monitored by AWD3When AWD3CH[18:0] = 000..0, the analog watchdog 3 is disabledNote: The channels selected by AWD3CH must be also selected into the SQRi or JSQRi registers.Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).Note: Some channels are not connected physically and must not be selected for the analog watchdog.
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_AWD3CR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_AWD3CR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_AWD3CR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_DIFSEL_DEF { //!< ADC differential mode selection register
|
|
struct {
|
|
__IO uint32_t DIFSEL : 19; //!<[00] Differential mode for channels 18 to 0.These bits are set and cleared by software. They allow to select if a channel is configured as single-ended or differential mode.DIFSEL[i] = 0: ADC analog input channel is configured in single ended modeDIFSEL[i] = 1: ADC analog input channel i is configured in differential modeNote: The DIFSEL bits corresponding to channels that are either connected to a single-ended I/O port or to an internal channel must be kept their reset value (single-ended input mode).Note: The software is allowed to write these bits only when the ADC is disabled (ADCAL = 0, JADSTART = 0, JADSTP = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0).
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_DIFSEL_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_DIFSEL_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_DIFSEL_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_CALFACT_DEF { //!< ADC calibration factors
|
|
struct {
|
|
__IO uint32_t CALFACT_S : 7; //!<[00] Calibration Factors In single-ended modeThese bits are written by hardware or by software.Once a single-ended inputs calibration is complete, they are updated by hardware with the calibration factors.Software can write these bits with a new calibration factor. If the new calibration factor is different from the current one stored into the analog ADC, it is then applied once a new single-ended calibration is launched.Note: The software is allowed to write these bits only when ADEN = 1, ADSTART = 0 and JADSTART = 0 (ADC is enabled and no calibration is ongoing and no conversion is ongoing).
|
|
uint32_t UNUSED0 : 9; //!<[07]
|
|
__IO uint32_t CALFACT_D : 7; //!<[16] Calibration Factors in differential modeThese bits are written by hardware or by software.Once a differential inputs calibration is complete, they are updated by hardware with the calibration factors.Software can write these bits with a new calibration factor. If the new calibration factor is different from the current one stored into the analog ADC, it is then applied once a new differential calibration is launched.Note: The software is allowed to write these bits only when ADEN = 1, ADSTART = 0 and JADSTART = 0 (ADC is enabled and no calibration is ongoing and no conversion is ongoing).
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_CALFACT_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_CALFACT_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_CALFACT_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL ADC1 REGISTERS INSTANCES
|
|
__IO ADC_ISR_DEF ADC_ISR ; //!< [0000](04)[0x00000000]
|
|
__IO ADC_IER_DEF ADC_IER ; //!< [0004](04)[0x00000000]
|
|
__IO ADC_CR_DEF ADC_CR ; //!< [0008](04)[0x20000000]
|
|
__IO ADC_CFGR_DEF ADC_CFGR ; //!< [000c](04)[0x80000000]
|
|
__IO ADC_CFGR2_DEF ADC_CFGR2 ; //!< [0010](04)[0x00000000]
|
|
__IO ADC_SMPR1_DEF ADC_SMPR1 ; //!< [0014](04)[0x00000000]
|
|
__IO ADC_SMPR2_DEF ADC_SMPR2 ; //!< [0018](04)[0x00000000]
|
|
uint32_t UNUSED0 ; //!< [001c](04)[0xFFFFFFFF]
|
|
__IO ADC_TR1_DEF ADC_TR1 ; //!< [0020](04)[0x0FFF0000]
|
|
__IO ADC_TR2_DEF ADC_TR2 ; //!< [0024](04)[0x00FF0000]
|
|
__IO ADC_TR3_DEF ADC_TR3 ; //!< [0028](04)[0x00FF0000]
|
|
uint32_t UNUSED1 ; //!< [002c](04)[0xFFFFFFFF]
|
|
__IO ADC_SQR1_DEF ADC_SQR1 ; //!< [0030](04)[0x00000000]
|
|
__IO ADC_SQR2_DEF ADC_SQR2 ; //!< [0034](04)[0x00000000]
|
|
__IO ADC_SQR3_DEF ADC_SQR3 ; //!< [0038](04)[0x00000000]
|
|
__IO ADC_SQR4_DEF ADC_SQR4 ; //!< [003c](04)[0x00000000]
|
|
__IO ADC_DR_DEF ADC_DR ; //!< [0040](04)[0x00000000]
|
|
uint32_t UNUSED2 [2]; //!< [0044](08)[0xFFFFFFFF]
|
|
__IO ADC_JSQR_DEF ADC_JSQR ; //!< [004c](04)[0x00000000]
|
|
uint32_t UNUSED3 [4]; //!< [0050](10)[0xFFFFFFFF]
|
|
__IO ADC_OFR1_DEF ADC_OFR1 ; //!< [0060](04)[0x00000000]
|
|
__IO ADC_OFR2_DEF ADC_OFR2 ; //!< [0064](04)[0x00000000]
|
|
__IO ADC_OFR3_DEF ADC_OFR3 ; //!< [0068](04)[0x00000000]
|
|
__IO ADC_OFR4_DEF ADC_OFR4 ; //!< [006c](04)[0x00000000]
|
|
uint32_t UNUSED4 [4]; //!< [0070](10)[0xFFFFFFFF]
|
|
__IO ADC_JDR1_DEF ADC_JDR1 ; //!< [0080](04)[0x00000000]
|
|
__IO ADC_JDR2_DEF ADC_JDR2 ; //!< [0084](04)[0x00000000]
|
|
__IO ADC_JDR3_DEF ADC_JDR3 ; //!< [0088](04)[0x00000000]
|
|
__IO ADC_JDR4_DEF ADC_JDR4 ; //!< [008c](04)[0x00000000]
|
|
uint32_t UNUSED5 [4]; //!< [0090](10)[0xFFFFFFFF]
|
|
__IO ADC_AWD2CR_DEF ADC_AWD2CR ; //!< [00a0](04)[0x00000000]
|
|
__IO ADC_AWD3CR_DEF ADC_AWD3CR ; //!< [00a4](04)[0x00000000]
|
|
uint32_t UNUSED6 [2]; //!< [00a8](08)[0xFFFFFFFF]
|
|
__IO ADC_DIFSEL_DEF ADC_DIFSEL ; //!< [00b0](04)[0x00000000]
|
|
__IO ADC_CALFACT_DEF ADC_CALFACT ; //!< [00b4](04)[0x00000000]
|
|
}; /* total size = 0x00b9, struct size = 0x00B8 */
|
|
|
|
// ////////////////////+++ ADC123_Common +-+//////////////////// //
|
|
struct ADC123_Common_Type { /*!< Analog-to-Digital Converter */
|
|
union ADC_CSR_DEF { //!< ADC common status register
|
|
struct {
|
|
__I ONE_BIT ADRDY_MST : 1; //!<[00] Master ADC readyThis bit is a copy of the ADRDY bit in the corresponding ADC_ISR register.
|
|
__I ONE_BIT EOSMP_MST : 1; //!<[01] End of Sampling phase flag of the master ADCThis bit is a copy of the EOSMP bit in the corresponding ADC_ISR register.
|
|
__I ONE_BIT EOC_MST : 1; //!<[02] End of regular conversion of the master ADCThis bit is a copy of the EOC bit in the corresponding ADC_ISR register.
|
|
__I ONE_BIT EOS_MST : 1; //!<[03] End of regular sequence flag of the master ADCThis bit is a copy of the EOS bit in the corresponding ADC_ISR register.
|
|
__I ONE_BIT OVR_MST : 1; //!<[04] Overrun flag of the master ADCThis bit is a copy of the OVR bit in the corresponding ADC_ISR register.
|
|
__I ONE_BIT JEOC_MST : 1; //!<[05] End of injected conversion flag of the master ADCThis bit is a copy of the JEOC bit in the corresponding ADC_ISR register.
|
|
__I ONE_BIT JEOS_MST : 1; //!<[06] End of injected sequence flag of the master ADCThis bit is a copy of the JEOS bit in the corresponding ADC_ISR register.
|
|
__I ONE_BIT AWD1_MST : 1; //!<[07] Analog watchdog 1 flag of the master ADCThis bit is a copy of the AWD1 bit in the corresponding ADC_ISR register.
|
|
__I ONE_BIT AWD2_MST : 1; //!<[08] Analog watchdog 2 flag of the master ADCThis bit is a copy of the AWD2 bit in the corresponding ADC_ISR register.
|
|
__I ONE_BIT AWD3_MST : 1; //!<[09] Analog watchdog 3 flag of the master ADCThis bit is a copy of the AWD3 bit in the corresponding ADC_ISR register.
|
|
__I ONE_BIT JQOVF_MST : 1; //!<[10] Injected Context Queue Overflow flag of the master ADCThis bit is a copy of the JQOVF bit in the corresponding ADC_ISR register.
|
|
uint32_t UNUSED0 : 5; //!<[11]
|
|
__I ONE_BIT ADRDY_SLV : 1; //!<[16] Slave ADC readyThis bit is a copy of the ADRDY bit in the corresponding ADC_ISR register.
|
|
__I ONE_BIT EOSMP_SLV : 1; //!<[17] End of Sampling phase flag of the slave ADCThis bit is a copy of the EOSMP2 bit in the corresponding ADC_ISR register.
|
|
__I ONE_BIT EOC_SLV : 1; //!<[18] End of regular conversion of the slave ADCThis bit is a copy of the EOC bit in the corresponding ADC_ISR register.
|
|
__I ONE_BIT EOS_SLV : 1; //!<[19] End of regular sequence flag of the slave ADC. This bit is a copy of the EOS bit in the corresponding ADC_ISR register.
|
|
__I ONE_BIT OVR_SLV : 1; //!<[20] Overrun flag of the slave ADC This bit is a copy of the OVR bit in the corresponding ADC_ISR register.
|
|
__I ONE_BIT JEOC_SLV : 1; //!<[21] End of injected conversion flag of the slave ADC This bit is a copy of the JEOC bit in the corresponding ADC_ISR register.
|
|
__I ONE_BIT JEOS_SLV : 1; //!<[22] End of injected sequence flag of the slave ADC This bit is a copy of the JEOS bit in the corresponding ADC_ISR register.
|
|
__I ONE_BIT AWD1_SLV : 1; //!<[23] Analog watchdog 1 flag of the slave ADC This bit is a copy of the AWD1 bit in the corresponding ADC_ISR register.
|
|
__I ONE_BIT AWD2_SLV : 1; //!<[24] Analog watchdog 2 flag of the slave ADC This bit is a copy of the AWD2 bit in the corresponding ADC_ISR register.
|
|
__I ONE_BIT AWD3_SLV : 1; //!<[25] Analog watchdog 3 flag of the slave ADCThis bit is a copy of the AWD3 bit in the corresponding ADC_ISR register.
|
|
__I ONE_BIT JQOVF_SLV : 1; //!<[26] Injected Context Queue Overflow flag of the slave ADC This bit is a copy of the JQOVF bit in the corresponding ADC_ISR register.
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_CSR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_CSR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_CSR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_CCR_DEF { //!< ADC common control register
|
|
enum DUAL_ENUM /* uint32_t */ {
|
|
DUAL_B_0x0 = 0, //!< Independent mode
|
|
DUAL_B_0x1 = 1, //!< Combined regular simultaneous + injected simultaneous mode
|
|
DUAL_B_0x2 = 2, //!< Combined regular simultaneous + alternate trigger mode
|
|
DUAL_B_0x3 = 3, //!< Combined Interleaved mode + injected simultaneous mode
|
|
DUAL_B_0x5 = 5, //!< Injected simultaneous mode only
|
|
DUAL_B_0x6 = 6, //!< Regular simultaneous mode only
|
|
DUAL_B_0x7 = 7, //!< Interleaved mode only
|
|
DUAL_B_0x9 = 9, //!< Alternate trigger mode only
|
|
};
|
|
enum DMACFG_ENUM /* uint32_t */ {
|
|
DMACFG_B_0x0 = 0, //!< DMA One Shot mode selected
|
|
DMACFG_B_0x1 = 1, //!< DMA Circular mode selected
|
|
};
|
|
enum MDMA_ENUM /* uint32_t */ {
|
|
MDMA_B_0x0 = 0, //!< MDMA mode disabled
|
|
MDMA_B_0x1 = 1, //!< Enable dual interleaved mode to output to the master channel of DFSDM interface both Master and the Slave result (16-bit data width)
|
|
MDMA_B_0x2 = 2, //!< MDMA mode enabled for 12 and 10-bit resolution
|
|
MDMA_B_0x3 = 3, //!< MDMA mode enabled for 8 and 6-bit resolution
|
|
};
|
|
enum CKMODE_ENUM /* uint32_t */ {
|
|
CKMODE_B_0x0 = 0, //!< CK_ADCx (x = 123) (Asynchronous clock mode), generated at product level (refer to Section 6: Reset and clock control (RCC))
|
|
CKMODE_B_0x1 = 1, //!< HCLK/1 (Synchronous clock mode). This configuration must be enabled only if the AHB clock prescaler is set (HPRE[3:0] = 0xxx in RCC_CFGR register) and if the system clock has a 50% duty cycle.
|
|
CKMODE_B_0x2 = 2, //!< HCLK/2 (Synchronous clock mode)
|
|
CKMODE_B_0x3 = 3, //!< HCLK/4 (Synchronous clock mode)
|
|
};
|
|
enum PRESC_ENUM /* uint32_t */ {
|
|
PRESC_B_0x0 = 0, //!< input ADC clock not divided
|
|
PRESC_B_0x1 = 1, //!< input ADC clock divided by 2
|
|
PRESC_B_0x2 = 2, //!< input ADC clock divided by 4
|
|
PRESC_B_0x3 = 3, //!< input ADC clock divided by 6
|
|
PRESC_B_0x4 = 4, //!< input ADC clock divided by 8
|
|
PRESC_B_0x5 = 5, //!< input ADC clock divided by 10
|
|
PRESC_B_0x6 = 6, //!< input ADC clock divided by 12
|
|
PRESC_B_0x7 = 7, //!< input ADC clock divided by 16
|
|
PRESC_B_0x8 = 8, //!< input ADC clock divided by 32
|
|
PRESC_B_0x9 = 9, //!< input ADC clock divided by 64
|
|
PRESC_B_0xA = 10, //!< input ADC clock divided by 128
|
|
PRESC_B_0xB = 11, //!< input ADC clock divided by 256
|
|
};
|
|
enum VREFEN_ENUM /* uint32_t */ {
|
|
VREFEN_B_0x0 = 0, //!< V<sub>REFINT</sub> channel disabled
|
|
VREFEN_B_0x1 = 1, //!< V<sub>REFINT</sub> channel enabled
|
|
};
|
|
enum CH17SEL_ENUM /* uint32_t */ {
|
|
CH17SEL_B_0x0 = 0, //!< Temperature sensor channel disabled, dac_out1 selected
|
|
CH17SEL_B_0x1 = 1, //!< Temperature sensor channel enabled
|
|
};
|
|
enum CH18SEL_ENUM /* uint32_t */ {
|
|
CH18SEL_B_0x0 = 0, //!< V<sub>BAT</sub> channel disabled, dac_out2 selected.
|
|
CH18SEL_B_0x1 = 1, //!< V<sub>BAT</sub> channel enabled
|
|
};
|
|
struct {
|
|
__IO DUAL_ENUM DUAL : 5; //!<[00] Dual ADC mode selection These bits are written by software to select the operating mode.All the ADCs independent:00001 to 01001: Dual mode, master and slave ADCs working togetherAll other combinations are reserved and must not be programmedNote: The software is allowed to write these bits only when the ADCs are disabled (ADCAL = 0, JADSTART = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0).
|
|
uint32_t UNUSED0 : 3; //!<[05]
|
|
__IO uint32_t DELAY : 4; //!<[08] Delay between 2 sampling phases These bits are set and cleared by software. These bits are used in dual interleaved modes. Refer to Table 112 for the value of ADC resolution versus DELAY bits values. Note: The software is allowed to write these bits only when the ADCs are disabled (ADCAL = 0, JADSTART = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0).
|
|
ONE_BIT UNUSED1 : 1; //!<[12]
|
|
__IO DMACFG_ENUM DMACFG : 1; //!<[13] DMA configuration (for dual ADC mode)This bit is set and cleared by software to select between two DMA modes of operation and is effective only when DMAEN = 1.For more details, refer to Section : Managing conversions using the DMANote: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
__IO MDMA_ENUM MDMA : 2; //!<[14] Direct memory access mode for dual ADC mode This bitfield is set and cleared by software. Refer to the DMA controller section for more details.Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing).
|
|
__IO CKMODE_ENUM CKMODE : 2; //!<[16] ADC clock modeThese bits are set and cleared by software to define the ADC clock scheme (which is common to both master and slave ADCs):In all synchronous clock modes, there is no jitter in the delay from a timer trigger to the start of a conversion.Note: The software is allowed to write these bits only when the ADCs are disabled (ADCAL = 0, JADSTART = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0).
|
|
__IO PRESC_ENUM PRESC : 4; //!<[18] ADC prescalerThese bits are set and cleared by software to select the frequency of the clock to the ADC. The clock is common for all the ADCs.other: reservedNote: The software is allowed to write these bits only when the ADC is disabled (ADCAL = 0, JADSTART = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0). The ADC prescaler value is applied only when CKMODE[1:0] = 00.
|
|
__IO VREFEN_ENUM VREFEN : 1; //!<[22] V<sub>REFINT</sub> enableThis bit is set and cleared by software to enable/disable the V<sub>REFINT</sub> channel.
|
|
__IO CH17SEL_ENUM CH17SEL : 1; //!<[23] CH17 selectionThis bit is set and cleared by software to control channel 17.
|
|
__IO CH18SEL_ENUM CH18SEL : 1; //!<[24] CH18 selectionThis bit is set and cleared by software to control channel 18.
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_CCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_CCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_CCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADC_CDR_DEF { //!< ADC common regular data register for dual mode
|
|
struct {
|
|
__I uint32_t RDATA_MST : 16; //!<[00] Regular data of the master ADC.In dual mode, these bits contain the regular data of the master ADC. Refer to Section 16.4.32: Dual ADC modes.The data alignment is applied as described in Section : Data register, data alignment and offset (ADC_DR, OFFSETy, OFFSETy_CH, ALIGN))In MDMA = 11 mode, bits 15:8 contains SLV_ADC_DR[7:0], bits 7:0 contains MST_ADC_DR[7:0].
|
|
__I uint32_t RDATA_SLV : 16; //!<[16] Regular data of the slave ADCIn dual mode, these bits contain the regular data of the slave ADC. Refer to Section 16.4.32: Dual ADC modes.The data alignment is applied as described in Section : Data register, data alignment and offset (ADC_DR, OFFSETy, OFFSETy_CH, ALIGN))
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADC_CDR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADC_CDR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADC_CDR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL ADC123_Common REGISTERS INSTANCES
|
|
__IO ADC_CSR_DEF ADC_CSR ; //!< [0000](04)[0x00000000]
|
|
uint32_t UNUSED0 ; //!< [0004](04)[0xFFFFFFFF]
|
|
__IO ADC_CCR_DEF ADC_CCR ; //!< [0008](04)[0x00000000]
|
|
__IO ADC_CDR_DEF ADC_CDR ; //!< [000c](04)[0x00000000]
|
|
}; /* total size = 0x0011, struct size = 0x0010 */
|
|
|
|
// ////////////////////+++ DAC1 +-+//////////////////// //
|
|
struct DAC1_Type { /*!< Digital-to-analog converter */
|
|
union CR_DEF { //!< control register
|
|
struct {
|
|
__IO ONE_BIT EN1 : 1; //!<[00] DAC channel1 enable
|
|
ONE_BIT UNUSED0 : 1; //!<[01]
|
|
__IO ONE_BIT TEN1 : 1; //!<[02] DAC channel1 trigger enable
|
|
__IO uint32_t TSEL1 : 3; //!<[03] DAC channel1 trigger selection
|
|
__IO uint32_t WAVE1 : 2; //!<[06] DAC channel1 noise/triangle wave generation enable
|
|
__IO uint32_t MAMP1 : 4; //!<[08] DAC channel1 mask/amplitude selector
|
|
__IO ONE_BIT DMAEN1 : 1; //!<[12] DAC channel1 DMA enable
|
|
__IO ONE_BIT DMAUDRIE1 : 1; //!<[13] DAC channel1 DMA Underrun Interrupt enable
|
|
__IO ONE_BIT CEN1 : 1; //!<[14] DAC Channel 1 calibration enable
|
|
ONE_BIT UNUSED1 : 1; //!<[15]
|
|
__IO ONE_BIT EN2 : 1; //!<[16] DAC channel2 enable
|
|
ONE_BIT UNUSED2 : 1; //!<[17]
|
|
__IO ONE_BIT TEN2 : 1; //!<[18] DAC channel2 trigger enable
|
|
__IO uint32_t TSEL2 : 3; //!<[19] DAC channel2 trigger selection
|
|
__IO uint32_t WAVE2 : 2; //!<[22] DAC channel2 noise/triangle wave generation enable
|
|
__IO uint32_t MAMP2 : 4; //!<[24] DAC channel2 mask/amplitude selector
|
|
__IO ONE_BIT DMAEN2 : 1; //!<[28] DAC channel2 DMA enable
|
|
__IO ONE_BIT DMAUDRIE2 : 1; //!<[29] DAC channel2 DMA underrun interrupt enable
|
|
__IO ONE_BIT CEN2 : 1; //!<[30] DAC Channel 2 calibration enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SWTRIGR_DEF { //!< software trigger register
|
|
struct {
|
|
__O ONE_BIT SWTRIG1 : 1; //!<[00] DAC channel1 software trigger
|
|
__O ONE_BIT SWTRIG2 : 1; //!<[01] DAC channel2 software trigger
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit SWTRIGR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
SWTRIGR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DHR12R1_DEF { //!< channel1 12-bit right-aligned data holding register
|
|
struct {
|
|
__IO uint32_t DACC1DHR : 12; //!<[00] DAC channel1 12-bit right-aligned data
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DHR12R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DHR12R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DHR12R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DHR12L1_DEF { //!< channel1 12-bit left-aligned data holding register
|
|
struct {
|
|
uint32_t UNUSED0 : 4; //!<[00]
|
|
__IO uint32_t DACC1DHR : 12; //!<[04] DAC channel1 12-bit left-aligned data
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DHR12L1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DHR12L1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DHR12L1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DHR8R1_DEF { //!< channel1 8-bit right-aligned data holding register
|
|
struct {
|
|
__IO uint32_t DACC1DHR : 8; //!<[00] DAC channel1 8-bit right-aligned data
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DHR8R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DHR8R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DHR8R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DHR12R2_DEF { //!< channel2 12-bit right aligned data holding register
|
|
struct {
|
|
__IO uint32_t DACC2DHR : 12; //!<[00] DAC channel2 12-bit right-aligned data
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DHR12R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DHR12R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DHR12R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DHR12L2_DEF { //!< channel2 12-bit left aligned data holding register
|
|
struct {
|
|
uint32_t UNUSED0 : 4; //!<[00]
|
|
__IO uint32_t DACC2DHR : 12; //!<[04] DAC channel2 12-bit left-aligned data
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DHR12L2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DHR12L2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DHR12L2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DHR8R2_DEF { //!< channel2 8-bit right-aligned data holding register
|
|
struct {
|
|
__IO uint32_t DACC2DHR : 8; //!<[00] DAC channel2 8-bit right-aligned data
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DHR8R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DHR8R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DHR8R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DHR12RD_DEF { //!< Dual DAC 12-bit right-aligned data holding register
|
|
struct {
|
|
__IO uint32_t DACC1DHR : 12; //!<[00] DAC channel1 12-bit right-aligned data
|
|
uint32_t UNUSED0 : 4; //!<[12]
|
|
__IO uint32_t DACC2DHR : 12; //!<[16] DAC channel2 12-bit right-aligned data
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DHR12RD_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DHR12RD_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DHR12RD_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DHR12LD_DEF { //!< DUAL DAC 12-bit left aligned data holding register
|
|
struct {
|
|
uint32_t UNUSED0 : 4; //!<[00]
|
|
__IO uint32_t DACC1DHR : 12; //!<[04] DAC channel1 12-bit left-aligned data
|
|
uint32_t UNUSED1 : 4; //!<[16]
|
|
__IO uint32_t DACC2DHR : 12; //!<[20] DAC channel2 12-bit left-aligned data
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DHR12LD_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DHR12LD_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DHR12LD_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DHR8RD_DEF { //!< DUAL DAC 8-bit right aligned data holding register
|
|
struct {
|
|
__IO uint32_t DACC1DHR : 8; //!<[00] DAC channel1 8-bit right-aligned data
|
|
__IO uint32_t DACC2DHR : 8; //!<[08] DAC channel2 8-bit right-aligned data
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DHR8RD_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DHR8RD_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DHR8RD_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DOR1_DEF { //!< channel1 data output register
|
|
struct {
|
|
__I uint32_t DACC1DOR : 12; //!<[00] DAC channel1 data output
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DOR1_DEF (volatile DOR1_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DOR2_DEF { //!< channel2 data output register
|
|
struct {
|
|
__I uint32_t DACC2DOR : 12; //!<[00] DAC channel2 data output
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DOR2_DEF (volatile DOR2_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union SR_DEF { //!< status register
|
|
struct {
|
|
uint32_t UNUSED0 : 13; //!<[00]
|
|
__IO ONE_BIT DMAUDR1 : 1; //!<[13] DAC channel1 DMA underrun flag
|
|
__I ONE_BIT CAL_FLAG1 : 1; //!<[14] DAC Channel 1 calibration offset status
|
|
__I ONE_BIT BWST1 : 1; //!<[15] DAC Channel 1 busy writing sample time flag
|
|
uint32_t UNUSED1 : 13; //!<[16]
|
|
__IO ONE_BIT DMAUDR2 : 1; //!<[29] DAC channel2 DMA underrun flag
|
|
__I ONE_BIT CAL_FLAG2 : 1; //!<[30] DAC Channel 2 calibration offset status
|
|
__I ONE_BIT BWST2 : 1; //!<[31] DAC Channel 2 busy writing sample time flag
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit SR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
SR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
SR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCR_DEF { //!< calibration control register
|
|
struct {
|
|
__IO uint32_t OTRIM1 : 5; //!<[00] DAC Channel 1 offset trimming value
|
|
uint32_t UNUSED0 : 11; //!<[05]
|
|
__IO uint32_t OTRIM2 : 5; //!<[16] DAC Channel 2 offset trimming value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union MCR_DEF { //!< mode control register
|
|
struct {
|
|
__IO uint32_t MODE1 : 3; //!<[00] DAC Channel 1 mode
|
|
uint32_t UNUSED0 : 13; //!<[03]
|
|
__IO uint32_t MODE2 : 3; //!<[16] DAC Channel 2 mode
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit MCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
MCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
MCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SHSR1_DEF { //!< Sample and Hold sample time register 1
|
|
struct {
|
|
__IO uint32_t TSAMPLE1 : 10; //!<[00] DAC Channel 1 sample Time
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit SHSR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
SHSR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
SHSR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SHSR2_DEF { //!< Sample and Hold sample time register 2
|
|
struct {
|
|
__IO uint32_t TSAMPLE2 : 10; //!<[00] DAC Channel 2 sample Time
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit SHSR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
SHSR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
SHSR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SHHR_DEF { //!< Sample and Hold hold time register
|
|
struct {
|
|
__IO uint32_t THOLD1 : 10; //!<[00] DAC Channel 1 hold Time
|
|
uint32_t UNUSED0 : 6; //!<[10]
|
|
__IO uint32_t THOLD2 : 10; //!<[16] DAC Channel 2 hold time
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit SHHR_DEF () noexcept { R = 0x00010001u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
SHHR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
SHHR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SHRR_DEF { //!< Sample and Hold refresh time register
|
|
struct {
|
|
__IO uint32_t TREFRESH1 : 8; //!<[00] DAC Channel 1 refresh Time
|
|
uint32_t UNUSED0 : 8; //!<[08]
|
|
__IO uint32_t TREFRESH2 : 8; //!<[16] DAC Channel 2 refresh Time
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit SHRR_DEF () noexcept { R = 0x00000001u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
SHRR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
SHRR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL DAC1 REGISTERS INSTANCES
|
|
__IO CR_DEF CR ; //!< [0000](04)[0x00000000]
|
|
__O SWTRIGR_DEF SWTRIGR ; //!< [0004](04)[0x00000000]
|
|
__IO DHR12R1_DEF DHR12R1 ; //!< [0008](04)[0x00000000]
|
|
__IO DHR12L1_DEF DHR12L1 ; //!< [000c](04)[0x00000000]
|
|
__IO DHR8R1_DEF DHR8R1 ; //!< [0010](04)[0x00000000]
|
|
__IO DHR12R2_DEF DHR12R2 ; //!< [0014](04)[0x00000000]
|
|
__IO DHR12L2_DEF DHR12L2 ; //!< [0018](04)[0x00000000]
|
|
__IO DHR8R2_DEF DHR8R2 ; //!< [001c](04)[0x00000000]
|
|
__IO DHR12RD_DEF DHR12RD ; //!< [0020](04)[0x00000000]
|
|
__IO DHR12LD_DEF DHR12LD ; //!< [0024](04)[0x00000000]
|
|
__IO DHR8RD_DEF DHR8RD ; //!< [0028](04)[0x00000000]
|
|
__I DOR1_DEF DOR1 ; //!< [002c](04)[0x00000000]
|
|
__I DOR2_DEF DOR2 ; //!< [0030](04)[0x00000000]
|
|
__IO SR_DEF SR ; //!< [0034](04)[0x00000000]
|
|
__IO CCR_DEF CCR ; //!< [0038](04)[0x00000000]
|
|
__IO MCR_DEF MCR ; //!< [003c](04)[0x00000000]
|
|
__IO SHSR1_DEF SHSR1 ; //!< [0040](04)[0x00000000]
|
|
__IO SHSR2_DEF SHSR2 ; //!< [0044](04)[0x00000000]
|
|
__IO SHHR_DEF SHHR ; //!< [0048](04)[0x00010001]
|
|
__IO SHRR_DEF SHRR ; //!< [004c](04)[0x00000001]
|
|
}; /* total size = 0x0400, struct size = 0x0050 */
|
|
|
|
// ////////////////////+++ DMA1 +-+//////////////////// //
|
|
struct DMA1_Type { /*!< Direct memory access controller */
|
|
union ISR_DEF { //!< interrupt status register
|
|
struct {
|
|
__I ONE_BIT GIF1 : 1; //!<[00] Channel x global interrupt flag (x = 1 ..7)
|
|
__I ONE_BIT TCIF1 : 1; //!<[01] Channel x transfer complete flag (x = 1 ..7)
|
|
__I ONE_BIT HTIF1 : 1; //!<[02] Channel x half transfer flag (x = 1 ..7)
|
|
__I ONE_BIT TEIF1 : 1; //!<[03] Channel x transfer error flag (x = 1 ..7)
|
|
__I ONE_BIT GIF2 : 1; //!<[04] Channel x global interrupt flag (x = 1 ..7)
|
|
__I ONE_BIT TCIF2 : 1; //!<[05] Channel x transfer complete flag (x = 1 ..7)
|
|
__I ONE_BIT HTIF2 : 1; //!<[06] Channel x half transfer flag (x = 1 ..7)
|
|
__I ONE_BIT TEIF2 : 1; //!<[07] Channel x transfer error flag (x = 1 ..7)
|
|
__I ONE_BIT GIF3 : 1; //!<[08] Channel x global interrupt flag (x = 1 ..7)
|
|
__I ONE_BIT TCIF3 : 1; //!<[09] Channel x transfer complete flag (x = 1 ..7)
|
|
__I ONE_BIT HTIF3 : 1; //!<[10] Channel x half transfer flag (x = 1 ..7)
|
|
__I ONE_BIT TEIF3 : 1; //!<[11] Channel x transfer error flag (x = 1 ..7)
|
|
__I ONE_BIT GIF4 : 1; //!<[12] Channel x global interrupt flag (x = 1 ..7)
|
|
__I ONE_BIT TCIF4 : 1; //!<[13] Channel x transfer complete flag (x = 1 ..7)
|
|
__I ONE_BIT HTIF4 : 1; //!<[14] Channel x half transfer flag (x = 1 ..7)
|
|
__I ONE_BIT TEIF4 : 1; //!<[15] Channel x transfer error flag (x = 1 ..7)
|
|
__I ONE_BIT GIF5 : 1; //!<[16] Channel x global interrupt flag (x = 1 ..7)
|
|
__I ONE_BIT TCIF5 : 1; //!<[17] Channel x transfer complete flag (x = 1 ..7)
|
|
__I ONE_BIT HTIF5 : 1; //!<[18] Channel x half transfer flag (x = 1 ..7)
|
|
__I ONE_BIT TEIF5 : 1; //!<[19] Channel x transfer error flag (x = 1 ..7)
|
|
__I ONE_BIT GIF6 : 1; //!<[20] Channel x global interrupt flag (x = 1 ..7)
|
|
__I ONE_BIT TCIF6 : 1; //!<[21] Channel x transfer complete flag (x = 1 ..7)
|
|
__I ONE_BIT HTIF6 : 1; //!<[22] Channel x half transfer flag (x = 1 ..7)
|
|
__I ONE_BIT TEIF6 : 1; //!<[23] Channel x transfer error flag (x = 1 ..7)
|
|
__I ONE_BIT GIF7 : 1; //!<[24] Channel x global interrupt flag (x = 1 ..7)
|
|
__I ONE_BIT TCIF7 : 1; //!<[25] Channel x transfer complete flag (x = 1 ..7)
|
|
__I ONE_BIT HTIF7 : 1; //!<[26] Channel x half transfer flag (x = 1 ..7)
|
|
__I ONE_BIT TEIF7 : 1; //!<[27] Channel x transfer error flag (x = 1 ..7)
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit ISR_DEF (volatile ISR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union IFCR_DEF { //!< interrupt flag clear register
|
|
struct {
|
|
__O ONE_BIT CGIF1 : 1; //!<[00] Channel x global interrupt clear (x = 1 ..7)
|
|
__O ONE_BIT CTCIF1 : 1; //!<[01] Channel x transfer complete clear (x = 1 ..7)
|
|
__O ONE_BIT CHTIF1 : 1; //!<[02] Channel x half transfer clear (x = 1 ..7)
|
|
__O ONE_BIT CTEIF1 : 1; //!<[03] Channel x transfer error clear (x = 1 ..7)
|
|
__O ONE_BIT CGIF2 : 1; //!<[04] Channel x global interrupt clear (x = 1 ..7)
|
|
__O ONE_BIT CTCIF2 : 1; //!<[05] Channel x transfer complete clear (x = 1 ..7)
|
|
__O ONE_BIT CHTIF2 : 1; //!<[06] Channel x half transfer clear (x = 1 ..7)
|
|
__O ONE_BIT CTEIF2 : 1; //!<[07] Channel x transfer error clear (x = 1 ..7)
|
|
__O ONE_BIT CGIF3 : 1; //!<[08] Channel x global interrupt clear (x = 1 ..7)
|
|
__O ONE_BIT CTCIF3 : 1; //!<[09] Channel x transfer complete clear (x = 1 ..7)
|
|
__O ONE_BIT CHTIF3 : 1; //!<[10] Channel x half transfer clear (x = 1 ..7)
|
|
__O ONE_BIT CTEIF3 : 1; //!<[11] Channel x transfer error clear (x = 1 ..7)
|
|
__O ONE_BIT CGIF4 : 1; //!<[12] Channel x global interrupt clear (x = 1 ..7)
|
|
__O ONE_BIT CTCIF4 : 1; //!<[13] Channel x transfer complete clear (x = 1 ..7)
|
|
__O ONE_BIT CHTIF4 : 1; //!<[14] Channel x half transfer clear (x = 1 ..7)
|
|
__O ONE_BIT CTEIF4 : 1; //!<[15] Channel x transfer error clear (x = 1 ..7)
|
|
__O ONE_BIT CGIF5 : 1; //!<[16] Channel x global interrupt clear (x = 1 ..7)
|
|
__O ONE_BIT CTCIF5 : 1; //!<[17] Channel x transfer complete clear (x = 1 ..7)
|
|
__O ONE_BIT CHTIF5 : 1; //!<[18] Channel x half transfer clear (x = 1 ..7)
|
|
__O ONE_BIT CTEIF5 : 1; //!<[19] Channel x transfer error clear (x = 1 ..7)
|
|
__O ONE_BIT CGIF6 : 1; //!<[20] Channel x global interrupt clear (x = 1 ..7)
|
|
__O ONE_BIT CTCIF6 : 1; //!<[21] Channel x transfer complete clear (x = 1 ..7)
|
|
__O ONE_BIT CHTIF6 : 1; //!<[22] Channel x half transfer clear (x = 1 ..7)
|
|
__O ONE_BIT CTEIF6 : 1; //!<[23] Channel x transfer error clear (x = 1 ..7)
|
|
__O ONE_BIT CGIF7 : 1; //!<[24] Channel x global interrupt clear (x = 1 ..7)
|
|
__O ONE_BIT CTCIF7 : 1; //!<[25] Channel x transfer complete clear (x = 1 ..7)
|
|
__O ONE_BIT CHTIF7 : 1; //!<[26] Channel x half transfer clear (x = 1 ..7)
|
|
__O ONE_BIT CTEIF7 : 1; //!<[27] Channel x transfer error clear (x = 1 ..7)
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit IFCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
IFCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCR1_DEF { //!< channel x configuration register
|
|
struct {
|
|
__IO ONE_BIT EN : 1; //!<[00] Channel enable
|
|
__IO ONE_BIT TCIE : 1; //!<[01] Transfer complete interrupt enable
|
|
__IO ONE_BIT HTIE : 1; //!<[02] Half transfer interrupt enable
|
|
__IO ONE_BIT TEIE : 1; //!<[03] Transfer error interrupt enable
|
|
__IO ONE_BIT DIR : 1; //!<[04] Data transfer direction
|
|
__IO ONE_BIT CIRC : 1; //!<[05] Circular mode
|
|
__IO ONE_BIT PINC : 1; //!<[06] Peripheral increment mode
|
|
__IO ONE_BIT MINC : 1; //!<[07] Memory increment mode
|
|
__IO uint32_t PSIZE : 2; //!<[08] Peripheral size
|
|
__IO uint32_t MSIZE : 2; //!<[10] Memory size
|
|
__IO uint32_t PL : 2; //!<[12] Channel priority level
|
|
__IO ONE_BIT MEM2MEM : 1; //!<[14] Memory to memory mode
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CNDTR1_DEF { //!< channel x number of data register
|
|
struct {
|
|
__IO uint32_t NDT : 16; //!<[00] Number of data to transfer
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CNDTR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CNDTR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CNDTR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CPAR1_DEF { //!< channel x peripheral address register
|
|
struct {
|
|
__IO uint32_t PA : 32; //!<[00] Peripheral address
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CPAR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CPAR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CPAR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CMAR1_DEF { //!< channel x memory address register
|
|
struct {
|
|
__IO uint32_t MA : 32; //!<[00] Memory address
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CMAR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CMAR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CMAR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCR2_DEF { //!< channel x configuration register
|
|
struct {
|
|
__IO ONE_BIT EN : 1; //!<[00] Channel enable
|
|
__IO ONE_BIT TCIE : 1; //!<[01] Transfer complete interrupt enable
|
|
__IO ONE_BIT HTIE : 1; //!<[02] Half transfer interrupt enable
|
|
__IO ONE_BIT TEIE : 1; //!<[03] Transfer error interrupt enable
|
|
__IO ONE_BIT DIR : 1; //!<[04] Data transfer direction
|
|
__IO ONE_BIT CIRC : 1; //!<[05] Circular mode
|
|
__IO ONE_BIT PINC : 1; //!<[06] Peripheral increment mode
|
|
__IO ONE_BIT MINC : 1; //!<[07] Memory increment mode
|
|
__IO uint32_t PSIZE : 2; //!<[08] Peripheral size
|
|
__IO uint32_t MSIZE : 2; //!<[10] Memory size
|
|
__IO uint32_t PL : 2; //!<[12] Channel priority level
|
|
__IO ONE_BIT MEM2MEM : 1; //!<[14] Memory to memory mode
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CNDTR2_DEF { //!< channel x number of data register
|
|
struct {
|
|
__IO uint32_t NDT : 16; //!<[00] Number of data to transfer
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CNDTR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CNDTR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CNDTR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CPAR2_DEF { //!< channel x peripheral address register
|
|
struct {
|
|
__IO uint32_t PA : 32; //!<[00] Peripheral address
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CPAR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CPAR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CPAR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CMAR2_DEF { //!< channel x memory address register
|
|
struct {
|
|
__IO uint32_t MA : 32; //!<[00] Memory address
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CMAR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CMAR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CMAR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCR3_DEF { //!< channel x configuration register
|
|
struct {
|
|
__IO ONE_BIT EN : 1; //!<[00] Channel enable
|
|
__IO ONE_BIT TCIE : 1; //!<[01] Transfer complete interrupt enable
|
|
__IO ONE_BIT HTIE : 1; //!<[02] Half transfer interrupt enable
|
|
__IO ONE_BIT TEIE : 1; //!<[03] Transfer error interrupt enable
|
|
__IO ONE_BIT DIR : 1; //!<[04] Data transfer direction
|
|
__IO ONE_BIT CIRC : 1; //!<[05] Circular mode
|
|
__IO ONE_BIT PINC : 1; //!<[06] Peripheral increment mode
|
|
__IO ONE_BIT MINC : 1; //!<[07] Memory increment mode
|
|
__IO uint32_t PSIZE : 2; //!<[08] Peripheral size
|
|
__IO uint32_t MSIZE : 2; //!<[10] Memory size
|
|
__IO uint32_t PL : 2; //!<[12] Channel priority level
|
|
__IO ONE_BIT MEM2MEM : 1; //!<[14] Memory to memory mode
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCR3_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCR3_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCR3_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CNDTR3_DEF { //!< channel x number of data register
|
|
struct {
|
|
__IO uint32_t NDT : 16; //!<[00] Number of data to transfer
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CNDTR3_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CNDTR3_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CNDTR3_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CPAR3_DEF { //!< channel x peripheral address register
|
|
struct {
|
|
__IO uint32_t PA : 32; //!<[00] Peripheral address
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CPAR3_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CPAR3_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CPAR3_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CMAR3_DEF { //!< channel x memory address register
|
|
struct {
|
|
__IO uint32_t MA : 32; //!<[00] Memory address
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CMAR3_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CMAR3_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CMAR3_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCR4_DEF { //!< channel x configuration register
|
|
struct {
|
|
__IO ONE_BIT EN : 1; //!<[00] Channel enable
|
|
__IO ONE_BIT TCIE : 1; //!<[01] Transfer complete interrupt enable
|
|
__IO ONE_BIT HTIE : 1; //!<[02] Half transfer interrupt enable
|
|
__IO ONE_BIT TEIE : 1; //!<[03] Transfer error interrupt enable
|
|
__IO ONE_BIT DIR : 1; //!<[04] Data transfer direction
|
|
__IO ONE_BIT CIRC : 1; //!<[05] Circular mode
|
|
__IO ONE_BIT PINC : 1; //!<[06] Peripheral increment mode
|
|
__IO ONE_BIT MINC : 1; //!<[07] Memory increment mode
|
|
__IO uint32_t PSIZE : 2; //!<[08] Peripheral size
|
|
__IO uint32_t MSIZE : 2; //!<[10] Memory size
|
|
__IO uint32_t PL : 2; //!<[12] Channel priority level
|
|
__IO ONE_BIT MEM2MEM : 1; //!<[14] Memory to memory mode
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCR4_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCR4_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCR4_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CNDTR4_DEF { //!< channel x number of data register
|
|
struct {
|
|
__IO uint32_t NDT : 16; //!<[00] Number of data to transfer
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CNDTR4_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CNDTR4_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CNDTR4_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CPAR4_DEF { //!< channel x peripheral address register
|
|
struct {
|
|
__IO uint32_t PA : 32; //!<[00] Peripheral address
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CPAR4_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CPAR4_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CPAR4_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CMAR4_DEF { //!< channel x memory address register
|
|
struct {
|
|
__IO uint32_t MA : 32; //!<[00] Memory address
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CMAR4_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CMAR4_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CMAR4_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCR5_DEF { //!< channel x configuration register
|
|
struct {
|
|
__IO ONE_BIT EN : 1; //!<[00] Channel enable
|
|
__IO ONE_BIT TCIE : 1; //!<[01] Transfer complete interrupt enable
|
|
__IO ONE_BIT HTIE : 1; //!<[02] Half transfer interrupt enable
|
|
__IO ONE_BIT TEIE : 1; //!<[03] Transfer error interrupt enable
|
|
__IO ONE_BIT DIR : 1; //!<[04] Data transfer direction
|
|
__IO ONE_BIT CIRC : 1; //!<[05] Circular mode
|
|
__IO ONE_BIT PINC : 1; //!<[06] Peripheral increment mode
|
|
__IO ONE_BIT MINC : 1; //!<[07] Memory increment mode
|
|
__IO uint32_t PSIZE : 2; //!<[08] Peripheral size
|
|
__IO uint32_t MSIZE : 2; //!<[10] Memory size
|
|
__IO uint32_t PL : 2; //!<[12] Channel priority level
|
|
__IO ONE_BIT MEM2MEM : 1; //!<[14] Memory to memory mode
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCR5_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCR5_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCR5_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CNDTR5_DEF { //!< channel x number of data register
|
|
struct {
|
|
__IO uint32_t NDT : 16; //!<[00] Number of data to transfer
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CNDTR5_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CNDTR5_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CNDTR5_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CPAR5_DEF { //!< channel x peripheral address register
|
|
struct {
|
|
__IO uint32_t PA : 32; //!<[00] Peripheral address
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CPAR5_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CPAR5_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CPAR5_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CMAR5_DEF { //!< channel x memory address register
|
|
struct {
|
|
__IO uint32_t MA : 32; //!<[00] Memory address
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CMAR5_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CMAR5_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CMAR5_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCR6_DEF { //!< channel x configuration register
|
|
struct {
|
|
__IO ONE_BIT EN : 1; //!<[00] Channel enable
|
|
__IO ONE_BIT TCIE : 1; //!<[01] Transfer complete interrupt enable
|
|
__IO ONE_BIT HTIE : 1; //!<[02] Half transfer interrupt enable
|
|
__IO ONE_BIT TEIE : 1; //!<[03] Transfer error interrupt enable
|
|
__IO ONE_BIT DIR : 1; //!<[04] Data transfer direction
|
|
__IO ONE_BIT CIRC : 1; //!<[05] Circular mode
|
|
__IO ONE_BIT PINC : 1; //!<[06] Peripheral increment mode
|
|
__IO ONE_BIT MINC : 1; //!<[07] Memory increment mode
|
|
__IO uint32_t PSIZE : 2; //!<[08] Peripheral size
|
|
__IO uint32_t MSIZE : 2; //!<[10] Memory size
|
|
__IO uint32_t PL : 2; //!<[12] Channel priority level
|
|
__IO ONE_BIT MEM2MEM : 1; //!<[14] Memory to memory mode
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCR6_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCR6_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCR6_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CNDTR6_DEF { //!< channel x number of data register
|
|
struct {
|
|
__IO uint32_t NDT : 16; //!<[00] Number of data to transfer
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CNDTR6_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CNDTR6_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CNDTR6_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CPAR6_DEF { //!< channel x peripheral address register
|
|
struct {
|
|
__IO uint32_t PA : 32; //!<[00] Peripheral address
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CPAR6_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CPAR6_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CPAR6_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CMAR6_DEF { //!< channel x memory address register
|
|
struct {
|
|
__IO uint32_t MA : 32; //!<[00] Memory address
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CMAR6_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CMAR6_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CMAR6_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCR7_DEF { //!< channel x configuration register
|
|
struct {
|
|
__IO ONE_BIT EN : 1; //!<[00] Channel enable
|
|
__IO ONE_BIT TCIE : 1; //!<[01] Transfer complete interrupt enable
|
|
__IO ONE_BIT HTIE : 1; //!<[02] Half transfer interrupt enable
|
|
__IO ONE_BIT TEIE : 1; //!<[03] Transfer error interrupt enable
|
|
__IO ONE_BIT DIR : 1; //!<[04] Data transfer direction
|
|
__IO ONE_BIT CIRC : 1; //!<[05] Circular mode
|
|
__IO ONE_BIT PINC : 1; //!<[06] Peripheral increment mode
|
|
__IO ONE_BIT MINC : 1; //!<[07] Memory increment mode
|
|
__IO uint32_t PSIZE : 2; //!<[08] Peripheral size
|
|
__IO uint32_t MSIZE : 2; //!<[10] Memory size
|
|
__IO uint32_t PL : 2; //!<[12] Channel priority level
|
|
__IO ONE_BIT MEM2MEM : 1; //!<[14] Memory to memory mode
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCR7_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCR7_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCR7_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CNDTR7_DEF { //!< channel x number of data register
|
|
struct {
|
|
__IO uint32_t NDT : 16; //!<[00] Number of data to transfer
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CNDTR7_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CNDTR7_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CNDTR7_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CPAR7_DEF { //!< channel x peripheral address register
|
|
struct {
|
|
__IO uint32_t PA : 32; //!<[00] Peripheral address
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CPAR7_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CPAR7_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CPAR7_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CMAR7_DEF { //!< channel x memory address register
|
|
struct {
|
|
__IO uint32_t MA : 32; //!<[00] Memory address
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CMAR7_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CMAR7_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CMAR7_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CSELR_DEF { //!< channel selection register
|
|
struct {
|
|
__IO uint32_t C1S : 4; //!<[00] DMA channel 1 selection
|
|
__IO uint32_t C2S : 4; //!<[04] DMA channel 2 selection
|
|
__IO uint32_t C3S : 4; //!<[08] DMA channel 3 selection
|
|
__IO uint32_t C4S : 4; //!<[12] DMA channel 4 selection
|
|
__IO uint32_t C5S : 4; //!<[16] DMA channel 5 selection
|
|
__IO uint32_t C6S : 4; //!<[20] DMA channel 6 selection
|
|
__IO uint32_t C7S : 4; //!<[24] DMA channel 7 selection
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CSELR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CSELR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CSELR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL DMA1 REGISTERS INSTANCES
|
|
__I ISR_DEF ISR ; //!< [0000](04)[0x00000000]
|
|
__O IFCR_DEF IFCR ; //!< [0004](04)[0x00000000]
|
|
__IO CCR1_DEF CCR1 ; //!< [0008](04)[0x00000000]
|
|
__IO CNDTR1_DEF CNDTR1 ; //!< [000c](04)[0x00000000]
|
|
__IO CPAR1_DEF CPAR1 ; //!< [0010](04)[0x00000000]
|
|
__IO CMAR1_DEF CMAR1 ; //!< [0014](04)[0x00000000]
|
|
uint32_t UNUSED0 ; //!< [0018](04)[0xFFFFFFFF]
|
|
__IO CCR2_DEF CCR2 ; //!< [001c](04)[0x00000000]
|
|
__IO CNDTR2_DEF CNDTR2 ; //!< [0020](04)[0x00000000]
|
|
__IO CPAR2_DEF CPAR2 ; //!< [0024](04)[0x00000000]
|
|
__IO CMAR2_DEF CMAR2 ; //!< [0028](04)[0x00000000]
|
|
uint32_t UNUSED1 ; //!< [002c](04)[0xFFFFFFFF]
|
|
__IO CCR3_DEF CCR3 ; //!< [0030](04)[0x00000000]
|
|
__IO CNDTR3_DEF CNDTR3 ; //!< [0034](04)[0x00000000]
|
|
__IO CPAR3_DEF CPAR3 ; //!< [0038](04)[0x00000000]
|
|
__IO CMAR3_DEF CMAR3 ; //!< [003c](04)[0x00000000]
|
|
uint32_t UNUSED2 ; //!< [0040](04)[0xFFFFFFFF]
|
|
__IO CCR4_DEF CCR4 ; //!< [0044](04)[0x00000000]
|
|
__IO CNDTR4_DEF CNDTR4 ; //!< [0048](04)[0x00000000]
|
|
__IO CPAR4_DEF CPAR4 ; //!< [004c](04)[0x00000000]
|
|
__IO CMAR4_DEF CMAR4 ; //!< [0050](04)[0x00000000]
|
|
uint32_t UNUSED3 ; //!< [0054](04)[0xFFFFFFFF]
|
|
__IO CCR5_DEF CCR5 ; //!< [0058](04)[0x00000000]
|
|
__IO CNDTR5_DEF CNDTR5 ; //!< [005c](04)[0x00000000]
|
|
__IO CPAR5_DEF CPAR5 ; //!< [0060](04)[0x00000000]
|
|
__IO CMAR5_DEF CMAR5 ; //!< [0064](04)[0x00000000]
|
|
uint32_t UNUSED4 ; //!< [0068](04)[0xFFFFFFFF]
|
|
__IO CCR6_DEF CCR6 ; //!< [006c](04)[0x00000000]
|
|
__IO CNDTR6_DEF CNDTR6 ; //!< [0070](04)[0x00000000]
|
|
__IO CPAR6_DEF CPAR6 ; //!< [0074](04)[0x00000000]
|
|
__IO CMAR6_DEF CMAR6 ; //!< [0078](04)[0x00000000]
|
|
uint32_t UNUSED5 ; //!< [007c](04)[0xFFFFFFFF]
|
|
__IO CCR7_DEF CCR7 ; //!< [0080](04)[0x00000000]
|
|
__IO CNDTR7_DEF CNDTR7 ; //!< [0084](04)[0x00000000]
|
|
__IO CPAR7_DEF CPAR7 ; //!< [0088](04)[0x00000000]
|
|
__IO CMAR7_DEF CMAR7 ; //!< [008c](04)[0x00000000]
|
|
uint32_t UNUSED6 [6]; //!< [0090](18)[0xFFFFFFFF]
|
|
__IO CSELR_DEF CSELR ; //!< [00a8](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x00AC */
|
|
|
|
// ////////////////////+++ CRC +-+//////////////////// //
|
|
struct CRC_Type { /*!< Cyclic redundancy check calculation unit */
|
|
union DR_DEF { //!< Data register
|
|
struct {
|
|
__IO uint32_t DR : 32; //!<[00] Data register bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DR_DEF () noexcept { R = 0xffffffffu; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union IDR_DEF { //!< Independent data register
|
|
struct {
|
|
__IO uint32_t IDR : 8; //!<[00] General-purpose 8-bit data register bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit IDR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
IDR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
IDR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CR_DEF { //!< Control register
|
|
struct {
|
|
__O ONE_BIT RESET : 1; //!<[00] RESET bit
|
|
uint32_t UNUSED0 : 2; //!<[01]
|
|
__IO uint32_t POLYSIZE : 2; //!<[03] Polynomial size
|
|
__IO uint32_t REV_IN : 2; //!<[05] Reverse input data
|
|
__IO ONE_BIT REV_OUT : 1; //!<[07] Reverse output data
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union INIT_DEF { //!< Initial CRC value
|
|
struct {
|
|
__IO uint32_t CRC_INIT : 32; //!<[00] Programmable initial CRC value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit INIT_DEF () noexcept { R = 0xffffffffu; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
INIT_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
INIT_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union POL_DEF { //!< polynomial
|
|
struct {
|
|
__IO uint32_t Polynomialcoefficients : 32; //!<[00] Programmable polynomial
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit POL_DEF () noexcept { R = 0x04c11db7u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
POL_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
POL_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL CRC REGISTERS INSTANCES
|
|
__IO DR_DEF DR ; //!< [0000](04)[0xFFFFFFFF]
|
|
__IO IDR_DEF IDR ; //!< [0004](04)[0x00000000]
|
|
__IO CR_DEF CR ; //!< [0008](04)[0x00000000]
|
|
uint32_t UNUSED0 ; //!< [000c](04)[0xFFFFFFFF]
|
|
__IO INIT_DEF INIT ; //!< [0010](04)[0xFFFFFFFF]
|
|
__IO POL_DEF POL ; //!< [0014](04)[0x04C11DB7]
|
|
}; /* total size = 0x0400, struct size = 0x0018 */
|
|
|
|
// ////////////////////+++ LCD +-+//////////////////// //
|
|
struct LCD_Type { /*!< Liquid crystal display controller */
|
|
union CR_DEF { //!< control register
|
|
struct {
|
|
__IO ONE_BIT LCDEN : 1; //!<[00] LCD controller enable
|
|
__IO ONE_BIT VSEL : 1; //!<[01] Voltage source selection
|
|
__IO uint32_t DUTY : 3; //!<[02] Duty selection
|
|
__IO uint32_t BIAS : 2; //!<[05] Bias selector
|
|
__IO ONE_BIT MUX_SEG : 1; //!<[07] Mux segment enable
|
|
__IO ONE_BIT BUFEN : 1; //!<[08] Voltage output buffer enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union FCR_DEF { //!< frame control register
|
|
struct {
|
|
__IO ONE_BIT HD : 1; //!<[00] High drive enable
|
|
__IO ONE_BIT SOFIE : 1; //!<[01] Start of frame interrupt enable
|
|
ONE_BIT UNUSED0 : 1; //!<[02]
|
|
__IO ONE_BIT UDDIE : 1; //!<[03] Update display done interrupt enable
|
|
__IO uint32_t PON : 3; //!<[04] Pulse ON duration
|
|
__IO uint32_t DEAD : 3; //!<[07] Dead time duration
|
|
__IO uint32_t CC : 3; //!<[10] Contrast control
|
|
__IO uint32_t BLINKF : 3; //!<[13] Blink frequency selection
|
|
__IO uint32_t BLINK : 2; //!<[16] Blink mode selection
|
|
__IO uint32_t DIV : 4; //!<[18] DIV clock divider
|
|
__IO uint32_t PS : 4; //!<[22] PS 16-bit prescaler
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit FCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
FCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
FCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SR_DEF { //!< status register
|
|
struct {
|
|
__I ONE_BIT ENS : 1; //!<[00] ENS
|
|
__I ONE_BIT SOF : 1; //!<[01] Start of frame flag
|
|
__O ONE_BIT UDR : 1; //!<[02] Update display request
|
|
__I ONE_BIT UDD : 1; //!<[03] Update Display Done
|
|
__I ONE_BIT RDY : 1; //!<[04] Ready flag
|
|
__I ONE_BIT FCRSF : 1; //!<[05] LCD Frame Control Register Synchronization flag
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit SR_DEF () noexcept { R = 0x00000020u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
SR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
SR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CLR_DEF { //!< clear register
|
|
struct {
|
|
ONE_BIT UNUSED0 : 1; //!<[00]
|
|
__O ONE_BIT SOFC : 1; //!<[01] Start of frame flag clear
|
|
ONE_BIT UNUSED1 : 1; //!<[02]
|
|
__O ONE_BIT UDDC : 1; //!<[03] Update display done clear
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit CLR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CLR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RAM_COM0_DEF { //!< display memory
|
|
struct {
|
|
__IO ONE_BIT S00 : 1; //!<[00] S00
|
|
__IO ONE_BIT S01 : 1; //!<[01] S01
|
|
__IO ONE_BIT S02 : 1; //!<[02] S02
|
|
__IO ONE_BIT S03 : 1; //!<[03] S03
|
|
__IO ONE_BIT S04 : 1; //!<[04] S04
|
|
__IO ONE_BIT S05 : 1; //!<[05] S05
|
|
__IO ONE_BIT S06 : 1; //!<[06] S06
|
|
__IO ONE_BIT S07 : 1; //!<[07] S07
|
|
__IO ONE_BIT S08 : 1; //!<[08] S08
|
|
__IO ONE_BIT S09 : 1; //!<[09] S09
|
|
__IO ONE_BIT S10 : 1; //!<[10] S10
|
|
__IO ONE_BIT S11 : 1; //!<[11] S11
|
|
__IO ONE_BIT S12 : 1; //!<[12] S12
|
|
__IO ONE_BIT S13 : 1; //!<[13] S13
|
|
__IO ONE_BIT S14 : 1; //!<[14] S14
|
|
__IO ONE_BIT S15 : 1; //!<[15] S15
|
|
__IO ONE_BIT S16 : 1; //!<[16] S16
|
|
__IO ONE_BIT S17 : 1; //!<[17] S17
|
|
__IO ONE_BIT S18 : 1; //!<[18] S18
|
|
__IO ONE_BIT S19 : 1; //!<[19] S19
|
|
__IO ONE_BIT S20 : 1; //!<[20] S20
|
|
__IO ONE_BIT S21 : 1; //!<[21] S21
|
|
__IO ONE_BIT S22 : 1; //!<[22] S22
|
|
__IO ONE_BIT S23 : 1; //!<[23] S23
|
|
__IO ONE_BIT S24 : 1; //!<[24] S24
|
|
__IO ONE_BIT S25 : 1; //!<[25] S25
|
|
__IO ONE_BIT S26 : 1; //!<[26] S26
|
|
__IO ONE_BIT S27 : 1; //!<[27] S27
|
|
__IO ONE_BIT S28 : 1; //!<[28] S28
|
|
__IO ONE_BIT S29 : 1; //!<[29] S29
|
|
__IO ONE_BIT S30 : 1; //!<[30] S30
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit RAM_COM0_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
RAM_COM0_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
RAM_COM0_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RAM_COM1_DEF { //!< display memory
|
|
struct {
|
|
__IO ONE_BIT S00 : 1; //!<[00] S00
|
|
__IO ONE_BIT S01 : 1; //!<[01] S01
|
|
__IO ONE_BIT S02 : 1; //!<[02] S02
|
|
__IO ONE_BIT S03 : 1; //!<[03] S03
|
|
__IO ONE_BIT S04 : 1; //!<[04] S04
|
|
__IO ONE_BIT S05 : 1; //!<[05] S05
|
|
__IO ONE_BIT S06 : 1; //!<[06] S06
|
|
__IO ONE_BIT S07 : 1; //!<[07] S07
|
|
__IO ONE_BIT S08 : 1; //!<[08] S08
|
|
__IO ONE_BIT S09 : 1; //!<[09] S09
|
|
__IO ONE_BIT S10 : 1; //!<[10] S10
|
|
__IO ONE_BIT S11 : 1; //!<[11] S11
|
|
__IO ONE_BIT S12 : 1; //!<[12] S12
|
|
__IO ONE_BIT S13 : 1; //!<[13] S13
|
|
__IO ONE_BIT S14 : 1; //!<[14] S14
|
|
__IO ONE_BIT S15 : 1; //!<[15] S15
|
|
__IO ONE_BIT S16 : 1; //!<[16] S16
|
|
__IO ONE_BIT S17 : 1; //!<[17] S17
|
|
__IO ONE_BIT S18 : 1; //!<[18] S18
|
|
__IO ONE_BIT S19 : 1; //!<[19] S19
|
|
__IO ONE_BIT S20 : 1; //!<[20] S20
|
|
__IO ONE_BIT S21 : 1; //!<[21] S21
|
|
__IO ONE_BIT S22 : 1; //!<[22] S22
|
|
__IO ONE_BIT S23 : 1; //!<[23] S23
|
|
__IO ONE_BIT S24 : 1; //!<[24] S24
|
|
__IO ONE_BIT S25 : 1; //!<[25] S25
|
|
__IO ONE_BIT S26 : 1; //!<[26] S26
|
|
__IO ONE_BIT S27 : 1; //!<[27] S27
|
|
__IO ONE_BIT S28 : 1; //!<[28] S28
|
|
__IO ONE_BIT S29 : 1; //!<[29] S29
|
|
__IO ONE_BIT S30 : 1; //!<[30] S30
|
|
__IO ONE_BIT S31 : 1; //!<[31] S31
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit RAM_COM1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
RAM_COM1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
RAM_COM1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RAM_COM2_DEF { //!< display memory
|
|
struct {
|
|
__IO ONE_BIT S00 : 1; //!<[00] S00
|
|
__IO ONE_BIT S01 : 1; //!<[01] S01
|
|
__IO ONE_BIT S02 : 1; //!<[02] S02
|
|
__IO ONE_BIT S03 : 1; //!<[03] S03
|
|
__IO ONE_BIT S04 : 1; //!<[04] S04
|
|
__IO ONE_BIT S05 : 1; //!<[05] S05
|
|
__IO ONE_BIT S06 : 1; //!<[06] S06
|
|
__IO ONE_BIT S07 : 1; //!<[07] S07
|
|
__IO ONE_BIT S08 : 1; //!<[08] S08
|
|
__IO ONE_BIT S09 : 1; //!<[09] S09
|
|
__IO ONE_BIT S10 : 1; //!<[10] S10
|
|
__IO ONE_BIT S11 : 1; //!<[11] S11
|
|
__IO ONE_BIT S12 : 1; //!<[12] S12
|
|
__IO ONE_BIT S13 : 1; //!<[13] S13
|
|
__IO ONE_BIT S14 : 1; //!<[14] S14
|
|
__IO ONE_BIT S15 : 1; //!<[15] S15
|
|
__IO ONE_BIT S16 : 1; //!<[16] S16
|
|
__IO ONE_BIT S17 : 1; //!<[17] S17
|
|
__IO ONE_BIT S18 : 1; //!<[18] S18
|
|
__IO ONE_BIT S19 : 1; //!<[19] S19
|
|
__IO ONE_BIT S20 : 1; //!<[20] S20
|
|
__IO ONE_BIT S21 : 1; //!<[21] S21
|
|
__IO ONE_BIT S22 : 1; //!<[22] S22
|
|
__IO ONE_BIT S23 : 1; //!<[23] S23
|
|
__IO ONE_BIT S24 : 1; //!<[24] S24
|
|
__IO ONE_BIT S25 : 1; //!<[25] S25
|
|
__IO ONE_BIT S26 : 1; //!<[26] S26
|
|
__IO ONE_BIT S27 : 1; //!<[27] S27
|
|
__IO ONE_BIT S28 : 1; //!<[28] S28
|
|
__IO ONE_BIT S29 : 1; //!<[29] S29
|
|
__IO ONE_BIT S30 : 1; //!<[30] S30
|
|
__IO ONE_BIT S31 : 1; //!<[31] S31
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit RAM_COM2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
RAM_COM2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
RAM_COM2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RAM_COM3_DEF { //!< display memory
|
|
struct {
|
|
__IO ONE_BIT S00 : 1; //!<[00] S00
|
|
__IO ONE_BIT S01 : 1; //!<[01] S01
|
|
__IO ONE_BIT S02 : 1; //!<[02] S02
|
|
__IO ONE_BIT S03 : 1; //!<[03] S03
|
|
__IO ONE_BIT S04 : 1; //!<[04] S04
|
|
__IO ONE_BIT S05 : 1; //!<[05] S05
|
|
__IO ONE_BIT S06 : 1; //!<[06] S06
|
|
__IO ONE_BIT S07 : 1; //!<[07] S07
|
|
__IO ONE_BIT S08 : 1; //!<[08] S08
|
|
__IO ONE_BIT S09 : 1; //!<[09] S09
|
|
__IO ONE_BIT S10 : 1; //!<[10] S10
|
|
__IO ONE_BIT S11 : 1; //!<[11] S11
|
|
__IO ONE_BIT S12 : 1; //!<[12] S12
|
|
__IO ONE_BIT S13 : 1; //!<[13] S13
|
|
__IO ONE_BIT S14 : 1; //!<[14] S14
|
|
__IO ONE_BIT S15 : 1; //!<[15] S15
|
|
__IO ONE_BIT S16 : 1; //!<[16] S16
|
|
__IO ONE_BIT S17 : 1; //!<[17] S17
|
|
__IO ONE_BIT S18 : 1; //!<[18] S18
|
|
__IO ONE_BIT S19 : 1; //!<[19] S19
|
|
__IO ONE_BIT S20 : 1; //!<[20] S20
|
|
__IO ONE_BIT S21 : 1; //!<[21] S21
|
|
__IO ONE_BIT S22 : 1; //!<[22] S22
|
|
__IO ONE_BIT S23 : 1; //!<[23] S23
|
|
__IO ONE_BIT S24 : 1; //!<[24] S24
|
|
__IO ONE_BIT S25 : 1; //!<[25] S25
|
|
__IO ONE_BIT S26 : 1; //!<[26] S26
|
|
__IO ONE_BIT S27 : 1; //!<[27] S27
|
|
__IO ONE_BIT S28 : 1; //!<[28] S28
|
|
__IO ONE_BIT S29 : 1; //!<[29] S29
|
|
__IO ONE_BIT S30 : 1; //!<[30] S30
|
|
__IO ONE_BIT S31 : 1; //!<[31] S31
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit RAM_COM3_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
RAM_COM3_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
RAM_COM3_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RAM_COM4_DEF { //!< display memory
|
|
struct {
|
|
__IO ONE_BIT S00 : 1; //!<[00] S00
|
|
__IO ONE_BIT S01 : 1; //!<[01] S01
|
|
__IO ONE_BIT S02 : 1; //!<[02] S02
|
|
__IO ONE_BIT S03 : 1; //!<[03] S03
|
|
__IO ONE_BIT S04 : 1; //!<[04] S04
|
|
__IO ONE_BIT S05 : 1; //!<[05] S05
|
|
__IO ONE_BIT S06 : 1; //!<[06] S06
|
|
__IO ONE_BIT S07 : 1; //!<[07] S07
|
|
__IO ONE_BIT S08 : 1; //!<[08] S08
|
|
__IO ONE_BIT S09 : 1; //!<[09] S09
|
|
__IO ONE_BIT S10 : 1; //!<[10] S10
|
|
__IO ONE_BIT S11 : 1; //!<[11] S11
|
|
__IO ONE_BIT S12 : 1; //!<[12] S12
|
|
__IO ONE_BIT S13 : 1; //!<[13] S13
|
|
__IO ONE_BIT S14 : 1; //!<[14] S14
|
|
__IO ONE_BIT S15 : 1; //!<[15] S15
|
|
__IO ONE_BIT S16 : 1; //!<[16] S16
|
|
__IO ONE_BIT S17 : 1; //!<[17] S17
|
|
__IO ONE_BIT S18 : 1; //!<[18] S18
|
|
__IO ONE_BIT S19 : 1; //!<[19] S19
|
|
__IO ONE_BIT S20 : 1; //!<[20] S20
|
|
__IO ONE_BIT S21 : 1; //!<[21] S21
|
|
__IO ONE_BIT S22 : 1; //!<[22] S22
|
|
__IO ONE_BIT S23 : 1; //!<[23] S23
|
|
__IO ONE_BIT S24 : 1; //!<[24] S24
|
|
__IO ONE_BIT S25 : 1; //!<[25] S25
|
|
__IO ONE_BIT S26 : 1; //!<[26] S26
|
|
__IO ONE_BIT S27 : 1; //!<[27] S27
|
|
__IO ONE_BIT S28 : 1; //!<[28] S28
|
|
__IO ONE_BIT S29 : 1; //!<[29] S29
|
|
__IO ONE_BIT S30 : 1; //!<[30] S30
|
|
__IO ONE_BIT S31 : 1; //!<[31] S31
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit RAM_COM4_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
RAM_COM4_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
RAM_COM4_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RAM_COM5_DEF { //!< display memory
|
|
struct {
|
|
__IO ONE_BIT S00 : 1; //!<[00] S00
|
|
__IO ONE_BIT S01 : 1; //!<[01] S01
|
|
__IO ONE_BIT S02 : 1; //!<[02] S02
|
|
__IO ONE_BIT S03 : 1; //!<[03] S03
|
|
__IO ONE_BIT S04 : 1; //!<[04] S04
|
|
__IO ONE_BIT S05 : 1; //!<[05] S05
|
|
__IO ONE_BIT S06 : 1; //!<[06] S06
|
|
__IO ONE_BIT S07 : 1; //!<[07] S07
|
|
__IO ONE_BIT S08 : 1; //!<[08] S08
|
|
__IO ONE_BIT S09 : 1; //!<[09] S09
|
|
__IO ONE_BIT S10 : 1; //!<[10] S10
|
|
__IO ONE_BIT S11 : 1; //!<[11] S11
|
|
__IO ONE_BIT S12 : 1; //!<[12] S12
|
|
__IO ONE_BIT S13 : 1; //!<[13] S13
|
|
__IO ONE_BIT S14 : 1; //!<[14] S14
|
|
__IO ONE_BIT S15 : 1; //!<[15] S15
|
|
__IO ONE_BIT S16 : 1; //!<[16] S16
|
|
__IO ONE_BIT S17 : 1; //!<[17] S17
|
|
__IO ONE_BIT S18 : 1; //!<[18] S18
|
|
__IO ONE_BIT S19 : 1; //!<[19] S19
|
|
__IO ONE_BIT S20 : 1; //!<[20] S20
|
|
__IO ONE_BIT S21 : 1; //!<[21] S21
|
|
__IO ONE_BIT S22 : 1; //!<[22] S22
|
|
__IO ONE_BIT S23 : 1; //!<[23] S23
|
|
__IO ONE_BIT S24 : 1; //!<[24] S24
|
|
__IO ONE_BIT S25 : 1; //!<[25] S25
|
|
__IO ONE_BIT S26 : 1; //!<[26] S26
|
|
__IO ONE_BIT S27 : 1; //!<[27] S27
|
|
__IO ONE_BIT S28 : 1; //!<[28] S28
|
|
__IO ONE_BIT S29 : 1; //!<[29] S29
|
|
__IO ONE_BIT S30 : 1; //!<[30] S30
|
|
__IO ONE_BIT S31 : 1; //!<[31] S31
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit RAM_COM5_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
RAM_COM5_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
RAM_COM5_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RAM_COM6_DEF { //!< display memory
|
|
struct {
|
|
__IO ONE_BIT S00 : 1; //!<[00] S00
|
|
__IO ONE_BIT S01 : 1; //!<[01] S01
|
|
__IO ONE_BIT S02 : 1; //!<[02] S02
|
|
__IO ONE_BIT S03 : 1; //!<[03] S03
|
|
__IO ONE_BIT S04 : 1; //!<[04] S04
|
|
__IO ONE_BIT S05 : 1; //!<[05] S05
|
|
__IO ONE_BIT S06 : 1; //!<[06] S06
|
|
__IO ONE_BIT S07 : 1; //!<[07] S07
|
|
__IO ONE_BIT S08 : 1; //!<[08] S08
|
|
__IO ONE_BIT S09 : 1; //!<[09] S09
|
|
__IO ONE_BIT S10 : 1; //!<[10] S10
|
|
__IO ONE_BIT S11 : 1; //!<[11] S11
|
|
__IO ONE_BIT S12 : 1; //!<[12] S12
|
|
__IO ONE_BIT S13 : 1; //!<[13] S13
|
|
__IO ONE_BIT S14 : 1; //!<[14] S14
|
|
__IO ONE_BIT S15 : 1; //!<[15] S15
|
|
__IO ONE_BIT S16 : 1; //!<[16] S16
|
|
__IO ONE_BIT S17 : 1; //!<[17] S17
|
|
__IO ONE_BIT S18 : 1; //!<[18] S18
|
|
__IO ONE_BIT S19 : 1; //!<[19] S19
|
|
__IO ONE_BIT S20 : 1; //!<[20] S20
|
|
__IO ONE_BIT S21 : 1; //!<[21] S21
|
|
__IO ONE_BIT S22 : 1; //!<[22] S22
|
|
__IO ONE_BIT S23 : 1; //!<[23] S23
|
|
__IO ONE_BIT S24 : 1; //!<[24] S24
|
|
__IO ONE_BIT S25 : 1; //!<[25] S25
|
|
__IO ONE_BIT S26 : 1; //!<[26] S26
|
|
__IO ONE_BIT S27 : 1; //!<[27] S27
|
|
__IO ONE_BIT S28 : 1; //!<[28] S28
|
|
__IO ONE_BIT S29 : 1; //!<[29] S29
|
|
__IO ONE_BIT S30 : 1; //!<[30] S30
|
|
__IO ONE_BIT S31 : 1; //!<[31] S31
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit RAM_COM6_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
RAM_COM6_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
RAM_COM6_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RAM_COM7_DEF { //!< display memory
|
|
struct {
|
|
__IO ONE_BIT S00 : 1; //!<[00] S00
|
|
__IO ONE_BIT S01 : 1; //!<[01] S01
|
|
__IO ONE_BIT S02 : 1; //!<[02] S02
|
|
__IO ONE_BIT S03 : 1; //!<[03] S03
|
|
__IO ONE_BIT S04 : 1; //!<[04] S04
|
|
__IO ONE_BIT S05 : 1; //!<[05] S05
|
|
__IO ONE_BIT S06 : 1; //!<[06] S06
|
|
__IO ONE_BIT S07 : 1; //!<[07] S07
|
|
__IO ONE_BIT S08 : 1; //!<[08] S08
|
|
__IO ONE_BIT S09 : 1; //!<[09] S09
|
|
__IO ONE_BIT S10 : 1; //!<[10] S10
|
|
__IO ONE_BIT S11 : 1; //!<[11] S11
|
|
__IO ONE_BIT S12 : 1; //!<[12] S12
|
|
__IO ONE_BIT S13 : 1; //!<[13] S13
|
|
__IO ONE_BIT S14 : 1; //!<[14] S14
|
|
__IO ONE_BIT S15 : 1; //!<[15] S15
|
|
__IO ONE_BIT S16 : 1; //!<[16] S16
|
|
__IO ONE_BIT S17 : 1; //!<[17] S17
|
|
__IO ONE_BIT S18 : 1; //!<[18] S18
|
|
__IO ONE_BIT S19 : 1; //!<[19] S19
|
|
__IO ONE_BIT S20 : 1; //!<[20] S20
|
|
__IO ONE_BIT S21 : 1; //!<[21] S21
|
|
__IO ONE_BIT S22 : 1; //!<[22] S22
|
|
__IO ONE_BIT S23 : 1; //!<[23] S23
|
|
__IO ONE_BIT S24 : 1; //!<[24] S24
|
|
__IO ONE_BIT S25 : 1; //!<[25] S25
|
|
__IO ONE_BIT S26 : 1; //!<[26] S26
|
|
__IO ONE_BIT S27 : 1; //!<[27] S27
|
|
__IO ONE_BIT S28 : 1; //!<[28] S28
|
|
__IO ONE_BIT S29 : 1; //!<[29] S29
|
|
__IO ONE_BIT S30 : 1; //!<[30] S30
|
|
__IO ONE_BIT S31 : 1; //!<[31] S31
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit RAM_COM7_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
RAM_COM7_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
RAM_COM7_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL LCD REGISTERS INSTANCES
|
|
__IO CR_DEF CR ; //!< [0000](04)[0x00000000]
|
|
__IO FCR_DEF FCR ; //!< [0004](04)[0x00000000]
|
|
__IO SR_DEF SR ; //!< [0008](04)[0x00000020]
|
|
__O CLR_DEF CLR ; //!< [000c](04)[0x00000000]
|
|
uint32_t UNUSED0 ; //!< [0010](04)[0xFFFFFFFF]
|
|
__IO RAM_COM0_DEF RAM_COM0 ; //!< [0014](04)[0x00000000]
|
|
uint32_t UNUSED1 ; //!< [0018](04)[0xFFFFFFFF]
|
|
__IO RAM_COM1_DEF RAM_COM1 ; //!< [001c](04)[0x00000000]
|
|
uint32_t UNUSED2 ; //!< [0020](04)[0xFFFFFFFF]
|
|
__IO RAM_COM2_DEF RAM_COM2 ; //!< [0024](04)[0x00000000]
|
|
uint32_t UNUSED3 ; //!< [0028](04)[0xFFFFFFFF]
|
|
__IO RAM_COM3_DEF RAM_COM3 ; //!< [002c](04)[0x00000000]
|
|
uint32_t UNUSED4 ; //!< [0030](04)[0xFFFFFFFF]
|
|
__IO RAM_COM4_DEF RAM_COM4 ; //!< [0034](04)[0x00000000]
|
|
uint32_t UNUSED5 ; //!< [0038](04)[0xFFFFFFFF]
|
|
__IO RAM_COM5_DEF RAM_COM5 ; //!< [003c](04)[0x00000000]
|
|
uint32_t UNUSED6 ; //!< [0040](04)[0xFFFFFFFF]
|
|
__IO RAM_COM6_DEF RAM_COM6 ; //!< [0044](04)[0x00000000]
|
|
uint32_t UNUSED7 ; //!< [0048](04)[0xFFFFFFFF]
|
|
__IO RAM_COM7_DEF RAM_COM7 ; //!< [004c](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x0050 */
|
|
|
|
// ////////////////////+++ TSC +-+//////////////////// //
|
|
struct TSC_Type { /*!< Touch sensing controller */
|
|
union CR_DEF { //!< control register
|
|
struct {
|
|
__IO ONE_BIT TSCE : 1; //!<[00] Touch sensing controller enable
|
|
__IO ONE_BIT START : 1; //!<[01] Start a new acquisition
|
|
__IO ONE_BIT AM : 1; //!<[02] Acquisition mode
|
|
__IO ONE_BIT SYNCPOL : 1; //!<[03] Synchronization pin polarity
|
|
__IO ONE_BIT IODEF : 1; //!<[04] I/O Default mode
|
|
__IO uint32_t MCV : 3; //!<[05] Max count value
|
|
uint32_t UNUSED0 : 4; //!<[08]
|
|
__IO uint32_t PGPSC : 3; //!<[12] pulse generator prescaler
|
|
__IO ONE_BIT SSPSC : 1; //!<[15] Spread spectrum prescaler
|
|
__IO ONE_BIT SSE : 1; //!<[16] Spread spectrum enable
|
|
__IO uint32_t SSD : 7; //!<[17] Spread spectrum deviation
|
|
__IO uint32_t CTPL : 4; //!<[24] Charge transfer pulse low
|
|
__IO uint32_t CTPH : 4; //!<[28] Charge transfer pulse high
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union IER_DEF { //!< interrupt enable register
|
|
struct {
|
|
__IO ONE_BIT EOAIE : 1; //!<[00] End of acquisition interrupt enable
|
|
__IO ONE_BIT MCEIE : 1; //!<[01] Max count error interrupt enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit IER_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
IER_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
IER_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ICR_DEF { //!< interrupt clear register
|
|
struct {
|
|
__IO ONE_BIT EOAIC : 1; //!<[00] End of acquisition interrupt clear
|
|
__IO ONE_BIT MCEIC : 1; //!<[01] Max count error interrupt clear
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ICR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ICR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ICR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ISR_DEF { //!< interrupt status register
|
|
struct {
|
|
__IO ONE_BIT EOAF : 1; //!<[00] End of acquisition flag
|
|
__IO ONE_BIT MCEF : 1; //!<[01] Max count error flag
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ISR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ISR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ISR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union IOHCR_DEF { //!< I/O hysteresis control register
|
|
struct {
|
|
__IO ONE_BIT G1_IO1 : 1; //!<[00] G1_IO1
|
|
__IO ONE_BIT G1_IO2 : 1; //!<[01] G1_IO2
|
|
__IO ONE_BIT G1_IO3 : 1; //!<[02] G1_IO3
|
|
__IO ONE_BIT G1_IO4 : 1; //!<[03] G1_IO4
|
|
__IO ONE_BIT G2_IO1 : 1; //!<[04] G2_IO1
|
|
__IO ONE_BIT G2_IO2 : 1; //!<[05] G2_IO2
|
|
__IO ONE_BIT G2_IO3 : 1; //!<[06] G2_IO3
|
|
__IO ONE_BIT G2_IO4 : 1; //!<[07] G2_IO4
|
|
__IO ONE_BIT G3_IO1 : 1; //!<[08] G3_IO1
|
|
__IO ONE_BIT G3_IO2 : 1; //!<[09] G3_IO2
|
|
__IO ONE_BIT G3_IO3 : 1; //!<[10] G3_IO3
|
|
__IO ONE_BIT G3_IO4 : 1; //!<[11] G3_IO4
|
|
__IO ONE_BIT G4_IO1 : 1; //!<[12] G4_IO1
|
|
__IO ONE_BIT G4_IO2 : 1; //!<[13] G4_IO2
|
|
__IO ONE_BIT G4_IO3 : 1; //!<[14] G4_IO3
|
|
__IO ONE_BIT G4_IO4 : 1; //!<[15] G4_IO4
|
|
__IO ONE_BIT G5_IO1 : 1; //!<[16] G5_IO1
|
|
__IO ONE_BIT G5_IO2 : 1; //!<[17] G5_IO2
|
|
__IO ONE_BIT G5_IO3 : 1; //!<[18] G5_IO3
|
|
__IO ONE_BIT G5_IO4 : 1; //!<[19] G5_IO4
|
|
__IO ONE_BIT G6_IO1 : 1; //!<[20] G6_IO1
|
|
__IO ONE_BIT G6_IO2 : 1; //!<[21] G6_IO2
|
|
__IO ONE_BIT G6_IO3 : 1; //!<[22] G6_IO3
|
|
__IO ONE_BIT G6_IO4 : 1; //!<[23] G6_IO4
|
|
__IO ONE_BIT G7_IO1 : 1; //!<[24] G7_IO1
|
|
__IO ONE_BIT G7_IO2 : 1; //!<[25] G7_IO2
|
|
__IO ONE_BIT G7_IO3 : 1; //!<[26] G7_IO3
|
|
__IO ONE_BIT G7_IO4 : 1; //!<[27] G7_IO4
|
|
__IO ONE_BIT G8_IO1 : 1; //!<[28] G8_IO1
|
|
__IO ONE_BIT G8_IO2 : 1; //!<[29] G8_IO2
|
|
__IO ONE_BIT G8_IO3 : 1; //!<[30] G8_IO3
|
|
__IO ONE_BIT G8_IO4 : 1; //!<[31] G8_IO4
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit IOHCR_DEF () noexcept { R = 0xffffffffu; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
IOHCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
IOHCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union IOASCR_DEF { //!< I/O analog switch control register
|
|
struct {
|
|
__IO ONE_BIT G1_IO1 : 1; //!<[00] G1_IO1
|
|
__IO ONE_BIT G1_IO2 : 1; //!<[01] G1_IO2
|
|
__IO ONE_BIT G1_IO3 : 1; //!<[02] G1_IO3
|
|
__IO ONE_BIT G1_IO4 : 1; //!<[03] G1_IO4
|
|
__IO ONE_BIT G2_IO1 : 1; //!<[04] G2_IO1
|
|
__IO ONE_BIT G2_IO2 : 1; //!<[05] G2_IO2
|
|
__IO ONE_BIT G2_IO3 : 1; //!<[06] G2_IO3
|
|
__IO ONE_BIT G2_IO4 : 1; //!<[07] G2_IO4
|
|
__IO ONE_BIT G3_IO1 : 1; //!<[08] G3_IO1
|
|
__IO ONE_BIT G3_IO2 : 1; //!<[09] G3_IO2
|
|
__IO ONE_BIT G3_IO3 : 1; //!<[10] G3_IO3
|
|
__IO ONE_BIT G3_IO4 : 1; //!<[11] G3_IO4
|
|
__IO ONE_BIT G4_IO1 : 1; //!<[12] G4_IO1
|
|
__IO ONE_BIT G4_IO2 : 1; //!<[13] G4_IO2
|
|
__IO ONE_BIT G4_IO3 : 1; //!<[14] G4_IO3
|
|
__IO ONE_BIT G4_IO4 : 1; //!<[15] G4_IO4
|
|
__IO ONE_BIT G5_IO1 : 1; //!<[16] G5_IO1
|
|
__IO ONE_BIT G5_IO2 : 1; //!<[17] G5_IO2
|
|
__IO ONE_BIT G5_IO3 : 1; //!<[18] G5_IO3
|
|
__IO ONE_BIT G5_IO4 : 1; //!<[19] G5_IO4
|
|
__IO ONE_BIT G6_IO1 : 1; //!<[20] G6_IO1
|
|
__IO ONE_BIT G6_IO2 : 1; //!<[21] G6_IO2
|
|
__IO ONE_BIT G6_IO3 : 1; //!<[22] G6_IO3
|
|
__IO ONE_BIT G6_IO4 : 1; //!<[23] G6_IO4
|
|
__IO ONE_BIT G7_IO1 : 1; //!<[24] G7_IO1
|
|
__IO ONE_BIT G7_IO2 : 1; //!<[25] G7_IO2
|
|
__IO ONE_BIT G7_IO3 : 1; //!<[26] G7_IO3
|
|
__IO ONE_BIT G7_IO4 : 1; //!<[27] G7_IO4
|
|
__IO ONE_BIT G8_IO1 : 1; //!<[28] G8_IO1
|
|
__IO ONE_BIT G8_IO2 : 1; //!<[29] G8_IO2
|
|
__IO ONE_BIT G8_IO3 : 1; //!<[30] G8_IO3
|
|
__IO ONE_BIT G8_IO4 : 1; //!<[31] G8_IO4
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit IOASCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
IOASCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
IOASCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union IOSCR_DEF { //!< I/O sampling control register
|
|
struct {
|
|
__IO ONE_BIT G1_IO1 : 1; //!<[00] G1_IO1
|
|
__IO ONE_BIT G1_IO2 : 1; //!<[01] G1_IO2
|
|
__IO ONE_BIT G1_IO3 : 1; //!<[02] G1_IO3
|
|
__IO ONE_BIT G1_IO4 : 1; //!<[03] G1_IO4
|
|
__IO ONE_BIT G2_IO1 : 1; //!<[04] G2_IO1
|
|
__IO ONE_BIT G2_IO2 : 1; //!<[05] G2_IO2
|
|
__IO ONE_BIT G2_IO3 : 1; //!<[06] G2_IO3
|
|
__IO ONE_BIT G2_IO4 : 1; //!<[07] G2_IO4
|
|
__IO ONE_BIT G3_IO1 : 1; //!<[08] G3_IO1
|
|
__IO ONE_BIT G3_IO2 : 1; //!<[09] G3_IO2
|
|
__IO ONE_BIT G3_IO3 : 1; //!<[10] G3_IO3
|
|
__IO ONE_BIT G3_IO4 : 1; //!<[11] G3_IO4
|
|
__IO ONE_BIT G4_IO1 : 1; //!<[12] G4_IO1
|
|
__IO ONE_BIT G4_IO2 : 1; //!<[13] G4_IO2
|
|
__IO ONE_BIT G4_IO3 : 1; //!<[14] G4_IO3
|
|
__IO ONE_BIT G4_IO4 : 1; //!<[15] G4_IO4
|
|
__IO ONE_BIT G5_IO1 : 1; //!<[16] G5_IO1
|
|
__IO ONE_BIT G5_IO2 : 1; //!<[17] G5_IO2
|
|
__IO ONE_BIT G5_IO3 : 1; //!<[18] G5_IO3
|
|
__IO ONE_BIT G5_IO4 : 1; //!<[19] G5_IO4
|
|
__IO ONE_BIT G6_IO1 : 1; //!<[20] G6_IO1
|
|
__IO ONE_BIT G6_IO2 : 1; //!<[21] G6_IO2
|
|
__IO ONE_BIT G6_IO3 : 1; //!<[22] G6_IO3
|
|
__IO ONE_BIT G6_IO4 : 1; //!<[23] G6_IO4
|
|
__IO ONE_BIT G7_IO1 : 1; //!<[24] G7_IO1
|
|
__IO ONE_BIT G7_IO2 : 1; //!<[25] G7_IO2
|
|
__IO ONE_BIT G7_IO3 : 1; //!<[26] G7_IO3
|
|
__IO ONE_BIT G7_IO4 : 1; //!<[27] G7_IO4
|
|
__IO ONE_BIT G8_IO1 : 1; //!<[28] G8_IO1
|
|
__IO ONE_BIT G8_IO2 : 1; //!<[29] G8_IO2
|
|
__IO ONE_BIT G8_IO3 : 1; //!<[30] G8_IO3
|
|
__IO ONE_BIT G8_IO4 : 1; //!<[31] G8_IO4
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit IOSCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
IOSCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
IOSCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union IOCCR_DEF { //!< I/O channel control register
|
|
struct {
|
|
__IO ONE_BIT G1_IO1 : 1; //!<[00] G1_IO1
|
|
__IO ONE_BIT G1_IO2 : 1; //!<[01] G1_IO2
|
|
__IO ONE_BIT G1_IO3 : 1; //!<[02] G1_IO3
|
|
__IO ONE_BIT G1_IO4 : 1; //!<[03] G1_IO4
|
|
__IO ONE_BIT G2_IO1 : 1; //!<[04] G2_IO1
|
|
__IO ONE_BIT G2_IO2 : 1; //!<[05] G2_IO2
|
|
__IO ONE_BIT G2_IO3 : 1; //!<[06] G2_IO3
|
|
__IO ONE_BIT G2_IO4 : 1; //!<[07] G2_IO4
|
|
__IO ONE_BIT G3_IO1 : 1; //!<[08] G3_IO1
|
|
__IO ONE_BIT G3_IO2 : 1; //!<[09] G3_IO2
|
|
__IO ONE_BIT G3_IO3 : 1; //!<[10] G3_IO3
|
|
__IO ONE_BIT G3_IO4 : 1; //!<[11] G3_IO4
|
|
__IO ONE_BIT G4_IO1 : 1; //!<[12] G4_IO1
|
|
__IO ONE_BIT G4_IO2 : 1; //!<[13] G4_IO2
|
|
__IO ONE_BIT G4_IO3 : 1; //!<[14] G4_IO3
|
|
__IO ONE_BIT G4_IO4 : 1; //!<[15] G4_IO4
|
|
__IO ONE_BIT G5_IO1 : 1; //!<[16] G5_IO1
|
|
__IO ONE_BIT G5_IO2 : 1; //!<[17] G5_IO2
|
|
__IO ONE_BIT G5_IO3 : 1; //!<[18] G5_IO3
|
|
__IO ONE_BIT G5_IO4 : 1; //!<[19] G5_IO4
|
|
__IO ONE_BIT G6_IO1 : 1; //!<[20] G6_IO1
|
|
__IO ONE_BIT G6_IO2 : 1; //!<[21] G6_IO2
|
|
__IO ONE_BIT G6_IO3 : 1; //!<[22] G6_IO3
|
|
__IO ONE_BIT G6_IO4 : 1; //!<[23] G6_IO4
|
|
__IO ONE_BIT G7_IO1 : 1; //!<[24] G7_IO1
|
|
__IO ONE_BIT G7_IO2 : 1; //!<[25] G7_IO2
|
|
__IO ONE_BIT G7_IO3 : 1; //!<[26] G7_IO3
|
|
__IO ONE_BIT G7_IO4 : 1; //!<[27] G7_IO4
|
|
__IO ONE_BIT G8_IO1 : 1; //!<[28] G8_IO1
|
|
__IO ONE_BIT G8_IO2 : 1; //!<[29] G8_IO2
|
|
__IO ONE_BIT G8_IO3 : 1; //!<[30] G8_IO3
|
|
__IO ONE_BIT G8_IO4 : 1; //!<[31] G8_IO4
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit IOCCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
IOCCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
IOCCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union IOGCSR_DEF { //!< I/O group control status register
|
|
struct {
|
|
__IO ONE_BIT G1E : 1; //!<[00] Analog I/O group x enable
|
|
__IO ONE_BIT G2E : 1; //!<[01] Analog I/O group x enable
|
|
__IO ONE_BIT G3E : 1; //!<[02] Analog I/O group x enable
|
|
__IO ONE_BIT G4E : 1; //!<[03] Analog I/O group x enable
|
|
__IO ONE_BIT G5E : 1; //!<[04] Analog I/O group x enable
|
|
__IO ONE_BIT G6E : 1; //!<[05] Analog I/O group x enable
|
|
__IO ONE_BIT G7E : 1; //!<[06] Analog I/O group x enable
|
|
__IO ONE_BIT G8E : 1; //!<[07] Analog I/O group x enable
|
|
uint32_t UNUSED0 : 8; //!<[08]
|
|
__I ONE_BIT G1S : 1; //!<[16] Analog I/O group x status
|
|
__I ONE_BIT G2S : 1; //!<[17] Analog I/O group x status
|
|
__I ONE_BIT G3S : 1; //!<[18] Analog I/O group x status
|
|
__I ONE_BIT G4S : 1; //!<[19] Analog I/O group x status
|
|
__I ONE_BIT G5S : 1; //!<[20] Analog I/O group x status
|
|
__I ONE_BIT G6S : 1; //!<[21] Analog I/O group x status
|
|
__I ONE_BIT G7S : 1; //!<[22] Analog I/O group x status
|
|
__I ONE_BIT G8S : 1; //!<[23] Analog I/O group x status
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit IOGCSR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
IOGCSR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
IOGCSR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union IOG1CR_DEF { //!< I/O group x counter register
|
|
struct {
|
|
__I uint32_t CNT : 14; //!<[00] Counter value
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit IOG1CR_DEF (volatile IOG1CR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union IOG2CR_DEF { //!< I/O group x counter register
|
|
struct {
|
|
__I uint32_t CNT : 14; //!<[00] Counter value
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit IOG2CR_DEF (volatile IOG2CR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union IOG3CR_DEF { //!< I/O group x counter register
|
|
struct {
|
|
__I uint32_t CNT : 14; //!<[00] Counter value
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit IOG3CR_DEF (volatile IOG3CR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union IOG4CR_DEF { //!< I/O group x counter register
|
|
struct {
|
|
__I uint32_t CNT : 14; //!<[00] Counter value
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit IOG4CR_DEF (volatile IOG4CR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union IOG5CR_DEF { //!< I/O group x counter register
|
|
struct {
|
|
__I uint32_t CNT : 14; //!<[00] Counter value
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit IOG5CR_DEF (volatile IOG5CR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union IOG6CR_DEF { //!< I/O group x counter register
|
|
struct {
|
|
__I uint32_t CNT : 14; //!<[00] Counter value
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit IOG6CR_DEF (volatile IOG6CR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union IOG7CR_DEF { //!< I/O group x counter register
|
|
struct {
|
|
__I uint32_t CNT : 14; //!<[00] Counter value
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit IOG7CR_DEF (volatile IOG7CR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union IOG8CR_DEF { //!< I/O group x counter register
|
|
struct {
|
|
__I uint32_t CNT : 14; //!<[00] Counter value
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit IOG8CR_DEF (volatile IOG8CR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
// PERIPHERAL TSC REGISTERS INSTANCES
|
|
__IO CR_DEF CR ; //!< [0000](04)[0x00000000]
|
|
__IO IER_DEF IER ; //!< [0004](04)[0x00000000]
|
|
__IO ICR_DEF ICR ; //!< [0008](04)[0x00000000]
|
|
__IO ISR_DEF ISR ; //!< [000c](04)[0x00000000]
|
|
__IO IOHCR_DEF IOHCR ; //!< [0010](04)[0xFFFFFFFF]
|
|
uint32_t UNUSED0 ; //!< [0014](04)[0xFFFFFFFF]
|
|
__IO IOASCR_DEF IOASCR ; //!< [0018](04)[0x00000000]
|
|
uint32_t UNUSED1 ; //!< [001c](04)[0xFFFFFFFF]
|
|
__IO IOSCR_DEF IOSCR ; //!< [0020](04)[0x00000000]
|
|
uint32_t UNUSED2 ; //!< [0024](04)[0xFFFFFFFF]
|
|
__IO IOCCR_DEF IOCCR ; //!< [0028](04)[0x00000000]
|
|
uint32_t UNUSED3 ; //!< [002c](04)[0xFFFFFFFF]
|
|
__IO IOGCSR_DEF IOGCSR ; //!< [0030](04)[0x00000000]
|
|
__I IOG1CR_DEF IOG1CR ; //!< [0034](04)[0x00000000]
|
|
__I IOG2CR_DEF IOG2CR ; //!< [0038](04)[0x00000000]
|
|
__I IOG3CR_DEF IOG3CR ; //!< [003c](04)[0x00000000]
|
|
__I IOG4CR_DEF IOG4CR ; //!< [0040](04)[0x00000000]
|
|
__I IOG5CR_DEF IOG5CR ; //!< [0044](04)[0x00000000]
|
|
__I IOG6CR_DEF IOG6CR ; //!< [0048](04)[0x00000000]
|
|
__I IOG7CR_DEF IOG7CR ; //!< [004c](04)[0x00000000]
|
|
__I IOG8CR_DEF IOG8CR ; //!< [0050](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x0054 */
|
|
|
|
// ////////////////////+++ IWDG +-+//////////////////// //
|
|
struct IWDG_Type { /*!< Independent watchdog */
|
|
union KR_DEF { //!< Key register
|
|
struct {
|
|
__O uint32_t KEY : 16; //!<[00] Key value (write only, read 0x0000)
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit KR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
KR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PR_DEF { //!< Prescaler register
|
|
struct {
|
|
__IO uint32_t PR : 3; //!<[00] Prescaler divider
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RLR_DEF { //!< Reload register
|
|
struct {
|
|
__IO uint32_t RL : 12; //!<[00] Watchdog counter reload value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit RLR_DEF () noexcept { R = 0x00000fffu; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
RLR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
RLR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SR_DEF { //!< Status register
|
|
struct {
|
|
__I ONE_BIT PVU : 1; //!<[00] Watchdog prescaler value update
|
|
__I ONE_BIT RVU : 1; //!<[01] Watchdog counter reload value update
|
|
__I ONE_BIT WVU : 1; //!<[02] Watchdog counter window value update
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit SR_DEF (volatile SR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union WINR_DEF { //!< Window register
|
|
struct {
|
|
__IO uint32_t WIN : 12; //!<[00] Watchdog counter window value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit WINR_DEF () noexcept { R = 0x00000fffu; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
WINR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
WINR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL IWDG REGISTERS INSTANCES
|
|
__O KR_DEF KR ; //!< [0000](04)[0x00000000]
|
|
__IO PR_DEF PR ; //!< [0004](04)[0x00000000]
|
|
__IO RLR_DEF RLR ; //!< [0008](04)[0x00000FFF]
|
|
__I SR_DEF SR ; //!< [000c](04)[0x00000000]
|
|
__IO WINR_DEF WINR ; //!< [0010](04)[0x00000FFF]
|
|
}; /* total size = 0x0400, struct size = 0x0014 */
|
|
|
|
// ////////////////////+++ WWDG +-+//////////////////// //
|
|
struct WWDG_Type { /*!< System window watchdog */
|
|
union CR_DEF { //!< Control register
|
|
struct {
|
|
__IO uint32_t T : 7; //!<[00] 7-bit counter (MSB to LSB)
|
|
__IO ONE_BIT WDGA : 1; //!<[07] Activation bit
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR_DEF () noexcept { R = 0x0000007fu; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CFR_DEF { //!< Configuration register
|
|
struct {
|
|
__IO uint32_t W : 7; //!<[00] 7-bit window value
|
|
__IO uint32_t WDGTB : 2; //!<[07] Timer base
|
|
__IO ONE_BIT EWI : 1; //!<[09] Early wakeup interrupt
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CFR_DEF () noexcept { R = 0x0000007fu; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CFR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CFR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SR_DEF { //!< Status register
|
|
struct {
|
|
__IO ONE_BIT EWIF : 1; //!<[00] Early wakeup interrupt flag
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit SR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
SR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
SR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL WWDG REGISTERS INSTANCES
|
|
__IO CR_DEF CR ; //!< [0000](04)[0x0000007F]
|
|
__IO CFR_DEF CFR ; //!< [0004](04)[0x0000007F]
|
|
__IO SR_DEF SR ; //!< [0008](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x000C */
|
|
|
|
// ////////////////////+++ COMP +-+//////////////////// //
|
|
struct COMP_Type { /*!< Comparator */
|
|
union COMP1_CSR_DEF { //!< Comparator 1 control and status register
|
|
struct {
|
|
__IO ONE_BIT COMP1_EN : 1; //!<[00] Comparator 1 enable bit
|
|
ONE_BIT UNUSED0 : 1; //!<[01]
|
|
__IO uint32_t COMP1_PWRMODE : 2; //!<[02] Power Mode of the comparator 1
|
|
__IO uint32_t COMP1_INMSEL : 3; //!<[04] Comparator 1 Input Minus connection configuration bit
|
|
__IO uint32_t COMP1_INPSEL : 2; //!<[07] Comparator1 input plus selection bit
|
|
uint32_t UNUSED1 : 6; //!<[09]
|
|
__IO ONE_BIT COMP1_POLARITY : 1; //!<[15] Comparator 1 polarity selection bit
|
|
__IO uint32_t COMP1_HYST : 2; //!<[16] Comparator 1 hysteresis selection bits
|
|
__IO uint32_t COMP1_BLANKING : 3; //!<[18] Comparator 1 blanking source selection bits
|
|
ONE_BIT UNUSED2 : 1; //!<[21]
|
|
__IO ONE_BIT COMP1_BRGEN : 1; //!<[22] Scaler bridge enable
|
|
__IO ONE_BIT COMP1_SCALEN : 1; //!<[23] Voltage scaler enable bit
|
|
ONE_BIT UNUSED3 : 1; //!<[24]
|
|
__IO uint32_t COMP1_INMESEL : 2; //!<[25] comparator 1 input minus extended selection bits
|
|
uint32_t UNUSED4 : 3; //!<[27]
|
|
__I ONE_BIT COMP1_VALUE : 1; //!<[30] Comparator 1 output status bit
|
|
__O ONE_BIT COMP1_LOCK : 1; //!<[31] COMP1_CSR register lock bit
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit COMP1_CSR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
COMP1_CSR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
COMP1_CSR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union COMP2_CSR_DEF { //!< Comparator 2 control and status register
|
|
struct {
|
|
__IO ONE_BIT COMP2_EN : 1; //!<[00] Comparator 2 enable bit
|
|
ONE_BIT UNUSED0 : 1; //!<[01]
|
|
__IO uint32_t COMP2_PWRMODE : 2; //!<[02] Power Mode of the comparator 2
|
|
__IO uint32_t COMP2_INMSEL : 3; //!<[04] Comparator 2 Input Minus connection configuration bit
|
|
__IO uint32_t COMP2_INPSEL : 2; //!<[07] Comparator 2 Input Plus connection configuration bit
|
|
__IO ONE_BIT COMP2_WINMODE : 1; //!<[09] Windows mode selection bit
|
|
uint32_t UNUSED1 : 5; //!<[10]
|
|
__IO ONE_BIT COMP2_POLARITY : 1; //!<[15] Comparator 2 polarity selection bit
|
|
__IO uint32_t COMP2_HYST : 2; //!<[16] Comparator 2 hysteresis selection bits
|
|
__IO uint32_t COMP2_BLANKING : 3; //!<[18] Comparator 2 blanking source selection bits
|
|
ONE_BIT UNUSED2 : 1; //!<[21]
|
|
__IO ONE_BIT COMP2_BRGEN : 1; //!<[22] Scaler bridge enable
|
|
__IO ONE_BIT COMP2_SCALEN : 1; //!<[23] Voltage scaler enable bit
|
|
ONE_BIT UNUSED3 : 1; //!<[24]
|
|
__IO uint32_t COMP2_INMESEL : 2; //!<[25] comparator 2 input minus extended selection bits
|
|
uint32_t UNUSED4 : 3; //!<[27]
|
|
__I ONE_BIT COMP2_VALUE : 1; //!<[30] Comparator 2 output status bit
|
|
__O ONE_BIT COMP2_LOCK : 1; //!<[31] COMP2_CSR register lock bit
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit COMP2_CSR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
COMP2_CSR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
COMP2_CSR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL COMP REGISTERS INSTANCES
|
|
__IO COMP1_CSR_DEF COMP1_CSR ; //!< [0000](04)[0x00000000]
|
|
__IO COMP2_CSR_DEF COMP2_CSR ; //!< [0004](04)[0x00000000]
|
|
}; /* total size = 0x0200, struct size = 0x0008 */
|
|
|
|
// ////////////////////+++ FIREWALL +-+//////////////////// //
|
|
struct FIREWALL_Type { /*!< Firewall */
|
|
union CSSA_DEF { //!< Code segment start address
|
|
struct {
|
|
uint32_t UNUSED0 : 8; //!<[00]
|
|
__IO uint32_t ADD : 16; //!<[08] code segment start address
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CSSA_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CSSA_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CSSA_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CSL_DEF { //!< Code segment length
|
|
struct {
|
|
uint32_t UNUSED0 : 8; //!<[00]
|
|
__IO uint32_t LENG : 14; //!<[08] code segment length
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CSL_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CSL_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CSL_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union NVDSSA_DEF { //!< Non-volatile data segment start address
|
|
struct {
|
|
uint32_t UNUSED0 : 8; //!<[00]
|
|
__IO uint32_t ADD : 16; //!<[08] Non-volatile data segment start address
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit NVDSSA_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
NVDSSA_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
NVDSSA_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union NVDSL_DEF { //!< Non-volatile data segment length
|
|
struct {
|
|
uint32_t UNUSED0 : 8; //!<[00]
|
|
__IO uint32_t LENG : 14; //!<[08] Non-volatile data segment length
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit NVDSL_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
NVDSL_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
NVDSL_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union VDSSA_DEF { //!< Volatile data segment start address
|
|
struct {
|
|
uint32_t UNUSED0 : 6; //!<[00]
|
|
__IO uint32_t ADD : 10; //!<[06] Volatile data segment start address
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit VDSSA_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
VDSSA_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
VDSSA_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union VDSL_DEF { //!< Volatile data segment length
|
|
struct {
|
|
uint32_t UNUSED0 : 6; //!<[00]
|
|
__IO uint32_t LENG : 10; //!<[06] Non-volatile data segment length
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit VDSL_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
VDSL_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
VDSL_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CR_DEF { //!< Configuration register
|
|
struct {
|
|
__IO ONE_BIT FPA : 1; //!<[00] Firewall pre alarm
|
|
__IO ONE_BIT VDS : 1; //!<[01] Volatile data shared
|
|
__IO ONE_BIT VDE : 1; //!<[02] Volatile data execution
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL FIREWALL REGISTERS INSTANCES
|
|
__IO CSSA_DEF CSSA ; //!< [0000](04)[0x00000000]
|
|
__IO CSL_DEF CSL ; //!< [0004](04)[0x00000000]
|
|
__IO NVDSSA_DEF NVDSSA ; //!< [0008](04)[0x00000000]
|
|
__IO NVDSL_DEF NVDSL ; //!< [000c](04)[0x00000000]
|
|
__IO VDSSA_DEF VDSSA ; //!< [0010](04)[0x00000000]
|
|
__IO VDSL_DEF VDSL ; //!< [0014](04)[0x00000000]
|
|
uint32_t UNUSED0 [2]; //!< [0018](08)[0xFFFFFFFF]
|
|
__IO CR_DEF CR ; //!< [0020](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x0024 */
|
|
|
|
// ////////////////////+++ I2C1 +-+//////////////////// //
|
|
struct I2C1_Type { /*!< Inter-integrated circuit */
|
|
union CR1_DEF { //!< Control register 1
|
|
struct {
|
|
__IO ONE_BIT PE : 1; //!<[00] Peripheral enable
|
|
__IO ONE_BIT TXIE : 1; //!<[01] TX Interrupt enable
|
|
__IO ONE_BIT RXIE : 1; //!<[02] RX Interrupt enable
|
|
__IO ONE_BIT ADDRIE : 1; //!<[03] Address match interrupt enable (slave only)
|
|
__IO ONE_BIT NACKIE : 1; //!<[04] Not acknowledge received interrupt enable
|
|
__IO ONE_BIT STOPIE : 1; //!<[05] STOP detection Interrupt enable
|
|
__IO ONE_BIT TCIE : 1; //!<[06] Transfer Complete interrupt enable
|
|
__IO ONE_BIT ERRIE : 1; //!<[07] Error interrupts enable
|
|
__IO uint32_t DNF : 4; //!<[08] Digital noise filter
|
|
__IO ONE_BIT ANFOFF : 1; //!<[12] Analog noise filter OFF
|
|
ONE_BIT UNUSED0 : 1; //!<[13]
|
|
__IO ONE_BIT TXDMAEN : 1; //!<[14] DMA transmission requests enable
|
|
__IO ONE_BIT RXDMAEN : 1; //!<[15] DMA reception requests enable
|
|
__IO ONE_BIT SBC : 1; //!<[16] Slave byte control
|
|
__IO ONE_BIT NOSTRETCH : 1; //!<[17] Clock stretching disable
|
|
__IO ONE_BIT WUPEN : 1; //!<[18] Wakeup from STOP enable
|
|
__IO ONE_BIT GCEN : 1; //!<[19] General call enable
|
|
__IO ONE_BIT SMBHEN : 1; //!<[20] SMBus Host address enable
|
|
__IO ONE_BIT SMBDEN : 1; //!<[21] SMBus Device Default address enable
|
|
__IO ONE_BIT ALERTEN : 1; //!<[22] SMBUS alert enable
|
|
__IO ONE_BIT PECEN : 1; //!<[23] PEC enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CR2_DEF { //!< Control register 2
|
|
struct {
|
|
__IO uint32_t SADD : 10; //!<[00] Slave address bit (master mode)
|
|
__IO ONE_BIT RD_WRN : 1; //!<[10] Transfer direction (master mode)
|
|
__IO ONE_BIT ADD10 : 1; //!<[11] 10-bit addressing mode (master mode)
|
|
__IO ONE_BIT HEAD10R : 1; //!<[12] 10-bit address header only read direction (master receiver mode)
|
|
__IO ONE_BIT START : 1; //!<[13] Start generation
|
|
__IO ONE_BIT STOP : 1; //!<[14] Stop generation (master mode)
|
|
__IO ONE_BIT NACK : 1; //!<[15] NACK generation (slave mode)
|
|
__IO uint32_t NBYTES : 8; //!<[16] Number of bytes
|
|
__IO ONE_BIT RELOAD : 1; //!<[24] NBYTES reload mode
|
|
__IO ONE_BIT AUTOEND : 1; //!<[25] Automatic end mode (master mode)
|
|
__IO ONE_BIT PECBYTE : 1; //!<[26] Packet error checking byte
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union OAR1_DEF { //!< Own address register 1
|
|
struct {
|
|
__IO uint32_t OA1 : 10; //!<[00] Interface address
|
|
__IO ONE_BIT OA1MODE : 1; //!<[10] Own Address 1 10-bit mode
|
|
uint32_t UNUSED0 : 4; //!<[11]
|
|
__IO ONE_BIT OA1EN : 1; //!<[15] Own Address 1 enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit OAR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
OAR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
OAR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union OAR2_DEF { //!< Own address register 2
|
|
struct {
|
|
ONE_BIT UNUSED0 : 1; //!<[00]
|
|
__IO uint32_t OA2 : 7; //!<[01] Interface address
|
|
__IO uint32_t OA2MSK : 3; //!<[08] Own Address 2 masks
|
|
uint32_t UNUSED1 : 4; //!<[11]
|
|
__IO ONE_BIT OA2EN : 1; //!<[15] Own Address 2 enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit OAR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
OAR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
OAR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union TIMINGR_DEF { //!< Timing register
|
|
struct {
|
|
__IO uint32_t SCLL : 8; //!<[00] SCL low period (master mode)
|
|
__IO uint32_t SCLH : 8; //!<[08] SCL high period (master mode)
|
|
__IO uint32_t SDADEL : 4; //!<[16] Data hold time
|
|
__IO uint32_t SCLDEL : 4; //!<[20] Data setup time
|
|
uint32_t UNUSED0 : 4; //!<[24]
|
|
__IO uint32_t PRESC : 4; //!<[28] Timing prescaler
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit TIMINGR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
TIMINGR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
TIMINGR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union TIMEOUTR_DEF { //!< Status register 1
|
|
struct {
|
|
__IO uint32_t TIMEOUTA : 12; //!<[00] Bus timeout A
|
|
__IO ONE_BIT TIDLE : 1; //!<[12] Idle clock timeout detection
|
|
uint32_t UNUSED0 : 2; //!<[13]
|
|
__IO ONE_BIT TIMOUTEN : 1; //!<[15] Clock timeout enable
|
|
__IO uint32_t TIMEOUTB : 12; //!<[16] Bus timeout B
|
|
uint32_t UNUSED1 : 3; //!<[28]
|
|
__IO ONE_BIT TEXTEN : 1; //!<[31] Extended clock timeout enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit TIMEOUTR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
TIMEOUTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
TIMEOUTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ISR_DEF { //!< Interrupt and Status register
|
|
struct {
|
|
__IO ONE_BIT TXE : 1; //!<[00] Transmit data register empty (transmitters)
|
|
__IO ONE_BIT TXIS : 1; //!<[01] Transmit interrupt status (transmitters)
|
|
__I ONE_BIT RXNE : 1; //!<[02] Receive data register not empty (receivers)
|
|
__I ONE_BIT ADDR : 1; //!<[03] Address matched (slave mode)
|
|
__I ONE_BIT NACKF : 1; //!<[04] Not acknowledge received flag
|
|
__I ONE_BIT STOPF : 1; //!<[05] Stop detection flag
|
|
__I ONE_BIT TC : 1; //!<[06] Transfer Complete (master mode)
|
|
__I ONE_BIT TCR : 1; //!<[07] Transfer Complete Reload
|
|
__I ONE_BIT BERR : 1; //!<[08] Bus error
|
|
__I ONE_BIT ARLO : 1; //!<[09] Arbitration lost
|
|
__I ONE_BIT OVR : 1; //!<[10] Overrun/Underrun (slave mode)
|
|
__I ONE_BIT PECERR : 1; //!<[11] PEC Error in reception
|
|
__I ONE_BIT TIMEOUT : 1; //!<[12] Timeout or t_low detection flag
|
|
__I ONE_BIT ALERT : 1; //!<[13] SMBus alert
|
|
ONE_BIT UNUSED0 : 1; //!<[14]
|
|
__I ONE_BIT BUSY : 1; //!<[15] Bus busy
|
|
__I ONE_BIT DIR : 1; //!<[16] Transfer direction (Slave mode)
|
|
__I uint32_t ADDCODE : 7; //!<[17] Address match code (Slave mode)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ISR_DEF () noexcept { R = 0x00000001u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ISR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ISR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ICR_DEF { //!< Interrupt clear register
|
|
struct {
|
|
uint32_t UNUSED0 : 3; //!<[00]
|
|
__O ONE_BIT ADDRCF : 1; //!<[03] Address Matched flag clear
|
|
__O ONE_BIT NACKCF : 1; //!<[04] Not Acknowledge flag clear
|
|
__O ONE_BIT STOPCF : 1; //!<[05] Stop detection flag clear
|
|
uint32_t UNUSED1 : 2; //!<[06]
|
|
__O ONE_BIT BERRCF : 1; //!<[08] Bus error flag clear
|
|
__O ONE_BIT ARLOCF : 1; //!<[09] Arbitration lost flag clear
|
|
__O ONE_BIT OVRCF : 1; //!<[10] Overrun/Underrun flag clear
|
|
__O ONE_BIT PECCF : 1; //!<[11] PEC Error flag clear
|
|
__O ONE_BIT TIMOUTCF : 1; //!<[12] Timeout detection flag clear
|
|
__O ONE_BIT ALERTCF : 1; //!<[13] Alert flag clear
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit ICR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ICR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PECR_DEF { //!< PEC register
|
|
struct {
|
|
__I uint32_t PEC : 8; //!<[00] Packet error checking register
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit PECR_DEF (volatile PECR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union RXDR_DEF { //!< Receive data register
|
|
struct {
|
|
__I uint32_t RXDATA : 8; //!<[00] 8-bit receive data
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit RXDR_DEF (volatile RXDR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union TXDR_DEF { //!< Transmit data register
|
|
struct {
|
|
__IO uint32_t TXDATA : 8; //!<[00] 8-bit transmit data
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit TXDR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
TXDR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
TXDR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL I2C1 REGISTERS INSTANCES
|
|
__IO CR1_DEF CR1 ; //!< [0000](04)[0x00000000]
|
|
__IO CR2_DEF CR2 ; //!< [0004](04)[0x00000000]
|
|
__IO OAR1_DEF OAR1 ; //!< [0008](04)[0x00000000]
|
|
__IO OAR2_DEF OAR2 ; //!< [000c](04)[0x00000000]
|
|
__IO TIMINGR_DEF TIMINGR ; //!< [0010](04)[0x00000000]
|
|
__IO TIMEOUTR_DEF TIMEOUTR ; //!< [0014](04)[0x00000000]
|
|
__IO ISR_DEF ISR ; //!< [0018](04)[0x00000001]
|
|
__O ICR_DEF ICR ; //!< [001c](04)[0x00000000]
|
|
__I PECR_DEF PECR ; //!< [0020](04)[0x00000000]
|
|
__I RXDR_DEF RXDR ; //!< [0024](04)[0x00000000]
|
|
__IO TXDR_DEF TXDR ; //!< [0028](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x002C */
|
|
|
|
// ////////////////////+++ FLASH +-+//////////////////// //
|
|
struct FLASH_Type { /*!< Flash */
|
|
union ACR_DEF { //!< Access control register
|
|
struct {
|
|
__IO uint32_t LATENCY : 3; //!<[00] Latency
|
|
uint32_t UNUSED0 : 5; //!<[03]
|
|
__IO ONE_BIT PRFTEN : 1; //!<[08] Prefetch enable
|
|
__IO ONE_BIT ICEN : 1; //!<[09] Instruction cache enable
|
|
__IO ONE_BIT DCEN : 1; //!<[10] Data cache enable
|
|
__IO ONE_BIT ICRST : 1; //!<[11] Instruction cache reset
|
|
__IO ONE_BIT DCRST : 1; //!<[12] Data cache reset
|
|
__IO ONE_BIT RUN_PD : 1; //!<[13] Flash Power-down mode during Low-power run mode
|
|
__IO ONE_BIT SLEEP_PD : 1; //!<[14] Flash Power-down mode during Low-power sleep mode
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ACR_DEF () noexcept { R = 0x00000600u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ACR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ACR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PDKEYR_DEF { //!< Power down key register
|
|
struct {
|
|
__O uint32_t PDKEYR : 32; //!<[00] RUN_PD in FLASH_ACR key
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit PDKEYR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PDKEYR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union KEYR_DEF { //!< Flash key register
|
|
struct {
|
|
__O uint32_t KEYR : 32; //!<[00] KEYR
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit KEYR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
KEYR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union OPTKEYR_DEF { //!< Option byte key register
|
|
struct {
|
|
__O uint32_t OPTKEYR : 32; //!<[00] Option byte key
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit OPTKEYR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
OPTKEYR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SR_DEF { //!< Status register
|
|
struct {
|
|
__IO ONE_BIT EOP : 1; //!<[00] End of operation
|
|
__IO ONE_BIT OPERR : 1; //!<[01] Operation error
|
|
ONE_BIT UNUSED0 : 1; //!<[02]
|
|
__IO ONE_BIT PROGERR : 1; //!<[03] Programming error
|
|
__IO ONE_BIT WRPERR : 1; //!<[04] Write protected error
|
|
__IO ONE_BIT PGAERR : 1; //!<[05] Programming alignment error
|
|
__IO ONE_BIT SIZERR : 1; //!<[06] Size error
|
|
__IO ONE_BIT PGSERR : 1; //!<[07] Programming sequence error
|
|
__IO ONE_BIT MISERR : 1; //!<[08] Fast programming data miss error
|
|
__IO ONE_BIT FASTERR : 1; //!<[09] Fast programming error
|
|
uint32_t UNUSED1 : 4; //!<[10]
|
|
__IO ONE_BIT RDERR : 1; //!<[14] PCROP read error
|
|
__IO ONE_BIT OPTVERR : 1; //!<[15] Option validity error
|
|
__I ONE_BIT BSY : 1; //!<[16] Busy
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit SR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
SR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
SR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CR_DEF { //!< Flash control register
|
|
struct {
|
|
__IO ONE_BIT PG : 1; //!<[00] Programming
|
|
__IO ONE_BIT PER : 1; //!<[01] Page erase
|
|
__IO ONE_BIT MER1 : 1; //!<[02] Bank 1 Mass erase
|
|
__IO uint32_t PNB : 8; //!<[03] Page number
|
|
__IO ONE_BIT BKER : 1; //!<[11] Bank erase
|
|
uint32_t UNUSED0 : 3; //!<[12]
|
|
__IO ONE_BIT MER2 : 1; //!<[15] Bank 2 Mass erase
|
|
__IO ONE_BIT START : 1; //!<[16] Start
|
|
__IO ONE_BIT OPTSTRT : 1; //!<[17] Options modification start
|
|
__IO ONE_BIT FSTPG : 1; //!<[18] Fast programming
|
|
uint32_t UNUSED1 : 5; //!<[19]
|
|
__IO ONE_BIT EOPIE : 1; //!<[24] End of operation interrupt enable
|
|
__IO ONE_BIT ERRIE : 1; //!<[25] Error interrupt enable
|
|
__IO ONE_BIT RDERRIE : 1; //!<[26] PCROP read error interrupt enable
|
|
__IO ONE_BIT OBL_LAUNCH : 1; //!<[27] Force the option byte loading
|
|
uint32_t UNUSED2 : 2; //!<[28]
|
|
__IO ONE_BIT OPTLOCK : 1; //!<[30] Options Lock
|
|
__IO ONE_BIT LOCK : 1; //!<[31] FLASH_CR Lock
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR_DEF () noexcept { R = 0xc0000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ECCR_DEF { //!< Flash ECC register
|
|
struct {
|
|
__I uint32_t ADDR_ECC : 19; //!<[00] ECC fail address
|
|
__I ONE_BIT BK_ECC : 1; //!<[19] ECC fail bank
|
|
__I ONE_BIT SYSF_ECC : 1; //!<[20] System Flash ECC fail
|
|
uint32_t UNUSED0 : 3; //!<[21]
|
|
__IO ONE_BIT ECCIE : 1; //!<[24] ECC correction interrupt enable
|
|
uint32_t UNUSED1 : 5; //!<[25]
|
|
__IO ONE_BIT ECCC : 1; //!<[30] ECC correction
|
|
__IO ONE_BIT ECCD : 1; //!<[31] ECC detection
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ECCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ECCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ECCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union OPTR_DEF { //!< Flash option register
|
|
struct {
|
|
__IO uint32_t RDP : 8; //!<[00] Read protection level
|
|
__IO uint32_t BOR_LEV : 3; //!<[08] BOR reset Level
|
|
ONE_BIT UNUSED0 : 1; //!<[11]
|
|
__IO ONE_BIT nRST_STOP : 1; //!<[12] nRST_STOP
|
|
__IO ONE_BIT nRST_STDBY : 1; //!<[13] nRST_STDBY
|
|
__IO ONE_BIT nRST_SHDW : 1; //!<[14] nRST_SHDW
|
|
ONE_BIT UNUSED1 : 1; //!<[15]
|
|
__IO ONE_BIT IWDG_SW : 1; //!<[16] Independent watchdog selection
|
|
__IO ONE_BIT IWDG_STOP : 1; //!<[17] Independent watchdog counter freeze in Stop mode
|
|
__IO ONE_BIT IWDG_STDBY : 1; //!<[18] Independent watchdog counter freeze in Standby mode
|
|
__IO ONE_BIT WWDG_SW : 1; //!<[19] Window watchdog selection
|
|
uint32_t UNUSED2 : 3; //!<[20]
|
|
__IO ONE_BIT nBOOT1 : 1; //!<[23] Boot configuration
|
|
__IO ONE_BIT SRAM2_PE : 1; //!<[24] SRAM2 parity check enable
|
|
__IO ONE_BIT SRAM2_RST : 1; //!<[25] SRAM2 Erase when system reset
|
|
__IO ONE_BIT nSWBOOT0 : 1; //!<[26] Software BOOT0
|
|
__IO ONE_BIT nBOOT0 : 1; //!<[27] nBOOT0 option bit
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit OPTR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
OPTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
OPTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PCROP1SR_DEF { //!< Flash Bank 1 PCROP Start address register
|
|
struct {
|
|
__IO uint32_t PCROP1_STRT : 16; //!<[00] Bank 1 PCROP area start offset
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PCROP1SR_DEF () noexcept { R = 0xffff0000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PCROP1SR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PCROP1SR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PCROP1ER_DEF { //!< Flash Bank 1 PCROP End address register
|
|
struct {
|
|
__IO uint32_t PCROP1_END : 16; //!<[00] Bank 1 PCROP area end offset
|
|
uint32_t UNUSED0 : 15; //!<[16]
|
|
__IO ONE_BIT PCROP_RDP : 1; //!<[31] PCROP area preserved when RDP level decreased
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PCROP1ER_DEF () noexcept { R = 0x0fff0000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PCROP1ER_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PCROP1ER_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union WRP1AR_DEF { //!< Flash Bank 1 WRP area A address register
|
|
struct {
|
|
__IO uint32_t WRP1A_STRT : 8; //!<[00] WRP first area A start offset
|
|
uint32_t UNUSED0 : 8; //!<[08]
|
|
__IO uint32_t WRP1A_END : 8; //!<[16] WRP first area A end offset
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit WRP1AR_DEF () noexcept { R = 0xff00ff00u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
WRP1AR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
WRP1AR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union WRP1BR_DEF { //!< Flash Bank 1 WRP area B address register
|
|
struct {
|
|
__IO uint32_t WRP1B_STRT : 8; //!<[00] Bank 1 WRP second area B start offset
|
|
uint32_t UNUSED0 : 8; //!<[08]
|
|
__IO uint32_t WRP1B_END : 8; //!<[16] Bank 1 WRP second area B end offset
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit WRP1BR_DEF () noexcept { R = 0xff00ff00u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
WRP1BR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
WRP1BR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL FLASH REGISTERS INSTANCES
|
|
__IO ACR_DEF ACR ; //!< [0000](04)[0x00000600]
|
|
__O PDKEYR_DEF PDKEYR ; //!< [0004](04)[0x00000000]
|
|
__O KEYR_DEF KEYR ; //!< [0008](04)[0x00000000]
|
|
__O OPTKEYR_DEF OPTKEYR ; //!< [000c](04)[0x00000000]
|
|
__IO SR_DEF SR ; //!< [0010](04)[0x00000000]
|
|
__IO CR_DEF CR ; //!< [0014](04)[0xC0000000]
|
|
__IO ECCR_DEF ECCR ; //!< [0018](04)[0x00000000]
|
|
uint32_t UNUSED0 ; //!< [001c](04)[0xFFFFFFFF]
|
|
__IO OPTR_DEF OPTR ; //!< [0020](04)[0x00000000]
|
|
__IO PCROP1SR_DEF PCROP1SR ; //!< [0024](04)[0xFFFF0000]
|
|
__IO PCROP1ER_DEF PCROP1ER ; //!< [0028](04)[0x0FFF0000]
|
|
__IO WRP1AR_DEF WRP1AR ; //!< [002c](04)[0xFF00FF00]
|
|
__IO WRP1BR_DEF WRP1BR ; //!< [0030](04)[0xFF00FF00]
|
|
}; /* total size = 0x0400, struct size = 0x0034 */
|
|
|
|
// ////////////////////+++ RCC +-+//////////////////// //
|
|
struct RCC_Type { /*!< Reset and clock control */
|
|
union CR_DEF { //!< Clock control register
|
|
struct {
|
|
__IO ONE_BIT MSION : 1; //!<[00] MSI clock enable
|
|
__I ONE_BIT MSIRDY : 1; //!<[01] MSI clock ready flag
|
|
__IO ONE_BIT MSIPLLEN : 1; //!<[02] MSI clock PLL enable
|
|
__O ONE_BIT MSIRGSEL : 1; //!<[03] MSI clock range selection
|
|
__IO uint32_t MSIRANGE : 4; //!<[04] MSI clock ranges
|
|
__IO ONE_BIT HSION : 1; //!<[08] HSI clock enable
|
|
__IO ONE_BIT HSIKERON : 1; //!<[09] HSI always enable for peripheral kernels
|
|
__I ONE_BIT HSIRDY : 1; //!<[10] HSI clock ready flag
|
|
__IO ONE_BIT HSIASFS : 1; //!<[11] HSI automatic start from Stop
|
|
uint32_t UNUSED0 : 4; //!<[12]
|
|
__IO ONE_BIT HSEON : 1; //!<[16] HSE clock enable
|
|
__I ONE_BIT HSERDY : 1; //!<[17] HSE clock ready flag
|
|
__IO ONE_BIT HSEBYP : 1; //!<[18] HSE crystal oscillator bypass
|
|
__O ONE_BIT CSSON : 1; //!<[19] Clock security system enable
|
|
uint32_t UNUSED1 : 4; //!<[20]
|
|
__IO ONE_BIT PLLON : 1; //!<[24] Main PLL enable
|
|
__I ONE_BIT PLLRDY : 1; //!<[25] Main PLL clock ready flag
|
|
__IO ONE_BIT PLLSAI1ON : 1; //!<[26] SAI1 PLL enable
|
|
__I ONE_BIT PLLSAI1RDY : 1; //!<[27] SAI1 PLL clock ready flag
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR_DEF () noexcept { R = 0x00000063u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ICSCR_DEF { //!< Internal clock sources calibration register
|
|
struct {
|
|
__I uint32_t MSICAL : 8; //!<[00] MSI clock calibration
|
|
__IO uint32_t MSITRIM : 8; //!<[08] MSI clock trimming
|
|
__I uint32_t HSICAL : 8; //!<[16] HSI clock calibration
|
|
__IO uint32_t HSITRIM : 5; //!<[24] HSI clock trimming
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ICSCR_DEF () noexcept { R = 0x10000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ICSCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ICSCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CFGR_DEF { //!< Clock configuration register
|
|
struct {
|
|
__IO uint32_t SW : 2; //!<[00] System clock switch
|
|
__I uint32_t SWS : 2; //!<[02] System clock switch status
|
|
__IO uint32_t HPRE : 4; //!<[04] AHB prescaler
|
|
__IO uint32_t PPRE1 : 3; //!<[08] PB low-speed prescaler (APB1)
|
|
__IO uint32_t PPRE2 : 3; //!<[11] APB high-speed prescaler (APB2)
|
|
ONE_BIT UNUSED0 : 1; //!<[14]
|
|
__IO ONE_BIT STOPWUCK : 1; //!<[15] Wakeup from Stop and CSS backup clock selection
|
|
uint32_t UNUSED1 : 8; //!<[16]
|
|
__IO uint32_t MCOSEL : 3; //!<[24] Microcontroller clock output
|
|
ONE_BIT UNUSED2 : 1; //!<[27]
|
|
__I uint32_t MCOPRE : 3; //!<[28] Microcontroller clock output prescaler
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CFGR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CFGR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CFGR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PLLCFGR_DEF { //!< PLL configuration register
|
|
struct {
|
|
__IO uint32_t PLLSRC : 2; //!<[00] Main PLL, PLLSAI1 and PLLSAI2 entry clock source
|
|
uint32_t UNUSED0 : 2; //!<[02]
|
|
__IO uint32_t PLLM : 3; //!<[04] Division factor for the main PLL and audio PLL (PLLSAI1 and PLLSAI2) input clock
|
|
ONE_BIT UNUSED1 : 1; //!<[07]
|
|
__IO uint32_t PLLN : 7; //!<[08] Main PLL multiplication factor for VCO
|
|
ONE_BIT UNUSED2 : 1; //!<[15]
|
|
__IO ONE_BIT PLLPEN : 1; //!<[16] Main PLL PLLSAI3CLK output enable
|
|
__IO ONE_BIT PLLP : 1; //!<[17] Main PLL division factor for PLLSAI3CLK (SAI1 and SAI2 clock)
|
|
uint32_t UNUSED3 : 2; //!<[18]
|
|
__IO ONE_BIT PLLQEN : 1; //!<[20] Main PLL PLLUSB1CLK output enable
|
|
__IO uint32_t PLLQ : 2; //!<[21] Main PLL division factor for PLLUSB1CLK(48 MHz clock)
|
|
ONE_BIT UNUSED4 : 1; //!<[23]
|
|
__IO ONE_BIT PLLREN : 1; //!<[24] Main PLL PLLCLK output enable
|
|
__IO uint32_t PLLR : 2; //!<[25] Main PLL division factor for PLLCLK (system clock)
|
|
__IO uint32_t PLLPDIV : 5; //!<[27] Main PLL division factor for PLLSAI2CLK
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PLLCFGR_DEF () noexcept { R = 0x00001000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PLLCFGR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PLLCFGR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PLLSAI1CFGR_DEF { //!< PLLSAI1 configuration register
|
|
struct {
|
|
uint32_t UNUSED0 : 8; //!<[00]
|
|
__IO uint32_t PLLSAI1N : 7; //!<[08] SAI1PLL multiplication factor for VCO
|
|
ONE_BIT UNUSED1 : 1; //!<[15]
|
|
__IO ONE_BIT PLLSAI1PEN : 1; //!<[16] SAI1PLL PLLSAI1CLK output enable
|
|
__IO ONE_BIT PLLSAI1P : 1; //!<[17] SAI1PLL division factor for PLLSAI1CLK (SAI1 or SAI2 clock)
|
|
uint32_t UNUSED2 : 2; //!<[18]
|
|
__IO ONE_BIT PLLSAI1QEN : 1; //!<[20] SAI1PLL PLLUSB2CLK output enable
|
|
__IO uint32_t PLLSAI1Q : 2; //!<[21] SAI1PLL division factor for PLLUSB2CLK (48 MHz clock)
|
|
ONE_BIT UNUSED3 : 1; //!<[23]
|
|
__IO ONE_BIT PLLSAI1REN : 1; //!<[24] PLLSAI1 PLLADC1CLK output enable
|
|
__IO uint32_t PLLSAI1R : 2; //!<[25] PLLSAI1 division factor for PLLADC1CLK (ADC clock)
|
|
__IO uint32_t PLLSAI1PDIV : 5; //!<[27] PLLSAI1 division factor for PLLSAI1CLK
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PLLSAI1CFGR_DEF () noexcept { R = 0x00001000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PLLSAI1CFGR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PLLSAI1CFGR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CIER_DEF { //!< Clock interrupt enable register
|
|
struct {
|
|
__IO ONE_BIT LSIRDYIE : 1; //!<[00] LSI ready interrupt enable
|
|
__IO ONE_BIT LSERDYIE : 1; //!<[01] LSE ready interrupt enable
|
|
__IO ONE_BIT MSIRDYIE : 1; //!<[02] MSI ready interrupt enable
|
|
__IO ONE_BIT HSIRDYIE : 1; //!<[03] HSI ready interrupt enable
|
|
__IO ONE_BIT HSERDYIE : 1; //!<[04] HSE ready interrupt enable
|
|
__IO ONE_BIT PLLRDYIE : 1; //!<[05] PLL ready interrupt enable
|
|
__IO ONE_BIT PLLSAI1RDYIE : 1; //!<[06] PLLSAI1 ready interrupt enable
|
|
uint32_t UNUSED0 : 2; //!<[07]
|
|
__IO ONE_BIT LSECSSIE : 1; //!<[09] LSE clock security system interrupt enable
|
|
__IO ONE_BIT HSI48RDYIE : 1; //!<[10] HSI48 ready interrupt enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CIER_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CIER_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CIER_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CIFR_DEF { //!< Clock interrupt flag register
|
|
struct {
|
|
__I ONE_BIT LSIRDYF : 1; //!<[00] LSI ready interrupt flag
|
|
__I ONE_BIT LSERDYF : 1; //!<[01] LSE ready interrupt flag
|
|
__I ONE_BIT MSIRDYF : 1; //!<[02] MSI ready interrupt flag
|
|
__I ONE_BIT HSIRDYF : 1; //!<[03] HSI ready interrupt flag
|
|
__I ONE_BIT HSERDYF : 1; //!<[04] HSE ready interrupt flag
|
|
__I ONE_BIT PLLRDYF : 1; //!<[05] PLL ready interrupt flag
|
|
__I ONE_BIT PLLSAI1RDYF : 1; //!<[06] PLLSAI1 ready interrupt flag
|
|
ONE_BIT UNUSED0 : 1; //!<[07]
|
|
__I ONE_BIT CSSF : 1; //!<[08] Clock security system interrupt flag
|
|
__I ONE_BIT LSECSSF : 1; //!<[09] LSE Clock security system interrupt flag
|
|
__I ONE_BIT HSI48RDYF : 1; //!<[10] HSI48 ready interrupt flag
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit CIFR_DEF (volatile CIFR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union CICR_DEF { //!< Clock interrupt clear register
|
|
struct {
|
|
__O ONE_BIT LSIRDYC : 1; //!<[00] LSI ready interrupt clear
|
|
__O ONE_BIT LSERDYC : 1; //!<[01] LSE ready interrupt clear
|
|
__O ONE_BIT MSIRDYC : 1; //!<[02] MSI ready interrupt clear
|
|
__O ONE_BIT HSIRDYC : 1; //!<[03] HSI ready interrupt clear
|
|
__O ONE_BIT HSERDYC : 1; //!<[04] HSE ready interrupt clear
|
|
__O ONE_BIT PLLRDYC : 1; //!<[05] PLL ready interrupt clear
|
|
__O ONE_BIT PLLSAI1RDYC : 1; //!<[06] PLLSAI1 ready interrupt clear
|
|
ONE_BIT UNUSED0 : 1; //!<[07]
|
|
__O ONE_BIT CSSC : 1; //!<[08] Clock security system interrupt clear
|
|
__O ONE_BIT LSECSSC : 1; //!<[09] LSE Clock security system interrupt clear
|
|
__O ONE_BIT HSI48RDYC : 1; //!<[10] HSI48 oscillator ready interrupt clear
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit CICR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CICR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union AHB1RSTR_DEF { //!< AHB1 peripheral reset register
|
|
struct {
|
|
__IO ONE_BIT DMA1RST : 1; //!<[00] DMA1 reset
|
|
__IO ONE_BIT DMA2RST : 1; //!<[01] DMA2 reset
|
|
uint32_t UNUSED0 : 6; //!<[02]
|
|
__IO ONE_BIT FLASHRST : 1; //!<[08] Flash memory interface reset
|
|
uint32_t UNUSED1 : 2; //!<[09]
|
|
__IO ONE_BIT CRCRST : 1; //!<[11] CRC reset
|
|
uint32_t UNUSED2 : 4; //!<[12]
|
|
__IO ONE_BIT TSCRST : 1; //!<[16] Touch Sensing Controller reset
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit AHB1RSTR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
AHB1RSTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
AHB1RSTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union AHB2RSTR_DEF { //!< AHB2 peripheral reset register
|
|
struct {
|
|
__IO ONE_BIT GPIOARST : 1; //!<[00] IO port A reset
|
|
__IO ONE_BIT GPIOBRST : 1; //!<[01] IO port B reset
|
|
__IO ONE_BIT GPIOCRST : 1; //!<[02] IO port C reset
|
|
__IO ONE_BIT GPIODRST : 1; //!<[03] IO port D reset
|
|
__IO ONE_BIT GPIOERST : 1; //!<[04] IO port E reset
|
|
uint32_t UNUSED0 : 2; //!<[05]
|
|
__IO ONE_BIT GPIOHRST : 1; //!<[07] IO port H reset
|
|
uint32_t UNUSED1 : 5; //!<[08]
|
|
__IO ONE_BIT ADCRST : 1; //!<[13] ADC reset
|
|
uint32_t UNUSED2 : 2; //!<[14]
|
|
__IO ONE_BIT AESRST : 1; //!<[16] AES hardware accelerator reset
|
|
ONE_BIT UNUSED3 : 1; //!<[17]
|
|
__IO ONE_BIT RNGRST : 1; //!<[18] Random number generator reset
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit AHB2RSTR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
AHB2RSTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
AHB2RSTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union AHB3RSTR_DEF { //!< AHB3 peripheral reset register
|
|
struct {
|
|
uint32_t UNUSED0 : 8; //!<[00]
|
|
__IO ONE_BIT QSPIRST : 1; //!<[08] Quad SPI memory interface reset
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit AHB3RSTR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
AHB3RSTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
AHB3RSTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union APB1RSTR1_DEF { //!< APB1 peripheral reset register 1
|
|
struct {
|
|
__IO ONE_BIT TIM2RST : 1; //!<[00] TIM2 timer reset
|
|
uint32_t UNUSED0 : 3; //!<[01]
|
|
__IO ONE_BIT TIM6RST : 1; //!<[04] TIM6 timer reset
|
|
__IO ONE_BIT TIM7RST : 1; //!<[05] TIM7 timer reset
|
|
uint32_t UNUSED1 : 3; //!<[06]
|
|
__IO ONE_BIT LCDRST : 1; //!<[09] LCD interface reset
|
|
uint32_t UNUSED2 : 4; //!<[10]
|
|
__IO ONE_BIT SPI2RST : 1; //!<[14] SPI2 reset
|
|
__IO ONE_BIT SPI3RST : 1; //!<[15] SPI3 reset
|
|
ONE_BIT UNUSED3 : 1; //!<[16]
|
|
__IO ONE_BIT USART2RST : 1; //!<[17] USART2 reset
|
|
__IO ONE_BIT USART1RST : 1; //!<[18] USART1 reset
|
|
__IO ONE_BIT USART4RST : 1; //!<[19] USART4 reset.
|
|
ONE_BIT UNUSED4 : 1; //!<[20]
|
|
__IO ONE_BIT I2C1RST : 1; //!<[21] I2C1 reset
|
|
__IO ONE_BIT I2C2RST : 1; //!<[22] I2C2 reset
|
|
__IO ONE_BIT I2C3RST : 1; //!<[23] I2C3 reset
|
|
__IO ONE_BIT CRSRST : 1; //!<[24] CRS reset
|
|
__IO ONE_BIT CAN1RST : 1; //!<[25] CAN1 reset
|
|
__IO ONE_BIT USBFSRST : 1; //!<[26] USB FS reset
|
|
ONE_BIT UNUSED5 : 1; //!<[27]
|
|
__IO ONE_BIT PWRRST : 1; //!<[28] Power interface reset
|
|
__IO ONE_BIT DAC1RST : 1; //!<[29] DAC1 interface reset
|
|
__IO ONE_BIT OPAMPRST : 1; //!<[30] OPAMP interface reset
|
|
__IO ONE_BIT LPTIM1RST : 1; //!<[31] Low Power Timer 1 reset
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit APB1RSTR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
APB1RSTR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
APB1RSTR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union APB1RSTR2_DEF { //!< APB1 peripheral reset register 2
|
|
struct {
|
|
__IO ONE_BIT LPUART1RST : 1; //!<[00] Low-power UART 1 reset
|
|
__IO ONE_BIT I2C4RST : 1; //!<[01] I2C4 reset
|
|
__IO ONE_BIT SWPMI1RST : 1; //!<[02] Single wire protocol reset
|
|
uint32_t UNUSED0 : 2; //!<[03]
|
|
__IO ONE_BIT LPTIM2RST : 1; //!<[05] Low-power timer 2 reset
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit APB1RSTR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
APB1RSTR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
APB1RSTR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union APB2RSTR_DEF { //!< APB2 peripheral reset register
|
|
struct {
|
|
__IO ONE_BIT SYSCFGRST : 1; //!<[00] System configuration (SYSCFG) reset
|
|
uint32_t UNUSED0 : 9; //!<[01]
|
|
__IO ONE_BIT SDMMCRST : 1; //!<[10] SDMMC reset
|
|
__IO ONE_BIT TIM1RST : 1; //!<[11] TIM1 timer reset
|
|
__IO ONE_BIT SPI1RST : 1; //!<[12] SPI1 reset
|
|
ONE_BIT UNUSED1 : 1; //!<[13]
|
|
__IO ONE_BIT USART1RST : 1; //!<[14] USART1 reset
|
|
ONE_BIT UNUSED2 : 1; //!<[15]
|
|
__IO ONE_BIT TIM15RST : 1; //!<[16] TIM15 timer reset
|
|
__IO ONE_BIT TIM16RST : 1; //!<[17] TIM16 timer reset
|
|
uint32_t UNUSED3 : 3; //!<[18]
|
|
__IO ONE_BIT SAI1RST : 1; //!<[21] Serial audio interface 1 (SAI1) reset
|
|
uint32_t UNUSED4 : 2; //!<[22]
|
|
__IO ONE_BIT DFSDMRST : 1; //!<[24] DFSDM filter reset
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit APB2RSTR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
APB2RSTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
APB2RSTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union AHB1ENR_DEF { //!< AHB1 peripheral clock enable register
|
|
struct {
|
|
__IO ONE_BIT DMA1EN : 1; //!<[00] DMA1 clock enable
|
|
__IO ONE_BIT DMA2EN : 1; //!<[01] DMA2 clock enable
|
|
uint32_t UNUSED0 : 6; //!<[02]
|
|
__IO ONE_BIT FLASHEN : 1; //!<[08] Flash memory interface clock enable
|
|
uint32_t UNUSED1 : 3; //!<[09]
|
|
__IO ONE_BIT CRCEN : 1; //!<[12] CRC clock enable
|
|
uint32_t UNUSED2 : 3; //!<[13]
|
|
__IO ONE_BIT TSCEN : 1; //!<[16] Touch Sensing Controller clock enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit AHB1ENR_DEF () noexcept { R = 0x00000100u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
AHB1ENR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
AHB1ENR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union AHB2ENR_DEF { //!< AHB2 peripheral clock enable register
|
|
struct {
|
|
__IO ONE_BIT GPIOAEN : 1; //!<[00] IO port A clock enable
|
|
__IO ONE_BIT GPIOBEN : 1; //!<[01] IO port B clock enable
|
|
__IO ONE_BIT GPIOCEN : 1; //!<[02] IO port C clock enable
|
|
__IO ONE_BIT GPIODEN : 1; //!<[03] IO port D clock enable
|
|
__IO ONE_BIT GPIOEEN : 1; //!<[04] IO port E clock enable
|
|
uint32_t UNUSED0 : 2; //!<[05]
|
|
__IO ONE_BIT GPIOHEN : 1; //!<[07] IO port H clock enable
|
|
uint32_t UNUSED1 : 5; //!<[08]
|
|
__IO ONE_BIT ADCEN : 1; //!<[13] ADC clock enable
|
|
uint32_t UNUSED2 : 2; //!<[14]
|
|
__IO ONE_BIT AESEN : 1; //!<[16] AES accelerator clock enable
|
|
ONE_BIT UNUSED3 : 1; //!<[17]
|
|
__IO ONE_BIT RNGEN : 1; //!<[18] Random Number Generator clock enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit AHB2ENR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
AHB2ENR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
AHB2ENR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union AHB3ENR_DEF { //!< AHB3 peripheral clock enable register
|
|
struct {
|
|
uint32_t UNUSED0 : 8; //!<[00]
|
|
__IO ONE_BIT QSPIEN : 1; //!<[08] QSPIEN
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit AHB3ENR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
AHB3ENR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
AHB3ENR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union APB1ENR1_DEF { //!< APB1ENR1
|
|
struct {
|
|
__IO ONE_BIT TIM2EN : 1; //!<[00] TIM2 timer clock enable
|
|
__IO ONE_BIT TIM3EN : 1; //!<[01] TIM3 timer clock enable
|
|
uint32_t UNUSED0 : 2; //!<[02]
|
|
__IO ONE_BIT TIM6EN : 1; //!<[04] TIM6 timer clock enable
|
|
__IO ONE_BIT TIM7EN : 1; //!<[05] TIM7 timer clock enable
|
|
uint32_t UNUSED1 : 3; //!<[06]
|
|
__IO ONE_BIT LCDEN : 1; //!<[09] LCD clock enable
|
|
__IO ONE_BIT RTCAPBEN : 1; //!<[10] RTC APB clock enable
|
|
__IO ONE_BIT WWDGEN : 1; //!<[11] Window watchdog clock enable
|
|
uint32_t UNUSED2 : 2; //!<[12]
|
|
__IO ONE_BIT SPI1EN : 1; //!<[14] SPI1 clock enable
|
|
__IO ONE_BIT SPI3EN : 1; //!<[15] SPI3 clock enable
|
|
ONE_BIT UNUSED3 : 1; //!<[16]
|
|
__IO ONE_BIT USART2EN : 1; //!<[17] USART2 clock enable
|
|
__IO ONE_BIT USART1EN : 1; //!<[18] USART1 clock enable
|
|
__IO ONE_BIT UART4EN : 1; //!<[19] UART4 clock enable
|
|
ONE_BIT UNUSED4 : 1; //!<[20]
|
|
__IO ONE_BIT I2C1EN : 1; //!<[21] I2C1 clock enable
|
|
__IO ONE_BIT I2C2EN : 1; //!<[22] I2C2 clock enable
|
|
__IO ONE_BIT I2C3EN : 1; //!<[23] I2C3 clock enable
|
|
__IO ONE_BIT CRSEN : 1; //!<[24] CRS clock enable
|
|
__IO ONE_BIT CAN1EN : 1; //!<[25] CAN1 clock enable
|
|
__IO ONE_BIT USBF : 1; //!<[26] USB FS clock enable
|
|
ONE_BIT UNUSED5 : 1; //!<[27]
|
|
__IO ONE_BIT PWREN : 1; //!<[28] Power interface clock enable
|
|
__IO ONE_BIT DAC1EN : 1; //!<[29] DAC1 interface clock enable
|
|
__IO ONE_BIT OPAMPEN : 1; //!<[30] OPAMP interface clock enable
|
|
__IO ONE_BIT LPTIM1EN : 1; //!<[31] Low power timer 1 clock enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit APB1ENR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
APB1ENR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
APB1ENR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union APB1ENR2_DEF { //!< APB1 peripheral clock enable register 2
|
|
struct {
|
|
__IO ONE_BIT LPUART1EN : 1; //!<[00] Low power UART 1 clock enable
|
|
__IO ONE_BIT I2C4EN : 1; //!<[01] I2C4 clock enable
|
|
__IO ONE_BIT SWPMI1EN : 1; //!<[02] Single wire protocol clock enable
|
|
uint32_t UNUSED0 : 2; //!<[03]
|
|
__IO ONE_BIT LPTIM2EN : 1; //!<[05] LPTIM2EN
|
|
uint32_t UNUSED1 : 18; //!<[06]
|
|
__IO ONE_BIT DFSDMEN : 1; //!<[24] DFSDMEN enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit APB1ENR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
APB1ENR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
APB1ENR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union APB2ENR_DEF { //!< APB2ENR
|
|
struct {
|
|
__IO ONE_BIT SYSCFGEN : 1; //!<[00] SYSCFG clock enable
|
|
uint32_t UNUSED0 : 6; //!<[01]
|
|
__IO ONE_BIT FIREWALLEN : 1; //!<[07] Firewall clock enable
|
|
uint32_t UNUSED1 : 2; //!<[08]
|
|
__IO ONE_BIT SDMMCEN : 1; //!<[10] SDMMC clock enable
|
|
__IO ONE_BIT TIM1EN : 1; //!<[11] TIM1 timer clock enable
|
|
__IO ONE_BIT SPI1EN : 1; //!<[12] SPI1 clock enable
|
|
ONE_BIT UNUSED2 : 1; //!<[13]
|
|
__IO ONE_BIT USART1EN : 1; //!<[14] USART1clock enable
|
|
ONE_BIT UNUSED3 : 1; //!<[15]
|
|
__IO ONE_BIT TIM15EN : 1; //!<[16] TIM15 timer clock enable
|
|
__IO ONE_BIT TIM16EN : 1; //!<[17] TIM16 timer clock enable
|
|
uint32_t UNUSED4 : 3; //!<[18]
|
|
__IO ONE_BIT SAI1EN : 1; //!<[21] SAI1 clock enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit APB2ENR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
APB2ENR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
APB2ENR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union AHB1SMENR_DEF { //!< AHB1 peripheral clocks enable in Sleep and Stop modes register
|
|
struct {
|
|
__IO ONE_BIT DMA1SMEN : 1; //!<[00] DMA1 clocks enable during Sleep and Stop modes
|
|
__IO ONE_BIT DMA2SMEN : 1; //!<[01] DMA2 clocks enable during Sleep and Stop modes
|
|
uint32_t UNUSED0 : 6; //!<[02]
|
|
__IO ONE_BIT FLASHSMEN : 1; //!<[08] Flash memory interface clocks enable during Sleep and Stop modes
|
|
__IO ONE_BIT SRAM1SMEN : 1; //!<[09] SRAM1 interface clocks enable during Sleep and Stop modes
|
|
uint32_t UNUSED1 : 2; //!<[10]
|
|
__IO ONE_BIT CRCSMEN : 1; //!<[12] CRCSMEN
|
|
uint32_t UNUSED2 : 3; //!<[13]
|
|
__IO ONE_BIT TSCSMEN : 1; //!<[16] Touch Sensing Controller clocks enable during Sleep and Stop modes
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit AHB1SMENR_DEF () noexcept { R = 0x00011303u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
AHB1SMENR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
AHB1SMENR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union AHB2SMENR_DEF { //!< AHB2 peripheral clocks enable in Sleep and Stop modes register
|
|
struct {
|
|
__IO ONE_BIT GPIOASMEN : 1; //!<[00] IO port A clocks enable during Sleep and Stop modes
|
|
__IO ONE_BIT GPIOBSMEN : 1; //!<[01] IO port B clocks enable during Sleep and Stop modes
|
|
__IO ONE_BIT GPIOCSMEN : 1; //!<[02] IO port C clocks enable during Sleep and Stop modes
|
|
__IO ONE_BIT GPIODSMEN : 1; //!<[03] IO port D clocks enable during Sleep and Stop modes
|
|
__IO ONE_BIT GPIOESMEN : 1; //!<[04] IO port E clocks enable during Sleep and Stop modes
|
|
uint32_t UNUSED0 : 2; //!<[05]
|
|
__IO ONE_BIT GPIOHSMEN : 1; //!<[07] IO port H clocks enable during Sleep and Stop modes
|
|
ONE_BIT UNUSED1 : 1; //!<[08]
|
|
__IO ONE_BIT SRAM2SMEN : 1; //!<[09] SRAM2 interface clocks enable during Sleep and Stop modes
|
|
uint32_t UNUSED2 : 3; //!<[10]
|
|
__IO ONE_BIT ADCFSSMEN : 1; //!<[13] ADC clocks enable during Sleep and Stop modes
|
|
uint32_t UNUSED3 : 2; //!<[14]
|
|
__IO ONE_BIT AESSMEN : 1; //!<[16] AES accelerator clocks enable during Sleep and Stop modes
|
|
ONE_BIT UNUSED4 : 1; //!<[17]
|
|
__IO ONE_BIT RNGSMEN : 1; //!<[18] Random Number Generator clocks enable during Sleep and Stop modes
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit AHB2SMENR_DEF () noexcept { R = 0x000532ffu; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
AHB2SMENR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
AHB2SMENR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union AHB3SMENR_DEF { //!< AHB3 peripheral clocks enable in Sleep and Stop modes register
|
|
struct {
|
|
uint32_t UNUSED0 : 8; //!<[00]
|
|
__IO ONE_BIT QSPISMEN : 1; //!<[08] QSPISMEN
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit AHB3SMENR_DEF () noexcept { R = 0x00000101u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
AHB3SMENR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
AHB3SMENR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union APB1SMENR1_DEF { //!< APB1SMENR1
|
|
struct {
|
|
__IO ONE_BIT TIM2SMEN : 1; //!<[00] TIM2 timer clocks enable during Sleep and Stop modes
|
|
uint32_t UNUSED0 : 3; //!<[01]
|
|
__IO ONE_BIT TIM6SMEN : 1; //!<[04] TIM6 timer clocks enable during Sleep and Stop modes
|
|
__IO ONE_BIT TIM7SMEN : 1; //!<[05] TIM7 timer clocks enable during Sleep and Stop modes
|
|
uint32_t UNUSED1 : 3; //!<[06]
|
|
__IO ONE_BIT LCDSMEN : 1; //!<[09] LCD clocks enable during Sleep and Stop modes
|
|
__IO ONE_BIT RTCAPBSMEN : 1; //!<[10] RTC APB clock enable during Sleep and Stop modes
|
|
__IO ONE_BIT WWDGSMEN : 1; //!<[11] Window watchdog clocks enable during Sleep and Stop modes
|
|
uint32_t UNUSED2 : 2; //!<[12]
|
|
__IO ONE_BIT SPI2SMEN : 1; //!<[14] SPI2 clocks enable during Sleep and Stop modes
|
|
__IO ONE_BIT SP3SMEN : 1; //!<[15] SPI3 clocks enable during Sleep and Stop modes
|
|
ONE_BIT UNUSED3 : 1; //!<[16]
|
|
__IO ONE_BIT USART1SMEN : 1; //!<[17] USART1 clocks enable during Sleep and Stop modes
|
|
__IO ONE_BIT USART2SMEN : 1; //!<[18] USART2 clocks enable during Sleep and Stop modes
|
|
uint32_t UNUSED4 : 2; //!<[19]
|
|
__IO ONE_BIT I2C1SMEN : 1; //!<[21] I2C1 clocks enable during Sleep and Stop modes
|
|
__IO ONE_BIT I2C2SMEN : 1; //!<[22] I2C2 clocks enable during Sleep and Stop modes
|
|
__IO ONE_BIT I2C3SMEN : 1; //!<[23] I2C3 clocks enable during Sleep and Stop modes
|
|
__IO ONE_BIT CRSSMEN : 1; //!<[24] CRS clock enable during Sleep and Stop modes
|
|
__IO ONE_BIT CAN1SMEN : 1; //!<[25] CAN1 clocks enable during Sleep and Stop modes
|
|
__IO ONE_BIT USBFSSMEN : 1; //!<[26] USB FS clock enable during Sleep and Stop modes
|
|
ONE_BIT UNUSED5 : 1; //!<[27]
|
|
__IO ONE_BIT PWRSMEN : 1; //!<[28] Power interface clocks enable during Sleep and Stop modes
|
|
__IO ONE_BIT DAC1SMEN : 1; //!<[29] DAC1 interface clocks enable during Sleep and Stop modes
|
|
__IO ONE_BIT OPAMPSMEN : 1; //!<[30] OPAMP interface clocks enable during Sleep and Stop modes
|
|
__IO ONE_BIT LPTIM1SMEN : 1; //!<[31] Low power timer 1 clocks enable during Sleep and Stop modes
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit APB1SMENR1_DEF () noexcept { R = 0xf2feca3fu; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
APB1SMENR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
APB1SMENR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union APB1SMENR2_DEF { //!< APB1 peripheral clocks enable in Sleep and Stop modes register 2
|
|
struct {
|
|
__IO ONE_BIT LPUART1SMEN : 1; //!<[00] Low power UART 1 clocks enable during Sleep and Stop modes
|
|
ONE_BIT UNUSED0 : 1; //!<[01]
|
|
__IO ONE_BIT SWPMI1SMEN : 1; //!<[02] Single wire protocol clocks enable during Sleep and Stop modes
|
|
uint32_t UNUSED1 : 2; //!<[03]
|
|
__IO ONE_BIT LPTIM2SMEN : 1; //!<[05] LPTIM2SMEN
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit APB1SMENR2_DEF () noexcept { R = 0x00000025u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
APB1SMENR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
APB1SMENR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union APB2SMENR_DEF { //!< APB2SMENR
|
|
struct {
|
|
__IO ONE_BIT SYSCFGSMEN : 1; //!<[00] SYSCFG clocks enable during Sleep and Stop modes
|
|
uint32_t UNUSED0 : 9; //!<[01]
|
|
__IO ONE_BIT SDMMCSMEN : 1; //!<[10] SDMMC clocks enable during Sleep and Stop modes
|
|
__IO ONE_BIT TIM1SMEN : 1; //!<[11] TIM1 timer clocks enable during Sleep and Stop modes
|
|
__IO ONE_BIT SPI1SMEN : 1; //!<[12] SPI1 clocks enable during Sleep and Stop modes
|
|
ONE_BIT UNUSED1 : 1; //!<[13]
|
|
__IO ONE_BIT USART1SMEN : 1; //!<[14] USART1clocks enable during Sleep and Stop modes
|
|
ONE_BIT UNUSED2 : 1; //!<[15]
|
|
__IO ONE_BIT TIM15SMEN : 1; //!<[16] TIM15 timer clocks enable during Sleep and Stop modes
|
|
__IO ONE_BIT TIM16SMEN : 1; //!<[17] TIM16 timer clocks enable during Sleep and Stop modes
|
|
uint32_t UNUSED3 : 3; //!<[18]
|
|
__IO ONE_BIT SAI1SMEN : 1; //!<[21] SAI1 clocks enable during Sleep and Stop modes
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit APB2SMENR_DEF () noexcept { R = 0x01677c01u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
APB2SMENR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
APB2SMENR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCIPR_DEF { //!< CCIPR
|
|
struct {
|
|
__IO uint32_t USART1SEL : 2; //!<[00] USART1 clock source selection
|
|
__IO uint32_t USART2SEL : 2; //!<[02] USART2 clock source selection
|
|
__IO uint32_t USART3SEL : 2; //!<[04] USART3 clock source selection
|
|
__IO uint32_t USART4SEL : 2; //!<[06] USART4 clock source selection
|
|
uint32_t UNUSED0 : 2; //!<[08]
|
|
__IO uint32_t LPUART1SEL : 2; //!<[10] LPUART1 clock source selection
|
|
__IO uint32_t I2C1SEL : 2; //!<[12] I2C1 clock source selection
|
|
__IO uint32_t I2C2SEL : 2; //!<[14] I2C2 clock source selection
|
|
__IO uint32_t I2C3SEL : 2; //!<[16] I2C3 clock source selection
|
|
__IO uint32_t LPTIM1SEL : 2; //!<[18] Low power timer 1 clock source selection
|
|
__IO uint32_t LPTIM2SEL : 2; //!<[20] Low power timer 2 clock source selection
|
|
__IO uint32_t SAI1SEL : 2; //!<[22] SAI1 clock source selection
|
|
uint32_t UNUSED1 : 2; //!<[24]
|
|
__IO uint32_t CLK48SEL : 2; //!<[26] 48 MHz clock source selection
|
|
__IO uint32_t ADCSEL : 2; //!<[28] ADCs clock source selection
|
|
__IO ONE_BIT SWPMI1SEL : 1; //!<[30] SWPMI1 clock source selection
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCIPR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCIPR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCIPR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BDCR_DEF { //!< BDCR
|
|
struct {
|
|
__IO ONE_BIT LSEON : 1; //!<[00] LSE oscillator enable
|
|
__I ONE_BIT LSERDY : 1; //!<[01] LSE oscillator ready
|
|
__IO ONE_BIT LSEBYP : 1; //!<[02] LSE oscillator bypass
|
|
__IO uint32_t LSEDRV : 2; //!<[03] SE oscillator drive capability
|
|
__IO ONE_BIT LSECSSON : 1; //!<[05] LSECSSON
|
|
__I ONE_BIT LSECSSD : 1; //!<[06] LSECSSD
|
|
ONE_BIT UNUSED0 : 1; //!<[07]
|
|
__IO uint32_t RTCSEL : 2; //!<[08] RTC clock source selection
|
|
uint32_t UNUSED1 : 5; //!<[10]
|
|
__IO ONE_BIT RTCEN : 1; //!<[15] RTC clock enable
|
|
__IO ONE_BIT BDRST : 1; //!<[16] Backup domain software reset
|
|
uint32_t UNUSED2 : 7; //!<[17]
|
|
__IO ONE_BIT LSCOEN : 1; //!<[24] Low speed clock output enable
|
|
__IO ONE_BIT LSCOSEL : 1; //!<[25] Low speed clock output selection
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BDCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BDCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BDCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CSR_DEF { //!< CSR
|
|
struct {
|
|
__IO ONE_BIT LSION : 1; //!<[00] LSI oscillator enable
|
|
__I ONE_BIT LSIRDY : 1; //!<[01] LSI oscillator ready
|
|
uint32_t UNUSED0 : 6; //!<[02]
|
|
__IO uint32_t MSISRANGE : 4; //!<[08] SI range after Standby mode
|
|
uint32_t UNUSED1 : 11; //!<[12]
|
|
__IO ONE_BIT RMVF : 1; //!<[23] Remove reset flag
|
|
__I ONE_BIT FIREWALLRSTF : 1; //!<[24] Firewall reset flag
|
|
__I ONE_BIT OBLRSTF : 1; //!<[25] Option byte loader reset flag
|
|
__I ONE_BIT PINRSTF : 1; //!<[26] Pin reset flag
|
|
__I ONE_BIT BORRSTF : 1; //!<[27] BOR flag
|
|
__I ONE_BIT SFTRSTF : 1; //!<[28] Software reset flag
|
|
__I ONE_BIT IWDGRSTF : 1; //!<[29] Independent window watchdog reset flag
|
|
__I ONE_BIT WWDGRSTF : 1; //!<[30] Window watchdog reset flag
|
|
__I ONE_BIT LPWRSTF : 1; //!<[31] Low-power reset flag
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CSR_DEF () noexcept { R = 0x0c000600u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CSR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CSR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CRRCR_DEF { //!< Clock recovery RC register
|
|
struct {
|
|
__IO ONE_BIT HSI48ON : 1; //!<[00] HSI48 clock enable
|
|
__I ONE_BIT HSI48RDY : 1; //!<[01] HSI48 clock ready flag
|
|
uint32_t UNUSED0 : 5; //!<[02]
|
|
__I uint32_t HSI48CAL : 9; //!<[07] HSI48 clock calibration
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CRRCR_DEF () noexcept { R = 0x0c000600u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CRRCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CRRCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL RCC REGISTERS INSTANCES
|
|
__IO CR_DEF CR ; //!< [0000](04)[0x00000063]
|
|
__IO ICSCR_DEF ICSCR ; //!< [0004](04)[0x10000000]
|
|
__IO CFGR_DEF CFGR ; //!< [0008](04)[0x00000000]
|
|
__IO PLLCFGR_DEF PLLCFGR ; //!< [000c](04)[0x00001000]
|
|
__IO PLLSAI1CFGR_DEF PLLSAI1CFGR ; //!< [0010](04)[0x00001000]
|
|
uint32_t UNUSED0 ; //!< [0014](04)[0xFFFFFFFF]
|
|
__IO CIER_DEF CIER ; //!< [0018](04)[0x00000000]
|
|
__I CIFR_DEF CIFR ; //!< [001c](04)[0x00000000]
|
|
__O CICR_DEF CICR ; //!< [0020](04)[0x00000000]
|
|
uint32_t UNUSED1 ; //!< [0024](04)[0xFFFFFFFF]
|
|
__IO AHB1RSTR_DEF AHB1RSTR ; //!< [0028](04)[0x00000000]
|
|
__IO AHB2RSTR_DEF AHB2RSTR ; //!< [002c](04)[0x00000000]
|
|
__IO AHB3RSTR_DEF AHB3RSTR ; //!< [0030](04)[0x00000000]
|
|
uint32_t UNUSED2 ; //!< [0034](04)[0xFFFFFFFF]
|
|
__IO APB1RSTR1_DEF APB1RSTR1 ; //!< [0038](04)[0x00000000]
|
|
__IO APB1RSTR2_DEF APB1RSTR2 ; //!< [003c](04)[0x00000000]
|
|
__IO APB2RSTR_DEF APB2RSTR ; //!< [0040](04)[0x00000000]
|
|
uint32_t UNUSED3 ; //!< [0044](04)[0xFFFFFFFF]
|
|
__IO AHB1ENR_DEF AHB1ENR ; //!< [0048](04)[0x00000100]
|
|
__IO AHB2ENR_DEF AHB2ENR ; //!< [004c](04)[0x00000000]
|
|
__IO AHB3ENR_DEF AHB3ENR ; //!< [0050](04)[0x00000000]
|
|
uint32_t UNUSED4 ; //!< [0054](04)[0xFFFFFFFF]
|
|
__IO APB1ENR1_DEF APB1ENR1 ; //!< [0058](04)[0x00000000]
|
|
__IO APB1ENR2_DEF APB1ENR2 ; //!< [005c](04)[0x00000000]
|
|
__IO APB2ENR_DEF APB2ENR ; //!< [0060](04)[0x00000000]
|
|
uint32_t UNUSED5 ; //!< [0064](04)[0xFFFFFFFF]
|
|
__IO AHB1SMENR_DEF AHB1SMENR ; //!< [0068](04)[0x00011303]
|
|
__IO AHB2SMENR_DEF AHB2SMENR ; //!< [006c](04)[0x000532FF]
|
|
__IO AHB3SMENR_DEF AHB3SMENR ; //!< [0070](04)[0x00000101]
|
|
uint32_t UNUSED6 ; //!< [0074](04)[0xFFFFFFFF]
|
|
__IO APB1SMENR1_DEF APB1SMENR1 ; //!< [0078](04)[0xF2FECA3F]
|
|
__IO APB1SMENR2_DEF APB1SMENR2 ; //!< [007c](04)[0x00000025]
|
|
__IO APB2SMENR_DEF APB2SMENR ; //!< [0080](04)[0x01677C01]
|
|
uint32_t UNUSED7 ; //!< [0084](04)[0xFFFFFFFF]
|
|
__IO CCIPR_DEF CCIPR ; //!< [0088](04)[0x00000000]
|
|
uint32_t UNUSED8 ; //!< [008c](04)[0xFFFFFFFF]
|
|
__IO BDCR_DEF BDCR ; //!< [0090](04)[0x00000000]
|
|
__IO CSR_DEF CSR ; //!< [0094](04)[0x0C000600]
|
|
__IO CRRCR_DEF CRRCR ; //!< [0098](04)[0x0C000600]
|
|
}; /* total size = 0x0400, struct size = 0x009C */
|
|
|
|
// ////////////////////+++ PWR +-+//////////////////// //
|
|
struct PWR_Type { /*!< Power control */
|
|
union CR1_DEF { //!< Power control register 1
|
|
struct {
|
|
__IO uint32_t LPMS : 3; //!<[00] Low-power mode selection
|
|
uint32_t UNUSED0 : 5; //!<[03]
|
|
__IO ONE_BIT DBP : 1; //!<[08] Disable backup domain write protection
|
|
__IO uint32_t VOS : 2; //!<[09] Voltage scaling range selection
|
|
uint32_t UNUSED1 : 3; //!<[11]
|
|
__IO ONE_BIT LPR : 1; //!<[14] Low-power run
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR1_DEF () noexcept { R = 0x00000200u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CR2_DEF { //!< Power control register 2
|
|
struct {
|
|
__IO ONE_BIT PVDE : 1; //!<[00] Power voltage detector enable
|
|
__IO uint32_t PLS : 3; //!<[01] Power voltage detector level selection
|
|
__IO ONE_BIT PVME1 : 1; //!<[04] Peripheral voltage monitoring 1 enable: VDDUSB vs. 1.2V
|
|
ONE_BIT UNUSED0 : 1; //!<[05]
|
|
__IO ONE_BIT PVME3 : 1; //!<[06] Peripheral voltage monitoring 3 enable: VDDA vs. 1.62V
|
|
__IO ONE_BIT PVME4 : 1; //!<[07] Peripheral voltage monitoring 4 enable: VDDA vs. 2.2V
|
|
uint32_t UNUSED1 : 2; //!<[08]
|
|
__IO ONE_BIT USV : 1; //!<[10] VDDUSB USB supply valid
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CR3_DEF { //!< Power control register 3
|
|
struct {
|
|
__IO ONE_BIT EWUP1 : 1; //!<[00] Enable Wakeup pin WKUP1
|
|
__IO ONE_BIT EWUP2 : 1; //!<[01] Enable Wakeup pin WKUP2
|
|
__IO ONE_BIT EWUP3 : 1; //!<[02] Enable Wakeup pin WKUP3
|
|
__IO ONE_BIT EWUP4 : 1; //!<[03] Enable Wakeup pin WKUP4
|
|
__IO ONE_BIT EWUP5 : 1; //!<[04] Enable Wakeup pin WKUP5
|
|
uint32_t UNUSED0 : 3; //!<[05]
|
|
__IO ONE_BIT RRS : 1; //!<[08] SRAM2 retention in Standby mode
|
|
ONE_BIT UNUSED1 : 1; //!<[09]
|
|
__IO ONE_BIT APC : 1; //!<[10] Apply pull-up and pull-down configuration
|
|
__IO ONE_BIT ENULP : 1; //!<[11] Enable ULP sampling of BOR and PVD
|
|
uint32_t UNUSED2 : 3; //!<[12]
|
|
__IO ONE_BIT EIWUL : 1; //!<[15] Enable internal wakeup line
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR3_DEF () noexcept { R = 0x00008000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR3_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR3_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CR4_DEF { //!< Power control register 4
|
|
struct {
|
|
__IO ONE_BIT WP1 : 1; //!<[00] Wakeup pin WKUP1 polarity
|
|
__IO ONE_BIT WP2 : 1; //!<[01] Wakeup pin WKUP2 polarity
|
|
__IO ONE_BIT WP3 : 1; //!<[02] Wakeup pin WKUP3 polarity
|
|
__IO ONE_BIT WP4 : 1; //!<[03] Wakeup pin WKUP4 polarity
|
|
__IO ONE_BIT WP5 : 1; //!<[04] Wakeup pin WKUP5 polarity
|
|
uint32_t UNUSED0 : 3; //!<[05]
|
|
__IO ONE_BIT VBE : 1; //!<[08] VBAT battery charging enable
|
|
__IO ONE_BIT VBRS : 1; //!<[09] VBAT battery charging resistor selection
|
|
uint32_t UNUSED1 : 3; //!<[10]
|
|
__IO ONE_BIT EXT_SMPS_ON : 1; //!<[13] External SMPS On
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR4_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR4_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR4_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SR1_DEF { //!< Power status register 1
|
|
struct {
|
|
__I ONE_BIT WUF1 : 1; //!<[00] Wakeup flag 1
|
|
__I ONE_BIT WUF2 : 1; //!<[01] Wakeup flag 2
|
|
__I ONE_BIT WUF3 : 1; //!<[02] Wakeup flag 3
|
|
__I ONE_BIT WUF4 : 1; //!<[03] Wakeup flag 4
|
|
__I ONE_BIT WUF5 : 1; //!<[04] Wakeup flag 5
|
|
uint32_t UNUSED0 : 3; //!<[05]
|
|
__I ONE_BIT SBF : 1; //!<[08] Standby flag
|
|
uint32_t UNUSED1 : 4; //!<[09]
|
|
__I ONE_BIT EXT_SMPS_RDY : 1; //!<[13] External SMPS Ready
|
|
ONE_BIT UNUSED2 : 1; //!<[14]
|
|
__I ONE_BIT WUFI : 1; //!<[15] Wakeup flag internal
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit SR1_DEF (volatile SR1_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union SR2_DEF { //!< Power status register 2
|
|
struct {
|
|
uint32_t UNUSED0 : 8; //!<[00]
|
|
__I ONE_BIT REGLPS : 1; //!<[08] Low-power regulator started
|
|
__I ONE_BIT REGLPF : 1; //!<[09] Low-power regulator flag
|
|
__I ONE_BIT VOSF : 1; //!<[10] Voltage scaling flag
|
|
__I ONE_BIT PVDO : 1; //!<[11] Power voltage detector output
|
|
__I ONE_BIT PVMO1 : 1; //!<[12] Peripheral voltage monitoring output: VDDUSB vs. 1.2 V
|
|
ONE_BIT UNUSED1 : 1; //!<[13]
|
|
__I ONE_BIT PVMO3 : 1; //!<[14] Peripheral voltage monitoring output: VDDA vs. 1.62 V
|
|
__I ONE_BIT PVMO4 : 1; //!<[15] Peripheral voltage monitoring output: VDDA vs. 2.2 V
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit SR2_DEF (volatile SR2_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union SCR_DEF { //!< Power status clear register
|
|
struct {
|
|
__O ONE_BIT CWUF1 : 1; //!<[00] Clear wakeup flag 1
|
|
__O ONE_BIT CWUF2 : 1; //!<[01] Clear wakeup flag 2
|
|
__O ONE_BIT CWUF3 : 1; //!<[02] Clear wakeup flag 3
|
|
__O ONE_BIT CWUF4 : 1; //!<[03] Clear wakeup flag 4
|
|
__O ONE_BIT CWUF5 : 1; //!<[04] Clear wakeup flag 5
|
|
uint32_t UNUSED0 : 3; //!<[05]
|
|
__O ONE_BIT CSBF : 1; //!<[08] Clear standby flag
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit SCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
SCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PUCRA_DEF { //!< Power Port A pull-up control register
|
|
struct {
|
|
__IO ONE_BIT PU0 : 1; //!<[00] Port A pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU1 : 1; //!<[01] Port A pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU2 : 1; //!<[02] Port A pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU3 : 1; //!<[03] Port A pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU4 : 1; //!<[04] Port A pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU5 : 1; //!<[05] Port A pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU6 : 1; //!<[06] Port A pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU7 : 1; //!<[07] Port A pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU8 : 1; //!<[08] Port A pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU9 : 1; //!<[09] Port A pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU10 : 1; //!<[10] Port A pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU11 : 1; //!<[11] Port A pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU12 : 1; //!<[12] Port A pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU13 : 1; //!<[13] Port A pull-up bit y (y=0..15)
|
|
ONE_BIT UNUSED0 : 1; //!<[14]
|
|
__IO ONE_BIT PU15 : 1; //!<[15] Port A pull-up bit y (y=0..15)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PUCRA_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PUCRA_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PUCRA_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PDCRA_DEF { //!< Power Port A pull-down control register
|
|
struct {
|
|
__IO ONE_BIT PD0 : 1; //!<[00] Port A pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD1 : 1; //!<[01] Port A pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD2 : 1; //!<[02] Port A pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD3 : 1; //!<[03] Port A pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD4 : 1; //!<[04] Port A pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD5 : 1; //!<[05] Port A pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD6 : 1; //!<[06] Port A pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD7 : 1; //!<[07] Port A pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD8 : 1; //!<[08] Port A pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD9 : 1; //!<[09] Port A pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD10 : 1; //!<[10] Port A pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD11 : 1; //!<[11] Port A pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD12 : 1; //!<[12] Port A pull-down bit y (y=0..15)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PDCRA_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PDCRA_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PDCRA_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PUCRB_DEF { //!< Power Port B pull-up control register
|
|
struct {
|
|
__IO ONE_BIT PU0 : 1; //!<[00] Port B pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU1 : 1; //!<[01] Port B pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU2 : 1; //!<[02] Port B pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU3 : 1; //!<[03] Port B pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU4 : 1; //!<[04] Port B pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU5 : 1; //!<[05] Port B pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU6 : 1; //!<[06] Port B pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU7 : 1; //!<[07] Port B pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU8 : 1; //!<[08] Port B pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU9 : 1; //!<[09] Port B pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU10 : 1; //!<[10] Port B pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU11 : 1; //!<[11] Port B pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU12 : 1; //!<[12] Port B pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU13 : 1; //!<[13] Port B pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU14 : 1; //!<[14] Port B pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU15 : 1; //!<[15] Port B pull-up bit y (y=0..15)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PUCRB_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PUCRB_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PUCRB_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PDCRB_DEF { //!< Power Port B pull-down control register
|
|
struct {
|
|
__IO ONE_BIT PD0 : 1; //!<[00] Port B pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD1 : 1; //!<[01] Port B pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD2 : 1; //!<[02] Port B pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD3 : 1; //!<[03] Port B pull-down bit y (y=0..15)
|
|
ONE_BIT UNUSED0 : 1; //!<[04]
|
|
__IO ONE_BIT PD5 : 1; //!<[05] Port B pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD6 : 1; //!<[06] Port B pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD7 : 1; //!<[07] Port B pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD8 : 1; //!<[08] Port B pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD9 : 1; //!<[09] Port B pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD10 : 1; //!<[10] Port B pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD11 : 1; //!<[11] Port B pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD12 : 1; //!<[12] Port B pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD13 : 1; //!<[13] Port B pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD14 : 1; //!<[14] Port B pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD15 : 1; //!<[15] Port B pull-down bit y (y=0..15)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PDCRB_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PDCRB_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PDCRB_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PUCRC_DEF { //!< Power Port C pull-up control register
|
|
struct {
|
|
__IO ONE_BIT PU0 : 1; //!<[00] Port C pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU1 : 1; //!<[01] Port C pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU2 : 1; //!<[02] Port C pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU3 : 1; //!<[03] Port C pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU4 : 1; //!<[04] Port C pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU5 : 1; //!<[05] Port C pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU6 : 1; //!<[06] Port C pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU7 : 1; //!<[07] Port C pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU8 : 1; //!<[08] Port C pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU9 : 1; //!<[09] Port C pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU10 : 1; //!<[10] Port C pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU11 : 1; //!<[11] Port C pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU12 : 1; //!<[12] Port C pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU13 : 1; //!<[13] Port C pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU14 : 1; //!<[14] Port C pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU15 : 1; //!<[15] Port C pull-up bit y (y=0..15)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PUCRC_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PUCRC_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PUCRC_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PDCRC_DEF { //!< Power Port C pull-down control register
|
|
struct {
|
|
__IO ONE_BIT PD0 : 1; //!<[00] Port C pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD1 : 1; //!<[01] Port C pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD2 : 1; //!<[02] Port C pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD3 : 1; //!<[03] Port C pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD4 : 1; //!<[04] Port C pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD5 : 1; //!<[05] Port C pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD6 : 1; //!<[06] Port C pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD7 : 1; //!<[07] Port C pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD8 : 1; //!<[08] Port C pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD9 : 1; //!<[09] Port C pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD10 : 1; //!<[10] Port C pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD11 : 1; //!<[11] Port C pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD12 : 1; //!<[12] Port C pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD13 : 1; //!<[13] Port C pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD14 : 1; //!<[14] Port C pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD15 : 1; //!<[15] Port C pull-down bit y (y=0..15)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PDCRC_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PDCRC_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PDCRC_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PUCRD_DEF { //!< Power Port D pull-up control register
|
|
struct {
|
|
__IO ONE_BIT PU0 : 1; //!<[00] Port D pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU1 : 1; //!<[01] Port D pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU2 : 1; //!<[02] Port D pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU3 : 1; //!<[03] Port D pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU4 : 1; //!<[04] Port D pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU5 : 1; //!<[05] Port D pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU6 : 1; //!<[06] Port D pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU7 : 1; //!<[07] Port D pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU8 : 1; //!<[08] Port D pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU9 : 1; //!<[09] Port D pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU10 : 1; //!<[10] Port D pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU11 : 1; //!<[11] Port D pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU12 : 1; //!<[12] Port D pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU13 : 1; //!<[13] Port D pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU14 : 1; //!<[14] Port D pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU15 : 1; //!<[15] Port D pull-up bit y (y=0..15)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PUCRD_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PUCRD_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PUCRD_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PDCRD_DEF { //!< Power Port D pull-down control register
|
|
struct {
|
|
__IO ONE_BIT PD0 : 1; //!<[00] Port D pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD1 : 1; //!<[01] Port D pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD2 : 1; //!<[02] Port D pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD3 : 1; //!<[03] Port D pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD4 : 1; //!<[04] Port D pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD5 : 1; //!<[05] Port D pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD6 : 1; //!<[06] Port D pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD7 : 1; //!<[07] Port D pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD8 : 1; //!<[08] Port D pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD9 : 1; //!<[09] Port D pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD10 : 1; //!<[10] Port D pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD11 : 1; //!<[11] Port D pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD12 : 1; //!<[12] Port D pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD13 : 1; //!<[13] Port D pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD14 : 1; //!<[14] Port D pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD15 : 1; //!<[15] Port D pull-down bit y (y=0..15)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PDCRD_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PDCRD_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PDCRD_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PUCRE_DEF { //!< Power Port E pull-up control register
|
|
struct {
|
|
__IO ONE_BIT PU0 : 1; //!<[00] Port E pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU1 : 1; //!<[01] Port E pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU2 : 1; //!<[02] Port E pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU3 : 1; //!<[03] Port E pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU4 : 1; //!<[04] Port E pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU5 : 1; //!<[05] Port E pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU6 : 1; //!<[06] Port E pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU7 : 1; //!<[07] Port E pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU8 : 1; //!<[08] Port E pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU9 : 1; //!<[09] Port E pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU10 : 1; //!<[10] Port E pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU11 : 1; //!<[11] Port E pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU12 : 1; //!<[12] Port E pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU13 : 1; //!<[13] Port E pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU14 : 1; //!<[14] Port E pull-up bit y (y=0..15)
|
|
__IO ONE_BIT PU15 : 1; //!<[15] Port E pull-up bit y (y=0..15)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PUCRE_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PUCRE_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PUCRE_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PDCRE_DEF { //!< Power Port E pull-down control register
|
|
struct {
|
|
__IO ONE_BIT PD0 : 1; //!<[00] Port E pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD1 : 1; //!<[01] Port E pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD2 : 1; //!<[02] Port E pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD3 : 1; //!<[03] Port E pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD4 : 1; //!<[04] Port E pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD5 : 1; //!<[05] Port E pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD6 : 1; //!<[06] Port E pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD7 : 1; //!<[07] Port E pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD8 : 1; //!<[08] Port E pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD9 : 1; //!<[09] Port E pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD10 : 1; //!<[10] Port E pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD11 : 1; //!<[11] Port E pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD12 : 1; //!<[12] Port E pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD13 : 1; //!<[13] Port E pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD14 : 1; //!<[14] Port E pull-down bit y (y=0..15)
|
|
__IO ONE_BIT PD15 : 1; //!<[15] Port E pull-down bit y (y=0..15)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PDCRE_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PDCRE_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PDCRE_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PUCRH_DEF { //!< Power Port H pull-up control register
|
|
struct {
|
|
__IO ONE_BIT PU0 : 1; //!<[00] Port H pull-up bit y (y=0..1)
|
|
__IO ONE_BIT PU1 : 1; //!<[01] Port H pull-up bit y (y=0..1)
|
|
ONE_BIT UNUSED0 : 1; //!<[02]
|
|
__IO ONE_BIT PU3 : 1; //!<[03] Port H pull-up bit y (y=0..1)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PUCRH_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PUCRH_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PUCRH_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PDCRH_DEF { //!< Power Port H pull-down control register
|
|
struct {
|
|
__IO ONE_BIT PD0 : 1; //!<[00] Port H pull-down bit y (y=0..1)
|
|
__IO ONE_BIT PD1 : 1; //!<[01] Port H pull-down bit y (y=0..1)
|
|
ONE_BIT UNUSED0 : 1; //!<[02]
|
|
__IO ONE_BIT PD3 : 1; //!<[03] Port H pull-down bit y (y=0..1)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PDCRH_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PDCRH_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PDCRH_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL PWR REGISTERS INSTANCES
|
|
__IO CR1_DEF CR1 ; //!< [0000](04)[0x00000200]
|
|
__IO CR2_DEF CR2 ; //!< [0004](04)[0x00000000]
|
|
__IO CR3_DEF CR3 ; //!< [0008](04)[0x00008000]
|
|
__IO CR4_DEF CR4 ; //!< [000c](04)[0x00000000]
|
|
__I SR1_DEF SR1 ; //!< [0010](04)[0x00000000]
|
|
__I SR2_DEF SR2 ; //!< [0014](04)[0x00000000]
|
|
__O SCR_DEF SCR ; //!< [0018](04)[0x00000000]
|
|
uint32_t UNUSED0 ; //!< [001c](04)[0xFFFFFFFF]
|
|
__IO PUCRA_DEF PUCRA ; //!< [0020](04)[0x00000000]
|
|
__IO PDCRA_DEF PDCRA ; //!< [0024](04)[0x00000000]
|
|
__IO PUCRB_DEF PUCRB ; //!< [0028](04)[0x00000000]
|
|
__IO PDCRB_DEF PDCRB ; //!< [002c](04)[0x00000000]
|
|
__IO PUCRC_DEF PUCRC ; //!< [0030](04)[0x00000000]
|
|
__IO PDCRC_DEF PDCRC ; //!< [0034](04)[0x00000000]
|
|
__IO PUCRD_DEF PUCRD ; //!< [0038](04)[0x00000000]
|
|
__IO PDCRD_DEF PDCRD ; //!< [003c](04)[0x00000000]
|
|
__IO PUCRE_DEF PUCRE ; //!< [0040](04)[0x00000000]
|
|
__IO PDCRE_DEF PDCRE ; //!< [0044](04)[0x00000000]
|
|
uint32_t UNUSED1 [4]; //!< [0048](10)[0xFFFFFFFF]
|
|
__IO PUCRH_DEF PUCRH ; //!< [0058](04)[0x00000000]
|
|
__IO PDCRH_DEF PDCRH ; //!< [005c](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x0060 */
|
|
|
|
// ////////////////////+++ SYSCFG +-+//////////////////// //
|
|
struct SYSCFG_Type { /*!< System configuration controller */
|
|
union MEMRMP_DEF { //!< memory remap register
|
|
struct {
|
|
__IO uint32_t MEM_MODE : 3; //!<[00] Memory mapping selection
|
|
__IO ONE_BIT QFS : 1; //!<[03] QUADSPI memory mapping swap
|
|
uint32_t UNUSED0 : 4; //!<[04]
|
|
__IO ONE_BIT FB_MODE : 1; //!<[08] Flash Bank mode selection
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit MEMRMP_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
MEMRMP_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
MEMRMP_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CFGR1_DEF { //!< configuration register 1
|
|
struct {
|
|
__IO ONE_BIT FWDIS : 1; //!<[00] Firewall disable
|
|
uint32_t UNUSED0 : 7; //!<[01]
|
|
__IO ONE_BIT BOOSTEN : 1; //!<[08] I/O analog switch voltage booster enable
|
|
uint32_t UNUSED1 : 7; //!<[09]
|
|
__IO ONE_BIT I2C_PB6_FMP : 1; //!<[16] Fast-mode Plus (Fm+) driving capability activation on PB6
|
|
__IO ONE_BIT I2C_PB7_FMP : 1; //!<[17] Fast-mode Plus (Fm+) driving capability activation on PB7
|
|
__IO ONE_BIT I2C_PB8_FMP : 1; //!<[18] Fast-mode Plus (Fm+) driving capability activation on PB8
|
|
__IO ONE_BIT I2C_PB9_FMP : 1; //!<[19] Fast-mode Plus (Fm+) driving capability activation on PB9
|
|
__IO ONE_BIT I2C1_FMP : 1; //!<[20] I2C1 Fast-mode Plus driving capability activation
|
|
__IO ONE_BIT I2C2_FMP : 1; //!<[21] I2C2 Fast-mode Plus driving capability activation
|
|
__IO ONE_BIT I2C3_FMP : 1; //!<[22] I2C3 Fast-mode Plus driving capability activation
|
|
uint32_t UNUSED2 : 3; //!<[23]
|
|
__IO uint32_t FPU_IE : 6; //!<[26] Floating Point Unit interrupts enable bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CFGR1_DEF () noexcept { R = 0x7c000001u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CFGR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CFGR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union EXTICR1_DEF { //!< external interrupt configuration register 1
|
|
struct {
|
|
__IO uint32_t EXTI0 : 3; //!<[00] EXTI 0 configuration bits
|
|
ONE_BIT UNUSED0 : 1; //!<[03]
|
|
__IO uint32_t EXTI1 : 3; //!<[04] EXTI 1 configuration bits
|
|
ONE_BIT UNUSED1 : 1; //!<[07]
|
|
__IO uint32_t EXTI2 : 3; //!<[08] EXTI 2 configuration bits
|
|
ONE_BIT UNUSED2 : 1; //!<[11]
|
|
__IO uint32_t EXTI3 : 3; //!<[12] EXTI 3 configuration bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit EXTICR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
EXTICR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
EXTICR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union EXTICR2_DEF { //!< external interrupt configuration register 2
|
|
struct {
|
|
__IO uint32_t EXTI4 : 3; //!<[00] EXTI 4 configuration bits
|
|
ONE_BIT UNUSED0 : 1; //!<[03]
|
|
__IO uint32_t EXTI5 : 3; //!<[04] EXTI 5 configuration bits
|
|
ONE_BIT UNUSED1 : 1; //!<[07]
|
|
__IO uint32_t EXTI6 : 3; //!<[08] EXTI 6 configuration bits
|
|
ONE_BIT UNUSED2 : 1; //!<[11]
|
|
__IO uint32_t EXTI7 : 3; //!<[12] EXTI 7 configuration bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit EXTICR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
EXTICR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
EXTICR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union EXTICR3_DEF { //!< external interrupt configuration register 3
|
|
struct {
|
|
__IO uint32_t EXTI8 : 3; //!<[00] EXTI 8 configuration bits
|
|
ONE_BIT UNUSED0 : 1; //!<[03]
|
|
__IO uint32_t EXTI9 : 3; //!<[04] EXTI 9 configuration bits
|
|
ONE_BIT UNUSED1 : 1; //!<[07]
|
|
__IO uint32_t EXTI10 : 3; //!<[08] EXTI 10 configuration bits
|
|
ONE_BIT UNUSED2 : 1; //!<[11]
|
|
__IO uint32_t EXTI11 : 3; //!<[12] EXTI 11 configuration bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit EXTICR3_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
EXTICR3_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
EXTICR3_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union EXTICR4_DEF { //!< external interrupt configuration register 4
|
|
struct {
|
|
__IO uint32_t EXTI12 : 3; //!<[00] EXTI12 configuration bits
|
|
ONE_BIT UNUSED0 : 1; //!<[03]
|
|
__IO uint32_t EXTI13 : 3; //!<[04] EXTI13 configuration bits
|
|
ONE_BIT UNUSED1 : 1; //!<[07]
|
|
__IO uint32_t EXTI14 : 3; //!<[08] EXTI14 configuration bits
|
|
ONE_BIT UNUSED2 : 1; //!<[11]
|
|
__IO uint32_t EXTI15 : 3; //!<[12] EXTI15 configuration bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit EXTICR4_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
EXTICR4_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
EXTICR4_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SCSR_DEF { //!< SCSR
|
|
struct {
|
|
__IO ONE_BIT SRAM2ER : 1; //!<[00] SRAM2 Erase
|
|
__I ONE_BIT SRAM2BSY : 1; //!<[01] SRAM2 busy by erase operation
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit SCSR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
SCSR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
SCSR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CFGR2_DEF { //!< CFGR2
|
|
struct {
|
|
__O ONE_BIT CLL : 1; //!<[00] OCKUP (Hardfault) output enable bit
|
|
__O ONE_BIT SPL : 1; //!<[01] SRAM2 parity lock bit
|
|
__O ONE_BIT PVDL : 1; //!<[02] PVD lock enable bit
|
|
__O ONE_BIT ECCL : 1; //!<[03] ECC Lock
|
|
uint32_t UNUSED0 : 4; //!<[04]
|
|
__IO ONE_BIT SPF : 1; //!<[08] SRAM2 parity error flag
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CFGR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CFGR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CFGR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SWPR_DEF { //!< SWPR
|
|
struct {
|
|
__O ONE_BIT P0WP : 1; //!<[00] P0WP
|
|
__O ONE_BIT P1WP : 1; //!<[01] P1WP
|
|
__O ONE_BIT P2WP : 1; //!<[02] P2WP
|
|
__O ONE_BIT P3WP : 1; //!<[03] P3WP
|
|
__O ONE_BIT P4WP : 1; //!<[04] P4WP
|
|
__O ONE_BIT P5WP : 1; //!<[05] P5WP
|
|
__O ONE_BIT P6WP : 1; //!<[06] P6WP
|
|
__O ONE_BIT P7WP : 1; //!<[07] P7WP
|
|
__O ONE_BIT P8WP : 1; //!<[08] P8WP
|
|
__O ONE_BIT P9WP : 1; //!<[09] P9WP
|
|
__O ONE_BIT P10WP : 1; //!<[10] P10WP
|
|
__O ONE_BIT P11WP : 1; //!<[11] P11WP
|
|
__O ONE_BIT P12WP : 1; //!<[12] P12WP
|
|
__O ONE_BIT P13WP : 1; //!<[13] P13WP
|
|
__O ONE_BIT P14WP : 1; //!<[14] P14WP
|
|
__O ONE_BIT P15WP : 1; //!<[15] P15WP
|
|
__O ONE_BIT P16WP : 1; //!<[16] P16WP
|
|
__O ONE_BIT P17WP : 1; //!<[17] P17WP
|
|
__O ONE_BIT P18WP : 1; //!<[18] P18WP
|
|
__O ONE_BIT P19WP : 1; //!<[19] P19WP
|
|
__O ONE_BIT P20WP : 1; //!<[20] P20WP
|
|
__O ONE_BIT P21WP : 1; //!<[21] P21WP
|
|
__O ONE_BIT P22WP : 1; //!<[22] P22WP
|
|
__O ONE_BIT P23WP : 1; //!<[23] P23WP
|
|
__O ONE_BIT P24WP : 1; //!<[24] P24WP
|
|
__O ONE_BIT P25WP : 1; //!<[25] P25WP
|
|
__O ONE_BIT P26WP : 1; //!<[26] P26WP
|
|
__O ONE_BIT P27WP : 1; //!<[27] P27WP
|
|
__O ONE_BIT P28WP : 1; //!<[28] P28WP
|
|
__O ONE_BIT P29WP : 1; //!<[29] P29WP
|
|
__O ONE_BIT P30WP : 1; //!<[30] P30WP
|
|
__O ONE_BIT P31WP : 1; //!<[31] SRAM2 page 31 write protection
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit SWPR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
SWPR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SKR_DEF { //!< SKR
|
|
struct {
|
|
__O uint32_t KEY : 8; //!<[00] SRAM2 write protection key for software erase
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit SKR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
SKR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL SYSCFG REGISTERS INSTANCES
|
|
__IO MEMRMP_DEF MEMRMP ; //!< [0000](04)[0x00000000]
|
|
__IO CFGR1_DEF CFGR1 ; //!< [0004](04)[0x7C000001]
|
|
__IO EXTICR1_DEF EXTICR1 ; //!< [0008](04)[0x00000000]
|
|
__IO EXTICR2_DEF EXTICR2 ; //!< [000c](04)[0x00000000]
|
|
__IO EXTICR3_DEF EXTICR3 ; //!< [0010](04)[0x00000000]
|
|
__IO EXTICR4_DEF EXTICR4 ; //!< [0014](04)[0x00000000]
|
|
__IO SCSR_DEF SCSR ; //!< [0018](04)[0x00000000]
|
|
__IO CFGR2_DEF CFGR2 ; //!< [001c](04)[0x00000000]
|
|
__O SWPR_DEF SWPR ; //!< [0020](04)[0x00000000]
|
|
__O SKR_DEF SKR ; //!< [0024](04)[0x00000000]
|
|
}; /* total size = 0x0030, struct size = 0x0028 */
|
|
|
|
// ////////////////////+++ RNG +-+//////////////////// //
|
|
struct RNG_Type { /*!< Random number generator */
|
|
union CR_DEF { //!< control register
|
|
struct {
|
|
uint32_t UNUSED0 : 2; //!<[00]
|
|
__IO ONE_BIT RNGEN : 1; //!<[02] Random number generator enable
|
|
__IO ONE_BIT IE : 1; //!<[03] Interrupt enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SR_DEF { //!< status register
|
|
struct {
|
|
__I ONE_BIT DRDY : 1; //!<[00] Data ready
|
|
__I ONE_BIT CECS : 1; //!<[01] Clock error current status
|
|
__I ONE_BIT SECS : 1; //!<[02] Seed error current status
|
|
uint32_t UNUSED0 : 2; //!<[03]
|
|
__IO ONE_BIT CEIS : 1; //!<[05] Clock error interrupt status
|
|
__IO ONE_BIT SEIS : 1; //!<[06] Seed error interrupt status
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit SR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
SR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
SR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DR_DEF { //!< data register
|
|
struct {
|
|
__I uint32_t RNDATA : 32; //!<[00] Random data
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DR_DEF (volatile DR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
// PERIPHERAL RNG REGISTERS INSTANCES
|
|
__IO CR_DEF CR ; //!< [0000](04)[0x00000000]
|
|
__IO SR_DEF SR ; //!< [0004](04)[0x00000000]
|
|
__I DR_DEF DR ; //!< [0008](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x000C */
|
|
|
|
// ////////////////////+++ GPIOA +-+//////////////////// //
|
|
struct GPIOA_Type { /*!< General-purpose I/Os */
|
|
union MODER_DEF { //!< GPIO port mode register
|
|
struct {
|
|
__IO uint32_t MODER0 : 2; //!<[00] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t MODER1 : 2; //!<[02] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t MODER2 : 2; //!<[04] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t MODER3 : 2; //!<[06] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t MODER4 : 2; //!<[08] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t MODER5 : 2; //!<[10] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t MODER6 : 2; //!<[12] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t MODER7 : 2; //!<[14] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t MODER8 : 2; //!<[16] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t MODER9 : 2; //!<[18] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t MODER10 : 2; //!<[20] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t MODER11 : 2; //!<[22] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t MODER12 : 2; //!<[24] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t MODER13 : 2; //!<[26] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t MODER14 : 2; //!<[28] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t MODER15 : 2; //!<[30] Port x configuration bits (y = 0..15)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit MODER_DEF () noexcept { R = 0xa8000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
MODER_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
MODER_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union OTYPER_DEF { //!< GPIO port output type register
|
|
struct {
|
|
__IO ONE_BIT OT0 : 1; //!<[00] Port x configuration bits (y = 0..15)
|
|
__IO ONE_BIT OT1 : 1; //!<[01] Port x configuration bits (y = 0..15)
|
|
__IO ONE_BIT OT2 : 1; //!<[02] Port x configuration bits (y = 0..15)
|
|
__IO ONE_BIT OT3 : 1; //!<[03] Port x configuration bits (y = 0..15)
|
|
__IO ONE_BIT OT4 : 1; //!<[04] Port x configuration bits (y = 0..15)
|
|
__IO ONE_BIT OT5 : 1; //!<[05] Port x configuration bits (y = 0..15)
|
|
__IO ONE_BIT OT6 : 1; //!<[06] Port x configuration bits (y = 0..15)
|
|
__IO ONE_BIT OT7 : 1; //!<[07] Port x configuration bits (y = 0..15)
|
|
__IO ONE_BIT OT8 : 1; //!<[08] Port x configuration bits (y = 0..15)
|
|
__IO ONE_BIT OT9 : 1; //!<[09] Port x configuration bits (y = 0..15)
|
|
__IO ONE_BIT OT10 : 1; //!<[10] Port x configuration bits (y = 0..15)
|
|
__IO ONE_BIT OT11 : 1; //!<[11] Port x configuration bits (y = 0..15)
|
|
__IO ONE_BIT OT12 : 1; //!<[12] Port x configuration bits (y = 0..15)
|
|
__IO ONE_BIT OT13 : 1; //!<[13] Port x configuration bits (y = 0..15)
|
|
__IO ONE_BIT OT14 : 1; //!<[14] Port x configuration bits (y = 0..15)
|
|
__IO ONE_BIT OT15 : 1; //!<[15] Port x configuration bits (y = 0..15)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit OTYPER_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
OTYPER_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
OTYPER_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union OSPEEDR_DEF { //!< GPIO port output speed register
|
|
struct {
|
|
__IO uint32_t OSPEEDR0 : 2; //!<[00] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t OSPEEDR1 : 2; //!<[02] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t OSPEEDR2 : 2; //!<[04] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t OSPEEDR3 : 2; //!<[06] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t OSPEEDR4 : 2; //!<[08] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t OSPEEDR5 : 2; //!<[10] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t OSPEEDR6 : 2; //!<[12] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t OSPEEDR7 : 2; //!<[14] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t OSPEEDR8 : 2; //!<[16] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t OSPEEDR9 : 2; //!<[18] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t OSPEEDR10 : 2; //!<[20] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t OSPEEDR11 : 2; //!<[22] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t OSPEEDR12 : 2; //!<[24] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t OSPEEDR13 : 2; //!<[26] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t OSPEEDR14 : 2; //!<[28] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t OSPEEDR15 : 2; //!<[30] Port x configuration bits (y = 0..15)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit OSPEEDR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
OSPEEDR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
OSPEEDR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PUPDR_DEF { //!< GPIO port pull-up/pull-down register
|
|
struct {
|
|
__IO uint32_t PUPDR0 : 2; //!<[00] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t PUPDR1 : 2; //!<[02] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t PUPDR2 : 2; //!<[04] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t PUPDR3 : 2; //!<[06] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t PUPDR4 : 2; //!<[08] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t PUPDR5 : 2; //!<[10] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t PUPDR6 : 2; //!<[12] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t PUPDR7 : 2; //!<[14] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t PUPDR8 : 2; //!<[16] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t PUPDR9 : 2; //!<[18] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t PUPDR10 : 2; //!<[20] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t PUPDR11 : 2; //!<[22] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t PUPDR12 : 2; //!<[24] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t PUPDR13 : 2; //!<[26] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t PUPDR14 : 2; //!<[28] Port x configuration bits (y = 0..15)
|
|
__IO uint32_t PUPDR15 : 2; //!<[30] Port x configuration bits (y = 0..15)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PUPDR_DEF () noexcept { R = 0x64000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PUPDR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PUPDR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union IDR_DEF { //!< GPIO port input data register
|
|
struct {
|
|
__I ONE_BIT IDR0 : 1; //!<[00] Port input data (y = 0..15)
|
|
__I ONE_BIT IDR1 : 1; //!<[01] Port input data (y = 0..15)
|
|
__I ONE_BIT IDR2 : 1; //!<[02] Port input data (y = 0..15)
|
|
__I ONE_BIT IDR3 : 1; //!<[03] Port input data (y = 0..15)
|
|
__I ONE_BIT IDR4 : 1; //!<[04] Port input data (y = 0..15)
|
|
__I ONE_BIT IDR5 : 1; //!<[05] Port input data (y = 0..15)
|
|
__I ONE_BIT IDR6 : 1; //!<[06] Port input data (y = 0..15)
|
|
__I ONE_BIT IDR7 : 1; //!<[07] Port input data (y = 0..15)
|
|
__I ONE_BIT IDR8 : 1; //!<[08] Port input data (y = 0..15)
|
|
__I ONE_BIT IDR9 : 1; //!<[09] Port input data (y = 0..15)
|
|
__I ONE_BIT IDR10 : 1; //!<[10] Port input data (y = 0..15)
|
|
__I ONE_BIT IDR11 : 1; //!<[11] Port input data (y = 0..15)
|
|
__I ONE_BIT IDR12 : 1; //!<[12] Port input data (y = 0..15)
|
|
__I ONE_BIT IDR13 : 1; //!<[13] Port input data (y = 0..15)
|
|
__I ONE_BIT IDR14 : 1; //!<[14] Port input data (y = 0..15)
|
|
__I ONE_BIT IDR15 : 1; //!<[15] Port input data (y = 0..15)
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit IDR_DEF (volatile IDR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union ODR_DEF { //!< GPIO port output data register
|
|
struct {
|
|
__IO ONE_BIT ODR0 : 1; //!<[00] Port output data (y = 0..15)
|
|
__IO ONE_BIT ODR1 : 1; //!<[01] Port output data (y = 0..15)
|
|
__IO ONE_BIT ODR2 : 1; //!<[02] Port output data (y = 0..15)
|
|
__IO ONE_BIT ODR3 : 1; //!<[03] Port output data (y = 0..15)
|
|
__IO ONE_BIT ODR4 : 1; //!<[04] Port output data (y = 0..15)
|
|
__IO ONE_BIT ODR5 : 1; //!<[05] Port output data (y = 0..15)
|
|
__IO ONE_BIT ODR6 : 1; //!<[06] Port output data (y = 0..15)
|
|
__IO ONE_BIT ODR7 : 1; //!<[07] Port output data (y = 0..15)
|
|
__IO ONE_BIT ODR8 : 1; //!<[08] Port output data (y = 0..15)
|
|
__IO ONE_BIT ODR9 : 1; //!<[09] Port output data (y = 0..15)
|
|
__IO ONE_BIT ODR10 : 1; //!<[10] Port output data (y = 0..15)
|
|
__IO ONE_BIT ODR11 : 1; //!<[11] Port output data (y = 0..15)
|
|
__IO ONE_BIT ODR12 : 1; //!<[12] Port output data (y = 0..15)
|
|
__IO ONE_BIT ODR13 : 1; //!<[13] Port output data (y = 0..15)
|
|
__IO ONE_BIT ODR14 : 1; //!<[14] Port output data (y = 0..15)
|
|
__IO ONE_BIT ODR15 : 1; //!<[15] Port output data (y = 0..15)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ODR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ODR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ODR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BSRR_DEF { //!< GPIO port bit set/reset register
|
|
struct {
|
|
__O ONE_BIT BS0 : 1; //!<[00] Port x set bit y (y= 0..15)
|
|
__O ONE_BIT BS1 : 1; //!<[01] Port x set bit y (y= 0..15)
|
|
__O ONE_BIT BS2 : 1; //!<[02] Port x set bit y (y= 0..15)
|
|
__O ONE_BIT BS3 : 1; //!<[03] Port x set bit y (y= 0..15)
|
|
__O ONE_BIT BS4 : 1; //!<[04] Port x set bit y (y= 0..15)
|
|
__O ONE_BIT BS5 : 1; //!<[05] Port x set bit y (y= 0..15)
|
|
__O ONE_BIT BS6 : 1; //!<[06] Port x set bit y (y= 0..15)
|
|
__O ONE_BIT BS7 : 1; //!<[07] Port x set bit y (y= 0..15)
|
|
__O ONE_BIT BS8 : 1; //!<[08] Port x set bit y (y= 0..15)
|
|
__O ONE_BIT BS9 : 1; //!<[09] Port x set bit y (y= 0..15)
|
|
__O ONE_BIT BS10 : 1; //!<[10] Port x set bit y (y= 0..15)
|
|
__O ONE_BIT BS11 : 1; //!<[11] Port x set bit y (y= 0..15)
|
|
__O ONE_BIT BS12 : 1; //!<[12] Port x set bit y (y= 0..15)
|
|
__O ONE_BIT BS13 : 1; //!<[13] Port x set bit y (y= 0..15)
|
|
__O ONE_BIT BS14 : 1; //!<[14] Port x set bit y (y= 0..15)
|
|
__O ONE_BIT BS15 : 1; //!<[15] Port x set bit y (y= 0..15)
|
|
__O ONE_BIT BR0 : 1; //!<[16] Port x set bit y (y= 0..15)
|
|
__O ONE_BIT BR1 : 1; //!<[17] Port x reset bit y (y = 0..15)
|
|
__O ONE_BIT BR2 : 1; //!<[18] Port x reset bit y (y = 0..15)
|
|
__O ONE_BIT BR3 : 1; //!<[19] Port x reset bit y (y = 0..15)
|
|
__O ONE_BIT BR4 : 1; //!<[20] Port x reset bit y (y = 0..15)
|
|
__O ONE_BIT BR5 : 1; //!<[21] Port x reset bit y (y = 0..15)
|
|
__O ONE_BIT BR6 : 1; //!<[22] Port x reset bit y (y = 0..15)
|
|
__O ONE_BIT BR7 : 1; //!<[23] Port x reset bit y (y = 0..15)
|
|
__O ONE_BIT BR8 : 1; //!<[24] Port x reset bit y (y = 0..15)
|
|
__O ONE_BIT BR9 : 1; //!<[25] Port x reset bit y (y = 0..15)
|
|
__O ONE_BIT BR10 : 1; //!<[26] Port x reset bit y (y = 0..15)
|
|
__O ONE_BIT BR11 : 1; //!<[27] Port x reset bit y (y = 0..15)
|
|
__O ONE_BIT BR12 : 1; //!<[28] Port x reset bit y (y = 0..15)
|
|
__O ONE_BIT BR13 : 1; //!<[29] Port x reset bit y (y = 0..15)
|
|
__O ONE_BIT BR14 : 1; //!<[30] Port x reset bit y (y = 0..15)
|
|
__O ONE_BIT BR15 : 1; //!<[31] Port x reset bit y (y = 0..15)
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit BSRR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BSRR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union LCKR_DEF { //!< GPIO port configuration lock register
|
|
struct {
|
|
__IO ONE_BIT LCK0 : 1; //!<[00] Port x lock bit y (y= 0..15)
|
|
__IO ONE_BIT LCK1 : 1; //!<[01] Port x lock bit y (y= 0..15)
|
|
__IO ONE_BIT LCK2 : 1; //!<[02] Port x lock bit y (y= 0..15)
|
|
__IO ONE_BIT LCK3 : 1; //!<[03] Port x lock bit y (y= 0..15)
|
|
__IO ONE_BIT LCK4 : 1; //!<[04] Port x lock bit y (y= 0..15)
|
|
__IO ONE_BIT LCK5 : 1; //!<[05] Port x lock bit y (y= 0..15)
|
|
__IO ONE_BIT LCK6 : 1; //!<[06] Port x lock bit y (y= 0..15)
|
|
__IO ONE_BIT LCK7 : 1; //!<[07] Port x lock bit y (y= 0..15)
|
|
__IO ONE_BIT LCK8 : 1; //!<[08] Port x lock bit y (y= 0..15)
|
|
__IO ONE_BIT LCK9 : 1; //!<[09] Port x lock bit y (y= 0..15)
|
|
__IO ONE_BIT LCK10 : 1; //!<[10] Port x lock bit y (y= 0..15)
|
|
__IO ONE_BIT LCK11 : 1; //!<[11] Port x lock bit y (y= 0..15)
|
|
__IO ONE_BIT LCK12 : 1; //!<[12] Port x lock bit y (y= 0..15)
|
|
__IO ONE_BIT LCK13 : 1; //!<[13] Port x lock bit y (y= 0..15)
|
|
__IO ONE_BIT LCK14 : 1; //!<[14] Port x lock bit y (y= 0..15)
|
|
__IO ONE_BIT LCK15 : 1; //!<[15] Port x lock bit y (y= 0..15)
|
|
__IO ONE_BIT LCKK : 1; //!<[16] Port x lock bit y (y= 0..15)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit LCKR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
LCKR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
LCKR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union AFRL_DEF { //!< GPIO alternate function low register
|
|
struct {
|
|
__IO uint32_t AFRL0 : 4; //!<[00] Alternate function selection for port x bit y (y = 0..7)
|
|
__IO uint32_t AFRL1 : 4; //!<[04] Alternate function selection for port x bit y (y = 0..7)
|
|
__IO uint32_t AFRL2 : 4; //!<[08] Alternate function selection for port x bit y (y = 0..7)
|
|
__IO uint32_t AFRL3 : 4; //!<[12] Alternate function selection for port x bit y (y = 0..7)
|
|
__IO uint32_t AFRL4 : 4; //!<[16] Alternate function selection for port x bit y (y = 0..7)
|
|
__IO uint32_t AFRL5 : 4; //!<[20] Alternate function selection for port x bit y (y = 0..7)
|
|
__IO uint32_t AFRL6 : 4; //!<[24] Alternate function selection for port x bit y (y = 0..7)
|
|
__IO uint32_t AFRL7 : 4; //!<[28] Alternate function selection for port x bit y (y = 0..7)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit AFRL_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
AFRL_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
AFRL_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union AFRH_DEF { //!< GPIO alternate function high register
|
|
struct {
|
|
__IO uint32_t AFRH8 : 4; //!<[00] Alternate function selection for port x bit y (y = 8..15)
|
|
__IO uint32_t AFRH9 : 4; //!<[04] Alternate function selection for port x bit y (y = 8..15)
|
|
__IO uint32_t AFRH10 : 4; //!<[08] Alternate function selection for port x bit y (y = 8..15)
|
|
__IO uint32_t AFRH11 : 4; //!<[12] Alternate function selection for port x bit y (y = 8..15)
|
|
__IO uint32_t AFRH12 : 4; //!<[16] Alternate function selection for port x bit y (y = 8..15)
|
|
__IO uint32_t AFRH13 : 4; //!<[20] Alternate function selection for port x bit y (y = 8..15)
|
|
__IO uint32_t AFRH14 : 4; //!<[24] Alternate function selection for port x bit y (y = 8..15)
|
|
__IO uint32_t AFRH15 : 4; //!<[28] Alternate function selection for port x bit y (y = 8..15)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit AFRH_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
AFRH_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
AFRH_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL GPIOA REGISTERS INSTANCES
|
|
__IO MODER_DEF MODER ; //!< [0000](04)[0xA8000000]
|
|
__IO OTYPER_DEF OTYPER ; //!< [0004](04)[0x00000000]
|
|
__IO OSPEEDR_DEF OSPEEDR ; //!< [0008](04)[0x00000000]
|
|
__IO PUPDR_DEF PUPDR ; //!< [000c](04)[0x64000000]
|
|
__I IDR_DEF IDR ; //!< [0010](04)[0x00000000]
|
|
__IO ODR_DEF ODR ; //!< [0014](04)[0x00000000]
|
|
__O BSRR_DEF BSRR ; //!< [0018](04)[0x00000000]
|
|
__IO LCKR_DEF LCKR ; //!< [001c](04)[0x00000000]
|
|
__IO AFRL_DEF AFRL ; //!< [0020](04)[0x00000000]
|
|
__IO AFRH_DEF AFRH ; //!< [0024](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x0028 */
|
|
|
|
// ////////////////////+++ SAI1 +-+//////////////////// //
|
|
struct SAI1_Type { /*!< Serial audio interface */
|
|
union ACR1_DEF { //!< AConfiguration register 1
|
|
struct {
|
|
__IO uint32_t MODE : 2; //!<[00] Audio block mode
|
|
__IO uint32_t PRTCFG : 2; //!<[02] Protocol configuration
|
|
ONE_BIT UNUSED0 : 1; //!<[04]
|
|
__IO uint32_t DS : 3; //!<[05] Data size
|
|
__IO ONE_BIT LSBFIRST : 1; //!<[08] Least significant bit first
|
|
__IO ONE_BIT CKSTR : 1; //!<[09] Clock strobing edge
|
|
__IO uint32_t SYNCEN : 2; //!<[10] Synchronization enable
|
|
__IO ONE_BIT MONO : 1; //!<[12] Mono mode
|
|
__IO ONE_BIT OutDri : 1; //!<[13] Output drive
|
|
uint32_t UNUSED1 : 2; //!<[14]
|
|
__IO ONE_BIT SAIAEN : 1; //!<[16] Audio block A enable
|
|
__IO ONE_BIT DMAEN : 1; //!<[17] DMA enable
|
|
ONE_BIT UNUSED2 : 1; //!<[18]
|
|
__IO ONE_BIT NODIV : 1; //!<[19] No divider
|
|
__IO uint32_t MCKDIV : 4; //!<[20] Master clock divider
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ACR1_DEF () noexcept { R = 0x00000040u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ACR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ACR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ACR2_DEF { //!< AConfiguration register 2
|
|
struct {
|
|
__IO uint32_t FTH : 3; //!<[00] FIFO threshold
|
|
__IO ONE_BIT FFLUS : 1; //!<[03] FIFO flush
|
|
__IO ONE_BIT TRIS : 1; //!<[04] Tristate management on data line
|
|
__IO ONE_BIT MUTE : 1; //!<[05] Mute
|
|
__IO ONE_BIT MUTEVAL : 1; //!<[06] Mute value
|
|
__IO uint32_t MUTECN : 6; //!<[07] Mute counter
|
|
__IO ONE_BIT CPL : 1; //!<[13] Complement bit
|
|
__IO uint32_t COMP : 2; //!<[14] Companding mode
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ACR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ACR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ACR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union AFRCR_DEF { //!< AFRCR
|
|
struct {
|
|
__IO uint32_t FRL : 8; //!<[00] Frame length
|
|
__IO uint32_t FSALL : 7; //!<[08] Frame synchronization active level length
|
|
ONE_BIT UNUSED0 : 1; //!<[15]
|
|
__IO ONE_BIT FSDEF : 1; //!<[16] Frame synchronization definition
|
|
__IO ONE_BIT FSPOL : 1; //!<[17] Frame synchronization polarity
|
|
__IO ONE_BIT FSOFF : 1; //!<[18] Frame synchronization offset
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit AFRCR_DEF () noexcept { R = 0x00000007u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
AFRCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
AFRCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ASLOTR_DEF { //!< ASlot register
|
|
struct {
|
|
__IO uint32_t FBOFF : 5; //!<[00] First bit offset
|
|
ONE_BIT UNUSED0 : 1; //!<[05]
|
|
__IO uint32_t SLOTSZ : 2; //!<[06] Slot size
|
|
__IO uint32_t NBSLOT : 4; //!<[08] Number of slots in an audio frame
|
|
uint32_t UNUSED1 : 4; //!<[12]
|
|
__IO uint32_t SLOTEN : 16; //!<[16] Slot enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ASLOTR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ASLOTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ASLOTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union AIM_DEF { //!< AInterrupt mask register2
|
|
struct {
|
|
__IO ONE_BIT OVRUDRIE : 1; //!<[00] Overrun/underrun interrupt enable
|
|
__IO ONE_BIT MUTEDET : 1; //!<[01] Mute detection interrupt enable
|
|
__IO ONE_BIT WCKCFG : 1; //!<[02] Wrong clock configuration interrupt enable
|
|
__IO ONE_BIT FREQIE : 1; //!<[03] FIFO request interrupt enable
|
|
__IO ONE_BIT CNRDYIE : 1; //!<[04] Codec not ready interrupt enable
|
|
__IO ONE_BIT AFSDETIE : 1; //!<[05] Anticipated frame synchronization detection interrupt enable
|
|
__IO ONE_BIT LFSDET : 1; //!<[06] Late frame synchronization detection interrupt enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit AIM_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
AIM_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
AIM_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ASR_DEF { //!< AStatus register
|
|
struct {
|
|
__IO ONE_BIT OVRUDR : 1; //!<[00] Overrun / underrun
|
|
__IO ONE_BIT MUTEDET : 1; //!<[01] Mute detection
|
|
__IO ONE_BIT WCKCFG : 1; //!<[02] Wrong clock configuration flag. This bit is read only
|
|
__IO ONE_BIT FREQ : 1; //!<[03] FIFO request
|
|
__IO ONE_BIT CNRDY : 1; //!<[04] Codec not ready
|
|
__IO ONE_BIT AFSDET : 1; //!<[05] Anticipated frame synchronization detection
|
|
__IO ONE_BIT LFSDET : 1; //!<[06] Late frame synchronization detection
|
|
uint32_t UNUSED0 : 9; //!<[07]
|
|
__IO uint32_t FLVL : 3; //!<[16] FIFO level threshold
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ASR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ASR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ASR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ACLRFR_DEF { //!< AClear flag register
|
|
struct {
|
|
__IO ONE_BIT OVRUDR : 1; //!<[00] Clear overrun / underrun
|
|
__IO ONE_BIT MUTEDET : 1; //!<[01] Mute detection flag
|
|
__IO ONE_BIT WCKCFG : 1; //!<[02] Clear wrong clock configuration flag
|
|
ONE_BIT UNUSED0 : 1; //!<[03]
|
|
__IO ONE_BIT CNRDY : 1; //!<[04] Clear codec not ready flag
|
|
__IO ONE_BIT CAFSDET : 1; //!<[05] Clear anticipated frame synchronization detection flag
|
|
__IO ONE_BIT LFSDET : 1; //!<[06] Clear late frame synchronization detection flag
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ACLRFR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ACLRFR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ACLRFR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ADR_DEF { //!< AData register
|
|
struct {
|
|
__IO uint32_t DATA : 32; //!<[00] Data
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ADR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ADR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ADR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BCR1_DEF { //!< BConfiguration register 1
|
|
struct {
|
|
__IO uint32_t MODE : 2; //!<[00] Audio block mode
|
|
__IO uint32_t PRTCFG : 2; //!<[02] Protocol configuration
|
|
ONE_BIT UNUSED0 : 1; //!<[04]
|
|
__IO uint32_t DS : 3; //!<[05] Data size
|
|
__IO ONE_BIT LSBFIRST : 1; //!<[08] Least significant bit first
|
|
__IO ONE_BIT CKSTR : 1; //!<[09] Clock strobing edge
|
|
__IO uint32_t SYNCEN : 2; //!<[10] Synchronization enable
|
|
__IO ONE_BIT MONO : 1; //!<[12] Mono mode
|
|
__IO ONE_BIT OutDri : 1; //!<[13] Output drive
|
|
uint32_t UNUSED1 : 2; //!<[14]
|
|
__IO ONE_BIT SAIBEN : 1; //!<[16] Audio block B enable
|
|
__IO ONE_BIT DMAEN : 1; //!<[17] DMA enable
|
|
ONE_BIT UNUSED2 : 1; //!<[18]
|
|
__IO ONE_BIT NODIV : 1; //!<[19] No divider
|
|
__IO uint32_t MCKDIV : 4; //!<[20] Master clock divider
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BCR1_DEF () noexcept { R = 0x00000040u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BCR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BCR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BCR2_DEF { //!< BConfiguration register 2
|
|
struct {
|
|
__IO uint32_t FTH : 3; //!<[00] FIFO threshold
|
|
__IO ONE_BIT FFLUS : 1; //!<[03] FIFO flush
|
|
__IO ONE_BIT TRIS : 1; //!<[04] Tristate management on data line
|
|
__IO ONE_BIT MUTE : 1; //!<[05] Mute
|
|
__IO ONE_BIT MUTEVAL : 1; //!<[06] Mute value
|
|
__IO uint32_t MUTECN : 6; //!<[07] Mute counter
|
|
__IO ONE_BIT CPL : 1; //!<[13] Complement bit
|
|
__IO uint32_t COMP : 2; //!<[14] Companding mode
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BCR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BCR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BCR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BFRCR_DEF { //!< BFRCR
|
|
struct {
|
|
__IO uint32_t FRL : 8; //!<[00] Frame length
|
|
__IO uint32_t FSALL : 7; //!<[08] Frame synchronization active level length
|
|
ONE_BIT UNUSED0 : 1; //!<[15]
|
|
__IO ONE_BIT FSDEF : 1; //!<[16] Frame synchronization definition
|
|
__IO ONE_BIT FSPOL : 1; //!<[17] Frame synchronization polarity
|
|
__IO ONE_BIT FSOFF : 1; //!<[18] Frame synchronization offset
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BFRCR_DEF () noexcept { R = 0x00000007u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BFRCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BFRCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BSLOTR_DEF { //!< BSlot register
|
|
struct {
|
|
__IO uint32_t FBOFF : 5; //!<[00] First bit offset
|
|
ONE_BIT UNUSED0 : 1; //!<[05]
|
|
__IO uint32_t SLOTSZ : 2; //!<[06] Slot size
|
|
__IO uint32_t NBSLOT : 4; //!<[08] Number of slots in an audio frame
|
|
uint32_t UNUSED1 : 4; //!<[12]
|
|
__IO uint32_t SLOTEN : 16; //!<[16] Slot enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BSLOTR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BSLOTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BSLOTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BIM_DEF { //!< BInterrupt mask register2
|
|
struct {
|
|
__IO ONE_BIT OVRUDRIE : 1; //!<[00] Overrun/underrun interrupt enable
|
|
__IO ONE_BIT MUTEDET : 1; //!<[01] Mute detection interrupt enable
|
|
__IO ONE_BIT WCKCFG : 1; //!<[02] Wrong clock configuration interrupt enable
|
|
__IO ONE_BIT FREQIE : 1; //!<[03] FIFO request interrupt enable
|
|
__IO ONE_BIT CNRDYIE : 1; //!<[04] Codec not ready interrupt enable
|
|
__IO ONE_BIT AFSDETIE : 1; //!<[05] Anticipated frame synchronization detection interrupt enable
|
|
__IO ONE_BIT LFSDETIE : 1; //!<[06] Late frame synchronization detection interrupt enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BIM_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BIM_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BIM_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BSR_DEF { //!< BStatus register
|
|
struct {
|
|
__I ONE_BIT OVRUDR : 1; //!<[00] Overrun / underrun
|
|
__I ONE_BIT MUTEDET : 1; //!<[01] Mute detection
|
|
__I ONE_BIT WCKCFG : 1; //!<[02] Wrong clock configuration flag
|
|
__I ONE_BIT FREQ : 1; //!<[03] FIFO request
|
|
__I ONE_BIT CNRDY : 1; //!<[04] Codec not ready
|
|
__I ONE_BIT AFSDET : 1; //!<[05] Anticipated frame synchronization detection
|
|
__I ONE_BIT LFSDET : 1; //!<[06] Late frame synchronization detection
|
|
uint32_t UNUSED0 : 9; //!<[07]
|
|
__I uint32_t FLVL : 3; //!<[16] FIFO level threshold
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit BSR_DEF (volatile BSR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union BCLRFR_DEF { //!< BClear flag register
|
|
struct {
|
|
__O ONE_BIT OVRUDR : 1; //!<[00] Clear overrun / underrun
|
|
__O ONE_BIT MUTEDET : 1; //!<[01] Mute detection flag
|
|
__O ONE_BIT WCKCFG : 1; //!<[02] Clear wrong clock configuration flag
|
|
ONE_BIT UNUSED0 : 1; //!<[03]
|
|
__O ONE_BIT CNRDY : 1; //!<[04] Clear codec not ready flag
|
|
__O ONE_BIT CAFSDET : 1; //!<[05] Clear anticipated frame synchronization detection flag
|
|
__O ONE_BIT LFSDET : 1; //!<[06] Clear late frame synchronization detection flag
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit BCLRFR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BCLRFR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BDR_DEF { //!< BData register
|
|
struct {
|
|
__IO uint32_t DATA : 32; //!<[00] Data
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BDR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BDR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BDR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL SAI1 REGISTERS INSTANCES
|
|
uint32_t UNUSED0 ; //!< [0000](04)[0xFFFFFFFF]
|
|
__IO ACR1_DEF ACR1 ; //!< [0004](04)[0x00000040]
|
|
__IO ACR2_DEF ACR2 ; //!< [0008](04)[0x00000000]
|
|
__IO AFRCR_DEF AFRCR ; //!< [000c](04)[0x00000007]
|
|
__IO ASLOTR_DEF ASLOTR ; //!< [0010](04)[0x00000000]
|
|
__IO AIM_DEF AIM ; //!< [0014](04)[0x00000000]
|
|
__IO ASR_DEF ASR ; //!< [0018](04)[0x00000000]
|
|
__IO ACLRFR_DEF ACLRFR ; //!< [001c](04)[0x00000000]
|
|
__IO ADR_DEF ADR ; //!< [0020](04)[0x00000000]
|
|
__IO BCR1_DEF BCR1 ; //!< [0024](04)[0x00000040]
|
|
__IO BCR2_DEF BCR2 ; //!< [0028](04)[0x00000000]
|
|
__IO BFRCR_DEF BFRCR ; //!< [002c](04)[0x00000007]
|
|
__IO BSLOTR_DEF BSLOTR ; //!< [0030](04)[0x00000000]
|
|
__IO BIM_DEF BIM ; //!< [0034](04)[0x00000000]
|
|
__I BSR_DEF BSR ; //!< [0038](04)[0x00000000]
|
|
__O BCLRFR_DEF BCLRFR ; //!< [003c](04)[0x00000000]
|
|
__IO BDR_DEF BDR ; //!< [0040](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x0044 */
|
|
|
|
// ////////////////////+++ TIM2 +-+//////////////////// //
|
|
struct TIM2_Type { /*!< General-purpose-timers */
|
|
union CR1_DEF { //!< control register 1
|
|
struct {
|
|
__IO ONE_BIT CEN : 1; //!<[00] Counter enable
|
|
__IO ONE_BIT UDIS : 1; //!<[01] Update disable
|
|
__IO ONE_BIT URS : 1; //!<[02] Update request source
|
|
__IO ONE_BIT OPM : 1; //!<[03] One-pulse mode
|
|
__IO ONE_BIT DIR : 1; //!<[04] Direction
|
|
__IO uint32_t CMS : 2; //!<[05] Center-aligned mode selection
|
|
__IO ONE_BIT ARPE : 1; //!<[07] Auto-reload preload enable
|
|
__IO uint32_t CKD : 2; //!<[08] Clock division
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CR2_DEF { //!< control register 2
|
|
struct {
|
|
uint32_t UNUSED0 : 3; //!<[00]
|
|
__IO ONE_BIT CCDS : 1; //!<[03] Capture/compare DMA selection
|
|
__IO uint32_t MMS : 3; //!<[04] Master mode selection
|
|
__IO ONE_BIT TI1S : 1; //!<[07] TI1 selection
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SMCR_DEF { //!< slave mode control register
|
|
struct {
|
|
__IO uint32_t SMS : 3; //!<[00] Slave mode selection
|
|
ONE_BIT UNUSED0 : 1; //!<[03]
|
|
__IO uint32_t TS : 3; //!<[04] Trigger selection
|
|
__IO ONE_BIT MSM : 1; //!<[07] Master/Slave mode
|
|
__IO uint32_t ETF : 4; //!<[08] External trigger filter
|
|
__IO uint32_t ETPS : 2; //!<[12] External trigger prescaler
|
|
__IO ONE_BIT ECE : 1; //!<[14] External clock enable
|
|
__IO ONE_BIT ETP : 1; //!<[15] External trigger polarity
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit SMCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
SMCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
SMCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DIER_DEF { //!< DMA/Interrupt enable register
|
|
struct {
|
|
__IO ONE_BIT UIE : 1; //!<[00] Update interrupt enable
|
|
__IO ONE_BIT CC1IE : 1; //!<[01] Capture/Compare 1 interrupt enable
|
|
__IO ONE_BIT CC2IE : 1; //!<[02] Capture/Compare 2 interrupt enable
|
|
__IO ONE_BIT CC3IE : 1; //!<[03] Capture/Compare 3 interrupt enable
|
|
__IO ONE_BIT CC4IE : 1; //!<[04] Capture/Compare 4 interrupt enable
|
|
ONE_BIT UNUSED0 : 1; //!<[05]
|
|
__IO ONE_BIT TIE : 1; //!<[06] Trigger interrupt enable
|
|
ONE_BIT UNUSED1 : 1; //!<[07]
|
|
__IO ONE_BIT UDE : 1; //!<[08] Update DMA request enable
|
|
__IO ONE_BIT CC1DE : 1; //!<[09] Capture/Compare 1 DMA request enable
|
|
__IO ONE_BIT CC2DE : 1; //!<[10] Capture/Compare 2 DMA request enable
|
|
__IO ONE_BIT CC3DE : 1; //!<[11] Capture/Compare 3 DMA request enable
|
|
__IO ONE_BIT CC4DE : 1; //!<[12] Capture/Compare 4 DMA request enable
|
|
__IO ONE_BIT COMDE : 1; //!<[13] COM DMA request enable
|
|
__IO ONE_BIT TDE : 1; //!<[14] Trigger DMA request enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DIER_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DIER_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DIER_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SR_DEF { //!< status register
|
|
struct {
|
|
__IO ONE_BIT UIF : 1; //!<[00] Update interrupt flag
|
|
__IO ONE_BIT CC1IF : 1; //!<[01] Capture/compare 1 interrupt flag
|
|
__IO ONE_BIT CC2IF : 1; //!<[02] Capture/Compare 2 interrupt flag
|
|
__IO ONE_BIT CC3IF : 1; //!<[03] Capture/Compare 3 interrupt flag
|
|
__IO ONE_BIT CC4IF : 1; //!<[04] Capture/Compare 4 interrupt flag
|
|
ONE_BIT UNUSED0 : 1; //!<[05]
|
|
__IO ONE_BIT TIF : 1; //!<[06] Trigger interrupt flag
|
|
uint32_t UNUSED1 : 2; //!<[07]
|
|
__IO ONE_BIT CC1OF : 1; //!<[09] Capture/Compare 1 overcapture flag
|
|
__IO ONE_BIT CC2OF : 1; //!<[10] Capture/compare 2 overcapture flag
|
|
__IO ONE_BIT CC3OF : 1; //!<[11] Capture/Compare 3 overcapture flag
|
|
__IO ONE_BIT CC4OF : 1; //!<[12] Capture/Compare 4 overcapture flag
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit SR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
SR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
SR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union EGR_DEF { //!< event generation register
|
|
struct {
|
|
__O ONE_BIT UG : 1; //!<[00] Update generation
|
|
__O ONE_BIT CC1G : 1; //!<[01] Capture/compare 1 generation
|
|
__O ONE_BIT CC2G : 1; //!<[02] Capture/compare 2 generation
|
|
__O ONE_BIT CC3G : 1; //!<[03] Capture/compare 3 generation
|
|
__O ONE_BIT CC4G : 1; //!<[04] Capture/compare 4 generation
|
|
ONE_BIT UNUSED0 : 1; //!<[05]
|
|
__O ONE_BIT TG : 1; //!<[06] Trigger generation
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit EGR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
EGR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCMR1_Output_DEF { //!< capture/compare mode register 1 (output mode)
|
|
struct {
|
|
__IO uint32_t CC1S : 2; //!<[00] Capture/Compare 1 selection
|
|
__IO ONE_BIT OC1FE : 1; //!<[02] Output compare 1 fast enable
|
|
__IO ONE_BIT OC1PE : 1; //!<[03] Output compare 1 preload enable
|
|
__IO uint32_t OC1M : 3; //!<[04] Output compare 1 mode
|
|
__IO ONE_BIT OC1CE : 1; //!<[07] Output compare 1 clear enable
|
|
__IO uint32_t CC2S : 2; //!<[08] Capture/Compare 2 selection
|
|
__IO ONE_BIT OC2FE : 1; //!<[10] Output compare 2 fast enable
|
|
__IO ONE_BIT OC2PE : 1; //!<[11] Output compare 2 preload enable
|
|
__IO uint32_t OC2M : 3; //!<[12] Output compare 2 mode
|
|
__IO ONE_BIT OC2CE : 1; //!<[15] Output compare 2 clear enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCMR1_Output_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCMR1_Output_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCMR1_Output_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCMR1_Input_DEF { //!< capture/compare mode register 1 (input mode)
|
|
struct {
|
|
__IO uint32_t CC1S : 2; //!<[00] Capture/Compare 1 selection
|
|
__IO uint32_t IC1PSC : 2; //!<[02] Input capture 1 prescaler
|
|
__IO uint32_t IC1F : 4; //!<[04] Input capture 1 filter
|
|
__IO uint32_t CC2S : 2; //!<[08] Capture/compare 2 selection
|
|
__IO uint32_t IC2PSC : 2; //!<[10] Input capture 2 prescaler
|
|
__IO uint32_t IC2F : 4; //!<[12] Input capture 2 filter
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCMR1_Input_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCMR1_Input_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCMR1_Input_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCMR2_Output_DEF { //!< capture/compare mode register 2 (output mode)
|
|
struct {
|
|
__IO uint32_t CC3S : 2; //!<[00] Capture/Compare 3 selection
|
|
__IO ONE_BIT OC3FE : 1; //!<[02] Output compare 3 fast enable
|
|
__IO ONE_BIT OC3PE : 1; //!<[03] Output compare 3 preload enable
|
|
__IO uint32_t OC3M : 3; //!<[04] Output compare 3 mode
|
|
__IO ONE_BIT OC3CE : 1; //!<[07] Output compare 3 clear enable
|
|
__IO uint32_t CC4S : 2; //!<[08] Capture/Compare 4 selection
|
|
__IO ONE_BIT OC4FE : 1; //!<[10] Output compare 4 fast enable
|
|
__IO ONE_BIT OC4PE : 1; //!<[11] Output compare 4 preload enable
|
|
__IO uint32_t OC4M : 3; //!<[12] Output compare 4 mode
|
|
__IO ONE_BIT OC4CE : 1; //!<[15] Output compare 4 clear enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCMR2_Output_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCMR2_Output_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCMR2_Output_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCMR2_Input_DEF { //!< capture/compare mode register 2 (input mode)
|
|
struct {
|
|
__IO uint32_t CC3S : 2; //!<[00] Capture/Compare 3 selection
|
|
__IO uint32_t IC3PSC : 2; //!<[02] Input capture 3 prescaler
|
|
__IO uint32_t IC3F : 4; //!<[04] Input capture 3 filter
|
|
__IO uint32_t CC4S : 2; //!<[08] Capture/Compare 4 selection
|
|
__IO uint32_t IC4PSC : 2; //!<[10] Input capture 4 prescaler
|
|
__IO uint32_t IC4F : 4; //!<[12] Input capture 4 filter
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCMR2_Input_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCMR2_Input_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCMR2_Input_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCER_DEF { //!< capture/compare enable register
|
|
struct {
|
|
__IO ONE_BIT CC1E : 1; //!<[00] Capture/Compare 1 output enable
|
|
__IO ONE_BIT CC1P : 1; //!<[01] Capture/Compare 1 output Polarity
|
|
ONE_BIT UNUSED0 : 1; //!<[02]
|
|
__IO ONE_BIT CC1NP : 1; //!<[03] Capture/Compare 1 output Polarity
|
|
__IO ONE_BIT CC2E : 1; //!<[04] Capture/Compare 2 output enable
|
|
__IO ONE_BIT CC2P : 1; //!<[05] Capture/Compare 2 output Polarity
|
|
ONE_BIT UNUSED1 : 1; //!<[06]
|
|
__IO ONE_BIT CC2NP : 1; //!<[07] Capture/Compare 2 output Polarity
|
|
__IO ONE_BIT CC3E : 1; //!<[08] Capture/Compare 3 output enable
|
|
__IO ONE_BIT CC3P : 1; //!<[09] Capture/Compare 3 output Polarity
|
|
ONE_BIT UNUSED2 : 1; //!<[10]
|
|
__IO ONE_BIT CC3NP : 1; //!<[11] Capture/Compare 3 output Polarity
|
|
__IO ONE_BIT CC4E : 1; //!<[12] Capture/Compare 4 output enable
|
|
__IO ONE_BIT CC4P : 1; //!<[13] Capture/Compare 3 output Polarity
|
|
ONE_BIT UNUSED3 : 1; //!<[14]
|
|
__IO ONE_BIT CC4NP : 1; //!<[15] Capture/Compare 4 output Polarity
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCER_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCER_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCER_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CNT_DEF { //!< counter
|
|
struct {
|
|
__IO uint32_t CNT_L : 16; //!<[00] Low counter value
|
|
__IO uint32_t CNT_H : 16; //!<[16] High counter value (TIM2 only)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CNT_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CNT_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CNT_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PSC_DEF { //!< prescaler
|
|
struct {
|
|
__IO uint32_t PSC : 16; //!<[00] Prescaler value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PSC_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PSC_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PSC_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ARR_DEF { //!< auto-reload register
|
|
struct {
|
|
__IO uint32_t ARR_L : 16; //!<[00] Low Auto-reload value
|
|
__IO uint32_t ARR_H : 16; //!<[16] High Auto-reload value (TIM2 only)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ARR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ARR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ARR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCR1_DEF { //!< capture/compare register 1
|
|
struct {
|
|
__IO uint32_t CCR1_L : 16; //!<[00] Low Capture/Compare 1 value
|
|
__IO uint32_t CCR1_H : 16; //!<[16] High Capture/Compare 1 value (TIM2 only)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCR2_DEF { //!< capture/compare register 2
|
|
struct {
|
|
__IO uint32_t CCR2_L : 16; //!<[00] Low Capture/Compare 2 value
|
|
__IO uint32_t CCR2_H : 16; //!<[16] High Capture/Compare 2 value (TIM2 only)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCR3_DEF { //!< capture/compare register 3
|
|
struct {
|
|
__IO uint32_t CCR3_L : 16; //!<[00] Low Capture/Compare value
|
|
__IO uint32_t CCR3_H : 16; //!<[16] High Capture/Compare value (TIM2 only)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCR3_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCR3_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCR3_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCR4_DEF { //!< capture/compare register 4
|
|
struct {
|
|
__IO uint32_t CCR4_L : 16; //!<[00] Low Capture/Compare value
|
|
__IO uint32_t CCR4_H : 16; //!<[16] High Capture/Compare value (TIM2 only)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCR4_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCR4_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCR4_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DCR_DEF { //!< DMA control register
|
|
struct {
|
|
__IO uint32_t DBA : 5; //!<[00] DMA base address
|
|
uint32_t UNUSED0 : 3; //!<[05]
|
|
__IO uint32_t DBL : 5; //!<[08] DMA burst length
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DMAR_DEF { //!< DMA address for full transfer
|
|
struct {
|
|
__IO uint32_t DMAB : 16; //!<[00] DMA register for burst accesses
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DMAR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DMAR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DMAR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union OR_DEF { //!< TIM2 option register
|
|
struct {
|
|
__IO uint32_t ETR_RMP : 3; //!<[00] Timer2 ETR remap
|
|
__IO uint32_t TI4_RMP : 2; //!<[03] Internal trigger
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit OR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
OR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
OR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL TIM2 REGISTERS INSTANCES
|
|
__IO CR1_DEF CR1 ; //!< [0000](04)[0x00000000]
|
|
__IO CR2_DEF CR2 ; //!< [0004](04)[0x00000000]
|
|
__IO SMCR_DEF SMCR ; //!< [0008](04)[0x00000000]
|
|
__IO DIER_DEF DIER ; //!< [000c](04)[0x00000000]
|
|
__IO SR_DEF SR ; //!< [0010](04)[0x00000000]
|
|
__O EGR_DEF EGR ; //!< [0014](04)[0x00000000]
|
|
MERGE {
|
|
__IO CCMR1_Output_DEF CCMR1_Output ; //!< [0018](04)[0x00000000]
|
|
__IO CCMR1_Input_DEF CCMR1_Input ; //!< [0018](04)[0x00000000]
|
|
};
|
|
MERGE {
|
|
__IO CCMR2_Output_DEF CCMR2_Output ; //!< [001c](04)[0x00000000]
|
|
__IO CCMR2_Input_DEF CCMR2_Input ; //!< [001c](04)[0x00000000]
|
|
};
|
|
__IO CCER_DEF CCER ; //!< [0020](04)[0x00000000]
|
|
__IO CNT_DEF CNT ; //!< [0024](04)[0x00000000]
|
|
__IO PSC_DEF PSC ; //!< [0028](04)[0x00000000]
|
|
__IO ARR_DEF ARR ; //!< [002c](04)[0x00000000]
|
|
uint32_t UNUSED0 ; //!< [0030](04)[0xFFFFFFFF]
|
|
__IO CCR1_DEF CCR1 ; //!< [0034](04)[0x00000000]
|
|
__IO CCR2_DEF CCR2 ; //!< [0038](04)[0x00000000]
|
|
__IO CCR3_DEF CCR3 ; //!< [003c](04)[0x00000000]
|
|
__IO CCR4_DEF CCR4 ; //!< [0040](04)[0x00000000]
|
|
uint32_t UNUSED1 ; //!< [0044](04)[0xFFFFFFFF]
|
|
__IO DCR_DEF DCR ; //!< [0048](04)[0x00000000]
|
|
__IO DMAR_DEF DMAR ; //!< [004c](04)[0x00000000]
|
|
__IO OR_DEF OR ; //!< [0050](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x0054 */
|
|
|
|
// ////////////////////+++ TIM15 +-+//////////////////// //
|
|
struct TIM15_Type { /*!< General purpose timers */
|
|
union CR1_DEF { //!< control register 1
|
|
struct {
|
|
__IO ONE_BIT CEN : 1; //!<[00] Counter enable
|
|
__IO ONE_BIT UDIS : 1; //!<[01] Update disable
|
|
__IO ONE_BIT URS : 1; //!<[02] Update request source
|
|
__IO ONE_BIT OPM : 1; //!<[03] One-pulse mode
|
|
uint32_t UNUSED0 : 3; //!<[04]
|
|
__IO ONE_BIT ARPE : 1; //!<[07] Auto-reload preload enable
|
|
__IO uint32_t CKD : 2; //!<[08] Clock division
|
|
ONE_BIT UNUSED1 : 1; //!<[10]
|
|
__IO ONE_BIT UIFREMAP : 1; //!<[11] UIF status bit remapping
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CR2_DEF { //!< control register 2
|
|
struct {
|
|
__IO ONE_BIT CCPC : 1; //!<[00] Capture/compare preloaded control
|
|
ONE_BIT UNUSED0 : 1; //!<[01]
|
|
__IO ONE_BIT CCUS : 1; //!<[02] Capture/compare control update selection
|
|
__IO ONE_BIT CCDS : 1; //!<[03] Capture/compare DMA selection
|
|
__IO uint32_t MMS : 3; //!<[04] Master mode selection
|
|
__IO ONE_BIT TI1S : 1; //!<[07] TI1 selection
|
|
__IO ONE_BIT OIS1 : 1; //!<[08] Output Idle state 1
|
|
__IO ONE_BIT OIS1N : 1; //!<[09] Output Idle state 1
|
|
__IO ONE_BIT OIS2 : 1; //!<[10] Output idle state 2 (OC2 output)
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SMCR_DEF { //!< TIM15 slave mode control register
|
|
struct {
|
|
__IO uint32_t SMS : 3; //!<[00] Slave mode selection
|
|
ONE_BIT UNUSED0 : 1; //!<[03]
|
|
__IO uint32_t TS : 3; //!<[04] Trigger selection
|
|
__IO ONE_BIT MSM : 1; //!<[07] Master/slave mode
|
|
uint32_t UNUSED1 : 8; //!<[08]
|
|
__IO ONE_BIT SMS_3 : 1; //!<[16] Slave mode selection - bit 3
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit SMCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
SMCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
SMCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DIER_DEF { //!< DMA/Interrupt enable register
|
|
struct {
|
|
__IO ONE_BIT UIE : 1; //!<[00] Update interrupt enable
|
|
__IO ONE_BIT CC1IE : 1; //!<[01] Capture/Compare 1 interrupt enable
|
|
__IO ONE_BIT CC2IE : 1; //!<[02] Capture/Compare 2 interrupt enable
|
|
uint32_t UNUSED0 : 2; //!<[03]
|
|
__IO ONE_BIT COMIE : 1; //!<[05] COM interrupt enable
|
|
__IO ONE_BIT TIE : 1; //!<[06] Trigger interrupt enable
|
|
__IO ONE_BIT BIE : 1; //!<[07] Break interrupt enable
|
|
__IO ONE_BIT UDE : 1; //!<[08] Update DMA request enable
|
|
__IO ONE_BIT CC1DE : 1; //!<[09] Capture/Compare 1 DMA request enable
|
|
__IO ONE_BIT CC2DE : 1; //!<[10] Capture/Compare 2 DMA request enable
|
|
uint32_t UNUSED1 : 2; //!<[11]
|
|
__IO ONE_BIT COMDE : 1; //!<[13] COM DMA request enable
|
|
__IO ONE_BIT TDE : 1; //!<[14] Trigger DMA request enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DIER_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DIER_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DIER_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SR_DEF { //!< status register
|
|
struct {
|
|
__IO ONE_BIT UIF : 1; //!<[00] Update interrupt flag
|
|
__IO ONE_BIT CC1IF : 1; //!<[01] Capture/compare 1 interrupt flag
|
|
__IO ONE_BIT CC2IF : 1; //!<[02] Capture/Compare 2 interrupt flag
|
|
uint32_t UNUSED0 : 2; //!<[03]
|
|
__IO ONE_BIT COMIF : 1; //!<[05] COM interrupt flag
|
|
__IO ONE_BIT TIF : 1; //!<[06] Trigger interrupt flag
|
|
__IO ONE_BIT BIF : 1; //!<[07] Break interrupt flag
|
|
ONE_BIT UNUSED1 : 1; //!<[08]
|
|
__IO ONE_BIT CC1OF : 1; //!<[09] Capture/Compare 1 overcapture flag
|
|
__IO ONE_BIT CC2OF : 1; //!<[10] Capture/Compare 2 overcapture flag
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit SR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
SR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
SR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union EGR_DEF { //!< event generation register
|
|
struct {
|
|
__O ONE_BIT UG : 1; //!<[00] Update generation
|
|
__O ONE_BIT CC1G : 1; //!<[01] Capture/compare 1 generation
|
|
__O ONE_BIT CC2G : 1; //!<[02] Capture/Compare 2 generation
|
|
uint32_t UNUSED0 : 2; //!<[03]
|
|
__O ONE_BIT COMG : 1; //!<[05] Capture/Compare control update generation
|
|
__O ONE_BIT TG : 1; //!<[06] Trigger generation
|
|
__O ONE_BIT BG : 1; //!<[07] Break generation
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit EGR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
EGR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCMR1_Input_DEF { //!< capture/compare mode register 1 (input mode)
|
|
struct {
|
|
__IO uint32_t CC1S : 2; //!<[00] Capture/Compare 1 selection
|
|
__IO uint32_t IC1PSC : 2; //!<[02] Input capture 1 prescaler
|
|
__IO uint32_t IC1F : 4; //!<[04] Input capture 1 filter
|
|
__IO uint32_t CC2S : 2; //!<[08] Capture/Compare 2 selection
|
|
__IO uint32_t IC2PSC : 2; //!<[10] Input capture 2 prescaler
|
|
__IO uint32_t IC2F : 4; //!<[12] Input capture 2 filter
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCMR1_Input_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCMR1_Input_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCMR1_Input_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCMR1_Output_DEF { //!< capture/compare mode register (output mode)
|
|
struct {
|
|
__IO uint32_t CC1S : 2; //!<[00] Capture/Compare 1 selection
|
|
__IO ONE_BIT OC1FE : 1; //!<[02] Output Compare 1 fast enable
|
|
__IO ONE_BIT OC1PE : 1; //!<[03] Output Compare 1 preload enable
|
|
__IO uint32_t OC1M : 3; //!<[04] Output Compare 1 mode
|
|
ONE_BIT UNUSED0 : 1; //!<[07]
|
|
__IO uint32_t CC2S : 2; //!<[08] Capture/Compare 2 selection
|
|
__IO ONE_BIT OC2FE : 1; //!<[10] Output Compare 2 fast enable
|
|
__IO ONE_BIT OC2PE : 1; //!<[11] Output Compare 2 preload enable
|
|
__IO uint32_t OC2M : 3; //!<[12] Output Compare 2 mode
|
|
ONE_BIT UNUSED1 : 1; //!<[15]
|
|
__IO ONE_BIT OC1M_3 : 1; //!<[16] Output Compare 1 mode
|
|
uint32_t UNUSED2 : 7; //!<[17]
|
|
__IO ONE_BIT OC2M_3 : 1; //!<[24] Output Compare 2 mode - bit 3
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCMR1_Output_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCMR1_Output_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCMR1_Output_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCER_DEF { //!< capture/compare enable register
|
|
struct {
|
|
__IO ONE_BIT CC1E : 1; //!<[00] Capture/Compare 1 output enable
|
|
__IO ONE_BIT CC1P : 1; //!<[01] Capture/Compare 1 output Polarity
|
|
__IO ONE_BIT CC1NE : 1; //!<[02] Capture/Compare 1 complementary output enable
|
|
__IO ONE_BIT CC1NP : 1; //!<[03] Capture/Compare 1 output Polarity
|
|
__IO ONE_BIT CC2E : 1; //!<[04] Capture/Compare 2 output enable
|
|
__IO ONE_BIT CC2P : 1; //!<[05] Capture/Compare 2 output polarity
|
|
ONE_BIT UNUSED0 : 1; //!<[06]
|
|
__IO ONE_BIT CC2NP : 1; //!<[07] Capture/Compare 2 complementary output polarity
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCER_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCER_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCER_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CNT_DEF { //!< counter
|
|
struct {
|
|
__IO uint32_t CNT : 16; //!<[00] counter value
|
|
uint32_t UNUSED0 : 15; //!<[16]
|
|
__I ONE_BIT UIFCPY : 1; //!<[31] UIF Copy
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CNT_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CNT_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CNT_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PSC_DEF { //!< prescaler
|
|
struct {
|
|
__IO uint32_t PSC : 16; //!<[00] Prescaler value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PSC_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PSC_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PSC_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ARR_DEF { //!< auto-reload register
|
|
struct {
|
|
__IO uint32_t ARR : 16; //!<[00] Auto-reload value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ARR_DEF () noexcept { R = 0x0000ffffu; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ARR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ARR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RCR_DEF { //!< repetition counter register
|
|
struct {
|
|
__IO uint32_t REP : 8; //!<[00] Repetition counter value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit RCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
RCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
RCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCR1_DEF { //!< capture/compare register 1
|
|
struct {
|
|
__IO uint32_t CCR1 : 16; //!<[00] Capture/Compare 1 value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCR2_DEF { //!< TIM15 capture/compare register 2
|
|
struct {
|
|
__IO uint32_t CCR2 : 16; //!<[00] Capture/Compare 2 value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BDTR_DEF { //!< break and dead-time register
|
|
struct {
|
|
__IO uint32_t DTG : 8; //!<[00] Dead-time generator setup
|
|
__IO uint32_t LOCK : 2; //!<[08] Lock configuration
|
|
__IO ONE_BIT OSSI : 1; //!<[10] Off-state selection for Idle mode
|
|
__IO ONE_BIT OSSR : 1; //!<[11] Off-state selection for Run mode
|
|
__IO ONE_BIT BKE : 1; //!<[12] Break enable
|
|
__IO ONE_BIT BKP : 1; //!<[13] Break polarity
|
|
__IO ONE_BIT AOE : 1; //!<[14] Automatic output enable
|
|
__IO ONE_BIT MOE : 1; //!<[15] Main output enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BDTR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BDTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BDTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DCR_DEF { //!< DMA control register
|
|
struct {
|
|
__IO uint32_t DBA : 5; //!<[00] DMA base address
|
|
uint32_t UNUSED0 : 3; //!<[05]
|
|
__IO uint32_t DBL : 5; //!<[08] DMA burst length
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DMAR_DEF { //!< DMA address for full transfer
|
|
struct {
|
|
__IO uint32_t DMAB : 16; //!<[00] DMA register for burst accesses
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DMAR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DMAR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DMAR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union OR1_DEF { //!< TIM15 option register 1
|
|
struct {
|
|
__IO ONE_BIT TI1_RMP : 1; //!<[00] Input capture 1 remap
|
|
__IO uint32_t ENCODER_MODE : 2; //!<[01] Encoder mode
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit OR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
OR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
OR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union OR2_DEF { //!< TIM15 option register 2
|
|
struct {
|
|
__IO ONE_BIT BKINE : 1; //!<[00] BRK BKIN input enable
|
|
__IO ONE_BIT BKCMP1E : 1; //!<[01] BRK COMP1 enable
|
|
__IO ONE_BIT BKCMP2E : 1; //!<[02] BRK COMP2 enable
|
|
uint32_t UNUSED0 : 6; //!<[03]
|
|
__IO ONE_BIT BKINP : 1; //!<[09] BRK BKIN input polarity
|
|
__IO ONE_BIT BKCMP1P : 1; //!<[10] BRK COMP1 input polarity
|
|
__IO ONE_BIT BKCMP2P : 1; //!<[11] BRK COMP2 input polarity
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit OR2_DEF () noexcept { R = 0x00000001u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
OR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
OR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL TIM15 REGISTERS INSTANCES
|
|
__IO CR1_DEF CR1 ; //!< [0000](04)[0x00000000]
|
|
__IO CR2_DEF CR2 ; //!< [0004](04)[0x00000000]
|
|
__IO SMCR_DEF SMCR ; //!< [0008](04)[0x00000000]
|
|
__IO DIER_DEF DIER ; //!< [000c](04)[0x00000000]
|
|
__IO SR_DEF SR ; //!< [0010](04)[0x00000000]
|
|
__O EGR_DEF EGR ; //!< [0014](04)[0x00000000]
|
|
MERGE {
|
|
__IO CCMR1_Input_DEF CCMR1_Input ; //!< [0018](04)[0x00000000]
|
|
__IO CCMR1_Output_DEF CCMR1_Output ; //!< [0018](04)[0x00000000]
|
|
};
|
|
uint32_t UNUSED0 ; //!< [001c](04)[0xFFFFFFFF]
|
|
__IO CCER_DEF CCER ; //!< [0020](04)[0x00000000]
|
|
__IO CNT_DEF CNT ; //!< [0024](04)[0x00000000]
|
|
__IO PSC_DEF PSC ; //!< [0028](04)[0x00000000]
|
|
__IO ARR_DEF ARR ; //!< [002c](04)[0x0000FFFF]
|
|
__IO RCR_DEF RCR ; //!< [0030](04)[0x00000000]
|
|
__IO CCR1_DEF CCR1 ; //!< [0034](04)[0x00000000]
|
|
__IO CCR2_DEF CCR2 ; //!< [0038](04)[0x00000000]
|
|
uint32_t UNUSED1 [2]; //!< [003c](08)[0xFFFFFFFF]
|
|
__IO BDTR_DEF BDTR ; //!< [0044](04)[0x00000000]
|
|
__IO DCR_DEF DCR ; //!< [0048](04)[0x00000000]
|
|
__IO DMAR_DEF DMAR ; //!< [004c](04)[0x00000000]
|
|
__IO OR1_DEF OR1 ; //!< [0050](04)[0x00000000]
|
|
uint32_t UNUSED2 [3]; //!< [0054](0c)[0xFFFFFFFF]
|
|
__IO OR2_DEF OR2 ; //!< [0060](04)[0x00000001]
|
|
}; /* total size = 0x0400, struct size = 0x0064 */
|
|
|
|
// ////////////////////+++ TIM16 +-+//////////////////// //
|
|
struct TIM16_Type { /*!< General purpose timers */
|
|
union CR1_DEF { //!< control register 1
|
|
struct {
|
|
__IO ONE_BIT CEN : 1; //!<[00] Counter enable
|
|
__IO ONE_BIT UDIS : 1; //!<[01] Update disable
|
|
__IO ONE_BIT URS : 1; //!<[02] Update request source
|
|
__IO ONE_BIT OPM : 1; //!<[03] One-pulse mode
|
|
uint32_t UNUSED0 : 3; //!<[04]
|
|
__IO ONE_BIT ARPE : 1; //!<[07] Auto-reload preload enable
|
|
__IO uint32_t CKD : 2; //!<[08] Clock division
|
|
ONE_BIT UNUSED1 : 1; //!<[10]
|
|
__IO ONE_BIT UIFREMAP : 1; //!<[11] UIF status bit remapping
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CR2_DEF { //!< control register 2
|
|
struct {
|
|
__IO ONE_BIT CCPC : 1; //!<[00] Capture/compare preloaded control
|
|
ONE_BIT UNUSED0 : 1; //!<[01]
|
|
__IO ONE_BIT CCUS : 1; //!<[02] Capture/compare control update selection
|
|
__IO ONE_BIT CCDS : 1; //!<[03] Capture/compare DMA selection
|
|
uint32_t UNUSED1 : 4; //!<[04]
|
|
__IO ONE_BIT OIS1 : 1; //!<[08] Output Idle state 1
|
|
__IO ONE_BIT OIS1N : 1; //!<[09] Output Idle state 1
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DIER_DEF { //!< DMA/Interrupt enable register
|
|
struct {
|
|
__IO ONE_BIT UIE : 1; //!<[00] Update interrupt enable
|
|
__IO ONE_BIT CC1IE : 1; //!<[01] Capture/Compare 1 interrupt enable
|
|
uint32_t UNUSED0 : 3; //!<[02]
|
|
__IO ONE_BIT COMIE : 1; //!<[05] COM interrupt enable
|
|
__IO ONE_BIT TIE : 1; //!<[06] Trigger interrupt enable
|
|
__IO ONE_BIT BIE : 1; //!<[07] Break interrupt enable
|
|
__IO ONE_BIT UDE : 1; //!<[08] Update DMA request enable
|
|
__IO ONE_BIT CC1DE : 1; //!<[09] Capture/Compare 1 DMA request enable
|
|
uint32_t UNUSED1 : 3; //!<[10]
|
|
__IO ONE_BIT COMDE : 1; //!<[13] COM DMA request enable
|
|
__IO ONE_BIT TDE : 1; //!<[14] Trigger DMA request enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DIER_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DIER_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DIER_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SR_DEF { //!< status register
|
|
struct {
|
|
__IO ONE_BIT UIF : 1; //!<[00] Update interrupt flag
|
|
__IO ONE_BIT CC1IF : 1; //!<[01] Capture/compare 1 interrupt flag
|
|
uint32_t UNUSED0 : 3; //!<[02]
|
|
__IO ONE_BIT COMIF : 1; //!<[05] COM interrupt flag
|
|
__IO ONE_BIT TIF : 1; //!<[06] Trigger interrupt flag
|
|
__IO ONE_BIT BIF : 1; //!<[07] Break interrupt flag
|
|
ONE_BIT UNUSED1 : 1; //!<[08]
|
|
__IO ONE_BIT CC1OF : 1; //!<[09] Capture/Compare 1 overcapture flag
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit SR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
SR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
SR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union EGR_DEF { //!< event generation register
|
|
struct {
|
|
__O ONE_BIT UG : 1; //!<[00] Update generation
|
|
__O ONE_BIT CC1G : 1; //!<[01] Capture/compare 1 generation
|
|
uint32_t UNUSED0 : 3; //!<[02]
|
|
__O ONE_BIT COMG : 1; //!<[05] Capture/Compare control update generation
|
|
__O ONE_BIT TG : 1; //!<[06] Trigger generation
|
|
__O ONE_BIT BG : 1; //!<[07] Break generation
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit EGR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
EGR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCMR1_Input_DEF { //!< capture/compare mode register 1 (input mode)
|
|
struct {
|
|
__IO uint32_t CC1S : 2; //!<[00] Capture/Compare 1 selection
|
|
__IO uint32_t IC1PSC : 2; //!<[02] Input capture 1 prescaler
|
|
__IO uint32_t IC1F : 4; //!<[04] Input capture 1 filter
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCMR1_Input_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCMR1_Input_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCMR1_Input_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCMR1_Output_DEF { //!< capture/compare mode register (output mode)
|
|
struct {
|
|
__IO uint32_t CC1S : 2; //!<[00] Capture/Compare 1 selection
|
|
__IO ONE_BIT OC1FE : 1; //!<[02] Output Compare 1 fast enable
|
|
__IO ONE_BIT OC1PE : 1; //!<[03] Output Compare 1 preload enable
|
|
__IO uint32_t OC1M : 3; //!<[04] Output Compare 1 mode
|
|
uint32_t UNUSED0 : 9; //!<[07]
|
|
__IO ONE_BIT OC1M_2 : 1; //!<[16] Output Compare 1 mode
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCMR1_Output_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCMR1_Output_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCMR1_Output_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCER_DEF { //!< capture/compare enable register
|
|
struct {
|
|
__IO ONE_BIT CC1E : 1; //!<[00] Capture/Compare 1 output enable
|
|
__IO ONE_BIT CC1P : 1; //!<[01] Capture/Compare 1 output Polarity
|
|
__IO ONE_BIT CC1NE : 1; //!<[02] Capture/Compare 1 complementary output enable
|
|
__IO ONE_BIT CC1NP : 1; //!<[03] Capture/Compare 1 output Polarity
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCER_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCER_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCER_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CNT_DEF { //!< counter
|
|
struct {
|
|
__IO uint32_t CNT : 16; //!<[00] counter value
|
|
uint32_t UNUSED0 : 15; //!<[16]
|
|
__I ONE_BIT UIFCPY : 1; //!<[31] UIF Copy
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CNT_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CNT_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CNT_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PSC_DEF { //!< prescaler
|
|
struct {
|
|
__IO uint32_t PSC : 16; //!<[00] Prescaler value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PSC_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PSC_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PSC_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ARR_DEF { //!< auto-reload register
|
|
struct {
|
|
__IO uint32_t ARR : 16; //!<[00] Auto-reload value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ARR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ARR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ARR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RCR_DEF { //!< repetition counter register
|
|
struct {
|
|
__IO uint32_t REP : 8; //!<[00] Repetition counter value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit RCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
RCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
RCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCR1_DEF { //!< capture/compare register 1
|
|
struct {
|
|
__IO uint32_t CCR1 : 16; //!<[00] Capture/Compare 1 value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BDTR_DEF { //!< break and dead-time register
|
|
struct {
|
|
__IO uint32_t DTG : 8; //!<[00] Dead-time generator setup
|
|
__IO uint32_t LOCK : 2; //!<[08] Lock configuration
|
|
__IO ONE_BIT OSSI : 1; //!<[10] Off-state selection for Idle mode
|
|
__IO ONE_BIT OSSR : 1; //!<[11] Off-state selection for Run mode
|
|
__IO ONE_BIT BKE : 1; //!<[12] Break enable
|
|
__IO ONE_BIT BKP : 1; //!<[13] Break polarity
|
|
__IO ONE_BIT AOE : 1; //!<[14] Automatic output enable
|
|
__IO ONE_BIT MOE : 1; //!<[15] Main output enable
|
|
__IO uint32_t BKF : 4; //!<[16] Break filter
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BDTR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BDTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BDTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DCR_DEF { //!< DMA control register
|
|
struct {
|
|
__IO uint32_t DBA : 5; //!<[00] DMA base address
|
|
uint32_t UNUSED0 : 3; //!<[05]
|
|
__IO uint32_t DBL : 5; //!<[08] DMA burst length
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DMAR_DEF { //!< DMA address for full transfer
|
|
struct {
|
|
__IO uint32_t DMAB : 16; //!<[00] DMA register for burst accesses
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DMAR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DMAR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DMAR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union OR1_DEF { //!< TIM16 option register 1
|
|
struct {
|
|
__IO uint32_t TI1_RMP : 2; //!<[00] Input capture 1 remap
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit OR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
OR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
OR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union OR2_DEF { //!< TIM17 option register 1
|
|
struct {
|
|
__IO ONE_BIT BKINE : 1; //!<[00] BRK BKIN input enable
|
|
__IO ONE_BIT BKCMP1E : 1; //!<[01] BRK COMP1 enable
|
|
__IO ONE_BIT BKCMP2E : 1; //!<[02] BRK COMP2 enable
|
|
uint32_t UNUSED0 : 5; //!<[03]
|
|
__IO ONE_BIT BKDFBK1E : 1; //!<[08] BRK DFSDM_BREAK1 enable
|
|
__IO ONE_BIT BKINP : 1; //!<[09] BRK BKIN input polarity
|
|
__IO ONE_BIT BKCMP1P : 1; //!<[10] BRK COMP1 input polarity
|
|
__IO ONE_BIT BKCMP2P : 1; //!<[11] BRK COMP2 input polarit
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit OR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
OR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
OR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL TIM16 REGISTERS INSTANCES
|
|
__IO CR1_DEF CR1 ; //!< [0000](04)[0x00000000]
|
|
__IO CR2_DEF CR2 ; //!< [0004](04)[0x00000000]
|
|
uint32_t UNUSED0 ; //!< [0008](04)[0xFFFFFFFF]
|
|
__IO DIER_DEF DIER ; //!< [000c](04)[0x00000000]
|
|
__IO SR_DEF SR ; //!< [0010](04)[0x00000000]
|
|
__O EGR_DEF EGR ; //!< [0014](04)[0x00000000]
|
|
MERGE {
|
|
__IO CCMR1_Input_DEF CCMR1_Input ; //!< [0018](04)[0x00000000]
|
|
__IO CCMR1_Output_DEF CCMR1_Output ; //!< [0018](04)[0x00000000]
|
|
};
|
|
uint32_t UNUSED1 ; //!< [001c](04)[0xFFFFFFFF]
|
|
__IO CCER_DEF CCER ; //!< [0020](04)[0x00000000]
|
|
__IO CNT_DEF CNT ; //!< [0024](04)[0x00000000]
|
|
__IO PSC_DEF PSC ; //!< [0028](04)[0x00000000]
|
|
__IO ARR_DEF ARR ; //!< [002c](04)[0x00000000]
|
|
__IO RCR_DEF RCR ; //!< [0030](04)[0x00000000]
|
|
__IO CCR1_DEF CCR1 ; //!< [0034](04)[0x00000000]
|
|
uint32_t UNUSED2 [3]; //!< [0038](0c)[0xFFFFFFFF]
|
|
__IO BDTR_DEF BDTR ; //!< [0044](04)[0x00000000]
|
|
__IO DCR_DEF DCR ; //!< [0048](04)[0x00000000]
|
|
__IO DMAR_DEF DMAR ; //!< [004c](04)[0x00000000]
|
|
__IO OR1_DEF OR1 ; //!< [0050](04)[0x00000000]
|
|
uint32_t UNUSED3 [3]; //!< [0054](0c)[0xFFFFFFFF]
|
|
__IO OR2_DEF OR2 ; //!< [0060](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x0064 */
|
|
|
|
// ////////////////////+++ TIM1 +-+//////////////////// //
|
|
struct TIM1_Type { /*!< Advanced-timers */
|
|
union CR1_DEF { //!< control register 1
|
|
struct {
|
|
__IO ONE_BIT CEN : 1; //!<[00] Counter enable
|
|
__IO ONE_BIT UDIS : 1; //!<[01] Update disable
|
|
__IO ONE_BIT URS : 1; //!<[02] Update request source
|
|
__IO ONE_BIT OPM : 1; //!<[03] One-pulse mode
|
|
__IO ONE_BIT DIR : 1; //!<[04] Direction
|
|
__IO uint32_t CMS : 2; //!<[05] Center-aligned mode selection
|
|
__IO ONE_BIT ARPE : 1; //!<[07] Auto-reload preload enable
|
|
__IO uint32_t CKD : 2; //!<[08] Clock division
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CR2_DEF { //!< control register 2
|
|
struct {
|
|
__IO ONE_BIT CCPC : 1; //!<[00] Capture/compare preloaded control
|
|
ONE_BIT UNUSED0 : 1; //!<[01]
|
|
__IO ONE_BIT CCUS : 1; //!<[02] Capture/compare control update selection
|
|
__IO ONE_BIT CCDS : 1; //!<[03] Capture/compare DMA selection
|
|
__IO uint32_t MMS : 3; //!<[04] Master mode selection
|
|
__IO ONE_BIT TI1S : 1; //!<[07] TI1 selection
|
|
__IO ONE_BIT OIS1 : 1; //!<[08] Output Idle state 1
|
|
__IO ONE_BIT OIS1N : 1; //!<[09] Output Idle state 1
|
|
__IO ONE_BIT OIS2 : 1; //!<[10] Output Idle state 2
|
|
__IO ONE_BIT OIS2N : 1; //!<[11] Output Idle state 2
|
|
__IO ONE_BIT OIS3 : 1; //!<[12] Output Idle state 3
|
|
__IO ONE_BIT OIS3N : 1; //!<[13] Output Idle state 3
|
|
__IO ONE_BIT OIS4 : 1; //!<[14] Output Idle state 4
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SMCR_DEF { //!< slave mode control register
|
|
struct {
|
|
__IO uint32_t SMS : 3; //!<[00] Slave mode selection
|
|
ONE_BIT UNUSED0 : 1; //!<[03]
|
|
__IO uint32_t TS : 3; //!<[04] Trigger selection
|
|
__IO ONE_BIT MSM : 1; //!<[07] Master/Slave mode
|
|
__IO uint32_t ETF : 4; //!<[08] External trigger filter
|
|
__IO uint32_t ETPS : 2; //!<[12] External trigger prescaler
|
|
__IO ONE_BIT ECE : 1; //!<[14] External clock enable
|
|
__IO ONE_BIT ETP : 1; //!<[15] External trigger polarity
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit SMCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
SMCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
SMCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DIER_DEF { //!< DMA/Interrupt enable register
|
|
struct {
|
|
__IO ONE_BIT UIE : 1; //!<[00] Update interrupt enable
|
|
__IO ONE_BIT CC1IE : 1; //!<[01] Capture/Compare 1 interrupt enable
|
|
__IO ONE_BIT CC2IE : 1; //!<[02] Capture/Compare 2 interrupt enable
|
|
__IO ONE_BIT CC3IE : 1; //!<[03] Capture/Compare 3 interrupt enable
|
|
__IO ONE_BIT CC4IE : 1; //!<[04] Capture/Compare 4 interrupt enable
|
|
__IO ONE_BIT COMIE : 1; //!<[05] COM interrupt enable
|
|
__IO ONE_BIT TIE : 1; //!<[06] Trigger interrupt enable
|
|
__IO ONE_BIT BIE : 1; //!<[07] Break interrupt enable
|
|
__IO ONE_BIT UDE : 1; //!<[08] Update DMA request enable
|
|
__IO ONE_BIT CC1DE : 1; //!<[09] Capture/Compare 1 DMA request enable
|
|
__IO ONE_BIT CC2DE : 1; //!<[10] Capture/Compare 2 DMA request enable
|
|
__IO ONE_BIT CC3DE : 1; //!<[11] Capture/Compare 3 DMA request enable
|
|
__IO ONE_BIT CC4DE : 1; //!<[12] Capture/Compare 4 DMA request enable
|
|
__IO ONE_BIT COMDE : 1; //!<[13] COM DMA request enable
|
|
__IO ONE_BIT TDE : 1; //!<[14] Trigger DMA request enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DIER_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DIER_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DIER_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SR_DEF { //!< status register
|
|
struct {
|
|
__IO ONE_BIT UIF : 1; //!<[00] Update interrupt flag
|
|
__IO ONE_BIT CC1IF : 1; //!<[01] Capture/compare 1 interrupt flag
|
|
__IO ONE_BIT CC2IF : 1; //!<[02] Capture/Compare 2 interrupt flag
|
|
__IO ONE_BIT CC3IF : 1; //!<[03] Capture/Compare 3 interrupt flag
|
|
__IO ONE_BIT CC4IF : 1; //!<[04] Capture/Compare 4 interrupt flag
|
|
__IO ONE_BIT COMIF : 1; //!<[05] COM interrupt flag
|
|
__IO ONE_BIT TIF : 1; //!<[06] Trigger interrupt flag
|
|
__IO ONE_BIT BIF : 1; //!<[07] Break interrupt flag
|
|
ONE_BIT UNUSED0 : 1; //!<[08]
|
|
__IO ONE_BIT CC1OF : 1; //!<[09] Capture/Compare 1 overcapture flag
|
|
__IO ONE_BIT CC2OF : 1; //!<[10] Capture/compare 2 overcapture flag
|
|
__IO ONE_BIT CC3OF : 1; //!<[11] Capture/Compare 3 overcapture flag
|
|
__IO ONE_BIT CC4OF : 1; //!<[12] Capture/Compare 4 overcapture flag
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit SR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
SR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
SR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union EGR_DEF { //!< event generation register
|
|
struct {
|
|
__O ONE_BIT UG : 1; //!<[00] Update generation
|
|
__O ONE_BIT CC1G : 1; //!<[01] Capture/compare 1 generation
|
|
__O ONE_BIT CC2G : 1; //!<[02] Capture/compare 2 generation
|
|
__O ONE_BIT CC3G : 1; //!<[03] Capture/compare 3 generation
|
|
__O ONE_BIT CC4G : 1; //!<[04] Capture/compare 4 generation
|
|
__O ONE_BIT COMG : 1; //!<[05] Capture/Compare control update generation
|
|
__O ONE_BIT TG : 1; //!<[06] Trigger generation
|
|
__O ONE_BIT BG : 1; //!<[07] Break generation
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit EGR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
EGR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCMR1_Input_DEF { //!< capture/compare mode register 1 (input mode)
|
|
struct {
|
|
__IO uint32_t CC1S : 2; //!<[00] Capture/Compare 1 selection
|
|
__IO uint32_t ICPCS : 2; //!<[02] Input capture 1 prescaler
|
|
__IO uint32_t IC1F : 4; //!<[04] Input capture 1 filter
|
|
__IO uint32_t CC2S : 2; //!<[08] Capture/Compare 2 selection
|
|
__IO uint32_t IC2PCS : 2; //!<[10] Input capture 2 prescaler
|
|
__IO uint32_t IC2F : 4; //!<[12] Input capture 2 filter
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCMR1_Input_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCMR1_Input_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCMR1_Input_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCMR1_Output_DEF { //!< capture/compare mode register 1 (output mode)
|
|
struct {
|
|
__IO uint32_t CC1S : 2; //!<[00] Capture/Compare 1 selection
|
|
__IO ONE_BIT OC1FE : 1; //!<[02] Output Compare 1 fast enable
|
|
__IO ONE_BIT OC1PE : 1; //!<[03] Output Compare 1 preload enable
|
|
__IO uint32_t OC1M : 3; //!<[04] Output Compare 1 mode
|
|
__IO ONE_BIT OC1CE : 1; //!<[07] Output Compare 1 clear enable
|
|
__IO uint32_t CC2S : 2; //!<[08] Capture/Compare 2 selection
|
|
__IO ONE_BIT OC2FE : 1; //!<[10] Output Compare 2 fast enable
|
|
__IO ONE_BIT OC2PE : 1; //!<[11] Output Compare 2 preload enable
|
|
__IO uint32_t OC2M : 3; //!<[12] Output Compare 2 mode
|
|
__IO ONE_BIT OC2CE : 1; //!<[15] Output Compare 2 clear enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCMR1_Output_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCMR1_Output_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCMR1_Output_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCMR2_Input_DEF { //!< capture/compare mode register 2 (input mode)
|
|
struct {
|
|
__IO uint32_t CC3S : 2; //!<[00] Capture/compare 3 selection
|
|
__IO uint32_t IC3PSC : 2; //!<[02] Input capture 3 prescaler
|
|
__IO uint32_t IC3F : 4; //!<[04] Input capture 3 filter
|
|
__IO uint32_t CC4S : 2; //!<[08] Capture/Compare 4 selection
|
|
__IO uint32_t IC4PSC : 2; //!<[10] Input capture 4 prescaler
|
|
__IO uint32_t IC4F : 4; //!<[12] Input capture 4 filter
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCMR2_Input_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCMR2_Input_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCMR2_Input_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCMR2_Output_DEF { //!< capture/compare mode register 2 (output mode)
|
|
struct {
|
|
__IO uint32_t CC3S : 2; //!<[00] Capture/Compare 3 selection
|
|
__IO ONE_BIT OC3FE : 1; //!<[02] Output compare 3 fast enable
|
|
__IO ONE_BIT OC3PE : 1; //!<[03] Output compare 3 preload enable
|
|
__IO uint32_t OC3M : 3; //!<[04] Output compare 3 mode
|
|
__IO ONE_BIT OC3CE : 1; //!<[07] Output compare 3 clear enable
|
|
__IO uint32_t CC4S : 2; //!<[08] Capture/Compare 4 selection
|
|
__IO ONE_BIT OC4FE : 1; //!<[10] Output compare 4 fast enable
|
|
__IO ONE_BIT OC4PE : 1; //!<[11] Output compare 4 preload enable
|
|
__IO uint32_t OC4M : 3; //!<[12] Output compare 4 mode
|
|
__IO ONE_BIT OC4CE : 1; //!<[15] Output compare 4 clear enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCMR2_Output_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCMR2_Output_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCMR2_Output_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCER_DEF { //!< capture/compare enable register
|
|
struct {
|
|
__IO ONE_BIT CC1E : 1; //!<[00] Capture/Compare 1 output enable
|
|
__IO ONE_BIT CC1P : 1; //!<[01] Capture/Compare 1 output Polarity
|
|
__IO ONE_BIT CC1NE : 1; //!<[02] Capture/Compare 1 complementary output enable
|
|
__IO ONE_BIT CC1NP : 1; //!<[03] Capture/Compare 1 output Polarity
|
|
__IO ONE_BIT CC2E : 1; //!<[04] Capture/Compare 2 output enable
|
|
__IO ONE_BIT CC2P : 1; //!<[05] Capture/Compare 2 output Polarity
|
|
__IO ONE_BIT CC2NE : 1; //!<[06] Capture/Compare 2 complementary output enable
|
|
__IO ONE_BIT CC2NP : 1; //!<[07] Capture/Compare 2 output Polarity
|
|
__IO ONE_BIT CC3E : 1; //!<[08] Capture/Compare 3 output enable
|
|
__IO ONE_BIT CC3P : 1; //!<[09] Capture/Compare 3 output Polarity
|
|
__IO ONE_BIT CC3NE : 1; //!<[10] Capture/Compare 3 complementary output enable
|
|
__IO ONE_BIT CC3NP : 1; //!<[11] Capture/Compare 3 output Polarity
|
|
__IO ONE_BIT CC4E : 1; //!<[12] Capture/Compare 4 output enable
|
|
__IO ONE_BIT CC4P : 1; //!<[13] Capture/Compare 3 output Polarity
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCER_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCER_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCER_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CNT_DEF { //!< counter
|
|
struct {
|
|
__IO uint32_t CNT : 16; //!<[00] counter value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CNT_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CNT_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CNT_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PSC_DEF { //!< prescaler
|
|
struct {
|
|
__IO uint32_t PSC : 16; //!<[00] Prescaler value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PSC_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PSC_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PSC_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ARR_DEF { //!< auto-reload register
|
|
struct {
|
|
__IO uint32_t ARR : 16; //!<[00] Auto-reload value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ARR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ARR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ARR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RCR_DEF { //!< repetition counter register
|
|
struct {
|
|
__IO uint32_t REP : 8; //!<[00] Repetition counter value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit RCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
RCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
RCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCR1_DEF { //!< capture/compare register 1
|
|
struct {
|
|
__IO uint32_t CCR1 : 16; //!<[00] Capture/Compare 1 value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCR2_DEF { //!< capture/compare register 2
|
|
struct {
|
|
__IO uint32_t CCR2 : 16; //!<[00] Capture/Compare 2 value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCR3_DEF { //!< capture/compare register 3
|
|
struct {
|
|
__IO uint32_t CCR3 : 16; //!<[00] Capture/Compare value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCR3_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCR3_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCR3_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCR4_DEF { //!< capture/compare register 4
|
|
struct {
|
|
__IO uint32_t CCR4 : 16; //!<[00] Capture/Compare value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCR4_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCR4_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCR4_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BDTR_DEF { //!< break and dead-time register
|
|
struct {
|
|
__IO uint32_t DTG : 8; //!<[00] Dead-time generator setup
|
|
__IO uint32_t LOCK : 2; //!<[08] Lock configuration
|
|
__IO ONE_BIT OSSI : 1; //!<[10] Off-state selection for Idle mode
|
|
__IO ONE_BIT OSSR : 1; //!<[11] Off-state selection for Run mode
|
|
__IO ONE_BIT BKE : 1; //!<[12] Break enable
|
|
__IO ONE_BIT BKP : 1; //!<[13] Break polarity
|
|
__IO ONE_BIT AOE : 1; //!<[14] Automatic output enable
|
|
__IO ONE_BIT MOE : 1; //!<[15] Main output enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BDTR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BDTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BDTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DCR_DEF { //!< DMA control register
|
|
struct {
|
|
__IO uint32_t DBA : 5; //!<[00] DMA base address
|
|
uint32_t UNUSED0 : 3; //!<[05]
|
|
__IO uint32_t DBL : 5; //!<[08] DMA burst length
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DMAR_DEF { //!< DMA address for full transfer
|
|
struct {
|
|
__IO uint32_t DMAB : 16; //!<[00] DMA register for burst accesses
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DMAR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DMAR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DMAR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union OR1_DEF { //!< DMA address for full transfer
|
|
struct {
|
|
__IO uint32_t ETR_ADC1_RMP : 2; //!<[00] External trigger remap on ADC1 analog watchdog
|
|
__IO uint32_t ETR_ADC3_RMP : 2; //!<[02] External trigger remap on ADC3 analog watchdog
|
|
__IO ONE_BIT TI1_RMP : 1; //!<[04] Input Capture 1 remap
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit OR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
OR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
OR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCMR3_Output_DEF { //!< capture/compare mode register 2 (output mode)
|
|
struct {
|
|
uint32_t UNUSED0 : 2; //!<[00]
|
|
__IO ONE_BIT OC5FE : 1; //!<[02] Output compare 5 fast enable
|
|
__IO ONE_BIT OC5PE : 1; //!<[03] Output compare 5 preload enable
|
|
__IO uint32_t OC5M : 3; //!<[04] Output compare 5 mode
|
|
__IO ONE_BIT OC5CE : 1; //!<[07] Output compare 5 clear enable
|
|
uint32_t UNUSED1 : 2; //!<[08]
|
|
__IO ONE_BIT OC6FE : 1; //!<[10] Output compare 6 fast enable
|
|
__IO ONE_BIT OC6PE : 1; //!<[11] Output compare 6 preload enable
|
|
__IO uint32_t OC6M : 3; //!<[12] Output compare 6 mode
|
|
__IO ONE_BIT OC6CE : 1; //!<[15] Output compare 6 clear enable
|
|
__IO uint32_t OC5M_bit3 : 3; //!<[16] Output Compare 5 mode bit 3
|
|
uint32_t UNUSED2 : 5; //!<[19]
|
|
__IO ONE_BIT OC6M_bit3 : 1; //!<[24] Output Compare 6 mode bit 3
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCMR3_Output_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCMR3_Output_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCMR3_Output_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCR5_DEF { //!< capture/compare register 4
|
|
struct {
|
|
__IO uint32_t CCR5 : 16; //!<[00] Capture/Compare value
|
|
uint32_t UNUSED0 : 13; //!<[16]
|
|
__IO ONE_BIT GC5C1 : 1; //!<[29] Group Channel 5 and Channel 1
|
|
__IO ONE_BIT GC5C2 : 1; //!<[30] Group Channel 5 and Channel 2
|
|
__IO ONE_BIT GC5C3 : 1; //!<[31] Group Channel 5 and Channel 3
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCR5_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCR5_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCR5_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCR6_DEF { //!< capture/compare register 4
|
|
struct {
|
|
__IO uint32_t CCR6 : 16; //!<[00] Capture/Compare value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCR6_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCR6_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCR6_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union OR2_DEF { //!< DMA address for full transfer
|
|
struct {
|
|
__IO ONE_BIT BKINE : 1; //!<[00] BRK BKIN input enable
|
|
__IO ONE_BIT BKCMP1E : 1; //!<[01] BRK COMP1 enable
|
|
__IO ONE_BIT BKCMP2E : 1; //!<[02] BRK COMP2 enable
|
|
uint32_t UNUSED0 : 5; //!<[03]
|
|
__IO ONE_BIT BKDFBK0E : 1; //!<[08] BRK DFSDM_BREAK0 enable
|
|
__IO ONE_BIT BKINP : 1; //!<[09] BRK BKIN input polarity
|
|
__IO ONE_BIT BKCMP1P : 1; //!<[10] BRK COMP1 input polarity
|
|
__IO ONE_BIT BKCMP2P : 1; //!<[11] BRK COMP2 input polarity
|
|
uint32_t UNUSED1 : 2; //!<[12]
|
|
__IO uint32_t ETRSEL : 3; //!<[14] ETR source selection
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit OR2_DEF () noexcept { R = 0x00000001u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
OR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
OR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union OR3_DEF { //!< DMA address for full transfer
|
|
struct {
|
|
__IO ONE_BIT BK2INE : 1; //!<[00] BRK2 BKIN input enable
|
|
__IO ONE_BIT BK2CMP1E : 1; //!<[01] BRK2 COMP1 enable
|
|
__IO ONE_BIT BK2CMP2E : 1; //!<[02] BRK2 COMP2 enable
|
|
uint32_t UNUSED0 : 5; //!<[03]
|
|
__IO ONE_BIT BK2DFBK0E : 1; //!<[08] BRK2 DFSDM_BREAK0 enable
|
|
__IO ONE_BIT BK2INP : 1; //!<[09] BRK2 BKIN input polarity
|
|
__IO ONE_BIT BK2CMP1P : 1; //!<[10] BRK2 COMP1 input polarity
|
|
__IO ONE_BIT BK2CMP2P : 1; //!<[11] BRK2 COMP2 input polarity
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit OR3_DEF () noexcept { R = 0x00000001u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
OR3_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
OR3_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL TIM1 REGISTERS INSTANCES
|
|
__IO CR1_DEF CR1 ; //!< [0000](04)[0x00000000]
|
|
__IO CR2_DEF CR2 ; //!< [0004](04)[0x00000000]
|
|
__IO SMCR_DEF SMCR ; //!< [0008](04)[0x00000000]
|
|
__IO DIER_DEF DIER ; //!< [000c](04)[0x00000000]
|
|
__IO SR_DEF SR ; //!< [0010](04)[0x00000000]
|
|
__O EGR_DEF EGR ; //!< [0014](04)[0x00000000]
|
|
MERGE {
|
|
__IO CCMR1_Input_DEF CCMR1_Input ; //!< [0018](04)[0x00000000]
|
|
__IO CCMR1_Output_DEF CCMR1_Output ; //!< [0018](04)[0x00000000]
|
|
};
|
|
MERGE {
|
|
__IO CCMR2_Input_DEF CCMR2_Input ; //!< [001c](04)[0x00000000]
|
|
__IO CCMR2_Output_DEF CCMR2_Output ; //!< [001c](04)[0x00000000]
|
|
};
|
|
__IO CCER_DEF CCER ; //!< [0020](04)[0x00000000]
|
|
__IO CNT_DEF CNT ; //!< [0024](04)[0x00000000]
|
|
__IO PSC_DEF PSC ; //!< [0028](04)[0x00000000]
|
|
__IO ARR_DEF ARR ; //!< [002c](04)[0x00000000]
|
|
__IO RCR_DEF RCR ; //!< [0030](04)[0x00000000]
|
|
__IO CCR1_DEF CCR1 ; //!< [0034](04)[0x00000000]
|
|
__IO CCR2_DEF CCR2 ; //!< [0038](04)[0x00000000]
|
|
__IO CCR3_DEF CCR3 ; //!< [003c](04)[0x00000000]
|
|
__IO CCR4_DEF CCR4 ; //!< [0040](04)[0x00000000]
|
|
__IO BDTR_DEF BDTR ; //!< [0044](04)[0x00000000]
|
|
__IO DCR_DEF DCR ; //!< [0048](04)[0x00000000]
|
|
__IO DMAR_DEF DMAR ; //!< [004c](04)[0x00000000]
|
|
__IO OR1_DEF OR1 ; //!< [0050](04)[0x00000000]
|
|
__IO CCMR3_Output_DEF CCMR3_Output ; //!< [0054](04)[0x00000000]
|
|
__IO CCR5_DEF CCR5 ; //!< [0058](04)[0x00000000]
|
|
__IO CCR6_DEF CCR6 ; //!< [005c](04)[0x00000000]
|
|
__IO OR2_DEF OR2 ; //!< [0060](04)[0x00000001]
|
|
__IO OR3_DEF OR3 ; //!< [0064](04)[0x00000001]
|
|
}; /* total size = 0x0400, struct size = 0x0068 */
|
|
|
|
// ////////////////////+++ TIM6 +-+//////////////////// //
|
|
struct TIM6_Type { /*!< Basic-timers */
|
|
union CR1_DEF { //!< control register 1
|
|
struct {
|
|
__IO ONE_BIT CEN : 1; //!<[00] Counter enable
|
|
__IO ONE_BIT UDIS : 1; //!<[01] Update disable
|
|
__IO ONE_BIT URS : 1; //!<[02] Update request source
|
|
__IO ONE_BIT OPM : 1; //!<[03] One-pulse mode
|
|
uint32_t UNUSED0 : 3; //!<[04]
|
|
__IO ONE_BIT ARPE : 1; //!<[07] Auto-reload preload enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CR2_DEF { //!< control register 2
|
|
struct {
|
|
uint32_t UNUSED0 : 4; //!<[00]
|
|
__IO uint32_t MMS : 3; //!<[04] Master mode selection
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DIER_DEF { //!< DMA/Interrupt enable register
|
|
struct {
|
|
__IO ONE_BIT UIE : 1; //!<[00] Update interrupt enable
|
|
uint32_t UNUSED0 : 7; //!<[01]
|
|
__IO ONE_BIT UDE : 1; //!<[08] Update DMA request enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DIER_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DIER_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DIER_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SR_DEF { //!< status register
|
|
struct {
|
|
__IO ONE_BIT UIF : 1; //!<[00] Update interrupt flag
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit SR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
SR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
SR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union EGR_DEF { //!< event generation register
|
|
struct {
|
|
__O ONE_BIT UG : 1; //!<[00] Update generation
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit EGR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
EGR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CNT_DEF { //!< counter
|
|
struct {
|
|
__IO uint32_t CNT : 16; //!<[00] Low counter value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CNT_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CNT_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CNT_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PSC_DEF { //!< prescaler
|
|
struct {
|
|
__IO uint32_t PSC : 16; //!<[00] Prescaler value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PSC_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PSC_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PSC_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ARR_DEF { //!< auto-reload register
|
|
struct {
|
|
__IO uint32_t ARR : 16; //!<[00] Low Auto-reload value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ARR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ARR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ARR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL TIM6 REGISTERS INSTANCES
|
|
__IO CR1_DEF CR1 ; //!< [0000](04)[0x00000000]
|
|
__IO CR2_DEF CR2 ; //!< [0004](04)[0x00000000]
|
|
uint32_t UNUSED0 ; //!< [0008](04)[0xFFFFFFFF]
|
|
__IO DIER_DEF DIER ; //!< [000c](04)[0x00000000]
|
|
__IO SR_DEF SR ; //!< [0010](04)[0x00000000]
|
|
__O EGR_DEF EGR ; //!< [0014](04)[0x00000000]
|
|
uint32_t UNUSED1 [3]; //!< [0018](0c)[0xFFFFFFFF]
|
|
__IO CNT_DEF CNT ; //!< [0024](04)[0x00000000]
|
|
__IO PSC_DEF PSC ; //!< [0028](04)[0x00000000]
|
|
__IO ARR_DEF ARR ; //!< [002c](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x0030 */
|
|
|
|
// ////////////////////+++ LPTIM1 +-+//////////////////// //
|
|
struct LPTIM1_Type { /*!< Low power timer */
|
|
union ISR_DEF { //!< Interrupt and Status Register
|
|
struct {
|
|
__I ONE_BIT CMPM : 1; //!<[00] Compare match
|
|
__I ONE_BIT ARRM : 1; //!<[01] Autoreload match
|
|
__I ONE_BIT EXTTRIG : 1; //!<[02] External trigger edge event
|
|
__I ONE_BIT CMPOK : 1; //!<[03] Compare register update OK
|
|
__I ONE_BIT ARROK : 1; //!<[04] Autoreload register update OK
|
|
__I ONE_BIT UP : 1; //!<[05] Counter direction change down to up
|
|
__I ONE_BIT DOWN : 1; //!<[06] Counter direction change up to down
|
|
__I ONE_BIT UE : 1; //!<[07] UE
|
|
__I ONE_BIT REPOK : 1; //!<[08] REPOK
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit ISR_DEF (volatile ISR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union ICR_DEF { //!< Interrupt Clear Register
|
|
struct {
|
|
__O ONE_BIT CMPMCF : 1; //!<[00] compare match Clear Flag
|
|
__O ONE_BIT ARRMCF : 1; //!<[01] Autoreload match Clear Flag
|
|
__O ONE_BIT EXTTRIGCF : 1; //!<[02] External trigger valid edge Clear Flag
|
|
__O ONE_BIT CMPOKCF : 1; //!<[03] Compare register update OK Clear Flag
|
|
__O ONE_BIT ARROKCF : 1; //!<[04] Autoreload register update OK Clear Flag
|
|
__O ONE_BIT UPCF : 1; //!<[05] Direction change to UP Clear Flag
|
|
__O ONE_BIT DOWNCF : 1; //!<[06] Direction change to down Clear Flag
|
|
__O ONE_BIT UECF : 1; //!<[07] UECF
|
|
__O ONE_BIT REPOKCF : 1; //!<[08] REPOKCF
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit ICR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ICR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union IER_DEF { //!< Interrupt Enable Register
|
|
struct {
|
|
__IO ONE_BIT CMPMIE : 1; //!<[00] Compare match Interrupt Enable
|
|
__IO ONE_BIT ARRMIE : 1; //!<[01] Autoreload match Interrupt Enable
|
|
__IO ONE_BIT EXTTRIGIE : 1; //!<[02] External trigger valid edge Interrupt Enable
|
|
__IO ONE_BIT CMPOKIE : 1; //!<[03] Compare register update OK Interrupt Enable
|
|
__IO ONE_BIT ARROKIE : 1; //!<[04] Autoreload register update OK Interrupt Enable
|
|
__IO ONE_BIT UPIE : 1; //!<[05] Direction change to UP Interrupt Enable
|
|
__IO ONE_BIT DOWNIE : 1; //!<[06] Direction change to down Interrupt Enable
|
|
__IO ONE_BIT UEIE : 1; //!<[07] UEIE
|
|
__IO ONE_BIT REPOKIE : 1; //!<[08] REPOKIE
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit IER_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
IER_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
IER_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CFGR_DEF { //!< Configuration Register
|
|
struct {
|
|
__IO ONE_BIT CKSEL : 1; //!<[00] Clock selector
|
|
__IO uint32_t CKPOL : 2; //!<[01] Clock Polarity
|
|
__IO uint32_t CKFLT : 2; //!<[03] Configurable digital filter for external clock
|
|
ONE_BIT UNUSED0 : 1; //!<[05]
|
|
__IO uint32_t TRGFLT : 2; //!<[06] Configurable digital filter for trigger
|
|
ONE_BIT UNUSED1 : 1; //!<[08]
|
|
__IO uint32_t PRESC : 3; //!<[09] Clock prescaler
|
|
ONE_BIT UNUSED2 : 1; //!<[12]
|
|
__IO uint32_t TRIGSEL : 3; //!<[13] Trigger selector
|
|
ONE_BIT UNUSED3 : 1; //!<[16]
|
|
__IO uint32_t TRIGEN : 2; //!<[17] Trigger enable and polarity
|
|
__IO ONE_BIT TIMOUT : 1; //!<[19] Timeout enable
|
|
__IO ONE_BIT WAVE : 1; //!<[20] Waveform shape
|
|
__IO ONE_BIT WAVPOL : 1; //!<[21] Waveform shape polarity
|
|
__IO ONE_BIT PRELOAD : 1; //!<[22] Registers update mode
|
|
__IO ONE_BIT COUNTMODE : 1; //!<[23] counter mode enabled
|
|
__IO ONE_BIT ENC : 1; //!<[24] Encoder mode enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CFGR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CFGR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CFGR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CR_DEF { //!< Control Register
|
|
struct {
|
|
__IO ONE_BIT ENABLE : 1; //!<[00] LPTIM Enable
|
|
__IO ONE_BIT SNGSTRT : 1; //!<[01] LPTIM start in single mode
|
|
__IO ONE_BIT CNTSTRT : 1; //!<[02] Timer start in continuous mode
|
|
__IO ONE_BIT COUNTRST : 1; //!<[03] COUNTRST
|
|
__IO ONE_BIT RSTARE : 1; //!<[04] RSTARE
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CMP_DEF { //!< Compare Register
|
|
struct {
|
|
__IO uint32_t CMP : 16; //!<[00] Compare value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CMP_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CMP_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CMP_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ARR_DEF { //!< Autoreload Register
|
|
struct {
|
|
__IO uint32_t ARR : 16; //!<[00] Auto reload value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ARR_DEF () noexcept { R = 0x00000001u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ARR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ARR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CNT_DEF { //!< Counter Register
|
|
struct {
|
|
__I uint32_t CNT : 16; //!<[00] Counter value
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit CNT_DEF (volatile CNT_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union OR_DEF { //!< option register
|
|
struct {
|
|
__IO ONE_BIT OR_0 : 1; //!<[00] Option register bit 0
|
|
__IO ONE_BIT OR_1 : 1; //!<[01] Option register bit 1
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit OR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
OR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
OR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CFGR2_DEF { //!< configuration register 2
|
|
struct {
|
|
__IO uint32_t IN1SEL : 2; //!<[00] LPTIM input 1 selection
|
|
uint32_t UNUSED0 : 2; //!<[02]
|
|
__IO uint32_t IN2SEL : 2; //!<[04] LPTIM input 2 selection
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CFGR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CFGR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CFGR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RCR_DEF { //!< repetition register
|
|
struct {
|
|
__IO uint32_t REP : 8; //!<[00] Repetition register value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit RCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
RCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
RCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL LPTIM1 REGISTERS INSTANCES
|
|
__I ISR_DEF ISR ; //!< [0000](04)[0x00000000]
|
|
__O ICR_DEF ICR ; //!< [0004](04)[0x00000000]
|
|
__IO IER_DEF IER ; //!< [0008](04)[0x00000000]
|
|
__IO CFGR_DEF CFGR ; //!< [000c](04)[0x00000000]
|
|
__IO CR_DEF CR ; //!< [0010](04)[0x00000000]
|
|
__IO CMP_DEF CMP ; //!< [0014](04)[0x00000000]
|
|
__IO ARR_DEF ARR ; //!< [0018](04)[0x00000001]
|
|
__I CNT_DEF CNT ; //!< [001c](04)[0x00000000]
|
|
__IO OR_DEF OR ; //!< [0020](04)[0x00000000]
|
|
__IO CFGR2_DEF CFGR2 ; //!< [0024](04)[0x00000000]
|
|
__IO RCR_DEF RCR ; //!< [0028](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x002C */
|
|
|
|
// ////////////////////+++ USART1 +-+//////////////////// //
|
|
struct USART1_Type { /*!< Universal synchronous asynchronous receiver transmitter */
|
|
union CR1_DEF { //!< Control register 1
|
|
struct {
|
|
__IO ONE_BIT UE : 1; //!<[00] USART enable
|
|
__IO ONE_BIT UESM : 1; //!<[01] USART enable in Stop mode
|
|
__IO ONE_BIT RE : 1; //!<[02] Receiver enable
|
|
__IO ONE_BIT TE : 1; //!<[03] Transmitter enable
|
|
__IO ONE_BIT IDLEIE : 1; //!<[04] IDLE interrupt enable
|
|
__IO ONE_BIT RXNEIE : 1; //!<[05] RXNE interrupt enable
|
|
__IO ONE_BIT TCIE : 1; //!<[06] Transmission complete interrupt enable
|
|
__IO ONE_BIT TXEIE : 1; //!<[07] interrupt enable
|
|
__IO ONE_BIT PEIE : 1; //!<[08] PE interrupt enable
|
|
__IO ONE_BIT PS : 1; //!<[09] Parity selection
|
|
__IO ONE_BIT PCE : 1; //!<[10] Parity control enable
|
|
__IO ONE_BIT WAKE : 1; //!<[11] Receiver wakeup method
|
|
__IO ONE_BIT M0 : 1; //!<[12] Word length
|
|
__IO ONE_BIT MME : 1; //!<[13] Mute mode enable
|
|
__IO ONE_BIT CMIE : 1; //!<[14] Character match interrupt enable
|
|
__IO ONE_BIT OVER8 : 1; //!<[15] Oversampling mode
|
|
__IO ONE_BIT DEDT0 : 1; //!<[16] DEDT0
|
|
__IO ONE_BIT DEDT1 : 1; //!<[17] DEDT1
|
|
__IO ONE_BIT DEDT2 : 1; //!<[18] DEDT2
|
|
__IO ONE_BIT DEDT3 : 1; //!<[19] DEDT3
|
|
__IO ONE_BIT DEDT4 : 1; //!<[20] Driver Enable de-assertion time
|
|
__IO ONE_BIT DEAT0 : 1; //!<[21] DEAT0
|
|
__IO ONE_BIT DEAT1 : 1; //!<[22] DEAT1
|
|
__IO ONE_BIT DEAT2 : 1; //!<[23] DEAT2
|
|
__IO ONE_BIT DEAT3 : 1; //!<[24] DEAT3
|
|
__IO ONE_BIT DEAT4 : 1; //!<[25] Driver Enable assertion time
|
|
__IO ONE_BIT RTOIE : 1; //!<[26] Receiver timeout interrupt enable
|
|
__IO ONE_BIT EOBIE : 1; //!<[27] End of Block interrupt enable
|
|
__IO ONE_BIT M1 : 1; //!<[28] Word length
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CR2_DEF { //!< Control register 2
|
|
struct {
|
|
uint32_t UNUSED0 : 4; //!<[00]
|
|
__IO ONE_BIT ADDM7 : 1; //!<[04] 7-bit Address Detection/4-bit Address Detection
|
|
__IO ONE_BIT LBDL : 1; //!<[05] LIN break detection length
|
|
__IO ONE_BIT LBDIE : 1; //!<[06] LIN break detection interrupt enable
|
|
ONE_BIT UNUSED1 : 1; //!<[07]
|
|
__IO ONE_BIT LBCL : 1; //!<[08] Last bit clock pulse
|
|
__IO ONE_BIT CPHA : 1; //!<[09] Clock phase
|
|
__IO ONE_BIT CPOL : 1; //!<[10] Clock polarity
|
|
__IO ONE_BIT CLKEN : 1; //!<[11] Clock enable
|
|
__IO uint32_t STOP : 2; //!<[12] STOP bits
|
|
__IO ONE_BIT LINEN : 1; //!<[14] LIN mode enable
|
|
__IO ONE_BIT SWAP : 1; //!<[15] Swap TX/RX pins
|
|
__IO ONE_BIT RXINV : 1; //!<[16] RX pin active level inversion
|
|
__IO ONE_BIT TXINV : 1; //!<[17] TX pin active level inversion
|
|
__IO ONE_BIT TAINV : 1; //!<[18] Binary data inversion
|
|
__IO ONE_BIT MSBFIRST : 1; //!<[19] Most significant bit first
|
|
__IO ONE_BIT ABREN : 1; //!<[20] Auto baud rate enable
|
|
__IO ONE_BIT ABRMOD0 : 1; //!<[21] ABRMOD0
|
|
__IO ONE_BIT ABRMOD1 : 1; //!<[22] Auto baud rate mode
|
|
__IO ONE_BIT RTOEN : 1; //!<[23] Receiver timeout enable
|
|
__IO uint32_t ADD0_3 : 4; //!<[24] Address of the USART node
|
|
__IO uint32_t ADD4_7 : 4; //!<[28] Address of the USART node
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CR3_DEF { //!< Control register 3
|
|
struct {
|
|
__IO ONE_BIT EIE : 1; //!<[00] Error interrupt enable
|
|
__IO ONE_BIT IREN : 1; //!<[01] Ir mode enable
|
|
__IO ONE_BIT IRLP : 1; //!<[02] Ir low-power
|
|
__IO ONE_BIT HDSEL : 1; //!<[03] Half-duplex selection
|
|
__IO ONE_BIT NACK : 1; //!<[04] Smartcard NACK enable
|
|
__IO ONE_BIT SCEN : 1; //!<[05] Smartcard mode enable
|
|
__IO ONE_BIT DMAR : 1; //!<[06] DMA enable receiver
|
|
__IO ONE_BIT DMAT : 1; //!<[07] DMA enable transmitter
|
|
__IO ONE_BIT RTSE : 1; //!<[08] RTS enable
|
|
__IO ONE_BIT CTSE : 1; //!<[09] CTS enable
|
|
__IO ONE_BIT CTSIE : 1; //!<[10] CTS interrupt enable
|
|
__IO ONE_BIT ONEBIT : 1; //!<[11] One sample bit method enable
|
|
__IO ONE_BIT OVRDIS : 1; //!<[12] Overrun Disable
|
|
__IO ONE_BIT DDRE : 1; //!<[13] DMA Disable on Reception Error
|
|
__IO ONE_BIT DEM : 1; //!<[14] Driver enable mode
|
|
__IO ONE_BIT DEP : 1; //!<[15] Driver enable polarity selection
|
|
ONE_BIT UNUSED0 : 1; //!<[16]
|
|
__IO uint32_t SCARCNT : 3; //!<[17] Smartcard auto-retry count
|
|
__IO uint32_t WUS : 2; //!<[20] Wakeup from Stop mode interrupt flag selection
|
|
__IO ONE_BIT WUFIE : 1; //!<[22] Wakeup from Stop mode interrupt enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR3_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR3_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR3_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BRR_DEF { //!< Baud rate register
|
|
struct {
|
|
__IO uint32_t DIV_Fraction : 4; //!<[00] DIV_Fraction
|
|
__IO uint32_t DIV_Mantissa : 12; //!<[04] DIV_Mantissa
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BRR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BRR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BRR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union GTPR_DEF { //!< Guard time and prescaler register
|
|
struct {
|
|
__IO uint32_t PSC : 8; //!<[00] Prescaler value
|
|
__IO uint32_t GT : 8; //!<[08] Guard time value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit GTPR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
GTPR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
GTPR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RTOR_DEF { //!< Receiver timeout register
|
|
struct {
|
|
__IO uint32_t RTO : 24; //!<[00] Receiver timeout value
|
|
__IO uint32_t BLEN : 8; //!<[24] Block Length
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit RTOR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
RTOR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
RTOR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RQR_DEF { //!< Request register
|
|
struct {
|
|
__O ONE_BIT ABRRQ : 1; //!<[00] Auto baud rate request
|
|
__O ONE_BIT SBKRQ : 1; //!<[01] Send break request
|
|
__O ONE_BIT MMRQ : 1; //!<[02] Mute mode request
|
|
__O ONE_BIT RXFRQ : 1; //!<[03] Receive data flush request
|
|
__O ONE_BIT TXFRQ : 1; //!<[04] Transmit data flush request
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit RQR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
RQR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ISR_DEF { //!< Interrupt & status register
|
|
struct {
|
|
__I ONE_BIT PE : 1; //!<[00] PE
|
|
__I ONE_BIT FE : 1; //!<[01] FE
|
|
__I ONE_BIT NF : 1; //!<[02] NF
|
|
__I ONE_BIT ORE : 1; //!<[03] ORE
|
|
__I ONE_BIT IDLE : 1; //!<[04] IDLE
|
|
__I ONE_BIT RXNE : 1; //!<[05] RXNE
|
|
__I ONE_BIT TC : 1; //!<[06] TC
|
|
__I ONE_BIT TXE : 1; //!<[07] TXE
|
|
__I ONE_BIT LBDF : 1; //!<[08] LBDF
|
|
__I ONE_BIT CTSIF : 1; //!<[09] CTSIF
|
|
__I ONE_BIT CTS : 1; //!<[10] CTS
|
|
__I ONE_BIT RTOF : 1; //!<[11] RTOF
|
|
__I ONE_BIT EOBF : 1; //!<[12] EOBF
|
|
ONE_BIT UNUSED0 : 1; //!<[13]
|
|
__I ONE_BIT ABRE : 1; //!<[14] ABRE
|
|
__I ONE_BIT ABRF : 1; //!<[15] ABRF
|
|
__I ONE_BIT BUSY : 1; //!<[16] BUSY
|
|
__I ONE_BIT CMF : 1; //!<[17] CMF
|
|
__I ONE_BIT SBKF : 1; //!<[18] SBKF
|
|
__I ONE_BIT RWU : 1; //!<[19] RWU
|
|
__I ONE_BIT WUF : 1; //!<[20] WUF
|
|
__I ONE_BIT TEACK : 1; //!<[21] TEACK
|
|
__I ONE_BIT REACK : 1; //!<[22] REACK
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit ISR_DEF (volatile ISR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union ICR_DEF { //!< Interrupt flag clear register
|
|
struct {
|
|
__O ONE_BIT PECF : 1; //!<[00] Parity error clear flag
|
|
__O ONE_BIT FECF : 1; //!<[01] Framing error clear flag
|
|
__O ONE_BIT NCF : 1; //!<[02] Noise detected clear flag
|
|
__O ONE_BIT ORECF : 1; //!<[03] Overrun error clear flag
|
|
__O ONE_BIT IDLECF : 1; //!<[04] Idle line detected clear flag
|
|
ONE_BIT UNUSED0 : 1; //!<[05]
|
|
__O ONE_BIT TCCF : 1; //!<[06] Transmission complete clear flag
|
|
ONE_BIT UNUSED1 : 1; //!<[07]
|
|
__O ONE_BIT LBDCF : 1; //!<[08] LIN break detection clear flag
|
|
__O ONE_BIT CTSCF : 1; //!<[09] CTS clear flag
|
|
ONE_BIT UNUSED2 : 1; //!<[10]
|
|
__O ONE_BIT RTOCF : 1; //!<[11] Receiver timeout clear flag
|
|
__O ONE_BIT EOBCF : 1; //!<[12] End of block clear flag
|
|
uint32_t UNUSED3 : 4; //!<[13]
|
|
__O ONE_BIT CMCF : 1; //!<[17] Character match clear flag
|
|
uint32_t UNUSED4 : 2; //!<[18]
|
|
__O ONE_BIT WUCF : 1; //!<[20] Wakeup from Stop mode clear flag
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit ICR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ICR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RDR_DEF { //!< Receive data register
|
|
struct {
|
|
__I uint32_t RDR : 9; //!<[00] Receive data value
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit RDR_DEF (volatile RDR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union TDR_DEF { //!< Transmit data register
|
|
struct {
|
|
__IO uint32_t TDR : 9; //!<[00] Transmit data value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit TDR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
TDR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
TDR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL USART1 REGISTERS INSTANCES
|
|
__IO CR1_DEF CR1 ; //!< [0000](04)[0x00000000]
|
|
__IO CR2_DEF CR2 ; //!< [0004](04)[0x00000000]
|
|
__IO CR3_DEF CR3 ; //!< [0008](04)[0x00000000]
|
|
__IO BRR_DEF BRR ; //!< [000c](04)[0x00000000]
|
|
__IO GTPR_DEF GTPR ; //!< [0010](04)[0x00000000]
|
|
__IO RTOR_DEF RTOR ; //!< [0014](04)[0x00000000]
|
|
__O RQR_DEF RQR ; //!< [0018](04)[0x00000000]
|
|
__I ISR_DEF ISR ; //!< [001c](04)[0x000000C0]
|
|
__O ICR_DEF ICR ; //!< [0020](04)[0x00000000]
|
|
__I RDR_DEF RDR ; //!< [0024](04)[0x00000000]
|
|
__IO TDR_DEF TDR ; //!< [0028](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x002C */
|
|
|
|
// ////////////////////+++ USART3 +-+//////////////////// //
|
|
struct USART3_Type { /*!< Universal synchronous asynchronous receiver transmitter */
|
|
union CR1_DEF { //!< Control register 1
|
|
struct {
|
|
__IO ONE_BIT UE : 1; //!<[00] USART enable
|
|
__IO ONE_BIT UESM : 1; //!<[01] USART enable in Stop mode
|
|
__IO ONE_BIT RE : 1; //!<[02] Receiver enable
|
|
__IO ONE_BIT TE : 1; //!<[03] Transmitter enable
|
|
__IO ONE_BIT IDLEIE : 1; //!<[04] IDLE interrupt enable
|
|
__IO ONE_BIT RXNEIE : 1; //!<[05] RXNE interrupt enable
|
|
__IO ONE_BIT TCIE : 1; //!<[06] Transmission complete interrupt enable
|
|
__IO ONE_BIT TXEIE : 1; //!<[07] interrupt enable
|
|
__IO ONE_BIT PEIE : 1; //!<[08] PE interrupt enable
|
|
__IO ONE_BIT PS : 1; //!<[09] Parity selection
|
|
__IO ONE_BIT PCE : 1; //!<[10] Parity control enable
|
|
__IO ONE_BIT WAKE : 1; //!<[11] Receiver wakeup method
|
|
__IO ONE_BIT M0 : 1; //!<[12] Word length
|
|
__IO ONE_BIT MME : 1; //!<[13] Mute mode enable
|
|
__IO ONE_BIT CMIE : 1; //!<[14] Character match interrupt enable
|
|
__IO ONE_BIT OVER8 : 1; //!<[15] Oversampling mode
|
|
__IO ONE_BIT DEDT0 : 1; //!<[16] DEDT0
|
|
__IO ONE_BIT DEDT1 : 1; //!<[17] DEDT1
|
|
__IO ONE_BIT DEDT2 : 1; //!<[18] DEDT2
|
|
__IO ONE_BIT DEDT3 : 1; //!<[19] DEDT3
|
|
__IO ONE_BIT DEDT4 : 1; //!<[20] Driver Enable de-assertion time
|
|
__IO ONE_BIT DEAT0 : 1; //!<[21] DEAT0
|
|
__IO ONE_BIT DEAT1 : 1; //!<[22] DEAT1
|
|
__IO ONE_BIT DEAT2 : 1; //!<[23] DEAT2
|
|
__IO ONE_BIT DEAT3 : 1; //!<[24] DEAT3
|
|
__IO ONE_BIT DEAT4 : 1; //!<[25] Driver Enable assertion time
|
|
__IO ONE_BIT RTOIE : 1; //!<[26] Receiver timeout interrupt enable
|
|
__IO ONE_BIT EOBIE : 1; //!<[27] End of Block interrupt enable
|
|
__IO ONE_BIT M1 : 1; //!<[28] Word length
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CR2_DEF { //!< Control register 2
|
|
struct {
|
|
uint32_t UNUSED0 : 4; //!<[00]
|
|
__IO ONE_BIT ADDM7 : 1; //!<[04] 7-bit Address Detection/4-bit Address Detection
|
|
__IO ONE_BIT LBDL : 1; //!<[05] LIN break detection length
|
|
__IO ONE_BIT LBDIE : 1; //!<[06] LIN break detection interrupt enable
|
|
ONE_BIT UNUSED1 : 1; //!<[07]
|
|
__IO ONE_BIT LBCL : 1; //!<[08] Last bit clock pulse
|
|
__IO ONE_BIT CPHA : 1; //!<[09] Clock phase
|
|
__IO ONE_BIT CPOL : 1; //!<[10] Clock polarity
|
|
__IO ONE_BIT CLKEN : 1; //!<[11] Clock enable
|
|
__IO uint32_t STOP : 2; //!<[12] STOP bits
|
|
__IO ONE_BIT LINEN : 1; //!<[14] LIN mode enable
|
|
__IO ONE_BIT SWAP : 1; //!<[15] Swap TX/RX pins
|
|
__IO ONE_BIT RXINV : 1; //!<[16] RX pin active level inversion
|
|
__IO ONE_BIT TXINV : 1; //!<[17] TX pin active level inversion
|
|
__IO ONE_BIT TAINV : 1; //!<[18] Binary data inversion
|
|
__IO ONE_BIT MSBFIRST : 1; //!<[19] Most significant bit first
|
|
__IO ONE_BIT ABREN : 1; //!<[20] Auto baud rate enable
|
|
__IO ONE_BIT ABRMOD0 : 1; //!<[21] ABRMOD0
|
|
__IO ONE_BIT ABRMOD1 : 1; //!<[22] Auto baud rate mode
|
|
__IO ONE_BIT RTOEN : 1; //!<[23] Receiver timeout enable
|
|
__IO uint32_t ADD0_3 : 4; //!<[24] Address of the USART node
|
|
__IO uint32_t ADD4_7 : 4; //!<[28] Address of the USART node
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CR3_DEF { //!< Control register 3
|
|
struct {
|
|
__IO ONE_BIT EIE : 1; //!<[00] Error interrupt enable
|
|
__IO ONE_BIT IREN : 1; //!<[01] Ir mode enable
|
|
__IO ONE_BIT IRLP : 1; //!<[02] Ir low-power
|
|
__IO ONE_BIT HDSEL : 1; //!<[03] Half-duplex selection
|
|
__IO ONE_BIT NACK : 1; //!<[04] Smartcard NACK enable
|
|
__IO ONE_BIT SCEN : 1; //!<[05] Smartcard mode enable
|
|
__IO ONE_BIT DMAR : 1; //!<[06] DMA enable receiver
|
|
__IO ONE_BIT DMAT : 1; //!<[07] DMA enable transmitter
|
|
__IO ONE_BIT RTSE : 1; //!<[08] RTS enable
|
|
__IO ONE_BIT CTSE : 1; //!<[09] CTS enable
|
|
__IO ONE_BIT CTSIE : 1; //!<[10] CTS interrupt enable
|
|
__IO ONE_BIT ONEBIT : 1; //!<[11] One sample bit method enable
|
|
__IO ONE_BIT OVRDIS : 1; //!<[12] Overrun Disable
|
|
__IO ONE_BIT DDRE : 1; //!<[13] DMA Disable on Reception Error
|
|
__IO ONE_BIT DEM : 1; //!<[14] Driver enable mode
|
|
__IO ONE_BIT DEP : 1; //!<[15] Driver enable polarity selection
|
|
ONE_BIT UNUSED0 : 1; //!<[16]
|
|
__IO uint32_t SCARCNT : 3; //!<[17] Smartcard auto-retry count
|
|
__IO uint32_t WUS : 2; //!<[20] Wakeup from Stop mode interrupt flag selection
|
|
__IO ONE_BIT WUFIE : 1; //!<[22] Wakeup from Stop mode interrupt enable
|
|
__IO ONE_BIT UCESM : 1; //!<[23] USART Clock Enable in Stop mode
|
|
__IO ONE_BIT TCBGTIE : 1; //!<[24] Transmission complete before guard time interrupt enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR3_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR3_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR3_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BRR_DEF { //!< Baud rate register
|
|
struct {
|
|
__IO uint32_t BRR : 12; //!<[00] USARTDIV
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BRR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BRR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BRR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union GTPR_DEF { //!< Guard time and prescaler register
|
|
struct {
|
|
__IO uint32_t PSC : 8; //!<[00] Prescaler value
|
|
__IO uint32_t GT : 8; //!<[08] Guard time value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit GTPR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
GTPR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
GTPR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RTOR_DEF { //!< Receiver timeout register
|
|
struct {
|
|
__IO uint32_t RTO : 24; //!<[00] Receiver timeout value
|
|
__IO uint32_t BLEN : 8; //!<[24] Block Length
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit RTOR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
RTOR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
RTOR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RQR_DEF { //!< Request register
|
|
struct {
|
|
__O ONE_BIT ABRRQ : 1; //!<[00] Auto baud rate request
|
|
__O ONE_BIT SBKRQ : 1; //!<[01] Send break request
|
|
__O ONE_BIT MMRQ : 1; //!<[02] Mute mode request
|
|
__O ONE_BIT RXFRQ : 1; //!<[03] Receive data flush request
|
|
__O ONE_BIT TXFRQ : 1; //!<[04] Transmit data flush request
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit RQR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
RQR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ISR_DEF { //!< Interrupt & status register
|
|
struct {
|
|
__I ONE_BIT PE : 1; //!<[00] PE
|
|
__I ONE_BIT FE : 1; //!<[01] FE
|
|
__I ONE_BIT NF : 1; //!<[02] NF
|
|
__I ONE_BIT ORE : 1; //!<[03] ORE
|
|
__I ONE_BIT IDLE : 1; //!<[04] IDLE
|
|
__I ONE_BIT RXNE : 1; //!<[05] RXNE
|
|
__I ONE_BIT TC : 1; //!<[06] TC
|
|
__I ONE_BIT TXE : 1; //!<[07] TXE
|
|
__I ONE_BIT LBDF : 1; //!<[08] LBDF
|
|
__I ONE_BIT CTSIF : 1; //!<[09] CTSIF
|
|
__I ONE_BIT CTS : 1; //!<[10] CTS
|
|
__I ONE_BIT RTOF : 1; //!<[11] RTOF
|
|
__I ONE_BIT EOBF : 1; //!<[12] EOBF
|
|
ONE_BIT UNUSED0 : 1; //!<[13]
|
|
__I ONE_BIT ABRE : 1; //!<[14] ABRE
|
|
__I ONE_BIT ABRF : 1; //!<[15] ABRF
|
|
__I ONE_BIT BUSY : 1; //!<[16] BUSY
|
|
__I ONE_BIT CMF : 1; //!<[17] CMF
|
|
__I ONE_BIT SBKF : 1; //!<[18] SBKF
|
|
__I ONE_BIT RWU : 1; //!<[19] RWU
|
|
__I ONE_BIT WUF : 1; //!<[20] WUF
|
|
__I ONE_BIT TEACK : 1; //!<[21] TEACK
|
|
__I ONE_BIT REACK : 1; //!<[22] REACK
|
|
uint32_t UNUSED1 : 2; //!<[23]
|
|
__I ONE_BIT TCBGT : 1; //!<[25] Transmission complete before guard time completion
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit ISR_DEF (volatile ISR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union ICR_DEF { //!< Interrupt flag clear register
|
|
struct {
|
|
__O ONE_BIT PECF : 1; //!<[00] Parity error clear flag
|
|
__O ONE_BIT FECF : 1; //!<[01] Framing error clear flag
|
|
__O ONE_BIT NCF : 1; //!<[02] Noise detected clear flag
|
|
__O ONE_BIT ORECF : 1; //!<[03] Overrun error clear flag
|
|
__O ONE_BIT IDLECF : 1; //!<[04] Idle line detected clear flag
|
|
ONE_BIT UNUSED0 : 1; //!<[05]
|
|
__O ONE_BIT TCCF : 1; //!<[06] Transmission complete clear flag
|
|
ONE_BIT UNUSED1 : 1; //!<[07]
|
|
__O ONE_BIT LBDCF : 1; //!<[08] LIN break detection clear flag
|
|
__O ONE_BIT CTSCF : 1; //!<[09] CTS clear flag
|
|
ONE_BIT UNUSED2 : 1; //!<[10]
|
|
__O ONE_BIT RTOCF : 1; //!<[11] Receiver timeout clear flag
|
|
__O ONE_BIT EOBCF : 1; //!<[12] End of block clear flag
|
|
uint32_t UNUSED3 : 4; //!<[13]
|
|
__O ONE_BIT CMCF : 1; //!<[17] Character match clear flag
|
|
uint32_t UNUSED4 : 2; //!<[18]
|
|
__O ONE_BIT WUCF : 1; //!<[20] Wakeup from Stop mode clear flag
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit ICR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ICR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RDR_DEF { //!< Receive data register
|
|
struct {
|
|
__I uint32_t RDR : 9; //!<[00] Receive data value
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit RDR_DEF (volatile RDR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union TDR_DEF { //!< Transmit data register
|
|
struct {
|
|
__IO uint32_t TDR : 9; //!<[00] Transmit data value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit TDR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
TDR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
TDR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL USART3 REGISTERS INSTANCES
|
|
__IO CR1_DEF CR1 ; //!< [0000](04)[0x00000000]
|
|
__IO CR2_DEF CR2 ; //!< [0004](04)[0x00000000]
|
|
__IO CR3_DEF CR3 ; //!< [0008](04)[0x00000000]
|
|
__IO BRR_DEF BRR ; //!< [000c](04)[0x00000000]
|
|
__IO GTPR_DEF GTPR ; //!< [0010](04)[0x00000000]
|
|
__IO RTOR_DEF RTOR ; //!< [0014](04)[0x00000000]
|
|
__O RQR_DEF RQR ; //!< [0018](04)[0x00000000]
|
|
__I ISR_DEF ISR ; //!< [001c](04)[0x000000C0]
|
|
__O ICR_DEF ICR ; //!< [0020](04)[0x00000000]
|
|
__I RDR_DEF RDR ; //!< [0024](04)[0x00000000]
|
|
__IO TDR_DEF TDR ; //!< [0028](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x002C */
|
|
|
|
// ////////////////////+++ LPUART1 +-+//////////////////// //
|
|
struct LPUART1_Type { /*!< Universal synchronous asynchronous receiver transmitter */
|
|
union CR1_DEF { //!< Control register 1
|
|
struct {
|
|
__IO ONE_BIT UE : 1; //!<[00] USART enable
|
|
__IO ONE_BIT UESM : 1; //!<[01] USART enable in Stop mode
|
|
__IO ONE_BIT RE : 1; //!<[02] Receiver enable
|
|
__IO ONE_BIT TE : 1; //!<[03] Transmitter enable
|
|
__IO ONE_BIT IDLEIE : 1; //!<[04] IDLE interrupt enable
|
|
__IO ONE_BIT RXNEIE : 1; //!<[05] RXNE interrupt enable
|
|
__IO ONE_BIT TCIE : 1; //!<[06] Transmission complete interrupt enable
|
|
__IO ONE_BIT TXEIE : 1; //!<[07] interrupt enable
|
|
__IO ONE_BIT PEIE : 1; //!<[08] PE interrupt enable
|
|
__IO ONE_BIT PS : 1; //!<[09] Parity selection
|
|
__IO ONE_BIT PCE : 1; //!<[10] Parity control enable
|
|
__IO ONE_BIT WAKE : 1; //!<[11] Receiver wakeup method
|
|
__IO ONE_BIT M0 : 1; //!<[12] Word length
|
|
__IO ONE_BIT MME : 1; //!<[13] Mute mode enable
|
|
__IO ONE_BIT CMIE : 1; //!<[14] Character match interrupt enable
|
|
ONE_BIT UNUSED0 : 1; //!<[15]
|
|
__IO ONE_BIT DEDT0 : 1; //!<[16] DEDT0
|
|
__IO ONE_BIT DEDT1 : 1; //!<[17] DEDT1
|
|
__IO ONE_BIT DEDT2 : 1; //!<[18] DEDT2
|
|
__IO ONE_BIT DEDT3 : 1; //!<[19] DEDT3
|
|
__IO ONE_BIT DEDT4 : 1; //!<[20] Driver Enable de-assertion time
|
|
__IO ONE_BIT DEAT0 : 1; //!<[21] DEAT0
|
|
__IO ONE_BIT DEAT1 : 1; //!<[22] DEAT1
|
|
__IO ONE_BIT DEAT2 : 1; //!<[23] DEAT2
|
|
__IO ONE_BIT DEAT3 : 1; //!<[24] DEAT3
|
|
__IO ONE_BIT DEAT4 : 1; //!<[25] Driver Enable assertion time
|
|
uint32_t UNUSED1 : 2; //!<[26]
|
|
__IO ONE_BIT M1 : 1; //!<[28] Word length
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CR2_DEF { //!< Control register 2
|
|
struct {
|
|
uint32_t UNUSED0 : 4; //!<[00]
|
|
__IO ONE_BIT ADDM7 : 1; //!<[04] 7-bit Address Detection/4-bit Address Detection
|
|
uint32_t UNUSED1 : 6; //!<[05]
|
|
__IO ONE_BIT CLKEN : 1; //!<[11] Clock enable
|
|
__IO uint32_t STOP : 2; //!<[12] STOP bits
|
|
ONE_BIT UNUSED2 : 1; //!<[14]
|
|
__IO ONE_BIT SWAP : 1; //!<[15] Swap TX/RX pins
|
|
__IO ONE_BIT RXINV : 1; //!<[16] RX pin active level inversion
|
|
__IO ONE_BIT TXINV : 1; //!<[17] TX pin active level inversion
|
|
__IO ONE_BIT TAINV : 1; //!<[18] Binary data inversion
|
|
__IO ONE_BIT MSBFIRST : 1; //!<[19] Most significant bit first
|
|
uint32_t UNUSED3 : 4; //!<[20]
|
|
__IO uint32_t ADD0_3 : 4; //!<[24] Address of the USART node
|
|
__IO uint32_t ADD4_7 : 4; //!<[28] Address of the USART node
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CR3_DEF { //!< Control register 3
|
|
struct {
|
|
__IO ONE_BIT EIE : 1; //!<[00] Error interrupt enable
|
|
uint32_t UNUSED0 : 2; //!<[01]
|
|
__IO ONE_BIT HDSEL : 1; //!<[03] Half-duplex selection
|
|
uint32_t UNUSED1 : 2; //!<[04]
|
|
__IO ONE_BIT DMAR : 1; //!<[06] DMA enable receiver
|
|
__IO ONE_BIT DMAT : 1; //!<[07] DMA enable transmitter
|
|
__IO ONE_BIT RTSE : 1; //!<[08] RTS enable
|
|
__IO ONE_BIT CTSE : 1; //!<[09] CTS enable
|
|
__IO ONE_BIT CTSIE : 1; //!<[10] CTS interrupt enable
|
|
ONE_BIT UNUSED2 : 1; //!<[11]
|
|
__IO ONE_BIT OVRDIS : 1; //!<[12] Overrun Disable
|
|
__IO ONE_BIT DDRE : 1; //!<[13] DMA Disable on Reception Error
|
|
__IO ONE_BIT DEM : 1; //!<[14] Driver enable mode
|
|
__IO ONE_BIT DEP : 1; //!<[15] Driver enable polarity selection
|
|
uint32_t UNUSED3 : 4; //!<[16]
|
|
__IO uint32_t WUS : 2; //!<[20] Wakeup from Stop mode interrupt flag selection
|
|
__IO ONE_BIT WUFIE : 1; //!<[22] Wakeup from Stop mode interrupt enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR3_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR3_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR3_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BRR_DEF { //!< Baud rate register
|
|
struct {
|
|
__IO uint32_t BRR : 20; //!<[00] BRR
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BRR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BRR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BRR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RQR_DEF { //!< Request register
|
|
struct {
|
|
ONE_BIT UNUSED0 : 1; //!<[00]
|
|
__O ONE_BIT SBKRQ : 1; //!<[01] Send break request
|
|
__O ONE_BIT MMRQ : 1; //!<[02] Mute mode request
|
|
__O ONE_BIT RXFRQ : 1; //!<[03] Receive data flush request
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit RQR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
RQR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ISR_DEF { //!< Interrupt & status register
|
|
struct {
|
|
__I ONE_BIT PE : 1; //!<[00] PE
|
|
__I ONE_BIT FE : 1; //!<[01] FE
|
|
__I ONE_BIT NF : 1; //!<[02] NF
|
|
__I ONE_BIT ORE : 1; //!<[03] ORE
|
|
__I ONE_BIT IDLE : 1; //!<[04] IDLE
|
|
__I ONE_BIT RXNE : 1; //!<[05] RXNE
|
|
__I ONE_BIT TC : 1; //!<[06] TC
|
|
__I ONE_BIT TXE : 1; //!<[07] TXE
|
|
ONE_BIT UNUSED0 : 1; //!<[08]
|
|
__I ONE_BIT CTSIF : 1; //!<[09] CTSIF
|
|
__I ONE_BIT CTS : 1; //!<[10] CTS
|
|
uint32_t UNUSED1 : 5; //!<[11]
|
|
__I ONE_BIT BUSY : 1; //!<[16] BUSY
|
|
__I ONE_BIT CMF : 1; //!<[17] CMF
|
|
__I ONE_BIT SBKF : 1; //!<[18] SBKF
|
|
__I ONE_BIT RWU : 1; //!<[19] RWU
|
|
__I ONE_BIT WUF : 1; //!<[20] WUF
|
|
__I ONE_BIT TEACK : 1; //!<[21] TEACK
|
|
__I ONE_BIT REACK : 1; //!<[22] REACK
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit ISR_DEF (volatile ISR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union ICR_DEF { //!< Interrupt flag clear register
|
|
struct {
|
|
__O ONE_BIT PECF : 1; //!<[00] Parity error clear flag
|
|
__O ONE_BIT FECF : 1; //!<[01] Framing error clear flag
|
|
__O ONE_BIT NCF : 1; //!<[02] Noise detected clear flag
|
|
__O ONE_BIT ORECF : 1; //!<[03] Overrun error clear flag
|
|
__O ONE_BIT IDLECF : 1; //!<[04] Idle line detected clear flag
|
|
ONE_BIT UNUSED0 : 1; //!<[05]
|
|
__O ONE_BIT TCCF : 1; //!<[06] Transmission complete clear flag
|
|
uint32_t UNUSED1 : 2; //!<[07]
|
|
__O ONE_BIT CTSCF : 1; //!<[09] CTS clear flag
|
|
uint32_t UNUSED2 : 7; //!<[10]
|
|
__O ONE_BIT CMCF : 1; //!<[17] Character match clear flag
|
|
uint32_t UNUSED3 : 2; //!<[18]
|
|
__O ONE_BIT WUCF : 1; //!<[20] Wakeup from Stop mode clear flag
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit ICR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ICR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RDR_DEF { //!< Receive data register
|
|
struct {
|
|
__I uint32_t RDR : 9; //!<[00] Receive data value
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit RDR_DEF (volatile RDR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union TDR_DEF { //!< Transmit data register
|
|
struct {
|
|
__IO uint32_t TDR : 9; //!<[00] Transmit data value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit TDR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
TDR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
TDR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL LPUART1 REGISTERS INSTANCES
|
|
__IO CR1_DEF CR1 ; //!< [0000](04)[0x00000000]
|
|
__IO CR2_DEF CR2 ; //!< [0004](04)[0x00000000]
|
|
__IO CR3_DEF CR3 ; //!< [0008](04)[0x00000000]
|
|
__IO BRR_DEF BRR ; //!< [000c](04)[0x00000000]
|
|
uint32_t UNUSED0 [2]; //!< [0010](08)[0xFFFFFFFF]
|
|
__O RQR_DEF RQR ; //!< [0018](04)[0x00000000]
|
|
__I ISR_DEF ISR ; //!< [001c](04)[0x000000C0]
|
|
__O ICR_DEF ICR ; //!< [0020](04)[0x00000000]
|
|
__I RDR_DEF RDR ; //!< [0024](04)[0x00000000]
|
|
__IO TDR_DEF TDR ; //!< [0028](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x002C */
|
|
|
|
// ////////////////////+++ SPI1 +-+//////////////////// //
|
|
struct SPI1_Type { /*!< Serial peripheral interface/Inter-IC sound */
|
|
union CR1_DEF { //!< control register 1
|
|
struct {
|
|
__IO ONE_BIT CPHA : 1; //!<[00] Clock phase
|
|
__IO ONE_BIT CPOL : 1; //!<[01] Clock polarity
|
|
__IO ONE_BIT MSTR : 1; //!<[02] Master selection
|
|
__IO uint32_t BR : 3; //!<[03] Baud rate control
|
|
__IO ONE_BIT SPE : 1; //!<[06] SPI enable
|
|
__IO ONE_BIT LSBFIRST : 1; //!<[07] Frame format
|
|
__IO ONE_BIT SSI : 1; //!<[08] Internal slave select
|
|
__IO ONE_BIT SSM : 1; //!<[09] Software slave management
|
|
__IO ONE_BIT RXONLY : 1; //!<[10] Receive only
|
|
__IO ONE_BIT DFF : 1; //!<[11] Data frame format
|
|
__IO ONE_BIT CRCNEXT : 1; //!<[12] CRC transfer next
|
|
__IO ONE_BIT CRCEN : 1; //!<[13] Hardware CRC calculation enable
|
|
__IO ONE_BIT BIDIOE : 1; //!<[14] Output enable in bidirectional mode
|
|
__IO ONE_BIT BIDIMODE : 1; //!<[15] Bidirectional data mode enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CR2_DEF { //!< control register 2
|
|
struct {
|
|
__IO ONE_BIT RXDMAEN : 1; //!<[00] Rx buffer DMA enable
|
|
__IO ONE_BIT TXDMAEN : 1; //!<[01] Tx buffer DMA enable
|
|
__IO ONE_BIT SSOE : 1; //!<[02] SS output enable
|
|
__IO ONE_BIT NSSP : 1; //!<[03] NSS pulse management
|
|
__IO ONE_BIT FRF : 1; //!<[04] Frame format
|
|
__IO ONE_BIT ERRIE : 1; //!<[05] Error interrupt enable
|
|
__IO ONE_BIT RXNEIE : 1; //!<[06] RX buffer not empty interrupt enable
|
|
__IO ONE_BIT TXEIE : 1; //!<[07] Tx buffer empty interrupt enable
|
|
__IO uint32_t DS : 4; //!<[08] Data size
|
|
__IO ONE_BIT FRXTH : 1; //!<[12] FIFO reception threshold
|
|
__IO ONE_BIT LDMA_RX : 1; //!<[13] Last DMA transfer for reception
|
|
__IO ONE_BIT LDMA_TX : 1; //!<[14] Last DMA transfer for transmission
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SR_DEF { //!< status register
|
|
struct {
|
|
__I ONE_BIT RXNE : 1; //!<[00] Receive buffer not empty
|
|
__I ONE_BIT TXE : 1; //!<[01] Transmit buffer empty
|
|
uint32_t UNUSED0 : 2; //!<[02]
|
|
__IO ONE_BIT CRCERR : 1; //!<[04] CRC error flag
|
|
__I ONE_BIT MODF : 1; //!<[05] Mode fault
|
|
__I ONE_BIT OVR : 1; //!<[06] Overrun flag
|
|
__I ONE_BIT BSY : 1; //!<[07] Busy flag
|
|
__I ONE_BIT TIFRFE : 1; //!<[08] TI frame format error
|
|
__I uint32_t FRLVL : 2; //!<[09] FIFO reception level
|
|
__I uint32_t FTLVL : 2; //!<[11] FIFO transmission level
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit SR_DEF () noexcept { R = 0x00000002u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
SR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
SR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DR_DEF { //!< data register
|
|
struct {
|
|
__IO uint32_t DR : 16; //!<[00] Data register
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CRCPR_DEF { //!< CRC polynomial register
|
|
struct {
|
|
__IO uint32_t CRCPOLY : 16; //!<[00] CRC polynomial register
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CRCPR_DEF () noexcept { R = 0x00000007u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CRCPR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CRCPR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RXCRCR_DEF { //!< RX CRC register
|
|
struct {
|
|
__I uint32_t RxCRC : 16; //!<[00] Rx CRC register
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit RXCRCR_DEF (volatile RXCRCR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union TXCRCR_DEF { //!< TX CRC register
|
|
struct {
|
|
__I uint32_t TxCRC : 16; //!<[00] Tx CRC register
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit TXCRCR_DEF (volatile TXCRCR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
// PERIPHERAL SPI1 REGISTERS INSTANCES
|
|
__IO CR1_DEF CR1 ; //!< [0000](04)[0x00000000]
|
|
__IO CR2_DEF CR2 ; //!< [0004](04)[0x00000000]
|
|
__IO SR_DEF SR ; //!< [0008](04)[0x00000002]
|
|
__IO DR_DEF DR ; //!< [000c](04)[0x00000000]
|
|
__IO CRCPR_DEF CRCPR ; //!< [0010](04)[0x00000007]
|
|
__I RXCRCR_DEF RXCRCR ; //!< [0014](04)[0x00000000]
|
|
__I TXCRCR_DEF TXCRCR ; //!< [0018](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x001C */
|
|
|
|
// ////////////////////+++ SDMMC +-+//////////////////// //
|
|
struct SDMMC_Type { /*!< Secure digital input/output interface */
|
|
union POWER_DEF { //!< power control register
|
|
struct {
|
|
__IO uint32_t PWRCTRL : 2; //!<[00] PWRCTRL
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit POWER_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
POWER_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
POWER_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CLKCR_DEF { //!< SDI clock control register
|
|
struct {
|
|
__IO uint32_t CLKDIV : 8; //!<[00] Clock divide factor
|
|
__IO ONE_BIT CLKEN : 1; //!<[08] Clock enable bit
|
|
__IO ONE_BIT PWRSAV : 1; //!<[09] Power saving configuration bit
|
|
__IO ONE_BIT BYPASS : 1; //!<[10] Clock divider bypass enable bit
|
|
__IO uint32_t WIDBUS : 2; //!<[11] Wide bus mode enable bit
|
|
__IO ONE_BIT NEGEDGE : 1; //!<[13] SDIO_CK dephasing selection bit
|
|
__IO ONE_BIT HWFC_EN : 1; //!<[14] HW Flow Control enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CLKCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CLKCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CLKCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ARG_DEF { //!< argument register
|
|
struct {
|
|
__IO uint32_t CMDARG : 32; //!<[00] Command argument
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ARG_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ARG_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ARG_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CMD_DEF { //!< command register
|
|
struct {
|
|
__IO uint32_t CMDINDEX : 6; //!<[00] Command index
|
|
__IO uint32_t WAITRESP : 2; //!<[06] Wait for response bits
|
|
__IO ONE_BIT WAITINT : 1; //!<[08] CPSM waits for interrupt request
|
|
__IO ONE_BIT WAITPEND : 1; //!<[09] CPSM Waits for ends of data transfer (CmdPend internal signal)
|
|
__IO ONE_BIT CPSMEN : 1; //!<[10] Command path state machine (CPSM) Enable bit
|
|
__IO ONE_BIT SDIOSuspend : 1; //!<[11] SD I/O suspend command
|
|
__IO ONE_BIT ENCMDcompl : 1; //!<[12] Enable CMD completion
|
|
__IO ONE_BIT nIEN : 1; //!<[13] not Interrupt Enable
|
|
__IO ONE_BIT CE_ATACMD : 1; //!<[14] CE-ATA command
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CMD_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CMD_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CMD_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RESPCMD_DEF { //!< command response register
|
|
struct {
|
|
__I uint32_t RESPCMD : 6; //!<[00] Response command index
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit RESPCMD_DEF (volatile RESPCMD_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union RESP1_DEF { //!< response 1..4 register
|
|
struct {
|
|
__I uint32_t CARDSTATUS1 : 32; //!<[00] see Table 132
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit RESP1_DEF (volatile RESP1_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union RESP2_DEF { //!< response 1..4 register
|
|
struct {
|
|
__I uint32_t CARDSTATUS2 : 32; //!<[00] see Table 132
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit RESP2_DEF (volatile RESP2_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union RESP3_DEF { //!< response 1..4 register
|
|
struct {
|
|
__I uint32_t CARDSTATUS3 : 32; //!<[00] see Table 132
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit RESP3_DEF (volatile RESP3_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union RESP4_DEF { //!< response 1..4 register
|
|
struct {
|
|
__I uint32_t CARDSTATUS4 : 32; //!<[00] see Table 132
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit RESP4_DEF (volatile RESP4_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DTIMER_DEF { //!< data timer register
|
|
struct {
|
|
__IO uint32_t DATATIME : 32; //!<[00] Data timeout period
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DTIMER_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DTIMER_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DTIMER_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DLEN_DEF { //!< data length register
|
|
struct {
|
|
__IO uint32_t DATALENGTH : 25; //!<[00] Data length value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DLEN_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DLEN_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DLEN_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DCTRL_DEF { //!< data control register
|
|
struct {
|
|
__IO ONE_BIT DTEN : 1; //!<[00] DTEN
|
|
__IO ONE_BIT DTDIR : 1; //!<[01] Data transfer direction selection
|
|
__IO ONE_BIT DTMODE : 1; //!<[02] Data transfer mode selection 1: Stream or SDIO multibyte data transfer
|
|
__IO ONE_BIT DMAEN : 1; //!<[03] DMA enable bit
|
|
__IO uint32_t DBLOCKSIZE : 4; //!<[04] Data block size
|
|
__IO ONE_BIT RWSTART : 1; //!<[08] Read wait start
|
|
__IO ONE_BIT RWSTOP : 1; //!<[09] Read wait stop
|
|
__IO ONE_BIT RWMOD : 1; //!<[10] Read wait mode
|
|
__IO ONE_BIT SDIOEN : 1; //!<[11] SD I/O enable functions
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DCTRL_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DCTRL_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DCTRL_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DCOUNT_DEF { //!< data counter register
|
|
struct {
|
|
__I uint32_t DATACOUNT : 25; //!<[00] Data count value
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DCOUNT_DEF (volatile DCOUNT_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union STA_DEF { //!< status register
|
|
struct {
|
|
__I ONE_BIT CCRCFAIL : 1; //!<[00] Command response received (CRC check failed)
|
|
__I ONE_BIT DCRCFAIL : 1; //!<[01] Data block sent/received (CRC check failed)
|
|
__I ONE_BIT CTIMEOUT : 1; //!<[02] Command response timeout
|
|
__I ONE_BIT DTIMEOUT : 1; //!<[03] Data timeout
|
|
__I ONE_BIT TXUNDERR : 1; //!<[04] Transmit FIFO underrun error
|
|
__I ONE_BIT RXOVERR : 1; //!<[05] Received FIFO overrun error
|
|
__I ONE_BIT CMDREND : 1; //!<[06] Command response received (CRC check passed)
|
|
__I ONE_BIT CMDSENT : 1; //!<[07] Command sent (no response required)
|
|
__I ONE_BIT DATAEND : 1; //!<[08] Data end (data counter, SDIDCOUNT, is zero)
|
|
__I ONE_BIT STBITERR : 1; //!<[09] Start bit not detected on all data signals in wide bus mode
|
|
__I ONE_BIT DBCKEND : 1; //!<[10] Data block sent/received (CRC check passed)
|
|
__I ONE_BIT CMDACT : 1; //!<[11] Command transfer in progress
|
|
__I ONE_BIT TXACT : 1; //!<[12] Data transmit in progress
|
|
__I ONE_BIT RXACT : 1; //!<[13] Data receive in progress
|
|
__I ONE_BIT TXFIFOHE : 1; //!<[14] Transmit FIFO half empty: at least 8 words can be written into the FIFO
|
|
__I ONE_BIT RXFIFOHF : 1; //!<[15] Receive FIFO half full: there are at least 8 words in the FIFO
|
|
__I ONE_BIT TXFIFOF : 1; //!<[16] Transmit FIFO full
|
|
__I ONE_BIT RXFIFOF : 1; //!<[17] Receive FIFO full
|
|
__I ONE_BIT TXFIFOE : 1; //!<[18] Transmit FIFO empty
|
|
__I ONE_BIT RXFIFOE : 1; //!<[19] Receive FIFO empty
|
|
__I ONE_BIT TXDAVL : 1; //!<[20] Data available in transmit FIFO
|
|
__I ONE_BIT RXDAVL : 1; //!<[21] Data available in receive FIFO
|
|
__I ONE_BIT SDIOIT : 1; //!<[22] SDIO interrupt received
|
|
__I ONE_BIT CEATAEND : 1; //!<[23] CE-ATA command completion signal received for CMD61
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit STA_DEF (volatile STA_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union ICR_DEF { //!< interrupt clear register
|
|
struct {
|
|
__IO ONE_BIT CCRCFAILC : 1; //!<[00] CCRCFAIL flag clear bit
|
|
__IO ONE_BIT DCRCFAILC : 1; //!<[01] DCRCFAIL flag clear bit
|
|
__IO ONE_BIT CTIMEOUTC : 1; //!<[02] CTIMEOUT flag clear bit
|
|
__IO ONE_BIT DTIMEOUTC : 1; //!<[03] DTIMEOUT flag clear bit
|
|
__IO ONE_BIT TXUNDERRC : 1; //!<[04] TXUNDERR flag clear bit
|
|
__IO ONE_BIT RXOVERRC : 1; //!<[05] RXOVERR flag clear bit
|
|
__IO ONE_BIT CMDRENDC : 1; //!<[06] CMDREND flag clear bit
|
|
__IO ONE_BIT CMDSENTC : 1; //!<[07] CMDSENT flag clear bit
|
|
__IO ONE_BIT DATAENDC : 1; //!<[08] DATAEND flag clear bit
|
|
__IO ONE_BIT STBITERRC : 1; //!<[09] STBITERR flag clear bit
|
|
__IO ONE_BIT DBCKENDC : 1; //!<[10] DBCKEND flag clear bit
|
|
uint32_t UNUSED0 : 11; //!<[11]
|
|
__IO ONE_BIT SDIOITC : 1; //!<[22] SDIOIT flag clear bit
|
|
__IO ONE_BIT CEATAENDC : 1; //!<[23] CEATAEND flag clear bit
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ICR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ICR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ICR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union MASK_DEF { //!< mask register
|
|
struct {
|
|
__IO ONE_BIT CCRCFAILIE : 1; //!<[00] Command CRC fail interrupt enable
|
|
__IO ONE_BIT DCRCFAILIE : 1; //!<[01] Data CRC fail interrupt enable
|
|
__IO ONE_BIT CTIMEOUTIE : 1; //!<[02] Command timeout interrupt enable
|
|
__IO ONE_BIT DTIMEOUTIE : 1; //!<[03] Data timeout interrupt enable
|
|
__IO ONE_BIT TXUNDERRIE : 1; //!<[04] Tx FIFO underrun error interrupt enable
|
|
__IO ONE_BIT RXOVERRIE : 1; //!<[05] Rx FIFO overrun error interrupt enable
|
|
__IO ONE_BIT CMDRENDIE : 1; //!<[06] Command response received interrupt enable
|
|
__IO ONE_BIT CMDSENTIE : 1; //!<[07] Command sent interrupt enable
|
|
__IO ONE_BIT DATAENDIE : 1; //!<[08] Data end interrupt enable
|
|
__IO ONE_BIT STBITERRIE : 1; //!<[09] Start bit error interrupt enable
|
|
__IO ONE_BIT DBCKENDIE : 1; //!<[10] Data block end interrupt enable
|
|
__IO ONE_BIT CMDACTIE : 1; //!<[11] Command acting interrupt enable
|
|
__IO ONE_BIT TXACTIE : 1; //!<[12] Data transmit acting interrupt enable
|
|
__IO ONE_BIT RXACTIE : 1; //!<[13] Data receive acting interrupt enable
|
|
__IO ONE_BIT TXFIFOHEIE : 1; //!<[14] Tx FIFO half empty interrupt enable
|
|
__IO ONE_BIT RXFIFOHFIE : 1; //!<[15] Rx FIFO half full interrupt enable
|
|
__IO ONE_BIT TXFIFOFIE : 1; //!<[16] Tx FIFO full interrupt enable
|
|
__IO ONE_BIT RXFIFOFIE : 1; //!<[17] Rx FIFO full interrupt enable
|
|
__IO ONE_BIT TXFIFOEIE : 1; //!<[18] Tx FIFO empty interrupt enable
|
|
__IO ONE_BIT RXFIFOEIE : 1; //!<[19] Rx FIFO empty interrupt enable
|
|
__IO ONE_BIT TXDAVLIE : 1; //!<[20] Data available in Tx FIFO interrupt enable
|
|
__IO ONE_BIT RXDAVLIE : 1; //!<[21] Data available in Rx FIFO interrupt enable
|
|
__IO ONE_BIT SDIOITIE : 1; //!<[22] SDIO mode interrupt received interrupt enable
|
|
__IO ONE_BIT CEATAENDIE : 1; //!<[23] CE-ATA command completion signal received interrupt enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit MASK_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
MASK_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
MASK_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union FIFOCNT_DEF { //!< FIFO counter register
|
|
struct {
|
|
__I uint32_t FIFOCOUNT : 24; //!<[00] Remaining number of words to be written to or read from the FIFO
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit FIFOCNT_DEF (volatile FIFOCNT_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union FIFO_DEF { //!< data FIFO register
|
|
struct {
|
|
__IO uint32_t FIFOData : 32; //!<[00] Receive and transmit FIFO data
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit FIFO_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
FIFO_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
FIFO_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL SDMMC REGISTERS INSTANCES
|
|
__IO POWER_DEF POWER ; //!< [0000](04)[0x00000000]
|
|
__IO CLKCR_DEF CLKCR ; //!< [0004](04)[0x00000000]
|
|
__IO ARG_DEF ARG ; //!< [0008](04)[0x00000000]
|
|
__IO CMD_DEF CMD ; //!< [000c](04)[0x00000000]
|
|
__I RESPCMD_DEF RESPCMD ; //!< [0010](04)[0x00000000]
|
|
__I RESP1_DEF RESP1 ; //!< [0014](04)[0x00000000]
|
|
__I RESP2_DEF RESP2 ; //!< [0018](04)[0x00000000]
|
|
__I RESP3_DEF RESP3 ; //!< [001c](04)[0x00000000]
|
|
__I RESP4_DEF RESP4 ; //!< [0020](04)[0x00000000]
|
|
__IO DTIMER_DEF DTIMER ; //!< [0024](04)[0x00000000]
|
|
__IO DLEN_DEF DLEN ; //!< [0028](04)[0x00000000]
|
|
__IO DCTRL_DEF DCTRL ; //!< [002c](04)[0x00000000]
|
|
__I DCOUNT_DEF DCOUNT ; //!< [0030](04)[0x00000000]
|
|
__I STA_DEF STA ; //!< [0034](04)[0x00000000]
|
|
__IO ICR_DEF ICR ; //!< [0038](04)[0x00000000]
|
|
__IO MASK_DEF MASK ; //!< [003c](04)[0x00000000]
|
|
uint32_t UNUSED0 [2]; //!< [0040](08)[0xFFFFFFFF]
|
|
__I FIFOCNT_DEF FIFOCNT ; //!< [0048](04)[0x00000000]
|
|
uint32_t UNUSED1 [13]; //!< [004c](34)[0xFFFFFFFF]
|
|
__IO FIFO_DEF FIFO ; //!< [0080](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x0084 */
|
|
|
|
// ////////////////////+++ EXTI +-+//////////////////// //
|
|
struct EXTI_Type { /*!< External interrupt/event controller */
|
|
union IMR1_DEF { //!< Interrupt mask register
|
|
struct {
|
|
__IO ONE_BIT MR0 : 1; //!<[00] Interrupt Mask on line 0
|
|
__IO ONE_BIT MR1 : 1; //!<[01] Interrupt Mask on line 1
|
|
__IO ONE_BIT MR2 : 1; //!<[02] Interrupt Mask on line 2
|
|
__IO ONE_BIT MR3 : 1; //!<[03] Interrupt Mask on line 3
|
|
__IO ONE_BIT MR4 : 1; //!<[04] Interrupt Mask on line 4
|
|
__IO ONE_BIT MR5 : 1; //!<[05] Interrupt Mask on line 5
|
|
__IO ONE_BIT MR6 : 1; //!<[06] Interrupt Mask on line 6
|
|
__IO ONE_BIT MR7 : 1; //!<[07] Interrupt Mask on line 7
|
|
__IO ONE_BIT MR8 : 1; //!<[08] Interrupt Mask on line 8
|
|
__IO ONE_BIT MR9 : 1; //!<[09] Interrupt Mask on line 9
|
|
__IO ONE_BIT MR10 : 1; //!<[10] Interrupt Mask on line 10
|
|
__IO ONE_BIT MR11 : 1; //!<[11] Interrupt Mask on line 11
|
|
__IO ONE_BIT MR12 : 1; //!<[12] Interrupt Mask on line 12
|
|
__IO ONE_BIT MR13 : 1; //!<[13] Interrupt Mask on line 13
|
|
__IO ONE_BIT MR14 : 1; //!<[14] Interrupt Mask on line 14
|
|
__IO ONE_BIT MR15 : 1; //!<[15] Interrupt Mask on line 15
|
|
__IO ONE_BIT MR16 : 1; //!<[16] Interrupt Mask on line 16
|
|
__IO ONE_BIT MR17 : 1; //!<[17] Interrupt Mask on line 17
|
|
__IO ONE_BIT MR18 : 1; //!<[18] Interrupt Mask on line 18
|
|
__IO ONE_BIT MR19 : 1; //!<[19] Interrupt Mask on line 19
|
|
__IO ONE_BIT MR20 : 1; //!<[20] Interrupt Mask on line 20
|
|
__IO ONE_BIT MR21 : 1; //!<[21] Interrupt Mask on line 21
|
|
__IO ONE_BIT MR22 : 1; //!<[22] Interrupt Mask on line 22
|
|
__IO ONE_BIT MR23 : 1; //!<[23] Interrupt Mask on line 23
|
|
__IO ONE_BIT MR24 : 1; //!<[24] Interrupt Mask on line 24
|
|
__IO ONE_BIT MR25 : 1; //!<[25] Interrupt Mask on line 25
|
|
__IO ONE_BIT MR26 : 1; //!<[26] Interrupt Mask on line 26
|
|
__IO ONE_BIT MR27 : 1; //!<[27] Interrupt Mask on line 27
|
|
__IO ONE_BIT MR28 : 1; //!<[28] Interrupt Mask on line 28
|
|
__IO ONE_BIT MR29 : 1; //!<[29] Interrupt Mask on line 29
|
|
__IO ONE_BIT MR30 : 1; //!<[30] Interrupt Mask on line 30
|
|
__IO ONE_BIT MR31 : 1; //!<[31] Interrupt Mask on line 31
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit IMR1_DEF () noexcept { R = 0xff820000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
IMR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
IMR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union EMR1_DEF { //!< Event mask register
|
|
struct {
|
|
__IO ONE_BIT MR0 : 1; //!<[00] Event Mask on line 0
|
|
__IO ONE_BIT MR1 : 1; //!<[01] Event Mask on line 1
|
|
__IO ONE_BIT MR2 : 1; //!<[02] Event Mask on line 2
|
|
__IO ONE_BIT MR3 : 1; //!<[03] Event Mask on line 3
|
|
__IO ONE_BIT MR4 : 1; //!<[04] Event Mask on line 4
|
|
__IO ONE_BIT MR5 : 1; //!<[05] Event Mask on line 5
|
|
__IO ONE_BIT MR6 : 1; //!<[06] Event Mask on line 6
|
|
__IO ONE_BIT MR7 : 1; //!<[07] Event Mask on line 7
|
|
__IO ONE_BIT MR8 : 1; //!<[08] Event Mask on line 8
|
|
__IO ONE_BIT MR9 : 1; //!<[09] Event Mask on line 9
|
|
__IO ONE_BIT MR10 : 1; //!<[10] Event Mask on line 10
|
|
__IO ONE_BIT MR11 : 1; //!<[11] Event Mask on line 11
|
|
__IO ONE_BIT MR12 : 1; //!<[12] Event Mask on line 12
|
|
__IO ONE_BIT MR13 : 1; //!<[13] Event Mask on line 13
|
|
__IO ONE_BIT MR14 : 1; //!<[14] Event Mask on line 14
|
|
__IO ONE_BIT MR15 : 1; //!<[15] Event Mask on line 15
|
|
__IO ONE_BIT MR16 : 1; //!<[16] Event Mask on line 16
|
|
__IO ONE_BIT MR17 : 1; //!<[17] Event Mask on line 17
|
|
__IO ONE_BIT MR18 : 1; //!<[18] Event Mask on line 18
|
|
__IO ONE_BIT MR19 : 1; //!<[19] Event Mask on line 19
|
|
__IO ONE_BIT MR20 : 1; //!<[20] Event Mask on line 20
|
|
__IO ONE_BIT MR21 : 1; //!<[21] Event Mask on line 21
|
|
__IO ONE_BIT MR22 : 1; //!<[22] Event Mask on line 22
|
|
__IO ONE_BIT MR23 : 1; //!<[23] Event Mask on line 23
|
|
__IO ONE_BIT MR24 : 1; //!<[24] Event Mask on line 24
|
|
__IO ONE_BIT MR25 : 1; //!<[25] Event Mask on line 25
|
|
__IO ONE_BIT MR26 : 1; //!<[26] Event Mask on line 26
|
|
__IO ONE_BIT MR27 : 1; //!<[27] Event Mask on line 27
|
|
__IO ONE_BIT MR28 : 1; //!<[28] Event Mask on line 28
|
|
__IO ONE_BIT MR29 : 1; //!<[29] Event Mask on line 29
|
|
__IO ONE_BIT MR30 : 1; //!<[30] Event Mask on line 30
|
|
__IO ONE_BIT MR31 : 1; //!<[31] Event Mask on line 31
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit EMR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
EMR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
EMR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RTSR1_DEF { //!< Rising Trigger selection register
|
|
struct {
|
|
__IO ONE_BIT TR0 : 1; //!<[00] Rising trigger event configuration of line 0
|
|
__IO ONE_BIT TR1 : 1; //!<[01] Rising trigger event configuration of line 1
|
|
__IO ONE_BIT TR2 : 1; //!<[02] Rising trigger event configuration of line 2
|
|
__IO ONE_BIT TR3 : 1; //!<[03] Rising trigger event configuration of line 3
|
|
__IO ONE_BIT TR4 : 1; //!<[04] Rising trigger event configuration of line 4
|
|
__IO ONE_BIT TR5 : 1; //!<[05] Rising trigger event configuration of line 5
|
|
__IO ONE_BIT TR6 : 1; //!<[06] Rising trigger event configuration of line 6
|
|
__IO ONE_BIT TR7 : 1; //!<[07] Rising trigger event configuration of line 7
|
|
__IO ONE_BIT TR8 : 1; //!<[08] Rising trigger event configuration of line 8
|
|
__IO ONE_BIT TR9 : 1; //!<[09] Rising trigger event configuration of line 9
|
|
__IO ONE_BIT TR10 : 1; //!<[10] Rising trigger event configuration of line 10
|
|
__IO ONE_BIT TR11 : 1; //!<[11] Rising trigger event configuration of line 11
|
|
__IO ONE_BIT TR12 : 1; //!<[12] Rising trigger event configuration of line 12
|
|
__IO ONE_BIT TR13 : 1; //!<[13] Rising trigger event configuration of line 13
|
|
__IO ONE_BIT TR14 : 1; //!<[14] Rising trigger event configuration of line 14
|
|
__IO ONE_BIT TR15 : 1; //!<[15] Rising trigger event configuration of line 15
|
|
__IO ONE_BIT TR16 : 1; //!<[16] Rising trigger event configuration of line 16
|
|
ONE_BIT UNUSED0 : 1; //!<[17]
|
|
__IO ONE_BIT TR18 : 1; //!<[18] Rising trigger event configuration of line 18
|
|
__IO ONE_BIT TR19 : 1; //!<[19] Rising trigger event configuration of line 19
|
|
__IO ONE_BIT TR20 : 1; //!<[20] Rising trigger event configuration of line 20
|
|
__IO ONE_BIT TR21 : 1; //!<[21] Rising trigger event configuration of line 21
|
|
__IO ONE_BIT TR22 : 1; //!<[22] Rising trigger event configuration of line 22
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit RTSR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
RTSR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
RTSR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union FTSR1_DEF { //!< Falling Trigger selection register
|
|
struct {
|
|
__IO ONE_BIT TR0 : 1; //!<[00] Falling trigger event configuration of line 0
|
|
__IO ONE_BIT TR1 : 1; //!<[01] Falling trigger event configuration of line 1
|
|
__IO ONE_BIT TR2 : 1; //!<[02] Falling trigger event configuration of line 2
|
|
__IO ONE_BIT TR3 : 1; //!<[03] Falling trigger event configuration of line 3
|
|
__IO ONE_BIT TR4 : 1; //!<[04] Falling trigger event configuration of line 4
|
|
__IO ONE_BIT TR5 : 1; //!<[05] Falling trigger event configuration of line 5
|
|
__IO ONE_BIT TR6 : 1; //!<[06] Falling trigger event configuration of line 6
|
|
__IO ONE_BIT TR7 : 1; //!<[07] Falling trigger event configuration of line 7
|
|
__IO ONE_BIT TR8 : 1; //!<[08] Falling trigger event configuration of line 8
|
|
__IO ONE_BIT TR9 : 1; //!<[09] Falling trigger event configuration of line 9
|
|
__IO ONE_BIT TR10 : 1; //!<[10] Falling trigger event configuration of line 10
|
|
__IO ONE_BIT TR11 : 1; //!<[11] Falling trigger event configuration of line 11
|
|
__IO ONE_BIT TR12 : 1; //!<[12] Falling trigger event configuration of line 12
|
|
__IO ONE_BIT TR13 : 1; //!<[13] Falling trigger event configuration of line 13
|
|
__IO ONE_BIT TR14 : 1; //!<[14] Falling trigger event configuration of line 14
|
|
__IO ONE_BIT TR15 : 1; //!<[15] Falling trigger event configuration of line 15
|
|
__IO ONE_BIT TR16 : 1; //!<[16] Falling trigger event configuration of line 16
|
|
ONE_BIT UNUSED0 : 1; //!<[17]
|
|
__IO ONE_BIT TR18 : 1; //!<[18] Falling trigger event configuration of line 18
|
|
__IO ONE_BIT TR19 : 1; //!<[19] Falling trigger event configuration of line 19
|
|
__IO ONE_BIT TR20 : 1; //!<[20] Falling trigger event configuration of line 20
|
|
__IO ONE_BIT TR21 : 1; //!<[21] Falling trigger event configuration of line 21
|
|
__IO ONE_BIT TR22 : 1; //!<[22] Falling trigger event configuration of line 22
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit FTSR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
FTSR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
FTSR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SWIER1_DEF { //!< Software interrupt event register
|
|
struct {
|
|
__IO ONE_BIT SWIER0 : 1; //!<[00] Software Interrupt on line 0
|
|
__IO ONE_BIT SWIER1 : 1; //!<[01] Software Interrupt on line 1
|
|
__IO ONE_BIT SWIER2 : 1; //!<[02] Software Interrupt on line 2
|
|
__IO ONE_BIT SWIER3 : 1; //!<[03] Software Interrupt on line 3
|
|
__IO ONE_BIT SWIER4 : 1; //!<[04] Software Interrupt on line 4
|
|
__IO ONE_BIT SWIER5 : 1; //!<[05] Software Interrupt on line 5
|
|
__IO ONE_BIT SWIER6 : 1; //!<[06] Software Interrupt on line 6
|
|
__IO ONE_BIT SWIER7 : 1; //!<[07] Software Interrupt on line 7
|
|
__IO ONE_BIT SWIER8 : 1; //!<[08] Software Interrupt on line 8
|
|
__IO ONE_BIT SWIER9 : 1; //!<[09] Software Interrupt on line 9
|
|
__IO ONE_BIT SWIER10 : 1; //!<[10] Software Interrupt on line 10
|
|
__IO ONE_BIT SWIER11 : 1; //!<[11] Software Interrupt on line 11
|
|
__IO ONE_BIT SWIER12 : 1; //!<[12] Software Interrupt on line 12
|
|
__IO ONE_BIT SWIER13 : 1; //!<[13] Software Interrupt on line 13
|
|
__IO ONE_BIT SWIER14 : 1; //!<[14] Software Interrupt on line 14
|
|
__IO ONE_BIT SWIER15 : 1; //!<[15] Software Interrupt on line 15
|
|
__IO ONE_BIT SWIER16 : 1; //!<[16] Software Interrupt on line 16
|
|
ONE_BIT UNUSED0 : 1; //!<[17]
|
|
__IO ONE_BIT SWIER18 : 1; //!<[18] Software Interrupt on line 18
|
|
__IO ONE_BIT SWIER19 : 1; //!<[19] Software Interrupt on line 19
|
|
__IO ONE_BIT SWIER20 : 1; //!<[20] Software Interrupt on line 20
|
|
__IO ONE_BIT SWIER21 : 1; //!<[21] Software Interrupt on line 21
|
|
__IO ONE_BIT SWIER22 : 1; //!<[22] Software Interrupt on line 22
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit SWIER1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
SWIER1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
SWIER1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PR1_DEF { //!< Pending register
|
|
struct {
|
|
__IO ONE_BIT PR0 : 1; //!<[00] Pending bit 0
|
|
__IO ONE_BIT PR1 : 1; //!<[01] Pending bit 1
|
|
__IO ONE_BIT PR2 : 1; //!<[02] Pending bit 2
|
|
__IO ONE_BIT PR3 : 1; //!<[03] Pending bit 3
|
|
__IO ONE_BIT PR4 : 1; //!<[04] Pending bit 4
|
|
__IO ONE_BIT PR5 : 1; //!<[05] Pending bit 5
|
|
__IO ONE_BIT PR6 : 1; //!<[06] Pending bit 6
|
|
__IO ONE_BIT PR7 : 1; //!<[07] Pending bit 7
|
|
__IO ONE_BIT PR8 : 1; //!<[08] Pending bit 8
|
|
__IO ONE_BIT PR9 : 1; //!<[09] Pending bit 9
|
|
__IO ONE_BIT PR10 : 1; //!<[10] Pending bit 10
|
|
__IO ONE_BIT PR11 : 1; //!<[11] Pending bit 11
|
|
__IO ONE_BIT PR12 : 1; //!<[12] Pending bit 12
|
|
__IO ONE_BIT PR13 : 1; //!<[13] Pending bit 13
|
|
__IO ONE_BIT PR14 : 1; //!<[14] Pending bit 14
|
|
__IO ONE_BIT PR15 : 1; //!<[15] Pending bit 15
|
|
__IO ONE_BIT PR16 : 1; //!<[16] Pending bit 16
|
|
ONE_BIT UNUSED0 : 1; //!<[17]
|
|
__IO ONE_BIT PR18 : 1; //!<[18] Pending bit 18
|
|
__IO ONE_BIT PR19 : 1; //!<[19] Pending bit 19
|
|
__IO ONE_BIT PR20 : 1; //!<[20] Pending bit 20
|
|
__IO ONE_BIT PR21 : 1; //!<[21] Pending bit 21
|
|
__IO ONE_BIT PR22 : 1; //!<[22] Pending bit 22
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union IMR2_DEF { //!< Interrupt mask register
|
|
struct {
|
|
__IO ONE_BIT MR32 : 1; //!<[00] Interrupt Mask on external/internal line 32
|
|
__IO ONE_BIT MR33 : 1; //!<[01] Interrupt Mask on external/internal line 33
|
|
__IO ONE_BIT MR34 : 1; //!<[02] Interrupt Mask on external/internal line 34
|
|
__IO ONE_BIT MR35 : 1; //!<[03] Interrupt Mask on external/internal line 35
|
|
__IO ONE_BIT MR36 : 1; //!<[04] Interrupt Mask on external/internal line 36
|
|
__IO ONE_BIT MR37 : 1; //!<[05] Interrupt Mask on external/internal line 37
|
|
__IO ONE_BIT MR38 : 1; //!<[06] Interrupt Mask on external/internal line 38
|
|
__IO ONE_BIT MR39 : 1; //!<[07] Interrupt Mask on external/internal line 39
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit IMR2_DEF () noexcept { R = 0xffffff87u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
IMR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
IMR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union EMR2_DEF { //!< Event mask register
|
|
struct {
|
|
__IO ONE_BIT MR32 : 1; //!<[00] Event mask on external/internal line 32
|
|
__IO ONE_BIT MR33 : 1; //!<[01] Event mask on external/internal line 33
|
|
__IO ONE_BIT MR34 : 1; //!<[02] Event mask on external/internal line 34
|
|
__IO ONE_BIT MR35 : 1; //!<[03] Event mask on external/internal line 35
|
|
__IO ONE_BIT MR36 : 1; //!<[04] Event mask on external/internal line 36
|
|
__IO ONE_BIT MR37 : 1; //!<[05] Event mask on external/internal line 37
|
|
__IO ONE_BIT MR38 : 1; //!<[06] Event mask on external/internal line 38
|
|
__IO ONE_BIT MR39 : 1; //!<[07] Event mask on external/internal line 39
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit EMR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
EMR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
EMR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RTSR2_DEF { //!< Rising Trigger selection register
|
|
struct {
|
|
uint32_t UNUSED0 : 3; //!<[00]
|
|
__IO ONE_BIT RT35 : 1; //!<[03] Rising trigger event configuration bit of line 35
|
|
__IO ONE_BIT RT36 : 1; //!<[04] Rising trigger event configuration bit of line 36
|
|
__IO ONE_BIT RT37 : 1; //!<[05] Rising trigger event configuration bit of line 37
|
|
__IO ONE_BIT RT38 : 1; //!<[06] Rising trigger event configuration bit of line 38
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit RTSR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
RTSR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
RTSR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union FTSR2_DEF { //!< Falling Trigger selection register
|
|
struct {
|
|
uint32_t UNUSED0 : 3; //!<[00]
|
|
__IO ONE_BIT FT35 : 1; //!<[03] Falling trigger event configuration bit of line 35
|
|
__IO ONE_BIT FT36 : 1; //!<[04] Falling trigger event configuration bit of line 36
|
|
__IO ONE_BIT FT37 : 1; //!<[05] Falling trigger event configuration bit of line 37
|
|
__IO ONE_BIT FT38 : 1; //!<[06] Falling trigger event configuration bit of line 38
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit FTSR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
FTSR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
FTSR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SWIER2_DEF { //!< Software interrupt event register
|
|
struct {
|
|
uint32_t UNUSED0 : 3; //!<[00]
|
|
__IO ONE_BIT SWI35 : 1; //!<[03] Software interrupt on line 35
|
|
__IO ONE_BIT SWI36 : 1; //!<[04] Software interrupt on line 36
|
|
__IO ONE_BIT SWI37 : 1; //!<[05] Software interrupt on line 37
|
|
__IO ONE_BIT SWI38 : 1; //!<[06] Software interrupt on line 38
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit SWIER2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
SWIER2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
SWIER2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PR2_DEF { //!< Pending register
|
|
struct {
|
|
uint32_t UNUSED0 : 3; //!<[00]
|
|
__IO ONE_BIT PIF35 : 1; //!<[03] Pending interrupt flag on line 35
|
|
__IO ONE_BIT PIF36 : 1; //!<[04] Pending interrupt flag on line 36
|
|
__IO ONE_BIT PIF37 : 1; //!<[05] Pending interrupt flag on line 37
|
|
__IO ONE_BIT PIF38 : 1; //!<[06] Pending interrupt flag on line 38
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL EXTI REGISTERS INSTANCES
|
|
__IO IMR1_DEF IMR1 ; //!< [0000](04)[0xFF820000]
|
|
__IO EMR1_DEF EMR1 ; //!< [0004](04)[0x00000000]
|
|
__IO RTSR1_DEF RTSR1 ; //!< [0008](04)[0x00000000]
|
|
__IO FTSR1_DEF FTSR1 ; //!< [000c](04)[0x00000000]
|
|
__IO SWIER1_DEF SWIER1 ; //!< [0010](04)[0x00000000]
|
|
__IO PR1_DEF PR1 ; //!< [0014](04)[0x00000000]
|
|
uint32_t UNUSED0 [2]; //!< [0018](08)[0xFFFFFFFF]
|
|
__IO IMR2_DEF IMR2 ; //!< [0020](04)[0xFFFFFF87]
|
|
__IO EMR2_DEF EMR2 ; //!< [0024](04)[0x00000000]
|
|
__IO RTSR2_DEF RTSR2 ; //!< [0028](04)[0x00000000]
|
|
__IO FTSR2_DEF FTSR2 ; //!< [002c](04)[0x00000000]
|
|
__IO SWIER2_DEF SWIER2 ; //!< [0030](04)[0x00000000]
|
|
__IO PR2_DEF PR2 ; //!< [0034](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x0038 */
|
|
|
|
// ////////////////////+++ VREFBUF +-+//////////////////// //
|
|
struct VREFBUF_Type { /*!< Voltage reference buffer */
|
|
union CSR_DEF { //!< VREF control and status register
|
|
struct {
|
|
__IO ONE_BIT ENVR : 1; //!<[00] Voltage reference buffer enable
|
|
__IO ONE_BIT HIZ : 1; //!<[01] High impedance mode
|
|
__IO ONE_BIT VRS : 1; //!<[02] Voltage reference scale
|
|
__I ONE_BIT VRR : 1; //!<[03] Voltage reference buffer ready
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CSR_DEF () noexcept { R = 0x00000002u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CSR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CSR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCR_DEF { //!< calibration control register
|
|
struct {
|
|
__IO uint32_t TRIM : 6; //!<[00] Trimming code
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL VREFBUF REGISTERS INSTANCES
|
|
__IO CSR_DEF CSR ; //!< [0000](04)[0x00000002]
|
|
__IO CCR_DEF CCR ; //!< [0004](04)[0x00000000]
|
|
}; /* total size = 0x01d0, struct size = 0x0008 */
|
|
|
|
// ////////////////////+++ CAN1 +-+//////////////////// //
|
|
struct CAN1_Type { /*!< Controller area network */
|
|
union MCR_DEF { //!< master control register
|
|
struct {
|
|
__IO ONE_BIT INRQ : 1; //!<[00] INRQ
|
|
__IO ONE_BIT SLEEP : 1; //!<[01] SLEEP
|
|
__IO ONE_BIT TXFP : 1; //!<[02] TXFP
|
|
__IO ONE_BIT RFLM : 1; //!<[03] RFLM
|
|
__IO ONE_BIT NART : 1; //!<[04] NART
|
|
__IO ONE_BIT AWUM : 1; //!<[05] AWUM
|
|
__IO ONE_BIT ABOM : 1; //!<[06] ABOM
|
|
__IO ONE_BIT TTCM : 1; //!<[07] TTCM
|
|
uint32_t UNUSED0 : 7; //!<[08]
|
|
__IO ONE_BIT RESET : 1; //!<[15] RESET
|
|
__IO ONE_BIT DBF : 1; //!<[16] DBF
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit MCR_DEF () noexcept { R = 0x00010002u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
MCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
MCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union MSR_DEF { //!< master status register
|
|
struct {
|
|
__I ONE_BIT INAK : 1; //!<[00] INAK
|
|
__I ONE_BIT SLAK : 1; //!<[01] SLAK
|
|
__IO ONE_BIT ERRI : 1; //!<[02] ERRI
|
|
__IO ONE_BIT WKUI : 1; //!<[03] WKUI
|
|
__IO ONE_BIT SLAKI : 1; //!<[04] SLAKI
|
|
uint32_t UNUSED0 : 3; //!<[05]
|
|
__I ONE_BIT TXM : 1; //!<[08] TXM
|
|
__I ONE_BIT RXM : 1; //!<[09] RXM
|
|
__I ONE_BIT SAMP : 1; //!<[10] SAMP
|
|
__I ONE_BIT RX : 1; //!<[11] RX
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit MSR_DEF () noexcept { R = 0x00000c02u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
MSR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
MSR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union TSR_DEF { //!< transmit status register
|
|
struct {
|
|
__IO ONE_BIT RQCP0 : 1; //!<[00] RQCP0
|
|
__IO ONE_BIT TXOK0 : 1; //!<[01] TXOK0
|
|
__IO ONE_BIT ALST0 : 1; //!<[02] ALST0
|
|
__IO ONE_BIT TERR0 : 1; //!<[03] TERR0
|
|
uint32_t UNUSED0 : 3; //!<[04]
|
|
__IO ONE_BIT ABRQ0 : 1; //!<[07] ABRQ0
|
|
__IO ONE_BIT RQCP1 : 1; //!<[08] RQCP1
|
|
__IO ONE_BIT TXOK1 : 1; //!<[09] TXOK1
|
|
__IO ONE_BIT ALST1 : 1; //!<[10] ALST1
|
|
__IO ONE_BIT TERR1 : 1; //!<[11] TERR1
|
|
uint32_t UNUSED1 : 3; //!<[12]
|
|
__IO ONE_BIT ABRQ1 : 1; //!<[15] ABRQ1
|
|
__IO ONE_BIT RQCP2 : 1; //!<[16] RQCP2
|
|
__IO ONE_BIT TXOK2 : 1; //!<[17] TXOK2
|
|
__IO ONE_BIT ALST2 : 1; //!<[18] ALST2
|
|
__IO ONE_BIT TERR2 : 1; //!<[19] TERR2
|
|
uint32_t UNUSED2 : 3; //!<[20]
|
|
__IO ONE_BIT ABRQ2 : 1; //!<[23] ABRQ2
|
|
__I uint32_t CODE : 2; //!<[24] CODE
|
|
__I ONE_BIT TME0 : 1; //!<[26] Lowest priority flag for mailbox 0
|
|
__I ONE_BIT TME1 : 1; //!<[27] Lowest priority flag for mailbox 1
|
|
__I ONE_BIT TME2 : 1; //!<[28] Lowest priority flag for mailbox 2
|
|
__I ONE_BIT LOW0 : 1; //!<[29] Lowest priority flag for mailbox 0
|
|
__I ONE_BIT LOW1 : 1; //!<[30] Lowest priority flag for mailbox 1
|
|
__I ONE_BIT LOW2 : 1; //!<[31] Lowest priority flag for mailbox 2
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit TSR_DEF () noexcept { R = 0x1c000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
TSR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
TSR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RF0R_DEF { //!< receive FIFO 0 register
|
|
struct {
|
|
__I uint32_t FMP0 : 2; //!<[00] FMP0
|
|
ONE_BIT UNUSED0 : 1; //!<[02]
|
|
__IO ONE_BIT FULL0 : 1; //!<[03] FULL0
|
|
__IO ONE_BIT FOVR0 : 1; //!<[04] FOVR0
|
|
__IO ONE_BIT RFOM0 : 1; //!<[05] RFOM0
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit RF0R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
RF0R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
RF0R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RF1R_DEF { //!< receive FIFO 1 register
|
|
struct {
|
|
__I uint32_t FMP1 : 2; //!<[00] FMP1
|
|
ONE_BIT UNUSED0 : 1; //!<[02]
|
|
__IO ONE_BIT FULL1 : 1; //!<[03] FULL1
|
|
__IO ONE_BIT FOVR1 : 1; //!<[04] FOVR1
|
|
__IO ONE_BIT RFOM1 : 1; //!<[05] RFOM1
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit RF1R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
RF1R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
RF1R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union IER_DEF { //!< interrupt enable register
|
|
struct {
|
|
__IO ONE_BIT TMEIE : 1; //!<[00] TMEIE
|
|
__IO ONE_BIT FMPIE0 : 1; //!<[01] FMPIE0
|
|
__IO ONE_BIT FFIE0 : 1; //!<[02] FFIE0
|
|
__IO ONE_BIT FOVIE0 : 1; //!<[03] FOVIE0
|
|
__IO ONE_BIT FMPIE1 : 1; //!<[04] FMPIE1
|
|
__IO ONE_BIT FFIE1 : 1; //!<[05] FFIE1
|
|
__IO ONE_BIT FOVIE1 : 1; //!<[06] FOVIE1
|
|
ONE_BIT UNUSED0 : 1; //!<[07]
|
|
__IO ONE_BIT EWGIE : 1; //!<[08] EWGIE
|
|
__IO ONE_BIT EPVIE : 1; //!<[09] EPVIE
|
|
__IO ONE_BIT BOFIE : 1; //!<[10] BOFIE
|
|
__IO ONE_BIT LECIE : 1; //!<[11] LECIE
|
|
uint32_t UNUSED1 : 3; //!<[12]
|
|
__IO ONE_BIT ERRIE : 1; //!<[15] ERRIE
|
|
__IO ONE_BIT WKUIE : 1; //!<[16] WKUIE
|
|
__IO ONE_BIT SLKIE : 1; //!<[17] SLKIE
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit IER_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
IER_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
IER_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ESR_DEF { //!< interrupt enable register
|
|
struct {
|
|
__I ONE_BIT EWGF : 1; //!<[00] EWGF
|
|
__I ONE_BIT EPVF : 1; //!<[01] EPVF
|
|
__I ONE_BIT BOFF : 1; //!<[02] BOFF
|
|
ONE_BIT UNUSED0 : 1; //!<[03]
|
|
__IO uint32_t LEC : 3; //!<[04] LEC
|
|
uint32_t UNUSED1 : 9; //!<[07]
|
|
__I uint32_t TEC : 8; //!<[16] TEC
|
|
__I uint32_t REC : 8; //!<[24] REC
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ESR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ESR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ESR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BTR_DEF { //!< bit timing register
|
|
struct {
|
|
__IO uint32_t BRP : 10; //!<[00] BRP
|
|
uint32_t UNUSED0 : 6; //!<[10]
|
|
__IO uint32_t TS1 : 4; //!<[16] TS1
|
|
__IO uint32_t TS2 : 3; //!<[20] TS2
|
|
ONE_BIT UNUSED1 : 1; //!<[23]
|
|
__IO uint32_t SJW : 2; //!<[24] SJW
|
|
uint32_t UNUSED2 : 4; //!<[26]
|
|
__IO ONE_BIT LBKM : 1; //!<[30] LBKM
|
|
__IO ONE_BIT SILM : 1; //!<[31] SILM
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BTR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union TI0R_DEF { //!< TX mailbox identifier register
|
|
struct {
|
|
__IO ONE_BIT TXRQ : 1; //!<[00] TXRQ
|
|
__IO ONE_BIT RTR : 1; //!<[01] RTR
|
|
__IO ONE_BIT IDE : 1; //!<[02] IDE
|
|
__IO uint32_t EXID : 18; //!<[03] EXID
|
|
__IO uint32_t STID : 11; //!<[21] STID
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit TI0R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
TI0R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
TI0R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union TDT0R_DEF { //!< mailbox data length control and time stamp register
|
|
struct {
|
|
__IO uint32_t DLC : 4; //!<[00] DLC
|
|
uint32_t UNUSED0 : 4; //!<[04]
|
|
__IO ONE_BIT TGT : 1; //!<[08] TGT
|
|
uint32_t UNUSED1 : 7; //!<[09]
|
|
__IO uint32_t TIME : 16; //!<[16] TIME
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit TDT0R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
TDT0R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
TDT0R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union TDL0R_DEF { //!< mailbox data low register
|
|
struct {
|
|
__IO uint32_t DATA0 : 8; //!<[00] DATA0
|
|
__IO uint32_t DATA1 : 8; //!<[08] DATA1
|
|
__IO uint32_t DATA2 : 8; //!<[16] DATA2
|
|
__IO uint32_t DATA3 : 8; //!<[24] DATA3
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit TDL0R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
TDL0R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
TDL0R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union TDH0R_DEF { //!< mailbox data high register
|
|
struct {
|
|
__IO uint32_t DATA4 : 8; //!<[00] DATA4
|
|
__IO uint32_t DATA5 : 8; //!<[08] DATA5
|
|
__IO uint32_t DATA6 : 8; //!<[16] DATA6
|
|
__IO uint32_t DATA7 : 8; //!<[24] DATA7
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit TDH0R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
TDH0R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
TDH0R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union TI1R_DEF { //!< mailbox identifier register
|
|
struct {
|
|
__IO ONE_BIT TXRQ : 1; //!<[00] TXRQ
|
|
__IO ONE_BIT RTR : 1; //!<[01] RTR
|
|
__IO ONE_BIT IDE : 1; //!<[02] IDE
|
|
__IO uint32_t EXID : 18; //!<[03] EXID
|
|
__IO uint32_t STID : 11; //!<[21] STID
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit TI1R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
TI1R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
TI1R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union TDT1R_DEF { //!< mailbox data length control and time stamp register
|
|
struct {
|
|
__IO uint32_t DLC : 4; //!<[00] DLC
|
|
uint32_t UNUSED0 : 4; //!<[04]
|
|
__IO ONE_BIT TGT : 1; //!<[08] TGT
|
|
uint32_t UNUSED1 : 7; //!<[09]
|
|
__IO uint32_t TIME : 16; //!<[16] TIME
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit TDT1R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
TDT1R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
TDT1R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union TDL1R_DEF { //!< mailbox data low register
|
|
struct {
|
|
__IO uint32_t DATA0 : 8; //!<[00] DATA0
|
|
__IO uint32_t DATA1 : 8; //!<[08] DATA1
|
|
__IO uint32_t DATA2 : 8; //!<[16] DATA2
|
|
__IO uint32_t DATA3 : 8; //!<[24] DATA3
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit TDL1R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
TDL1R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
TDL1R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union TDH1R_DEF { //!< mailbox data high register
|
|
struct {
|
|
__IO uint32_t DATA4 : 8; //!<[00] DATA4
|
|
__IO uint32_t DATA5 : 8; //!<[08] DATA5
|
|
__IO uint32_t DATA6 : 8; //!<[16] DATA6
|
|
__IO uint32_t DATA7 : 8; //!<[24] DATA7
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit TDH1R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
TDH1R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
TDH1R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union TI2R_DEF { //!< mailbox identifier register
|
|
struct {
|
|
__IO ONE_BIT TXRQ : 1; //!<[00] TXRQ
|
|
__IO ONE_BIT RTR : 1; //!<[01] RTR
|
|
__IO ONE_BIT IDE : 1; //!<[02] IDE
|
|
__IO uint32_t EXID : 18; //!<[03] EXID
|
|
__IO uint32_t STID : 11; //!<[21] STID
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit TI2R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
TI2R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
TI2R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union TDT2R_DEF { //!< mailbox data length control and time stamp register
|
|
struct {
|
|
__IO uint32_t DLC : 4; //!<[00] DLC
|
|
uint32_t UNUSED0 : 4; //!<[04]
|
|
__IO ONE_BIT TGT : 1; //!<[08] TGT
|
|
uint32_t UNUSED1 : 7; //!<[09]
|
|
__IO uint32_t TIME : 16; //!<[16] TIME
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit TDT2R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
TDT2R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
TDT2R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union TDL2R_DEF { //!< mailbox data low register
|
|
struct {
|
|
__IO uint32_t DATA0 : 8; //!<[00] DATA0
|
|
__IO uint32_t DATA1 : 8; //!<[08] DATA1
|
|
__IO uint32_t DATA2 : 8; //!<[16] DATA2
|
|
__IO uint32_t DATA3 : 8; //!<[24] DATA3
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit TDL2R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
TDL2R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
TDL2R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union TDH2R_DEF { //!< mailbox data high register
|
|
struct {
|
|
__IO uint32_t DATA4 : 8; //!<[00] DATA4
|
|
__IO uint32_t DATA5 : 8; //!<[08] DATA5
|
|
__IO uint32_t DATA6 : 8; //!<[16] DATA6
|
|
__IO uint32_t DATA7 : 8; //!<[24] DATA7
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit TDH2R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
TDH2R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
TDH2R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RI0R_DEF { //!< receive FIFO mailbox identifier register
|
|
struct {
|
|
ONE_BIT UNUSED0 : 1; //!<[00]
|
|
__I ONE_BIT RTR : 1; //!<[01] RTR
|
|
__I ONE_BIT IDE : 1; //!<[02] IDE
|
|
__I uint32_t EXID : 18; //!<[03] EXID
|
|
__I uint32_t STID : 11; //!<[21] STID
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit RI0R_DEF (volatile RI0R_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union RDT0R_DEF { //!< mailbox data high register
|
|
struct {
|
|
__I uint32_t DLC : 4; //!<[00] DLC
|
|
uint32_t UNUSED0 : 4; //!<[04]
|
|
__I uint32_t FMI : 8; //!<[08] FMI
|
|
__I uint32_t TIME : 16; //!<[16] TIME
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit RDT0R_DEF (volatile RDT0R_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union RDL0R_DEF { //!< mailbox data high register
|
|
struct {
|
|
__I uint32_t DATA0 : 8; //!<[00] DATA0
|
|
__I uint32_t DATA1 : 8; //!<[08] DATA1
|
|
__I uint32_t DATA2 : 8; //!<[16] DATA2
|
|
__I uint32_t DATA3 : 8; //!<[24] DATA3
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit RDL0R_DEF (volatile RDL0R_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union RDH0R_DEF { //!< receive FIFO mailbox data high register
|
|
struct {
|
|
__I uint32_t DATA4 : 8; //!<[00] DATA4
|
|
__I uint32_t DATA5 : 8; //!<[08] DATA5
|
|
__I uint32_t DATA6 : 8; //!<[16] DATA6
|
|
__I uint32_t DATA7 : 8; //!<[24] DATA7
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit RDH0R_DEF (volatile RDH0R_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union RI1R_DEF { //!< mailbox data high register
|
|
struct {
|
|
ONE_BIT UNUSED0 : 1; //!<[00]
|
|
__I ONE_BIT RTR : 1; //!<[01] RTR
|
|
__I ONE_BIT IDE : 1; //!<[02] IDE
|
|
__I uint32_t EXID : 18; //!<[03] EXID
|
|
__I uint32_t STID : 11; //!<[21] STID
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit RI1R_DEF (volatile RI1R_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union RDT1R_DEF { //!< mailbox data high register
|
|
struct {
|
|
__I uint32_t DLC : 4; //!<[00] DLC
|
|
uint32_t UNUSED0 : 4; //!<[04]
|
|
__I uint32_t FMI : 8; //!<[08] FMI
|
|
__I uint32_t TIME : 16; //!<[16] TIME
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit RDT1R_DEF (volatile RDT1R_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union RDL1R_DEF { //!< mailbox data high register
|
|
struct {
|
|
__I uint32_t DATA0 : 8; //!<[00] DATA0
|
|
__I uint32_t DATA1 : 8; //!<[08] DATA1
|
|
__I uint32_t DATA2 : 8; //!<[16] DATA2
|
|
__I uint32_t DATA3 : 8; //!<[24] DATA3
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit RDL1R_DEF (volatile RDL1R_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union RDH1R_DEF { //!< mailbox data high register
|
|
struct {
|
|
__I uint32_t DATA4 : 8; //!<[00] DATA4
|
|
__I uint32_t DATA5 : 8; //!<[08] DATA5
|
|
__I uint32_t DATA6 : 8; //!<[16] DATA6
|
|
__I uint32_t DATA7 : 8; //!<[24] DATA7
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit RDH1R_DEF (volatile RDH1R_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union FMR_DEF { //!< filter master register
|
|
struct {
|
|
__IO ONE_BIT FINIT : 1; //!<[00] Filter initialization mode
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit FMR_DEF () noexcept { R = 0x2a1c0e01u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
FMR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
FMR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union FM1R_DEF { //!< filter mode register
|
|
struct {
|
|
__IO ONE_BIT FBM0 : 1; //!<[00] Filter mode
|
|
__IO ONE_BIT FBM1 : 1; //!<[01] Filter mode
|
|
__IO ONE_BIT FBM2 : 1; //!<[02] Filter mode
|
|
__IO ONE_BIT FBM3 : 1; //!<[03] Filter mode
|
|
__IO ONE_BIT FBM4 : 1; //!<[04] Filter mode
|
|
__IO ONE_BIT FBM5 : 1; //!<[05] Filter mode
|
|
__IO ONE_BIT FBM6 : 1; //!<[06] Filter mode
|
|
__IO ONE_BIT FBM7 : 1; //!<[07] Filter mode
|
|
__IO ONE_BIT FBM8 : 1; //!<[08] Filter mode
|
|
__IO ONE_BIT FBM9 : 1; //!<[09] Filter mode
|
|
__IO ONE_BIT FBM10 : 1; //!<[10] Filter mode
|
|
__IO ONE_BIT FBM11 : 1; //!<[11] Filter mode
|
|
__IO ONE_BIT FBM12 : 1; //!<[12] Filter mode
|
|
__IO ONE_BIT FBM13 : 1; //!<[13] Filter mode
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit FM1R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
FM1R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
FM1R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union FS1R_DEF { //!< filter scale register
|
|
struct {
|
|
__IO ONE_BIT FSC0 : 1; //!<[00] Filter scale configuration
|
|
__IO ONE_BIT FSC1 : 1; //!<[01] Filter scale configuration
|
|
__IO ONE_BIT FSC2 : 1; //!<[02] Filter scale configuration
|
|
__IO ONE_BIT FSC3 : 1; //!<[03] Filter scale configuration
|
|
__IO ONE_BIT FSC4 : 1; //!<[04] Filter scale configuration
|
|
__IO ONE_BIT FSC5 : 1; //!<[05] Filter scale configuration
|
|
__IO ONE_BIT FSC6 : 1; //!<[06] Filter scale configuration
|
|
__IO ONE_BIT FSC7 : 1; //!<[07] Filter scale configuration
|
|
__IO ONE_BIT FSC8 : 1; //!<[08] Filter scale configuration
|
|
__IO ONE_BIT FSC9 : 1; //!<[09] Filter scale configuration
|
|
__IO ONE_BIT FSC10 : 1; //!<[10] Filter scale configuration
|
|
__IO ONE_BIT FSC11 : 1; //!<[11] Filter scale configuration
|
|
__IO ONE_BIT FSC12 : 1; //!<[12] Filter scale configuration
|
|
__IO ONE_BIT FSC13 : 1; //!<[13] Filter scale configuration
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit FS1R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
FS1R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
FS1R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union FFA1R_DEF { //!< filter FIFO assignment register
|
|
struct {
|
|
__IO ONE_BIT FFA0 : 1; //!<[00] Filter FIFO assignment for filter 0
|
|
__IO ONE_BIT FFA1 : 1; //!<[01] Filter FIFO assignment for filter 1
|
|
__IO ONE_BIT FFA2 : 1; //!<[02] Filter FIFO assignment for filter 2
|
|
__IO ONE_BIT FFA3 : 1; //!<[03] Filter FIFO assignment for filter 3
|
|
__IO ONE_BIT FFA4 : 1; //!<[04] Filter FIFO assignment for filter 4
|
|
__IO ONE_BIT FFA5 : 1; //!<[05] Filter FIFO assignment for filter 5
|
|
__IO ONE_BIT FFA6 : 1; //!<[06] Filter FIFO assignment for filter 6
|
|
__IO ONE_BIT FFA7 : 1; //!<[07] Filter FIFO assignment for filter 7
|
|
__IO ONE_BIT FFA8 : 1; //!<[08] Filter FIFO assignment for filter 8
|
|
__IO ONE_BIT FFA9 : 1; //!<[09] Filter FIFO assignment for filter 9
|
|
__IO ONE_BIT FFA10 : 1; //!<[10] Filter FIFO assignment for filter 10
|
|
__IO ONE_BIT FFA11 : 1; //!<[11] Filter FIFO assignment for filter 11
|
|
__IO ONE_BIT FFA12 : 1; //!<[12] Filter FIFO assignment for filter 12
|
|
__IO ONE_BIT FFA13 : 1; //!<[13] Filter FIFO assignment for filter 13
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit FFA1R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
FFA1R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
FFA1R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union FA1R_DEF { //!< filter activation register
|
|
struct {
|
|
__IO ONE_BIT FACT0 : 1; //!<[00] Filter active
|
|
__IO ONE_BIT FACT1 : 1; //!<[01] Filter active
|
|
__IO ONE_BIT FACT2 : 1; //!<[02] Filter active
|
|
__IO ONE_BIT FACT3 : 1; //!<[03] Filter active
|
|
__IO ONE_BIT FACT4 : 1; //!<[04] Filter active
|
|
__IO ONE_BIT FACT5 : 1; //!<[05] Filter active
|
|
__IO ONE_BIT FACT6 : 1; //!<[06] Filter active
|
|
__IO ONE_BIT FACT7 : 1; //!<[07] Filter active
|
|
__IO ONE_BIT FACT8 : 1; //!<[08] Filter active
|
|
__IO ONE_BIT FACT9 : 1; //!<[09] Filter active
|
|
__IO ONE_BIT FACT10 : 1; //!<[10] Filter active
|
|
__IO ONE_BIT FACT11 : 1; //!<[11] Filter active
|
|
__IO ONE_BIT FACT12 : 1; //!<[12] Filter active
|
|
__IO ONE_BIT FACT13 : 1; //!<[13] Filter active
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit FA1R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
FA1R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
FA1R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F0R1_DEF { //!< Filter bank 0 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F0R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F0R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F0R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F0R2_DEF { //!< Filter bank 0 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F0R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F0R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F0R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F1R1_DEF { //!< Filter bank 1 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F1R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F1R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F1R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F1R2_DEF { //!< Filter bank 1 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F1R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F1R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F1R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F2R1_DEF { //!< Filter bank 2 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F2R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F2R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F2R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F2R2_DEF { //!< Filter bank 2 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F2R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F2R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F2R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F3R1_DEF { //!< Filter bank 3 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F3R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F3R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F3R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F3R2_DEF { //!< Filter bank 3 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F3R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F3R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F3R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F4R1_DEF { //!< Filter bank 4 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F4R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F4R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F4R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F4R2_DEF { //!< Filter bank 4 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F4R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F4R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F4R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F5R1_DEF { //!< Filter bank 5 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F5R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F5R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F5R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F5R2_DEF { //!< Filter bank 5 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F5R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F5R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F5R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F6R1_DEF { //!< Filter bank 6 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F6R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F6R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F6R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F6R2_DEF { //!< Filter bank 6 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F6R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F6R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F6R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F7R1_DEF { //!< Filter bank 7 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F7R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F7R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F7R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F7R2_DEF { //!< Filter bank 7 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F7R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F7R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F7R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F8R1_DEF { //!< Filter bank 8 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F8R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F8R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F8R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F8R2_DEF { //!< Filter bank 8 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F8R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F8R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F8R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F9R1_DEF { //!< Filter bank 9 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F9R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F9R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F9R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F9R2_DEF { //!< Filter bank 9 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F9R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F9R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F9R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F10R1_DEF { //!< Filter bank 10 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F10R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F10R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F10R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F10R2_DEF { //!< Filter bank 10 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F10R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F10R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F10R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F11R1_DEF { //!< Filter bank 11 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F11R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F11R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F11R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F11R2_DEF { //!< Filter bank 11 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F11R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F11R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F11R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F12R1_DEF { //!< Filter bank 4 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F12R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F12R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F12R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F12R2_DEF { //!< Filter bank 12 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F12R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F12R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F12R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F13R1_DEF { //!< Filter bank 13 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F13R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F13R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F13R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F13R2_DEF { //!< Filter bank 13 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F13R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F13R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F13R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F14R1_DEF { //!< Filter bank 14 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F14R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F14R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F14R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F14R2_DEF { //!< Filter bank 14 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F14R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F14R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F14R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F15R1_DEF { //!< Filter bank 15 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F15R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F15R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F15R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F15R2_DEF { //!< Filter bank 15 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F15R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F15R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F15R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F16R1_DEF { //!< Filter bank 16 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F16R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F16R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F16R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F16R2_DEF { //!< Filter bank 16 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F16R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F16R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F16R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F17R1_DEF { //!< Filter bank 17 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F17R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F17R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F17R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F17R2_DEF { //!< Filter bank 17 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F17R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F17R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F17R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F18R1_DEF { //!< Filter bank 18 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F18R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F18R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F18R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F18R2_DEF { //!< Filter bank 18 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F18R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F18R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F18R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F19R1_DEF { //!< Filter bank 19 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F19R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F19R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F19R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F19R2_DEF { //!< Filter bank 19 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F19R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F19R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F19R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F20R1_DEF { //!< Filter bank 20 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F20R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F20R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F20R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F20R2_DEF { //!< Filter bank 20 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F20R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F20R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F20R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F21R1_DEF { //!< Filter bank 21 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F21R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F21R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F21R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F21R2_DEF { //!< Filter bank 21 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F21R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F21R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F21R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F22R1_DEF { //!< Filter bank 22 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F22R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F22R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F22R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F22R2_DEF { //!< Filter bank 22 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F22R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F22R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F22R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F23R1_DEF { //!< Filter bank 23 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F23R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F23R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F23R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F23R2_DEF { //!< Filter bank 23 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F23R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F23R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F23R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F24R1_DEF { //!< Filter bank 24 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F24R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F24R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F24R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F24R2_DEF { //!< Filter bank 24 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F24R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F24R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F24R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F25R1_DEF { //!< Filter bank 25 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F25R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F25R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F25R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F25R2_DEF { //!< Filter bank 25 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F25R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F25R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F25R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F26R1_DEF { //!< Filter bank 26 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F26R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F26R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F26R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F26R2_DEF { //!< Filter bank 26 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F26R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F26R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F26R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F27R1_DEF { //!< Filter bank 27 register 1
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F27R1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F27R1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F27R1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union F27R2_DEF { //!< Filter bank 27 register 2
|
|
struct {
|
|
__IO ONE_BIT FB0 : 1; //!<[00] Filter bits
|
|
__IO ONE_BIT FB1 : 1; //!<[01] Filter bits
|
|
__IO ONE_BIT FB2 : 1; //!<[02] Filter bits
|
|
__IO ONE_BIT FB3 : 1; //!<[03] Filter bits
|
|
__IO ONE_BIT FB4 : 1; //!<[04] Filter bits
|
|
__IO ONE_BIT FB5 : 1; //!<[05] Filter bits
|
|
__IO ONE_BIT FB6 : 1; //!<[06] Filter bits
|
|
__IO ONE_BIT FB7 : 1; //!<[07] Filter bits
|
|
__IO ONE_BIT FB8 : 1; //!<[08] Filter bits
|
|
__IO ONE_BIT FB9 : 1; //!<[09] Filter bits
|
|
__IO ONE_BIT FB10 : 1; //!<[10] Filter bits
|
|
__IO ONE_BIT FB11 : 1; //!<[11] Filter bits
|
|
__IO ONE_BIT FB12 : 1; //!<[12] Filter bits
|
|
__IO ONE_BIT FB13 : 1; //!<[13] Filter bits
|
|
__IO ONE_BIT FB14 : 1; //!<[14] Filter bits
|
|
__IO ONE_BIT FB15 : 1; //!<[15] Filter bits
|
|
__IO ONE_BIT FB16 : 1; //!<[16] Filter bits
|
|
__IO ONE_BIT FB17 : 1; //!<[17] Filter bits
|
|
__IO ONE_BIT FB18 : 1; //!<[18] Filter bits
|
|
__IO ONE_BIT FB19 : 1; //!<[19] Filter bits
|
|
__IO ONE_BIT FB20 : 1; //!<[20] Filter bits
|
|
__IO ONE_BIT FB21 : 1; //!<[21] Filter bits
|
|
__IO ONE_BIT FB22 : 1; //!<[22] Filter bits
|
|
__IO ONE_BIT FB23 : 1; //!<[23] Filter bits
|
|
__IO ONE_BIT FB24 : 1; //!<[24] Filter bits
|
|
__IO ONE_BIT FB25 : 1; //!<[25] Filter bits
|
|
__IO ONE_BIT FB26 : 1; //!<[26] Filter bits
|
|
__IO ONE_BIT FB27 : 1; //!<[27] Filter bits
|
|
__IO ONE_BIT FB28 : 1; //!<[28] Filter bits
|
|
__IO ONE_BIT FB29 : 1; //!<[29] Filter bits
|
|
__IO ONE_BIT FB30 : 1; //!<[30] Filter bits
|
|
__IO ONE_BIT FB31 : 1; //!<[31] Filter bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit F27R2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
F27R2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
F27R2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL CAN1 REGISTERS INSTANCES
|
|
__IO MCR_DEF MCR ; //!< [0000](04)[0x00010002]
|
|
__IO MSR_DEF MSR ; //!< [0004](04)[0x00000C02]
|
|
__IO TSR_DEF TSR ; //!< [0008](04)[0x1C000000]
|
|
__IO RF0R_DEF RF0R ; //!< [000c](04)[0x00000000]
|
|
__IO RF1R_DEF RF1R ; //!< [0010](04)[0x00000000]
|
|
__IO IER_DEF IER ; //!< [0014](04)[0x00000000]
|
|
__IO ESR_DEF ESR ; //!< [0018](04)[0x00000000]
|
|
__IO BTR_DEF BTR ; //!< [001c](04)[0x00000000]
|
|
uint32_t UNUSED0 [88]; //!< [0020](160)[0xFFFFFFFF]
|
|
__IO TI0R_DEF TI0R ; //!< [0180](04)[0x00000000]
|
|
__IO TDT0R_DEF TDT0R ; //!< [0184](04)[0x00000000]
|
|
__IO TDL0R_DEF TDL0R ; //!< [0188](04)[0x00000000]
|
|
__IO TDH0R_DEF TDH0R ; //!< [018c](04)[0x00000000]
|
|
__IO TI1R_DEF TI1R ; //!< [0190](04)[0x00000000]
|
|
__IO TDT1R_DEF TDT1R ; //!< [0194](04)[0x00000000]
|
|
__IO TDL1R_DEF TDL1R ; //!< [0198](04)[0x00000000]
|
|
__IO TDH1R_DEF TDH1R ; //!< [019c](04)[0x00000000]
|
|
__IO TI2R_DEF TI2R ; //!< [01a0](04)[0x00000000]
|
|
__IO TDT2R_DEF TDT2R ; //!< [01a4](04)[0x00000000]
|
|
__IO TDL2R_DEF TDL2R ; //!< [01a8](04)[0x00000000]
|
|
__IO TDH2R_DEF TDH2R ; //!< [01ac](04)[0x00000000]
|
|
__I RI0R_DEF RI0R ; //!< [01b0](04)[0x00000000]
|
|
__I RDT0R_DEF RDT0R ; //!< [01b4](04)[0x00000000]
|
|
__I RDL0R_DEF RDL0R ; //!< [01b8](04)[0x00000000]
|
|
__I RDH0R_DEF RDH0R ; //!< [01bc](04)[0x00000000]
|
|
__I RI1R_DEF RI1R ; //!< [01c0](04)[0x00000000]
|
|
__I RDT1R_DEF RDT1R ; //!< [01c4](04)[0x00000000]
|
|
__I RDL1R_DEF RDL1R ; //!< [01c8](04)[0x00000000]
|
|
__I RDH1R_DEF RDH1R ; //!< [01cc](04)[0x00000000]
|
|
uint32_t UNUSED1 [12]; //!< [01d0](30)[0xFFFFFFFF]
|
|
__IO FMR_DEF FMR ; //!< [0200](04)[0x2A1C0E01]
|
|
__IO FM1R_DEF FM1R ; //!< [0204](04)[0x00000000]
|
|
uint32_t UNUSED2 ; //!< [0208](04)[0xFFFFFFFF]
|
|
__IO FS1R_DEF FS1R ; //!< [020c](04)[0x00000000]
|
|
uint32_t UNUSED3 ; //!< [0210](04)[0xFFFFFFFF]
|
|
__IO FFA1R_DEF FFA1R ; //!< [0214](04)[0x00000000]
|
|
uint32_t UNUSED4 ; //!< [0218](04)[0xFFFFFFFF]
|
|
__IO FA1R_DEF FA1R ; //!< [021c](04)[0x00000000]
|
|
uint32_t UNUSED5 [8]; //!< [0220](20)[0xFFFFFFFF]
|
|
__IO F0R1_DEF F0R1 ; //!< [0240](04)[0x00000000]
|
|
__IO F0R2_DEF F0R2 ; //!< [0244](04)[0x00000000]
|
|
__IO F1R1_DEF F1R1 ; //!< [0248](04)[0x00000000]
|
|
__IO F1R2_DEF F1R2 ; //!< [024c](04)[0x00000000]
|
|
__IO F2R1_DEF F2R1 ; //!< [0250](04)[0x00000000]
|
|
__IO F2R2_DEF F2R2 ; //!< [0254](04)[0x00000000]
|
|
__IO F3R1_DEF F3R1 ; //!< [0258](04)[0x00000000]
|
|
__IO F3R2_DEF F3R2 ; //!< [025c](04)[0x00000000]
|
|
__IO F4R1_DEF F4R1 ; //!< [0260](04)[0x00000000]
|
|
__IO F4R2_DEF F4R2 ; //!< [0264](04)[0x00000000]
|
|
__IO F5R1_DEF F5R1 ; //!< [0268](04)[0x00000000]
|
|
__IO F5R2_DEF F5R2 ; //!< [026c](04)[0x00000000]
|
|
__IO F6R1_DEF F6R1 ; //!< [0270](04)[0x00000000]
|
|
__IO F6R2_DEF F6R2 ; //!< [0274](04)[0x00000000]
|
|
__IO F7R1_DEF F7R1 ; //!< [0278](04)[0x00000000]
|
|
__IO F7R2_DEF F7R2 ; //!< [027c](04)[0x00000000]
|
|
__IO F8R1_DEF F8R1 ; //!< [0280](04)[0x00000000]
|
|
__IO F8R2_DEF F8R2 ; //!< [0284](04)[0x00000000]
|
|
__IO F9R1_DEF F9R1 ; //!< [0288](04)[0x00000000]
|
|
__IO F9R2_DEF F9R2 ; //!< [028c](04)[0x00000000]
|
|
__IO F10R1_DEF F10R1 ; //!< [0290](04)[0x00000000]
|
|
__IO F10R2_DEF F10R2 ; //!< [0294](04)[0x00000000]
|
|
__IO F11R1_DEF F11R1 ; //!< [0298](04)[0x00000000]
|
|
__IO F11R2_DEF F11R2 ; //!< [029c](04)[0x00000000]
|
|
__IO F12R1_DEF F12R1 ; //!< [02a0](04)[0x00000000]
|
|
__IO F12R2_DEF F12R2 ; //!< [02a4](04)[0x00000000]
|
|
__IO F13R1_DEF F13R1 ; //!< [02a8](04)[0x00000000]
|
|
__IO F13R2_DEF F13R2 ; //!< [02ac](04)[0x00000000]
|
|
__IO F14R1_DEF F14R1 ; //!< [02b0](04)[0x00000000]
|
|
__IO F14R2_DEF F14R2 ; //!< [02b4](04)[0x00000000]
|
|
__IO F15R1_DEF F15R1 ; //!< [02b8](04)[0x00000000]
|
|
__IO F15R2_DEF F15R2 ; //!< [02bc](04)[0x00000000]
|
|
__IO F16R1_DEF F16R1 ; //!< [02c0](04)[0x00000000]
|
|
__IO F16R2_DEF F16R2 ; //!< [02c4](04)[0x00000000]
|
|
__IO F17R1_DEF F17R1 ; //!< [02c8](04)[0x00000000]
|
|
__IO F17R2_DEF F17R2 ; //!< [02cc](04)[0x00000000]
|
|
__IO F18R1_DEF F18R1 ; //!< [02d0](04)[0x00000000]
|
|
__IO F18R2_DEF F18R2 ; //!< [02d4](04)[0x00000000]
|
|
__IO F19R1_DEF F19R1 ; //!< [02d8](04)[0x00000000]
|
|
__IO F19R2_DEF F19R2 ; //!< [02dc](04)[0x00000000]
|
|
__IO F20R1_DEF F20R1 ; //!< [02e0](04)[0x00000000]
|
|
__IO F20R2_DEF F20R2 ; //!< [02e4](04)[0x00000000]
|
|
__IO F21R1_DEF F21R1 ; //!< [02e8](04)[0x00000000]
|
|
__IO F21R2_DEF F21R2 ; //!< [02ec](04)[0x00000000]
|
|
__IO F22R1_DEF F22R1 ; //!< [02f0](04)[0x00000000]
|
|
__IO F22R2_DEF F22R2 ; //!< [02f4](04)[0x00000000]
|
|
__IO F23R1_DEF F23R1 ; //!< [02f8](04)[0x00000000]
|
|
__IO F23R2_DEF F23R2 ; //!< [02fc](04)[0x00000000]
|
|
__IO F24R1_DEF F24R1 ; //!< [0300](04)[0x00000000]
|
|
__IO F24R2_DEF F24R2 ; //!< [0304](04)[0x00000000]
|
|
__IO F25R1_DEF F25R1 ; //!< [0308](04)[0x00000000]
|
|
__IO F25R2_DEF F25R2 ; //!< [030c](04)[0x00000000]
|
|
__IO F26R1_DEF F26R1 ; //!< [0310](04)[0x00000000]
|
|
__IO F26R2_DEF F26R2 ; //!< [0314](04)[0x00000000]
|
|
__IO F27R1_DEF F27R1 ; //!< [0318](04)[0x00000000]
|
|
__IO F27R2_DEF F27R2 ; //!< [031c](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x0320 */
|
|
|
|
// ////////////////////+++ RTC +-+//////////////////// //
|
|
struct RTC_Type { /*!< Real-time clock */
|
|
union TR_DEF { //!< time register
|
|
struct {
|
|
__IO uint32_t SU : 4; //!<[00] Second units in BCD format
|
|
__IO uint32_t ST : 3; //!<[04] Second tens in BCD format
|
|
ONE_BIT UNUSED0 : 1; //!<[07]
|
|
__IO uint32_t MNU : 4; //!<[08] Minute units in BCD format
|
|
__IO uint32_t MNT : 3; //!<[12] Minute tens in BCD format
|
|
ONE_BIT UNUSED1 : 1; //!<[15]
|
|
__IO uint32_t HU : 4; //!<[16] Hour units in BCD format
|
|
__IO uint32_t HT : 2; //!<[20] Hour tens in BCD format
|
|
__IO ONE_BIT PM : 1; //!<[22] AM/PM notation
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit TR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
TR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
TR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DR_DEF { //!< date register
|
|
struct {
|
|
__IO uint32_t DU : 4; //!<[00] Date units in BCD format
|
|
__IO uint32_t DT : 2; //!<[04] Date tens in BCD format
|
|
uint32_t UNUSED0 : 2; //!<[06]
|
|
__IO uint32_t MU : 4; //!<[08] Month units in BCD format
|
|
__IO ONE_BIT MT : 1; //!<[12] Month tens in BCD format
|
|
__IO uint32_t WDU : 3; //!<[13] Week day units
|
|
__IO uint32_t YU : 4; //!<[16] Year units in BCD format
|
|
__IO uint32_t YT : 4; //!<[20] Year tens in BCD format
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DR_DEF () noexcept { R = 0x00002101u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CR_DEF { //!< control register
|
|
struct {
|
|
__IO uint32_t WCKSEL : 3; //!<[00] Wakeup clock selection
|
|
__IO ONE_BIT TSEDGE : 1; //!<[03] Time-stamp event active edge
|
|
__IO ONE_BIT REFCKON : 1; //!<[04] Reference clock detection enable (50 or 60 Hz)
|
|
__IO ONE_BIT BYPSHAD : 1; //!<[05] Bypass the shadow registers
|
|
__IO ONE_BIT FMT : 1; //!<[06] Hour format
|
|
ONE_BIT UNUSED0 : 1; //!<[07]
|
|
__IO ONE_BIT ALRAE : 1; //!<[08] Alarm A enable
|
|
__IO ONE_BIT ALRBE : 1; //!<[09] Alarm B enable
|
|
__IO ONE_BIT WUTE : 1; //!<[10] Wakeup timer enable
|
|
__IO ONE_BIT TSE : 1; //!<[11] Time stamp enable
|
|
__IO ONE_BIT ALRAIE : 1; //!<[12] Alarm A interrupt enable
|
|
__IO ONE_BIT ALRBIE : 1; //!<[13] Alarm B interrupt enable
|
|
__IO ONE_BIT WUTIE : 1; //!<[14] Wakeup timer interrupt enable
|
|
__IO ONE_BIT TSIE : 1; //!<[15] Time-stamp interrupt enable
|
|
__IO ONE_BIT ADD1H : 1; //!<[16] Add 1 hour (summer time change)
|
|
__IO ONE_BIT SUB1H : 1; //!<[17] Subtract 1 hour (winter time change)
|
|
__IO ONE_BIT BKP : 1; //!<[18] Backup
|
|
__IO ONE_BIT COSEL : 1; //!<[19] Calibration output selection
|
|
__IO ONE_BIT POL : 1; //!<[20] Output polarity
|
|
__IO uint32_t OSEL : 2; //!<[21] Output selection
|
|
__IO ONE_BIT COE : 1; //!<[23] Calibration output enable
|
|
__IO ONE_BIT ITSE : 1; //!<[24] timestamp on internal event enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ISR_DEF { //!< initialization and status register
|
|
struct {
|
|
__I ONE_BIT ALRAWF : 1; //!<[00] Alarm A write flag
|
|
__I ONE_BIT ALRBWF : 1; //!<[01] Alarm B write flag
|
|
__I ONE_BIT WUTWF : 1; //!<[02] Wakeup timer write flag
|
|
__IO ONE_BIT SHPF : 1; //!<[03] Shift operation pending
|
|
__I ONE_BIT INITS : 1; //!<[04] Initialization status flag
|
|
__IO ONE_BIT RSF : 1; //!<[05] Registers synchronization flag
|
|
__I ONE_BIT INITF : 1; //!<[06] Initialization flag
|
|
__IO ONE_BIT INIT : 1; //!<[07] Initialization mode
|
|
__IO ONE_BIT ALRAF : 1; //!<[08] Alarm A flag
|
|
__IO ONE_BIT ALRBF : 1; //!<[09] Alarm B flag
|
|
__IO ONE_BIT WUTF : 1; //!<[10] Wakeup timer flag
|
|
__IO ONE_BIT TSF : 1; //!<[11] Time-stamp flag
|
|
__IO ONE_BIT TSOVF : 1; //!<[12] Time-stamp overflow flag
|
|
__IO ONE_BIT TAMP1F : 1; //!<[13] Tamper detection flag
|
|
__IO ONE_BIT TAMP2F : 1; //!<[14] RTC_TAMP2 detection flag
|
|
__IO ONE_BIT TAMP3F : 1; //!<[15] RTC_TAMP3 detection flag
|
|
__I ONE_BIT RECALPF : 1; //!<[16] Recalibration pending Flag
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ISR_DEF () noexcept { R = 0x00000007u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ISR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ISR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PRER_DEF { //!< prescaler register
|
|
struct {
|
|
__IO uint32_t PREDIV_S : 15; //!<[00] Synchronous prescaler factor
|
|
ONE_BIT UNUSED0 : 1; //!<[15]
|
|
__IO uint32_t PREDIV_A : 7; //!<[16] Asynchronous prescaler factor
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PRER_DEF () noexcept { R = 0x007f00ffu; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PRER_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PRER_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union WUTR_DEF { //!< wakeup timer register
|
|
struct {
|
|
__IO uint32_t WUT : 16; //!<[00] Wakeup auto-reload value bits
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit WUTR_DEF () noexcept { R = 0x0000ffffu; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
WUTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
WUTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ALRMAR_DEF { //!< alarm A register
|
|
struct {
|
|
__IO uint32_t SU : 4; //!<[00] Second units in BCD format
|
|
__IO uint32_t ST : 3; //!<[04] Second tens in BCD format
|
|
__IO ONE_BIT MSK1 : 1; //!<[07] Alarm A seconds mask
|
|
__IO uint32_t MNU : 4; //!<[08] Minute units in BCD format
|
|
__IO uint32_t MNT : 3; //!<[12] Minute tens in BCD format
|
|
__IO ONE_BIT MSK2 : 1; //!<[15] Alarm A minutes mask
|
|
__IO uint32_t HU : 4; //!<[16] Hour units in BCD format
|
|
__IO uint32_t HT : 2; //!<[20] Hour tens in BCD format
|
|
__IO ONE_BIT PM : 1; //!<[22] AM/PM notation
|
|
__IO ONE_BIT MSK3 : 1; //!<[23] Alarm A hours mask
|
|
__IO uint32_t DU : 4; //!<[24] Date units or day in BCD format
|
|
__IO uint32_t DT : 2; //!<[28] Date tens in BCD format
|
|
__IO ONE_BIT WDSEL : 1; //!<[30] Week day selection
|
|
__IO ONE_BIT MSK4 : 1; //!<[31] Alarm A date mask
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ALRMAR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ALRMAR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ALRMAR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ALRMBR_DEF { //!< alarm B register
|
|
struct {
|
|
__IO uint32_t SU : 4; //!<[00] Second units in BCD format
|
|
__IO uint32_t ST : 3; //!<[04] Second tens in BCD format
|
|
__IO ONE_BIT MSK1 : 1; //!<[07] Alarm B seconds mask
|
|
__IO uint32_t MNU : 4; //!<[08] Minute units in BCD format
|
|
__IO uint32_t MNT : 3; //!<[12] Minute tens in BCD format
|
|
__IO ONE_BIT MSK2 : 1; //!<[15] Alarm B minutes mask
|
|
__IO uint32_t HU : 4; //!<[16] Hour units in BCD format
|
|
__IO uint32_t HT : 2; //!<[20] Hour tens in BCD format
|
|
__IO ONE_BIT PM : 1; //!<[22] AM/PM notation
|
|
__IO ONE_BIT MSK3 : 1; //!<[23] Alarm B hours mask
|
|
__IO uint32_t DU : 4; //!<[24] Date units or day in BCD format
|
|
__IO uint32_t DT : 2; //!<[28] Date tens in BCD format
|
|
__IO ONE_BIT WDSEL : 1; //!<[30] Week day selection
|
|
__IO ONE_BIT MSK4 : 1; //!<[31] Alarm B date mask
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ALRMBR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ALRMBR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ALRMBR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union WPR_DEF { //!< write protection register
|
|
struct {
|
|
__O uint32_t KEY : 8; //!<[00] Write protection key
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit WPR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
WPR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SSR_DEF { //!< sub second register
|
|
struct {
|
|
__I uint32_t SS : 16; //!<[00] Sub second value
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit SSR_DEF (volatile SSR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union SHIFTR_DEF { //!< shift control register
|
|
struct {
|
|
__O uint32_t SUBFS : 15; //!<[00] Subtract a fraction of a second
|
|
uint32_t UNUSED0 : 16; //!<[15]
|
|
__O ONE_BIT ADD1S : 1; //!<[31] Add one second
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit SHIFTR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
SHIFTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union TSTR_DEF { //!< time stamp time register
|
|
struct {
|
|
__I uint32_t SU : 4; //!<[00] Second units in BCD format
|
|
__I uint32_t ST : 3; //!<[04] Second tens in BCD format
|
|
ONE_BIT UNUSED0 : 1; //!<[07]
|
|
__I uint32_t MNU : 4; //!<[08] Minute units in BCD format
|
|
__I uint32_t MNT : 3; //!<[12] Minute tens in BCD format
|
|
ONE_BIT UNUSED1 : 1; //!<[15]
|
|
__I uint32_t HU : 4; //!<[16] Hour units in BCD format
|
|
__I uint32_t HT : 2; //!<[20] Hour tens in BCD format
|
|
__I ONE_BIT PM : 1; //!<[22] AM/PM notation
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit TSTR_DEF (volatile TSTR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union TSDR_DEF { //!< time stamp date register
|
|
struct {
|
|
__I uint32_t DU : 4; //!<[00] Date units in BCD format
|
|
__I uint32_t DT : 2; //!<[04] Date tens in BCD format
|
|
uint32_t UNUSED0 : 2; //!<[06]
|
|
__I uint32_t MU : 4; //!<[08] Month units in BCD format
|
|
__I ONE_BIT MT : 1; //!<[12] Month tens in BCD format
|
|
__I uint32_t WDU : 3; //!<[13] Week day units
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit TSDR_DEF (volatile TSDR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union TSSSR_DEF { //!< timestamp sub second register
|
|
struct {
|
|
__I uint32_t SS : 16; //!<[00] Sub second value
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit TSSSR_DEF (volatile TSSSR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union CALR_DEF { //!< calibration register
|
|
struct {
|
|
__IO uint32_t CALM : 9; //!<[00] Calibration minus
|
|
uint32_t UNUSED0 : 4; //!<[09]
|
|
__IO ONE_BIT CALW16 : 1; //!<[13] Use a 16-second calibration cycle period
|
|
__IO ONE_BIT CALW8 : 1; //!<[14] Use an 8-second calibration cycle period
|
|
__IO ONE_BIT CALP : 1; //!<[15] Increase frequency of RTC by 488.5 ppm
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CALR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CALR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CALR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union TAMPCR_DEF { //!< tamper configuration register
|
|
struct {
|
|
__IO ONE_BIT TAMP1E : 1; //!<[00] Tamper 1 detection enable
|
|
__IO ONE_BIT TAMP1TRG : 1; //!<[01] Active level for tamper 1
|
|
__IO ONE_BIT TAMPIE : 1; //!<[02] Tamper interrupt enable
|
|
__IO ONE_BIT TAMP2E : 1; //!<[03] Tamper 2 detection enable
|
|
__IO ONE_BIT TAMP2TRG : 1; //!<[04] Active level for tamper 2
|
|
__IO ONE_BIT TAMP3E : 1; //!<[05] Tamper 3 detection enable
|
|
__IO ONE_BIT TAMP3TRG : 1; //!<[06] Active level for tamper 3
|
|
__IO ONE_BIT TAMPTS : 1; //!<[07] Activate timestamp on tamper detection event
|
|
__IO uint32_t TAMPFREQ : 3; //!<[08] Tamper sampling frequency
|
|
__IO uint32_t TAMPFLT : 2; //!<[11] Tamper filter count
|
|
__IO uint32_t TAMPPRCH : 2; //!<[13] Tamper precharge duration
|
|
__IO ONE_BIT TAMPPUDIS : 1; //!<[15] TAMPER pull-up disable
|
|
__IO ONE_BIT TAMP1IE : 1; //!<[16] Tamper 1 interrupt enable
|
|
__IO ONE_BIT TAMP1NOERASE : 1; //!<[17] Tamper 1 no erase
|
|
__IO ONE_BIT TAMP1MF : 1; //!<[18] Tamper 1 mask flag
|
|
__IO ONE_BIT TAMP2IE : 1; //!<[19] Tamper 2 interrupt enable
|
|
__IO ONE_BIT TAMP2NOERASE : 1; //!<[20] Tamper 2 no erase
|
|
__IO ONE_BIT TAMP2MF : 1; //!<[21] Tamper 2 mask flag
|
|
__IO ONE_BIT TAMP3IE : 1; //!<[22] Tamper 3 interrupt enable
|
|
__IO ONE_BIT TAMP3NOERASE : 1; //!<[23] Tamper 3 no erase
|
|
__IO ONE_BIT TAMP3MF : 1; //!<[24] Tamper 3 mask flag
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit TAMPCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
TAMPCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
TAMPCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ALRMASSR_DEF { //!< alarm A sub second register
|
|
struct {
|
|
__IO uint32_t SS : 15; //!<[00] Sub seconds value
|
|
uint32_t UNUSED0 : 9; //!<[15]
|
|
__IO uint32_t MASKSS : 4; //!<[24] Mask the most-significant bits starting at this bit
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ALRMASSR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ALRMASSR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ALRMASSR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ALRMBSSR_DEF { //!< alarm B sub second register
|
|
struct {
|
|
__IO uint32_t SS : 15; //!<[00] Sub seconds value
|
|
uint32_t UNUSED0 : 9; //!<[15]
|
|
__IO uint32_t MASKSS : 4; //!<[24] Mask the most-significant bits starting at this bit
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ALRMBSSR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ALRMBSSR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ALRMBSSR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union OR_DEF { //!< option register
|
|
struct {
|
|
__IO ONE_BIT RTC_ALARM_TYPE : 1; //!<[00] RTC_ALARM on PC13 output type
|
|
__IO ONE_BIT RTC_OUT_RMP : 1; //!<[01] RTC_OUT remap
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit OR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
OR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
OR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP0R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP0R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP0R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP0R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP1R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP1R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP1R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP1R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP2R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP2R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP2R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP2R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP3R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP3R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP3R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP3R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP4R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP4R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP4R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP4R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP5R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP5R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP5R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP5R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP6R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP6R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP6R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP6R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP7R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP7R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP7R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP7R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP8R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP8R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP8R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP8R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP9R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP9R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP9R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP9R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP10R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP10R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP10R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP10R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP11R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP11R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP11R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP11R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP12R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP12R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP12R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP12R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP13R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP13R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP13R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP13R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP14R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP14R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP14R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP14R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP15R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP15R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP15R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP15R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP16R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP16R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP16R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP16R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP17R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP17R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP17R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP17R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP18R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP18R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP18R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP18R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP19R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP19R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP19R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP19R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP20R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP20R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP20R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP20R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP21R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP21R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP21R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP21R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP22R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP22R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP22R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP22R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP23R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP23R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP23R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP23R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP24R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP24R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP24R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP24R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP25R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP25R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP25R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP25R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP26R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP26R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP26R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP26R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP27R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP27R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP27R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP27R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP28R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP28R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP28R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP28R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP29R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP29R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP29R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP29R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP30R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP30R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP30R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP30R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BKP31R_DEF { //!< backup register
|
|
struct {
|
|
__IO uint32_t BKP : 32; //!<[00] BKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BKP31R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BKP31R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BKP31R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL RTC REGISTERS INSTANCES
|
|
__IO TR_DEF TR ; //!< [0000](04)[0x00000000]
|
|
__IO DR_DEF DR ; //!< [0004](04)[0x00002101]
|
|
__IO CR_DEF CR ; //!< [0008](04)[0x00000000]
|
|
__IO ISR_DEF ISR ; //!< [000c](04)[0x00000007]
|
|
__IO PRER_DEF PRER ; //!< [0010](04)[0x007F00FF]
|
|
__IO WUTR_DEF WUTR ; //!< [0014](04)[0x0000FFFF]
|
|
uint32_t UNUSED0 ; //!< [0018](04)[0xFFFFFFFF]
|
|
__IO ALRMAR_DEF ALRMAR ; //!< [001c](04)[0x00000000]
|
|
__IO ALRMBR_DEF ALRMBR ; //!< [0020](04)[0x00000000]
|
|
__O WPR_DEF WPR ; //!< [0024](04)[0x00000000]
|
|
__I SSR_DEF SSR ; //!< [0028](04)[0x00000000]
|
|
__O SHIFTR_DEF SHIFTR ; //!< [002c](04)[0x00000000]
|
|
__I TSTR_DEF TSTR ; //!< [0030](04)[0x00000000]
|
|
__I TSDR_DEF TSDR ; //!< [0034](04)[0x00000000]
|
|
__I TSSSR_DEF TSSSR ; //!< [0038](04)[0x00000000]
|
|
__IO CALR_DEF CALR ; //!< [003c](04)[0x00000000]
|
|
__IO TAMPCR_DEF TAMPCR ; //!< [0040](04)[0x00000000]
|
|
__IO ALRMASSR_DEF ALRMASSR ; //!< [0044](04)[0x00000000]
|
|
__IO ALRMBSSR_DEF ALRMBSSR ; //!< [0048](04)[0x00000000]
|
|
__IO OR_DEF OR ; //!< [004c](04)[0x00000000]
|
|
__IO BKP0R_DEF BKP0R ; //!< [0050](04)[0x00000000]
|
|
__IO BKP1R_DEF BKP1R ; //!< [0054](04)[0x00000000]
|
|
__IO BKP2R_DEF BKP2R ; //!< [0058](04)[0x00000000]
|
|
__IO BKP3R_DEF BKP3R ; //!< [005c](04)[0x00000000]
|
|
__IO BKP4R_DEF BKP4R ; //!< [0060](04)[0x00000000]
|
|
__IO BKP5R_DEF BKP5R ; //!< [0064](04)[0x00000000]
|
|
__IO BKP6R_DEF BKP6R ; //!< [0068](04)[0x00000000]
|
|
__IO BKP7R_DEF BKP7R ; //!< [006c](04)[0x00000000]
|
|
__IO BKP8R_DEF BKP8R ; //!< [0070](04)[0x00000000]
|
|
__IO BKP9R_DEF BKP9R ; //!< [0074](04)[0x00000000]
|
|
__IO BKP10R_DEF BKP10R ; //!< [0078](04)[0x00000000]
|
|
__IO BKP11R_DEF BKP11R ; //!< [007c](04)[0x00000000]
|
|
__IO BKP12R_DEF BKP12R ; //!< [0080](04)[0x00000000]
|
|
__IO BKP13R_DEF BKP13R ; //!< [0084](04)[0x00000000]
|
|
__IO BKP14R_DEF BKP14R ; //!< [0088](04)[0x00000000]
|
|
__IO BKP15R_DEF BKP15R ; //!< [008c](04)[0x00000000]
|
|
__IO BKP16R_DEF BKP16R ; //!< [0090](04)[0x00000000]
|
|
__IO BKP17R_DEF BKP17R ; //!< [0094](04)[0x00000000]
|
|
__IO BKP18R_DEF BKP18R ; //!< [0098](04)[0x00000000]
|
|
__IO BKP19R_DEF BKP19R ; //!< [009c](04)[0x00000000]
|
|
__IO BKP20R_DEF BKP20R ; //!< [00a0](04)[0x00000000]
|
|
__IO BKP21R_DEF BKP21R ; //!< [00a4](04)[0x00000000]
|
|
__IO BKP22R_DEF BKP22R ; //!< [00a8](04)[0x00000000]
|
|
__IO BKP23R_DEF BKP23R ; //!< [00ac](04)[0x00000000]
|
|
__IO BKP24R_DEF BKP24R ; //!< [00b0](04)[0x00000000]
|
|
__IO BKP25R_DEF BKP25R ; //!< [00b4](04)[0x00000000]
|
|
__IO BKP26R_DEF BKP26R ; //!< [00b8](04)[0x00000000]
|
|
__IO BKP27R_DEF BKP27R ; //!< [00bc](04)[0x00000000]
|
|
__IO BKP28R_DEF BKP28R ; //!< [00c0](04)[0x00000000]
|
|
__IO BKP29R_DEF BKP29R ; //!< [00c4](04)[0x00000000]
|
|
__IO BKP30R_DEF BKP30R ; //!< [00c8](04)[0x00000000]
|
|
__IO BKP31R_DEF BKP31R ; //!< [00cc](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x00D0 */
|
|
|
|
// ////////////////////+++ SWPMI1 +-+//////////////////// //
|
|
struct SWPMI1_Type { /*!< Single Wire Protocol Master Interface */
|
|
union CR_DEF { //!< SWPMI Configuration/Control register
|
|
struct {
|
|
__IO ONE_BIT RXDMA : 1; //!<[00] Reception DMA enable
|
|
__IO ONE_BIT TXDMA : 1; //!<[01] Transmission DMA enable
|
|
__IO ONE_BIT RXMODE : 1; //!<[02] Reception buffering mode
|
|
__IO ONE_BIT TXMODE : 1; //!<[03] Transmission buffering mode
|
|
__IO ONE_BIT LPBK : 1; //!<[04] Loopback mode enable
|
|
__IO ONE_BIT SWPME : 1; //!<[05] Single wire protocol master interface enable
|
|
uint32_t UNUSED0 : 4; //!<[06]
|
|
__IO ONE_BIT DEACT : 1; //!<[10] Single wire protocol master interface deactivate
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BRR_DEF { //!< SWPMI Bitrate register
|
|
struct {
|
|
__IO uint32_t BR : 6; //!<[00] Bitrate prescaler
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BRR_DEF () noexcept { R = 0x00000001u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BRR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BRR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ISR_DEF { //!< SWPMI Interrupt and Status register
|
|
struct {
|
|
__I ONE_BIT RXBFF : 1; //!<[00] Receive buffer full flag
|
|
__I ONE_BIT TXBEF : 1; //!<[01] Transmit buffer empty flag
|
|
__I ONE_BIT RXBERF : 1; //!<[02] Receive CRC error flag
|
|
__I ONE_BIT RXOVRF : 1; //!<[03] Receive overrun error flag
|
|
__I ONE_BIT TXUNRF : 1; //!<[04] Transmit underrun error flag
|
|
__I ONE_BIT RXNE : 1; //!<[05] Receive data register not empty
|
|
__I ONE_BIT TXE : 1; //!<[06] Transmit data register empty
|
|
__I ONE_BIT TCF : 1; //!<[07] Transfer complete flag
|
|
__I ONE_BIT SRF : 1; //!<[08] Slave resume flag
|
|
__I ONE_BIT SUSP : 1; //!<[09] SUSPEND flag
|
|
__I ONE_BIT DEACTF : 1; //!<[10] DEACTIVATED flag
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit ISR_DEF (volatile ISR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union ICR_DEF { //!< SWPMI Interrupt Flag Clear register
|
|
struct {
|
|
__O ONE_BIT CRXBFF : 1; //!<[00] Clear receive buffer full flag
|
|
__O ONE_BIT CTXBEF : 1; //!<[01] Clear transmit buffer empty flag
|
|
__O ONE_BIT CRXBERF : 1; //!<[02] Clear receive CRC error flag
|
|
__O ONE_BIT CRXOVRF : 1; //!<[03] Clear receive overrun error flag
|
|
__O ONE_BIT CTXUNRF : 1; //!<[04] Clear transmit underrun error flag
|
|
uint32_t UNUSED0 : 2; //!<[05]
|
|
__O ONE_BIT CTCF : 1; //!<[07] Clear transfer complete flag
|
|
__O ONE_BIT CSRF : 1; //!<[08] Clear slave resume flag
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit ICR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ICR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union IER_DEF { //!< SWPMI Interrupt Enable register
|
|
struct {
|
|
__IO ONE_BIT RXBFIE : 1; //!<[00] Receive buffer full interrupt enable
|
|
__IO ONE_BIT TXBEIE : 1; //!<[01] Transmit buffer empty interrupt enable
|
|
__IO ONE_BIT RXBERIE : 1; //!<[02] Receive CRC error interrupt enable
|
|
__IO ONE_BIT RXOVRIE : 1; //!<[03] Receive overrun error interrupt enable
|
|
__IO ONE_BIT TXUNRIE : 1; //!<[04] Transmit underrun error interrupt enable
|
|
__IO ONE_BIT RIE : 1; //!<[05] Receive interrupt enable
|
|
__IO ONE_BIT TIE : 1; //!<[06] Transmit interrupt enable
|
|
__IO ONE_BIT TCIE : 1; //!<[07] Transmit complete interrupt enable
|
|
__IO ONE_BIT SRIE : 1; //!<[08] Slave resume interrupt enable
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit IER_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
IER_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
IER_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RFL_DEF { //!< SWPMI Receive Frame Length register
|
|
struct {
|
|
__I uint32_t RFL : 5; //!<[00] Receive frame length
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit RFL_DEF (volatile RFL_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union TDR_DEF { //!< SWPMI Transmit data register
|
|
struct {
|
|
__O uint32_t TD : 32; //!<[00] Transmit data
|
|
} B;
|
|
__O uint32_t R;
|
|
explicit TDR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
TDR_DEF r;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union RDR_DEF { //!< SWPMI Receive data register
|
|
struct {
|
|
__I uint32_t RD : 32; //!<[00] received data
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit RDR_DEF (volatile RDR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
// PERIPHERAL SWPMI1 REGISTERS INSTANCES
|
|
__IO CR_DEF CR ; //!< [0000](04)[0x00000000]
|
|
__IO BRR_DEF BRR ; //!< [0004](04)[0x00000001]
|
|
uint32_t UNUSED0 ; //!< [0008](04)[0xFFFFFFFF]
|
|
__I ISR_DEF ISR ; //!< [000c](04)[0x000002C2]
|
|
__O ICR_DEF ICR ; //!< [0010](04)[0x00000000]
|
|
__IO IER_DEF IER ; //!< [0014](04)[0x00000000]
|
|
__I RFL_DEF RFL ; //!< [0018](04)[0x00000000]
|
|
__O TDR_DEF TDR ; //!< [001c](04)[0x00000000]
|
|
__I RDR_DEF RDR ; //!< [0020](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x0024 */
|
|
|
|
// ////////////////////+++ OPAMP +-+//////////////////// //
|
|
struct OPAMP_Type { /*!< Operational amplifiers */
|
|
union OPAMP1_CSR_DEF { //!< OPAMP1 control/status register
|
|
struct {
|
|
__IO ONE_BIT OPAEN : 1; //!<[00] Operational amplifier Enable
|
|
__IO ONE_BIT OPALPM : 1; //!<[01] Operational amplifier Low Power Mode
|
|
__IO uint32_t OPAMODE : 2; //!<[02] Operational amplifier PGA mode
|
|
__IO uint32_t PGA_GAIN : 2; //!<[04] Operational amplifier Programmable amplifier gain value
|
|
uint32_t UNUSED0 : 2; //!<[06]
|
|
__IO uint32_t VM_SEL : 2; //!<[08] Inverting input selection
|
|
__IO ONE_BIT VP_SEL : 1; //!<[10] Non inverted input selection
|
|
ONE_BIT UNUSED1 : 1; //!<[11]
|
|
__IO ONE_BIT CALON : 1; //!<[12] Calibration mode enabled
|
|
__IO ONE_BIT CALSEL : 1; //!<[13] Calibration selection
|
|
__IO ONE_BIT USERTRIM : 1; //!<[14] allows to switch from AOP offset trimmed values to AOP offset
|
|
__IO ONE_BIT CALOUT : 1; //!<[15] Operational amplifier calibration output
|
|
uint32_t UNUSED2 : 15; //!<[16]
|
|
__IO ONE_BIT OPA_RANGE : 1; //!<[31] Operational amplifier power supply range for stability
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit OPAMP1_CSR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
OPAMP1_CSR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
OPAMP1_CSR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union OPAMP1_OTR_DEF { //!< OPAMP1 offset trimming register in normal mode
|
|
struct {
|
|
__IO uint32_t TRIMOFFSETN : 5; //!<[00] Trim for NMOS differential pairs
|
|
uint32_t UNUSED0 : 3; //!<[05]
|
|
__IO uint32_t TRIMOFFSETP : 5; //!<[08] Trim for PMOS differential pairs
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit OPAMP1_OTR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
OPAMP1_OTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
OPAMP1_OTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union OPAMP1_LPOTR_DEF { //!< OPAMP1 offset trimming register in low-power mode
|
|
struct {
|
|
__IO uint32_t TRIMLPOFFSETN : 5; //!<[00] Trim for NMOS differential pairs
|
|
uint32_t UNUSED0 : 3; //!<[05]
|
|
__IO uint32_t TRIMLPOFFSETP : 5; //!<[08] Trim for PMOS differential pairs
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit OPAMP1_LPOTR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
OPAMP1_LPOTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
OPAMP1_LPOTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union OPAMP2_CSR_DEF { //!< OPAMP2 control/status register
|
|
struct {
|
|
__IO ONE_BIT OPAEN : 1; //!<[00] Operational amplifier Enable
|
|
__IO ONE_BIT OPALPM : 1; //!<[01] Operational amplifier Low Power Mode
|
|
__IO uint32_t OPAMODE : 2; //!<[02] Operational amplifier PGA mode
|
|
__IO uint32_t PGA_GAIN : 2; //!<[04] Operational amplifier Programmable amplifier gain value
|
|
uint32_t UNUSED0 : 2; //!<[06]
|
|
__IO uint32_t VM_SEL : 2; //!<[08] Inverting input selection
|
|
__IO ONE_BIT VP_SEL : 1; //!<[10] Non inverted input selection
|
|
ONE_BIT UNUSED1 : 1; //!<[11]
|
|
__IO ONE_BIT CALON : 1; //!<[12] Calibration mode enabled
|
|
__IO ONE_BIT CALSEL : 1; //!<[13] Calibration selection
|
|
__IO ONE_BIT USERTRIM : 1; //!<[14] allows to switch from AOP offset trimmed values to AOP offset
|
|
__IO ONE_BIT CALOUT : 1; //!<[15] Operational amplifier calibration output
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit OPAMP2_CSR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
OPAMP2_CSR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
OPAMP2_CSR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union OPAMP2_OTR_DEF { //!< OPAMP2 offset trimming register in normal mode
|
|
struct {
|
|
__IO uint32_t TRIMOFFSETN : 5; //!<[00] Trim for NMOS differential pairs
|
|
uint32_t UNUSED0 : 3; //!<[05]
|
|
__IO uint32_t TRIMOFFSETP : 5; //!<[08] Trim for PMOS differential pairs
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit OPAMP2_OTR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
OPAMP2_OTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
OPAMP2_OTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union OPAMP2_LPOTR_DEF { //!< OPAMP2 offset trimming register in low-power mode
|
|
struct {
|
|
__IO uint32_t TRIMLPOFFSETN : 5; //!<[00] Trim for NMOS differential pairs
|
|
uint32_t UNUSED0 : 3; //!<[05]
|
|
__IO uint32_t TRIMLPOFFSETP : 5; //!<[08] Trim for PMOS differential pairs
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit OPAMP2_LPOTR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
OPAMP2_LPOTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
OPAMP2_LPOTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL OPAMP REGISTERS INSTANCES
|
|
__IO OPAMP1_CSR_DEF OPAMP1_CSR ; //!< [0000](04)[0x00000000]
|
|
__IO OPAMP1_OTR_DEF OPAMP1_OTR ; //!< [0004](04)[0x00000000]
|
|
__IO OPAMP1_LPOTR_DEF OPAMP1_LPOTR ; //!< [0008](04)[0x00000000]
|
|
uint32_t UNUSED0 ; //!< [000c](04)[0xFFFFFFFF]
|
|
__IO OPAMP2_CSR_DEF OPAMP2_CSR ; //!< [0010](04)[0x00000000]
|
|
__IO OPAMP2_OTR_DEF OPAMP2_OTR ; //!< [0014](04)[0x00000000]
|
|
__IO OPAMP2_LPOTR_DEF OPAMP2_LPOTR ; //!< [0018](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x001C */
|
|
|
|
// ////////////////////+++ CRS +-+//////////////////// //
|
|
struct CRS_Type { /*!< Clock recovery system */
|
|
union CR_DEF { //!< control register
|
|
struct {
|
|
__IO ONE_BIT SYNCOKIE : 1; //!<[00] SYNC event OK interrupt enable
|
|
__IO ONE_BIT SYNCWARNIE : 1; //!<[01] SYNC warning interrupt enable
|
|
__IO ONE_BIT ERRIE : 1; //!<[02] Synchronization or trimming error interrupt enable
|
|
__IO ONE_BIT ESYNCIE : 1; //!<[03] Expected SYNC interrupt enable
|
|
ONE_BIT UNUSED0 : 1; //!<[04]
|
|
__IO ONE_BIT CEN : 1; //!<[05] Frequency error counter enable
|
|
__IO ONE_BIT AUTOTRIMEN : 1; //!<[06] Automatic trimming enable
|
|
__IO ONE_BIT SWSYNC : 1; //!<[07] Generate software SYNC event
|
|
__IO uint32_t TRIM : 6; //!<[08] HSI48 oscillator smooth trimming
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR_DEF () noexcept { R = 0x00002000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CFGR_DEF { //!< configuration register
|
|
struct {
|
|
__IO uint32_t RELOAD : 16; //!<[00] Counter reload value
|
|
__IO uint32_t FELIM : 8; //!<[16] Frequency error limit
|
|
__IO uint32_t SYNCDIV : 3; //!<[24] SYNC divider
|
|
ONE_BIT UNUSED0 : 1; //!<[27]
|
|
__IO uint32_t SYNCSRC : 2; //!<[28] SYNC signal source selection
|
|
ONE_BIT UNUSED1 : 1; //!<[30]
|
|
__IO ONE_BIT SYNCPOL : 1; //!<[31] SYNC polarity selection
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CFGR_DEF () noexcept { R = 0x2022bb7fu; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CFGR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CFGR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ISR_DEF { //!< interrupt and status register
|
|
struct {
|
|
__I ONE_BIT SYNCOKF : 1; //!<[00] SYNC event OK flag
|
|
__I ONE_BIT SYNCWARNF : 1; //!<[01] SYNC warning flag
|
|
__I ONE_BIT ERRF : 1; //!<[02] Error flag
|
|
__I ONE_BIT ESYNCF : 1; //!<[03] Expected SYNC flag
|
|
uint32_t UNUSED0 : 4; //!<[04]
|
|
__I ONE_BIT SYNCERR : 1; //!<[08] SYNC error
|
|
__I ONE_BIT SYNCMISS : 1; //!<[09] SYNC missed
|
|
__I ONE_BIT TRIMOVF : 1; //!<[10] Trimming overflow or underflow
|
|
uint32_t UNUSED1 : 4; //!<[11]
|
|
__I ONE_BIT FEDIR : 1; //!<[15] Frequency error direction
|
|
__I uint32_t FECAP : 16; //!<[16] Frequency error capture
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit ISR_DEF (volatile ISR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union ICR_DEF { //!< interrupt flag clear register
|
|
struct {
|
|
__IO ONE_BIT SYNCOKC : 1; //!<[00] SYNC event OK clear flag
|
|
__IO ONE_BIT SYNCWARNC : 1; //!<[01] SYNC warning clear flag
|
|
__IO ONE_BIT ERRC : 1; //!<[02] Error clear flag
|
|
__IO ONE_BIT ESYNCC : 1; //!<[03] Expected SYNC clear flag
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ICR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ICR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ICR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL CRS REGISTERS INSTANCES
|
|
__IO CR_DEF CR ; //!< [0000](04)[0x00002000]
|
|
__IO CFGR_DEF CFGR ; //!< [0004](04)[0x2022BB7F]
|
|
__I ISR_DEF ISR ; //!< [0008](04)[0x00000000]
|
|
__IO ICR_DEF ICR ; //!< [000c](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x0010 */
|
|
|
|
// ////////////////////+++ USB_SRAM +-+//////////////////// //
|
|
struct USB_SRAM_Type { /*!< Universal serial bus full-speed device interface */
|
|
union EP0R_DEF { //!< endpoint 0 register
|
|
struct {
|
|
__IO uint32_t EA : 4; //!<[00] Endpoint address
|
|
__IO uint32_t STAT_TX : 2; //!<[04] Status bits, for transmission transfers
|
|
__IO ONE_BIT DTOG_TX : 1; //!<[06] Data Toggle, for transmission transfers
|
|
__IO ONE_BIT CTR_TX : 1; //!<[07] Correct Transfer for transmission
|
|
__IO ONE_BIT EP_KIND : 1; //!<[08] Endpoint kind
|
|
__IO uint32_t EP_TYPE : 2; //!<[09] Endpoint type
|
|
__IO ONE_BIT SETUP : 1; //!<[11] Setup transaction completed
|
|
__IO uint32_t STAT_RX : 2; //!<[12] Status bits, for reception transfers
|
|
__IO ONE_BIT DTOG_RX : 1; //!<[14] Data Toggle, for reception transfers
|
|
__IO ONE_BIT CTR_RX : 1; //!<[15] Correct transfer for reception
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit EP0R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
EP0R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
EP0R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union EP1R_DEF { //!< endpoint 1 register
|
|
struct {
|
|
__IO uint32_t EA : 4; //!<[00] Endpoint address
|
|
__IO uint32_t STAT_TX : 2; //!<[04] Status bits, for transmission transfers
|
|
__IO ONE_BIT DTOG_TX : 1; //!<[06] Data Toggle, for transmission transfers
|
|
__IO ONE_BIT CTR_TX : 1; //!<[07] Correct Transfer for transmission
|
|
__IO ONE_BIT EP_KIND : 1; //!<[08] Endpoint kind
|
|
__IO uint32_t EP_TYPE : 2; //!<[09] Endpoint type
|
|
__IO ONE_BIT SETUP : 1; //!<[11] Setup transaction completed
|
|
__IO uint32_t STAT_RX : 2; //!<[12] Status bits, for reception transfers
|
|
__IO ONE_BIT DTOG_RX : 1; //!<[14] Data Toggle, for reception transfers
|
|
__IO ONE_BIT CTR_RX : 1; //!<[15] Correct transfer for reception
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit EP1R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
EP1R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
EP1R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union EP2R_DEF { //!< endpoint 2 register
|
|
struct {
|
|
__IO uint32_t EA : 4; //!<[00] Endpoint address
|
|
__IO uint32_t STAT_TX : 2; //!<[04] Status bits, for transmission transfers
|
|
__IO ONE_BIT DTOG_TX : 1; //!<[06] Data Toggle, for transmission transfers
|
|
__IO ONE_BIT CTR_TX : 1; //!<[07] Correct Transfer for transmission
|
|
__IO ONE_BIT EP_KIND : 1; //!<[08] Endpoint kind
|
|
__IO uint32_t EP_TYPE : 2; //!<[09] Endpoint type
|
|
__IO ONE_BIT SETUP : 1; //!<[11] Setup transaction completed
|
|
__IO uint32_t STAT_RX : 2; //!<[12] Status bits, for reception transfers
|
|
__IO ONE_BIT DTOG_RX : 1; //!<[14] Data Toggle, for reception transfers
|
|
__IO ONE_BIT CTR_RX : 1; //!<[15] Correct transfer for reception
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit EP2R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
EP2R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
EP2R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union EP3R_DEF { //!< endpoint 3 register
|
|
struct {
|
|
__IO uint32_t EA : 4; //!<[00] Endpoint address
|
|
__IO uint32_t STAT_TX : 2; //!<[04] Status bits, for transmission transfers
|
|
__IO ONE_BIT DTOG_TX : 1; //!<[06] Data Toggle, for transmission transfers
|
|
__IO ONE_BIT CTR_TX : 1; //!<[07] Correct Transfer for transmission
|
|
__IO ONE_BIT EP_KIND : 1; //!<[08] Endpoint kind
|
|
__IO uint32_t EP_TYPE : 2; //!<[09] Endpoint type
|
|
__IO ONE_BIT SETUP : 1; //!<[11] Setup transaction completed
|
|
__IO uint32_t STAT_RX : 2; //!<[12] Status bits, for reception transfers
|
|
__IO ONE_BIT DTOG_RX : 1; //!<[14] Data Toggle, for reception transfers
|
|
__IO ONE_BIT CTR_RX : 1; //!<[15] Correct transfer for reception
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit EP3R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
EP3R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
EP3R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union EP4R_DEF { //!< endpoint 4 register
|
|
struct {
|
|
__IO uint32_t EA : 4; //!<[00] Endpoint address
|
|
__IO uint32_t STAT_TX : 2; //!<[04] Status bits, for transmission transfers
|
|
__IO ONE_BIT DTOG_TX : 1; //!<[06] Data Toggle, for transmission transfers
|
|
__IO ONE_BIT CTR_TX : 1; //!<[07] Correct Transfer for transmission
|
|
__IO ONE_BIT EP_KIND : 1; //!<[08] Endpoint kind
|
|
__IO uint32_t EP_TYPE : 2; //!<[09] Endpoint type
|
|
__IO ONE_BIT SETUP : 1; //!<[11] Setup transaction completed
|
|
__IO uint32_t STAT_RX : 2; //!<[12] Status bits, for reception transfers
|
|
__IO ONE_BIT DTOG_RX : 1; //!<[14] Data Toggle, for reception transfers
|
|
__IO ONE_BIT CTR_RX : 1; //!<[15] Correct transfer for reception
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit EP4R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
EP4R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
EP4R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union EP5R_DEF { //!< endpoint 5 register
|
|
struct {
|
|
__IO uint32_t EA : 4; //!<[00] Endpoint address
|
|
__IO uint32_t STAT_TX : 2; //!<[04] Status bits, for transmission transfers
|
|
__IO ONE_BIT DTOG_TX : 1; //!<[06] Data Toggle, for transmission transfers
|
|
__IO ONE_BIT CTR_TX : 1; //!<[07] Correct Transfer for transmission
|
|
__IO ONE_BIT EP_KIND : 1; //!<[08] Endpoint kind
|
|
__IO uint32_t EP_TYPE : 2; //!<[09] Endpoint type
|
|
__IO ONE_BIT SETUP : 1; //!<[11] Setup transaction completed
|
|
__IO uint32_t STAT_RX : 2; //!<[12] Status bits, for reception transfers
|
|
__IO ONE_BIT DTOG_RX : 1; //!<[14] Data Toggle, for reception transfers
|
|
__IO ONE_BIT CTR_RX : 1; //!<[15] Correct transfer for reception
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit EP5R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
EP5R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
EP5R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union EP6R_DEF { //!< endpoint 6 register
|
|
struct {
|
|
__IO uint32_t EA : 4; //!<[00] Endpoint address
|
|
__IO uint32_t STAT_TX : 2; //!<[04] Status bits, for transmission transfers
|
|
__IO ONE_BIT DTOG_TX : 1; //!<[06] Data Toggle, for transmission transfers
|
|
__IO ONE_BIT CTR_TX : 1; //!<[07] Correct Transfer for transmission
|
|
__IO ONE_BIT EP_KIND : 1; //!<[08] Endpoint kind
|
|
__IO uint32_t EP_TYPE : 2; //!<[09] Endpoint type
|
|
__IO ONE_BIT SETUP : 1; //!<[11] Setup transaction completed
|
|
__IO uint32_t STAT_RX : 2; //!<[12] Status bits, for reception transfers
|
|
__IO ONE_BIT DTOG_RX : 1; //!<[14] Data Toggle, for reception transfers
|
|
__IO ONE_BIT CTR_RX : 1; //!<[15] Correct transfer for reception
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit EP6R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
EP6R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
EP6R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union EP7R_DEF { //!< endpoint 7 register
|
|
struct {
|
|
__IO uint32_t EA : 4; //!<[00] Endpoint address
|
|
__IO uint32_t STAT_TX : 2; //!<[04] Status bits, for transmission transfers
|
|
__IO ONE_BIT DTOG_TX : 1; //!<[06] Data Toggle, for transmission transfers
|
|
__IO ONE_BIT CTR_TX : 1; //!<[07] Correct Transfer for transmission
|
|
__IO ONE_BIT EP_KIND : 1; //!<[08] Endpoint kind
|
|
__IO uint32_t EP_TYPE : 2; //!<[09] Endpoint type
|
|
__IO ONE_BIT SETUP : 1; //!<[11] Setup transaction completed
|
|
__IO uint32_t STAT_RX : 2; //!<[12] Status bits, for reception transfers
|
|
__IO ONE_BIT DTOG_RX : 1; //!<[14] Data Toggle, for reception transfers
|
|
__IO ONE_BIT CTR_RX : 1; //!<[15] Correct transfer for reception
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit EP7R_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
EP7R_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
EP7R_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CNTR_DEF { //!< control register
|
|
struct {
|
|
__IO ONE_BIT FRES : 1; //!<[00] Force USB Reset
|
|
__IO ONE_BIT PDWN : 1; //!<[01] Power down
|
|
__IO ONE_BIT LPMODE : 1; //!<[02] Low-power mode
|
|
__IO ONE_BIT FSUSP : 1; //!<[03] Force suspend
|
|
__IO ONE_BIT RESUME : 1; //!<[04] Resume request
|
|
__IO ONE_BIT L1RESUME : 1; //!<[05] LPM L1 Resume request
|
|
ONE_BIT UNUSED0 : 1; //!<[06]
|
|
__IO ONE_BIT L1REQM : 1; //!<[07] LPM L1 state request interrupt mask
|
|
__IO ONE_BIT ESOFM : 1; //!<[08] Expected start of frame interrupt mask
|
|
__IO ONE_BIT SOFM : 1; //!<[09] Start of frame interrupt mask
|
|
__IO ONE_BIT RESETM : 1; //!<[10] USB reset interrupt mask
|
|
__IO ONE_BIT SUSPM : 1; //!<[11] Suspend mode interrupt mask
|
|
__IO ONE_BIT WKUPM : 1; //!<[12] Wakeup interrupt mask
|
|
__IO ONE_BIT ERRM : 1; //!<[13] Error interrupt mask
|
|
__IO ONE_BIT PMAOVRM : 1; //!<[14] Packet memory area over / underrun interrupt mask
|
|
__IO ONE_BIT CTRM : 1; //!<[15] Correct transfer interrupt mask
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CNTR_DEF () noexcept { R = 0x00000003u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CNTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CNTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ISTR_DEF { //!< interrupt status register
|
|
struct {
|
|
__I uint32_t EP_ID : 4; //!<[00] Endpoint Identifier
|
|
__I ONE_BIT DIR : 1; //!<[04] Direction of transaction
|
|
uint32_t UNUSED0 : 2; //!<[05]
|
|
__IO ONE_BIT L1REQ : 1; //!<[07] LPM L1 state request
|
|
__IO ONE_BIT ESOF : 1; //!<[08] Expected start frame
|
|
__IO ONE_BIT SOF : 1; //!<[09] start of frame
|
|
__IO ONE_BIT RESET : 1; //!<[10] reset request
|
|
__IO ONE_BIT SUSP : 1; //!<[11] Suspend mode request
|
|
__IO ONE_BIT WKUP : 1; //!<[12] Wakeup
|
|
__IO ONE_BIT ERR : 1; //!<[13] Error
|
|
__IO ONE_BIT PMAOVR : 1; //!<[14] Packet memory area over / underrun
|
|
__I ONE_BIT CTR : 1; //!<[15] Correct transfer
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ISTR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ISTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ISTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union FNR_DEF { //!< frame number register
|
|
struct {
|
|
__I uint32_t FN : 11; //!<[00] Frame number
|
|
__I uint32_t LSOF : 2; //!<[11] Lost SOF
|
|
__I ONE_BIT LCK : 1; //!<[13] Locked
|
|
__I ONE_BIT RXDM : 1; //!<[14] Receive data - line status
|
|
__I ONE_BIT RXDP : 1; //!<[15] Receive data + line status
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit FNR_DEF (volatile FNR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DADDR_DEF { //!< device address
|
|
struct {
|
|
__IO uint32_t ADD : 7; //!<[00] Device address
|
|
__IO ONE_BIT EF : 1; //!<[07] Enable function
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DADDR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DADDR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DADDR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BTABLE_DEF { //!< Buffer table address
|
|
struct {
|
|
uint32_t UNUSED0 : 3; //!<[00]
|
|
__IO uint32_t BTABLE : 13; //!<[03] Buffer table
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BTABLE_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BTABLE_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BTABLE_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union LPMCSR_DEF { //!< LPM control and status register
|
|
struct {
|
|
__IO ONE_BIT LPMEN : 1; //!<[00] LPM support enable
|
|
__IO ONE_BIT LPMACK : 1; //!<[01] LPM Token acknowledge enable
|
|
ONE_BIT UNUSED0 : 1; //!<[02]
|
|
__I ONE_BIT REMWAKE : 1; //!<[03] bRemoteWake value
|
|
__I uint32_t BESL : 4; //!<[04] BESL value
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit LPMCSR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
LPMCSR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
LPMCSR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union BCDR_DEF { //!< Battery charging detector
|
|
struct {
|
|
__IO ONE_BIT BCDEN : 1; //!<[00] Battery charging detector
|
|
__IO ONE_BIT DCDEN : 1; //!<[01] Data contact detection
|
|
__IO ONE_BIT PDEN : 1; //!<[02] Primary detection
|
|
__IO ONE_BIT SDEN : 1; //!<[03] Secondary detection
|
|
__I ONE_BIT DCDET : 1; //!<[04] Data contact detection
|
|
__I ONE_BIT PDET : 1; //!<[05] Primary detection
|
|
__I ONE_BIT SDET : 1; //!<[06] Secondary detection
|
|
__I ONE_BIT PS2DET : 1; //!<[07] DM pull-up detection status
|
|
uint32_t UNUSED0 : 7; //!<[08]
|
|
__IO ONE_BIT DPPU : 1; //!<[15] DP pull-up control
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit BCDR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
BCDR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
BCDR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL USB_SRAM REGISTERS INSTANCES
|
|
__IO EP0R_DEF EP0R ; //!< [0000](04)[0x00000000]
|
|
__IO EP1R_DEF EP1R ; //!< [0004](04)[0x00000000]
|
|
__IO EP2R_DEF EP2R ; //!< [0008](04)[0x00000000]
|
|
__IO EP3R_DEF EP3R ; //!< [000c](04)[0x00000000]
|
|
__IO EP4R_DEF EP4R ; //!< [0010](04)[0x00000000]
|
|
__IO EP5R_DEF EP5R ; //!< [0014](04)[0x00000000]
|
|
__IO EP6R_DEF EP6R ; //!< [0018](04)[0x00000000]
|
|
__IO EP7R_DEF EP7R ; //!< [001c](04)[0x00000000]
|
|
uint32_t UNUSED0 [8]; //!< [0020](20)[0xFFFFFFFF]
|
|
__IO CNTR_DEF CNTR ; //!< [0040](04)[0x00000003]
|
|
__IO ISTR_DEF ISTR ; //!< [0044](04)[0x00000000]
|
|
__I FNR_DEF FNR ; //!< [0048](04)[0x00000000]
|
|
__IO DADDR_DEF DADDR ; //!< [004c](04)[0x00000000]
|
|
__IO BTABLE_DEF BTABLE ; //!< [0050](04)[0x00000000]
|
|
__IO LPMCSR_DEF LPMCSR ; //!< [0054](04)[0x00000000]
|
|
__IO BCDR_DEF BCDR ; //!< [0058](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x005C */
|
|
|
|
// ////////////////////+++ DFSDM +-+//////////////////// //
|
|
struct DFSDM_Type { /*!< Digital filter for sigma delta modulators */
|
|
union CH0CFGR1_DEF { //!< channel configuration y register
|
|
struct {
|
|
__IO uint32_t SITP : 2; //!<[00] SITP
|
|
__IO uint32_t SPICKSEL : 2; //!<[02] SPICKSEL
|
|
ONE_BIT UNUSED0 : 1; //!<[04]
|
|
__IO ONE_BIT SCDEN : 1; //!<[05] SCDEN
|
|
__IO ONE_BIT CKABEN : 1; //!<[06] CKABEN
|
|
__IO ONE_BIT CHEN : 1; //!<[07] CHEN
|
|
__IO ONE_BIT CHINSEL : 1; //!<[08] CHINSEL
|
|
uint32_t UNUSED1 : 3; //!<[09]
|
|
__IO uint32_t DATMPX : 2; //!<[12] DATMPX
|
|
__IO uint32_t DATPACK : 2; //!<[14] DATPACK
|
|
__IO uint32_t CKOUTDIV : 8; //!<[16] CKOUTDIV
|
|
uint32_t UNUSED2 : 6; //!<[24]
|
|
__IO ONE_BIT CKOUTSRC : 1; //!<[30] CKOUTSRC
|
|
__IO ONE_BIT DFSDMEN : 1; //!<[31] DFSDMEN
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH0CFGR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH0CFGR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH0CFGR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH0CFGR2_DEF { //!< channel configuration y register
|
|
struct {
|
|
uint32_t UNUSED0 : 3; //!<[00]
|
|
__IO uint32_t DTRBS : 5; //!<[03] DTRBS
|
|
__IO uint32_t OFFSET : 24; //!<[08] OFFSET
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH0CFGR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH0CFGR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH0CFGR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH0AWSCDR_DEF { //!< analog watchdog and short-circuit detector register
|
|
struct {
|
|
__IO uint32_t SCDT : 8; //!<[00] SCDT
|
|
uint32_t UNUSED0 : 4; //!<[08]
|
|
__IO uint32_t BKSCD : 4; //!<[12] BKSCD
|
|
__IO uint32_t AWFOSR : 5; //!<[16] AWFOSR
|
|
ONE_BIT UNUSED1 : 1; //!<[21]
|
|
__IO uint32_t AWFORD : 2; //!<[22] AWFORD
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH0AWSCDR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH0AWSCDR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH0AWSCDR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH0WDATR_DEF { //!< channel watchdog filter data register
|
|
struct {
|
|
__IO uint32_t WDATA : 16; //!<[00] WDATA
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH0WDATR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH0WDATR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH0WDATR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH0DATINR_DEF { //!< channel data input register
|
|
struct {
|
|
__IO uint32_t INDAT0 : 16; //!<[00] INDAT0
|
|
__IO uint32_t INDAT1 : 16; //!<[16] INDAT1
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH0DATINR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH0DATINR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH0DATINR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH0DLYR_DEF { //!< channel y delay register
|
|
struct {
|
|
__IO uint32_t PLSSKP : 6; //!<[00] PLSSKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH0DLYR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH0DLYR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH0DLYR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH1CFGR1_DEF { //!< CH1CFGR1
|
|
struct {
|
|
__IO uint32_t SITP : 2; //!<[00] SITP
|
|
__IO uint32_t SPICKSEL : 2; //!<[02] SPICKSEL
|
|
ONE_BIT UNUSED0 : 1; //!<[04]
|
|
__IO ONE_BIT SCDEN : 1; //!<[05] SCDEN
|
|
__IO ONE_BIT CKABEN : 1; //!<[06] CKABEN
|
|
__IO ONE_BIT CHEN : 1; //!<[07] CHEN
|
|
__IO ONE_BIT CHINSEL : 1; //!<[08] CHINSEL
|
|
uint32_t UNUSED1 : 3; //!<[09]
|
|
__IO uint32_t DATMPX : 2; //!<[12] DATMPX
|
|
__IO uint32_t DATPACK : 2; //!<[14] DATPACK
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH1CFGR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH1CFGR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH1CFGR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH1CFGR2_DEF { //!< CH1CFGR2
|
|
struct {
|
|
uint32_t UNUSED0 : 3; //!<[00]
|
|
__IO uint32_t DTRBS : 5; //!<[03] DTRBS
|
|
__IO uint32_t OFFSET : 24; //!<[08] OFFSET
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH1CFGR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH1CFGR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH1CFGR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH1AWSCDR_DEF { //!< CH1AWSCDR
|
|
struct {
|
|
__IO uint32_t SCDT : 8; //!<[00] SCDT
|
|
uint32_t UNUSED0 : 4; //!<[08]
|
|
__IO uint32_t BKSCD : 4; //!<[12] BKSCD
|
|
__IO uint32_t AWFOSR : 5; //!<[16] AWFOSR
|
|
ONE_BIT UNUSED1 : 1; //!<[21]
|
|
__IO uint32_t AWFORD : 2; //!<[22] AWFORD
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH1AWSCDR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH1AWSCDR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH1AWSCDR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH1WDATR_DEF { //!< CH1WDATR
|
|
struct {
|
|
__IO uint32_t WDATA : 16; //!<[00] WDATA
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH1WDATR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH1WDATR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH1WDATR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH1DATINR_DEF { //!< CH1DATINR
|
|
struct {
|
|
__IO uint32_t INDAT0 : 16; //!<[00] INDAT0
|
|
__IO uint32_t INDAT1 : 16; //!<[16] INDAT1
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH1DATINR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH1DATINR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH1DATINR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH1DLYR_DEF { //!< channel y delay register
|
|
struct {
|
|
__IO uint32_t PLSSKP : 6; //!<[00] PLSSKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH1DLYR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH1DLYR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH1DLYR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH2CFGR1_DEF { //!< CH2CFGR1
|
|
struct {
|
|
__IO uint32_t SITP : 2; //!<[00] SITP
|
|
__IO uint32_t SPICKSEL : 2; //!<[02] SPICKSEL
|
|
ONE_BIT UNUSED0 : 1; //!<[04]
|
|
__IO ONE_BIT SCDEN : 1; //!<[05] SCDEN
|
|
__IO ONE_BIT CKABEN : 1; //!<[06] CKABEN
|
|
__IO ONE_BIT CHEN : 1; //!<[07] CHEN
|
|
__IO ONE_BIT CHINSEL : 1; //!<[08] CHINSEL
|
|
uint32_t UNUSED1 : 3; //!<[09]
|
|
__IO uint32_t DATMPX : 2; //!<[12] DATMPX
|
|
__IO uint32_t DATPACK : 2; //!<[14] DATPACK
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH2CFGR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH2CFGR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH2CFGR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH2CFGR2_DEF { //!< CH2CFGR2
|
|
struct {
|
|
uint32_t UNUSED0 : 3; //!<[00]
|
|
__IO uint32_t DTRBS : 5; //!<[03] DTRBS
|
|
__IO uint32_t OFFSET : 24; //!<[08] OFFSET
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH2CFGR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH2CFGR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH2CFGR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH2AWSCDR_DEF { //!< CH2AWSCDR
|
|
struct {
|
|
__IO uint32_t SCDT : 8; //!<[00] SCDT
|
|
uint32_t UNUSED0 : 4; //!<[08]
|
|
__IO uint32_t BKSCD : 4; //!<[12] BKSCD
|
|
__IO uint32_t AWFOSR : 5; //!<[16] AWFOSR
|
|
ONE_BIT UNUSED1 : 1; //!<[21]
|
|
__IO uint32_t AWFORD : 2; //!<[22] AWFORD
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH2AWSCDR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH2AWSCDR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH2AWSCDR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH2WDATR_DEF { //!< CH2WDATR
|
|
struct {
|
|
__IO uint32_t WDATA : 16; //!<[00] WDATA
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH2WDATR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH2WDATR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH2WDATR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH2DATINR_DEF { //!< CH2DATINR
|
|
struct {
|
|
__IO uint32_t INDAT0 : 16; //!<[00] INDAT0
|
|
__IO uint32_t INDAT1 : 16; //!<[16] INDAT1
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH2DATINR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH2DATINR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH2DATINR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH2DLYR_DEF { //!< channel y delay register
|
|
struct {
|
|
__IO uint32_t PLSSKP : 6; //!<[00] PLSSKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH2DLYR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH2DLYR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH2DLYR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH3CFGR1_DEF { //!< CH3CFGR1
|
|
struct {
|
|
__IO uint32_t SITP : 2; //!<[00] SITP
|
|
__IO uint32_t SPICKSEL : 2; //!<[02] SPICKSEL
|
|
ONE_BIT UNUSED0 : 1; //!<[04]
|
|
__IO ONE_BIT SCDEN : 1; //!<[05] SCDEN
|
|
__IO ONE_BIT CKABEN : 1; //!<[06] CKABEN
|
|
__IO ONE_BIT CHEN : 1; //!<[07] CHEN
|
|
__IO ONE_BIT CHINSEL : 1; //!<[08] CHINSEL
|
|
uint32_t UNUSED1 : 3; //!<[09]
|
|
__IO uint32_t DATMPX : 2; //!<[12] DATMPX
|
|
__IO uint32_t DATPACK : 2; //!<[14] DATPACK
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH3CFGR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH3CFGR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH3CFGR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH3CFGR2_DEF { //!< CH3CFGR2
|
|
struct {
|
|
uint32_t UNUSED0 : 3; //!<[00]
|
|
__IO uint32_t DTRBS : 5; //!<[03] DTRBS
|
|
__IO uint32_t OFFSET : 24; //!<[08] OFFSET
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH3CFGR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH3CFGR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH3CFGR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH3AWSCDR_DEF { //!< CH3AWSCDR
|
|
struct {
|
|
__IO uint32_t SCDT : 8; //!<[00] SCDT
|
|
uint32_t UNUSED0 : 4; //!<[08]
|
|
__IO uint32_t BKSCD : 4; //!<[12] BKSCD
|
|
__IO uint32_t AWFOSR : 5; //!<[16] AWFOSR
|
|
ONE_BIT UNUSED1 : 1; //!<[21]
|
|
__IO uint32_t AWFORD : 2; //!<[22] AWFORD
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH3AWSCDR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH3AWSCDR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH3AWSCDR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH3WDATR_DEF { //!< CH3WDATR
|
|
struct {
|
|
__IO uint32_t WDATA : 16; //!<[00] WDATA
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH3WDATR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH3WDATR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH3WDATR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH3DATINR_DEF { //!< CH3DATINR
|
|
struct {
|
|
__IO uint32_t INDAT0 : 16; //!<[00] INDAT0
|
|
__IO uint32_t INDAT1 : 16; //!<[16] INDAT1
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH3DATINR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH3DATINR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH3DATINR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH3DLYR_DEF { //!< channel y delay register
|
|
struct {
|
|
__IO uint32_t PLSSKP : 6; //!<[00] PLSSKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH3DLYR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH3DLYR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH3DLYR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH4CFGR1_DEF { //!< CH4CFGR1
|
|
struct {
|
|
__IO uint32_t SITP : 2; //!<[00] SITP
|
|
__IO uint32_t SPICKSEL : 2; //!<[02] SPICKSEL
|
|
ONE_BIT UNUSED0 : 1; //!<[04]
|
|
__IO ONE_BIT SCDEN : 1; //!<[05] SCDEN
|
|
__IO ONE_BIT CKABEN : 1; //!<[06] CKABEN
|
|
__IO ONE_BIT CHEN : 1; //!<[07] CHEN
|
|
__IO ONE_BIT CHINSEL : 1; //!<[08] CHINSEL
|
|
uint32_t UNUSED1 : 3; //!<[09]
|
|
__IO uint32_t DATMPX : 2; //!<[12] DATMPX
|
|
__IO uint32_t DATPACK : 2; //!<[14] DATPACK
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH4CFGR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH4CFGR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH4CFGR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH4CFGR2_DEF { //!< CH4CFGR2
|
|
struct {
|
|
uint32_t UNUSED0 : 3; //!<[00]
|
|
__IO uint32_t DTRBS : 5; //!<[03] DTRBS
|
|
__IO uint32_t OFFSET : 24; //!<[08] OFFSET
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH4CFGR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH4CFGR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH4CFGR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH4AWSCDR_DEF { //!< CH4AWSCDR
|
|
struct {
|
|
__IO uint32_t SCDT : 8; //!<[00] SCDT
|
|
uint32_t UNUSED0 : 4; //!<[08]
|
|
__IO uint32_t BKSCD : 4; //!<[12] BKSCD
|
|
__IO uint32_t AWFOSR : 5; //!<[16] AWFOSR
|
|
ONE_BIT UNUSED1 : 1; //!<[21]
|
|
__IO uint32_t AWFORD : 2; //!<[22] AWFORD
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH4AWSCDR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH4AWSCDR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH4AWSCDR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH4WDATR_DEF { //!< CH4WDATR
|
|
struct {
|
|
__IO uint32_t WDATA : 16; //!<[00] WDATA
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH4WDATR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH4WDATR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH4WDATR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH4DATINR_DEF { //!< CH4DATINR
|
|
struct {
|
|
__IO uint32_t INDAT0 : 16; //!<[00] INDAT0
|
|
__IO uint32_t INDAT1 : 16; //!<[16] INDAT1
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH4DATINR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH4DATINR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH4DATINR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH4DLYR_DEF { //!< channel y delay register
|
|
struct {
|
|
__IO uint32_t PLSSKP : 6; //!<[00] PLSSKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH4DLYR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH4DLYR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH4DLYR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH5CFGR1_DEF { //!< CH5CFGR1
|
|
struct {
|
|
__IO uint32_t SITP : 2; //!<[00] SITP
|
|
__IO uint32_t SPICKSEL : 2; //!<[02] SPICKSEL
|
|
ONE_BIT UNUSED0 : 1; //!<[04]
|
|
__IO ONE_BIT SCDEN : 1; //!<[05] SCDEN
|
|
__IO ONE_BIT CKABEN : 1; //!<[06] CKABEN
|
|
__IO ONE_BIT CHEN : 1; //!<[07] CHEN
|
|
__IO ONE_BIT CHINSEL : 1; //!<[08] CHINSEL
|
|
uint32_t UNUSED1 : 3; //!<[09]
|
|
__IO uint32_t DATMPX : 2; //!<[12] DATMPX
|
|
__IO uint32_t DATPACK : 2; //!<[14] DATPACK
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH5CFGR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH5CFGR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH5CFGR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH5CFGR2_DEF { //!< CH5CFGR2
|
|
struct {
|
|
uint32_t UNUSED0 : 3; //!<[00]
|
|
__IO uint32_t DTRBS : 5; //!<[03] DTRBS
|
|
__IO uint32_t OFFSET : 24; //!<[08] OFFSET
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH5CFGR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH5CFGR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH5CFGR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH5AWSCDR_DEF { //!< CH5AWSCDR
|
|
struct {
|
|
__IO uint32_t SCDT : 8; //!<[00] SCDT
|
|
uint32_t UNUSED0 : 4; //!<[08]
|
|
__IO uint32_t BKSCD : 4; //!<[12] BKSCD
|
|
__IO uint32_t AWFOSR : 5; //!<[16] AWFOSR
|
|
ONE_BIT UNUSED1 : 1; //!<[21]
|
|
__IO uint32_t AWFORD : 2; //!<[22] AWFORD
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH5AWSCDR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH5AWSCDR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH5AWSCDR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH5WDATR_DEF { //!< CH5WDATR
|
|
struct {
|
|
__IO uint32_t WDATA : 16; //!<[00] WDATA
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH5WDATR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH5WDATR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH5WDATR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH5DATINR_DEF { //!< CH5DATINR
|
|
struct {
|
|
__IO uint32_t INDAT0 : 16; //!<[00] INDAT0
|
|
__IO uint32_t INDAT1 : 16; //!<[16] INDAT1
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH5DATINR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH5DATINR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH5DATINR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH5DLYR_DEF { //!< channel y delay register
|
|
struct {
|
|
__IO uint32_t PLSSKP : 6; //!<[00] PLSSKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH5DLYR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH5DLYR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH5DLYR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH6CFGR1_DEF { //!< CH6CFGR1
|
|
struct {
|
|
__IO uint32_t SITP : 2; //!<[00] SITP
|
|
__IO uint32_t SPICKSEL : 2; //!<[02] SPICKSEL
|
|
ONE_BIT UNUSED0 : 1; //!<[04]
|
|
__IO ONE_BIT SCDEN : 1; //!<[05] SCDEN
|
|
__IO ONE_BIT CKABEN : 1; //!<[06] CKABEN
|
|
__IO ONE_BIT CHEN : 1; //!<[07] CHEN
|
|
__IO ONE_BIT CHINSEL : 1; //!<[08] CHINSEL
|
|
uint32_t UNUSED1 : 3; //!<[09]
|
|
__IO uint32_t DATMPX : 2; //!<[12] DATMPX
|
|
__IO uint32_t DATPACK : 2; //!<[14] DATPACK
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH6CFGR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH6CFGR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH6CFGR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH6CFGR2_DEF { //!< CH6CFGR2
|
|
struct {
|
|
uint32_t UNUSED0 : 3; //!<[00]
|
|
__IO uint32_t DTRBS : 5; //!<[03] DTRBS
|
|
__IO uint32_t OFFSET : 24; //!<[08] OFFSET
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH6CFGR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH6CFGR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH6CFGR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH6AWSCDR_DEF { //!< CH6AWSCDR
|
|
struct {
|
|
__IO uint32_t SCDT : 8; //!<[00] SCDT
|
|
uint32_t UNUSED0 : 4; //!<[08]
|
|
__IO uint32_t BKSCD : 4; //!<[12] BKSCD
|
|
__IO uint32_t AWFOSR : 5; //!<[16] AWFOSR
|
|
ONE_BIT UNUSED1 : 1; //!<[21]
|
|
__IO uint32_t AWFORD : 2; //!<[22] AWFORD
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH6AWSCDR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH6AWSCDR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH6AWSCDR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH6WDATR_DEF { //!< CH6WDATR
|
|
struct {
|
|
__IO uint32_t WDATA : 16; //!<[00] WDATA
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH6WDATR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH6WDATR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH6WDATR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH6DATINR_DEF { //!< CH6DATINR
|
|
struct {
|
|
__IO uint32_t INDAT0 : 16; //!<[00] INDAT0
|
|
__IO uint32_t INDAT1 : 16; //!<[16] INDAT1
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH6DATINR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH6DATINR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH6DATINR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH6DLYR_DEF { //!< channel y delay register
|
|
struct {
|
|
__IO uint32_t PLSSKP : 6; //!<[00] PLSSKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH6DLYR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH6DLYR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH6DLYR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH7CFGR1_DEF { //!< CH7CFGR1
|
|
struct {
|
|
__IO uint32_t SITP : 2; //!<[00] SITP
|
|
__IO uint32_t SPICKSEL : 2; //!<[02] SPICKSEL
|
|
ONE_BIT UNUSED0 : 1; //!<[04]
|
|
__IO ONE_BIT SCDEN : 1; //!<[05] SCDEN
|
|
__IO ONE_BIT CKABEN : 1; //!<[06] CKABEN
|
|
__IO ONE_BIT CHEN : 1; //!<[07] CHEN
|
|
__IO ONE_BIT CHINSEL : 1; //!<[08] CHINSEL
|
|
uint32_t UNUSED1 : 3; //!<[09]
|
|
__IO uint32_t DATMPX : 2; //!<[12] DATMPX
|
|
__IO uint32_t DATPACK : 2; //!<[14] DATPACK
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH7CFGR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH7CFGR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH7CFGR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH7CFGR2_DEF { //!< CH7CFGR2
|
|
struct {
|
|
uint32_t UNUSED0 : 3; //!<[00]
|
|
__IO uint32_t DTRBS : 5; //!<[03] DTRBS
|
|
__IO uint32_t OFFSET : 24; //!<[08] OFFSET
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH7CFGR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH7CFGR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH7CFGR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH7AWSCDR_DEF { //!< CH7AWSCDR
|
|
struct {
|
|
__IO uint32_t SCDT : 8; //!<[00] SCDT
|
|
uint32_t UNUSED0 : 4; //!<[08]
|
|
__IO uint32_t BKSCD : 4; //!<[12] BKSCD
|
|
__IO uint32_t AWFOSR : 5; //!<[16] AWFOSR
|
|
ONE_BIT UNUSED1 : 1; //!<[21]
|
|
__IO uint32_t AWFORD : 2; //!<[22] AWFORD
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH7AWSCDR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH7AWSCDR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH7AWSCDR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH7WDATR_DEF { //!< CH7WDATR
|
|
struct {
|
|
__IO uint32_t WDATA : 16; //!<[00] WDATA
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH7WDATR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH7WDATR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH7WDATR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH7DATINR_DEF { //!< CH7DATINR
|
|
struct {
|
|
__IO uint32_t INDAT0 : 16; //!<[00] INDAT0
|
|
__IO uint32_t INDAT1 : 16; //!<[16] INDAT1
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH7DATINR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH7DATINR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH7DATINR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CH7DLYR_DEF { //!< channel y delay register
|
|
struct {
|
|
__IO uint32_t PLSSKP : 6; //!<[00] PLSSKP
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CH7DLYR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CH7DLYR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CH7DLYR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT0CR1_DEF { //!< control register 1
|
|
struct {
|
|
__IO ONE_BIT DFEN : 1; //!<[00] DFSDM enable
|
|
__IO ONE_BIT JSWSTART : 1; //!<[01] Start a conversion of the injected group of channels
|
|
ONE_BIT UNUSED0 : 1; //!<[02]
|
|
__IO ONE_BIT JSYNC : 1; //!<[03] Launch an injected conversion synchronously with the DFSDM0 JSWSTART trigger
|
|
__IO ONE_BIT JSCAN : 1; //!<[04] Scanning conversion mode for injected conversions
|
|
__IO ONE_BIT JDMAEN : 1; //!<[05] DMA channel enabled to read data for the injected channel group
|
|
uint32_t UNUSED1 : 2; //!<[06]
|
|
__IO uint32_t JEXTSEL : 3; //!<[08] Trigger signal selection for launching injected conversions
|
|
uint32_t UNUSED2 : 2; //!<[11]
|
|
__IO uint32_t JEXTEN : 2; //!<[13] Trigger enable and trigger edge selection for injected conversions
|
|
uint32_t UNUSED3 : 2; //!<[15]
|
|
__IO ONE_BIT RSWSTART : 1; //!<[17] Software start of a conversion on the regular channel
|
|
__IO ONE_BIT RCONT : 1; //!<[18] Continuous mode selection for regular conversions
|
|
__IO ONE_BIT RSYNC : 1; //!<[19] Launch regular conversion synchronously with DFSDM0
|
|
ONE_BIT UNUSED4 : 1; //!<[20]
|
|
__IO ONE_BIT RDMAEN : 1; //!<[21] DMA channel enabled to read data for the regular conversion
|
|
uint32_t UNUSED5 : 2; //!<[22]
|
|
__IO uint32_t RCH : 3; //!<[24] Regular channel selection
|
|
uint32_t UNUSED6 : 2; //!<[27]
|
|
__IO ONE_BIT FAST : 1; //!<[29] Fast conversion mode selection for regular conversions
|
|
__IO ONE_BIT AWFSEL : 1; //!<[30] Analog watchdog fast mode select
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT0CR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT0CR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT0CR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT0CR2_DEF { //!< control register 2
|
|
struct {
|
|
__IO ONE_BIT JEOCIE : 1; //!<[00] Injected end of conversion interrupt enable
|
|
__IO ONE_BIT REOCIE : 1; //!<[01] Regular end of conversion interrupt enable
|
|
__IO ONE_BIT JOVRIE : 1; //!<[02] Injected data overrun interrupt enable
|
|
__IO ONE_BIT ROVRIE : 1; //!<[03] Regular data overrun interrupt enable
|
|
__IO ONE_BIT AWDIE : 1; //!<[04] Analog watchdog interrupt enable
|
|
__IO ONE_BIT SCDIE : 1; //!<[05] Short-circuit detector interrupt enable
|
|
__IO ONE_BIT CKABIE : 1; //!<[06] Clock absence interrupt enable
|
|
ONE_BIT UNUSED0 : 1; //!<[07]
|
|
__IO uint32_t EXCH : 8; //!<[08] Extremes detector channel selection
|
|
__IO uint32_t AWDCH : 8; //!<[16] Analog watchdog channel selection
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT0CR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT0CR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT0CR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT0ISR_DEF { //!< interrupt and status register
|
|
struct {
|
|
__I ONE_BIT JEOCF : 1; //!<[00] End of injected conversion flag
|
|
__I ONE_BIT REOCF : 1; //!<[01] End of regular conversion flag
|
|
__I ONE_BIT JOVRF : 1; //!<[02] Injected conversion overrun flag
|
|
__I ONE_BIT ROVRF : 1; //!<[03] Regular conversion overrun flag
|
|
__I ONE_BIT AWDF : 1; //!<[04] Analog watchdog
|
|
uint32_t UNUSED0 : 8; //!<[05]
|
|
__I ONE_BIT JCIP : 1; //!<[13] Injected conversion in progress status
|
|
__I ONE_BIT RCIP : 1; //!<[14] Regular conversion in progress status
|
|
ONE_BIT UNUSED1 : 1; //!<[15]
|
|
__I uint32_t CKABF : 8; //!<[16] Clock absence flag
|
|
__I uint32_t SCDF : 8; //!<[24] short-circuit detector flag
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT0ISR_DEF (volatile DFSDM_FLT0ISR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DFSDM_FLT0ICR_DEF { //!< interrupt flag clear register
|
|
struct {
|
|
uint32_t UNUSED0 : 2; //!<[00]
|
|
__IO ONE_BIT CLRJOVRF : 1; //!<[02] Clear the injected conversion overrun flag
|
|
__IO ONE_BIT CLRROVRF : 1; //!<[03] Clear the regular conversion overrun flag
|
|
uint32_t UNUSED1 : 12; //!<[04]
|
|
__IO uint32_t CLRCKABF : 8; //!<[16] Clear the clock absence flag
|
|
__IO uint32_t CLRSCDF : 8; //!<[24] Clear the short-circuit detector flag
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT0ICR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT0ICR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT0ICR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT0JCHGR_DEF { //!< injected channel group selection register
|
|
struct {
|
|
__IO uint32_t JCHG : 8; //!<[00] Injected channel group selection
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT0JCHGR_DEF () noexcept { R = 0x00000001u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT0JCHGR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT0JCHGR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT0FCR_DEF { //!< filter control register
|
|
struct {
|
|
__IO uint32_t IOSR : 8; //!<[00] Integrator oversampling ratio (averaging length)
|
|
uint32_t UNUSED0 : 8; //!<[08]
|
|
__IO uint32_t FOSR : 10; //!<[16] Sinc filter oversampling ratio (decimation rate)
|
|
uint32_t UNUSED1 : 3; //!<[26]
|
|
__IO uint32_t FORD : 3; //!<[29] Sinc filter order
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT0FCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT0FCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT0FCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT0JDATAR_DEF { //!< data register for injected group
|
|
struct {
|
|
__I uint32_t JDATACH : 3; //!<[00] Injected channel most recently converted
|
|
uint32_t UNUSED0 : 5; //!<[03]
|
|
__I uint32_t JDATA : 24; //!<[08] Injected group conversion data
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT0JDATAR_DEF (volatile DFSDM_FLT0JDATAR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DFSDM_FLT0RDATAR_DEF { //!< data register for the regular channel
|
|
struct {
|
|
__I uint32_t RDATACH : 3; //!<[00] Regular channel most recently converted
|
|
ONE_BIT UNUSED0 : 1; //!<[03]
|
|
__I ONE_BIT RPEND : 1; //!<[04] Regular channel pending data
|
|
uint32_t UNUSED1 : 3; //!<[05]
|
|
__I uint32_t RDATA : 24; //!<[08] Regular channel conversion data
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT0RDATAR_DEF (volatile DFSDM_FLT0RDATAR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DFSDM_FLT0AWHTR_DEF { //!< analog watchdog high threshold register
|
|
struct {
|
|
__IO uint32_t BKAWH : 4; //!<[00] Break signal assignment to analog watchdog high threshold event
|
|
uint32_t UNUSED0 : 4; //!<[04]
|
|
__IO uint32_t AWHT : 24; //!<[08] Analog watchdog high threshold
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT0AWHTR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT0AWHTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT0AWHTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT0AWLTR_DEF { //!< analog watchdog low threshold register
|
|
struct {
|
|
__IO uint32_t BKAWL : 4; //!<[00] Break signal assignment to analog watchdog low threshold event
|
|
uint32_t UNUSED0 : 4; //!<[04]
|
|
__IO uint32_t AWLT : 24; //!<[08] Analog watchdog low threshold
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT0AWLTR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT0AWLTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT0AWLTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT0AWSR_DEF { //!< analog watchdog status register
|
|
struct {
|
|
__I uint32_t AWLTF : 8; //!<[00] Analog watchdog low threshold flag
|
|
__I uint32_t AWHTF : 8; //!<[08] Analog watchdog high threshold flag
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT0AWSR_DEF (volatile DFSDM_FLT0AWSR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DFSDM_FLT0AWCFR_DEF { //!< analog watchdog clear flag register
|
|
struct {
|
|
__IO uint32_t CLRAWLTF : 8; //!<[00] Clear the analog watchdog low threshold flag
|
|
__IO uint32_t CLRAWHTF : 8; //!<[08] Clear the analog watchdog high threshold flag
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT0AWCFR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT0AWCFR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT0AWCFR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT0EXMAX_DEF { //!< Extremes detector maximum register
|
|
struct {
|
|
__I uint32_t EXMAXCH : 3; //!<[00] Extremes detector maximum data channel
|
|
uint32_t UNUSED0 : 5; //!<[03]
|
|
__I uint32_t EXMAX : 24; //!<[08] Extremes detector maximum value
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT0EXMAX_DEF (volatile DFSDM_FLT0EXMAX_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DFSDM_FLT0EXMIN_DEF { //!< Extremes detector minimum register
|
|
struct {
|
|
__I uint32_t EXMINCH : 3; //!<[00] Extremes detector minimum data channel
|
|
uint32_t UNUSED0 : 5; //!<[03]
|
|
__I uint32_t EXMIN : 24; //!<[08] EXMIN
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT0EXMIN_DEF (volatile DFSDM_FLT0EXMIN_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DFSDM_FLT0CNVTIMR_DEF { //!< conversion timer register
|
|
struct {
|
|
uint32_t UNUSED0 : 4; //!<[00]
|
|
__I uint32_t CNVCNT : 28; //!<[04] 28-bit timer counting conversion time t = CNVCNT[27:0] / fDFSDM_CKIN
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT0CNVTIMR_DEF (volatile DFSDM_FLT0CNVTIMR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DFSDM_FLT1CR1_DEF { //!< control register 1
|
|
struct {
|
|
__IO ONE_BIT DFEN : 1; //!<[00] DFSDM enable
|
|
__IO ONE_BIT JSWSTART : 1; //!<[01] Start a conversion of the injected group of channels
|
|
ONE_BIT UNUSED0 : 1; //!<[02]
|
|
__IO ONE_BIT JSYNC : 1; //!<[03] Launch an injected conversion synchronously with the DFSDM0 JSWSTART trigger
|
|
__IO ONE_BIT JSCAN : 1; //!<[04] Scanning conversion mode for injected conversions
|
|
__IO ONE_BIT JDMAEN : 1; //!<[05] DMA channel enabled to read data for the injected channel group
|
|
uint32_t UNUSED1 : 2; //!<[06]
|
|
__IO uint32_t JEXTSEL : 3; //!<[08] Trigger signal selection for launching injected conversions
|
|
uint32_t UNUSED2 : 2; //!<[11]
|
|
__IO uint32_t JEXTEN : 2; //!<[13] Trigger enable and trigger edge selection for injected conversions
|
|
uint32_t UNUSED3 : 2; //!<[15]
|
|
__IO ONE_BIT RSWSTART : 1; //!<[17] Software start of a conversion on the regular channel
|
|
__IO ONE_BIT RCONT : 1; //!<[18] Continuous mode selection for regular conversions
|
|
__IO ONE_BIT RSYNC : 1; //!<[19] Launch regular conversion synchronously with DFSDM0
|
|
ONE_BIT UNUSED4 : 1; //!<[20]
|
|
__IO ONE_BIT RDMAEN : 1; //!<[21] DMA channel enabled to read data for the regular conversion
|
|
uint32_t UNUSED5 : 2; //!<[22]
|
|
__IO uint32_t RCH : 3; //!<[24] Regular channel selection
|
|
uint32_t UNUSED6 : 2; //!<[27]
|
|
__IO ONE_BIT FAST : 1; //!<[29] Fast conversion mode selection for regular conversions
|
|
__IO ONE_BIT AWFSEL : 1; //!<[30] Analog watchdog fast mode select
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT1CR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT1CR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT1CR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT1CR2_DEF { //!< control register 2
|
|
struct {
|
|
__IO ONE_BIT JEOCIE : 1; //!<[00] Injected end of conversion interrupt enable
|
|
__IO ONE_BIT REOCIE : 1; //!<[01] Regular end of conversion interrupt enable
|
|
__IO ONE_BIT JOVRIE : 1; //!<[02] Injected data overrun interrupt enable
|
|
__IO ONE_BIT ROVRIE : 1; //!<[03] Regular data overrun interrupt enable
|
|
__IO ONE_BIT AWDIE : 1; //!<[04] Analog watchdog interrupt enable
|
|
__IO ONE_BIT SCDIE : 1; //!<[05] Short-circuit detector interrupt enable
|
|
__IO ONE_BIT CKABIE : 1; //!<[06] Clock absence interrupt enable
|
|
ONE_BIT UNUSED0 : 1; //!<[07]
|
|
__IO uint32_t EXCH : 8; //!<[08] Extremes detector channel selection
|
|
__IO uint32_t AWDCH : 8; //!<[16] Analog watchdog channel selection
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT1CR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT1CR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT1CR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT1ISR_DEF { //!< interrupt and status register
|
|
struct {
|
|
__I ONE_BIT JEOCF : 1; //!<[00] End of injected conversion flag
|
|
__I ONE_BIT REOCF : 1; //!<[01] End of regular conversion flag
|
|
__I ONE_BIT JOVRF : 1; //!<[02] Injected conversion overrun flag
|
|
__I ONE_BIT ROVRF : 1; //!<[03] Regular conversion overrun flag
|
|
__I ONE_BIT AWDF : 1; //!<[04] Analog watchdog
|
|
uint32_t UNUSED0 : 8; //!<[05]
|
|
__I ONE_BIT JCIP : 1; //!<[13] Injected conversion in progress status
|
|
__I ONE_BIT RCIP : 1; //!<[14] Regular conversion in progress status
|
|
ONE_BIT UNUSED1 : 1; //!<[15]
|
|
__I uint32_t CKABF : 8; //!<[16] Clock absence flag
|
|
__I uint32_t SCDF : 8; //!<[24] short-circuit detector flag
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT1ISR_DEF (volatile DFSDM_FLT1ISR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DFSDM_FLT1ICR_DEF { //!< interrupt flag clear register
|
|
struct {
|
|
uint32_t UNUSED0 : 2; //!<[00]
|
|
__IO ONE_BIT CLRJOVRF : 1; //!<[02] Clear the injected conversion overrun flag
|
|
__IO ONE_BIT CLRROVRF : 1; //!<[03] Clear the regular conversion overrun flag
|
|
uint32_t UNUSED1 : 12; //!<[04]
|
|
__IO uint32_t CLRCKABF : 8; //!<[16] Clear the clock absence flag
|
|
__IO uint32_t CLRSCDF : 8; //!<[24] Clear the short-circuit detector flag
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT1ICR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT1ICR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT1ICR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT1CHGR_DEF { //!< injected channel group selection register
|
|
struct {
|
|
__IO uint32_t JCHG : 8; //!<[00] Injected channel group selection
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT1CHGR_DEF () noexcept { R = 0x00000001u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT1CHGR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT1CHGR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT1FCR_DEF { //!< filter control register
|
|
struct {
|
|
__IO uint32_t IOSR : 8; //!<[00] Integrator oversampling ratio (averaging length)
|
|
uint32_t UNUSED0 : 8; //!<[08]
|
|
__IO uint32_t FOSR : 10; //!<[16] Sinc filter oversampling ratio (decimation rate)
|
|
uint32_t UNUSED1 : 3; //!<[26]
|
|
__IO uint32_t FORD : 3; //!<[29] Sinc filter order
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT1FCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT1FCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT1FCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT1JDATAR_DEF { //!< data register for injected group
|
|
struct {
|
|
__I uint32_t JDATACH : 3; //!<[00] Injected channel most recently converted
|
|
uint32_t UNUSED0 : 5; //!<[03]
|
|
__I uint32_t JDATA : 24; //!<[08] Injected group conversion data
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT1JDATAR_DEF (volatile DFSDM_FLT1JDATAR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DFSDM_FLT1RDATAR_DEF { //!< data register for the regular channel
|
|
struct {
|
|
__I uint32_t RDATACH : 3; //!<[00] Regular channel most recently converted
|
|
ONE_BIT UNUSED0 : 1; //!<[03]
|
|
__I ONE_BIT RPEND : 1; //!<[04] Regular channel pending data
|
|
uint32_t UNUSED1 : 3; //!<[05]
|
|
__I uint32_t RDATA : 24; //!<[08] Regular channel conversion data
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT1RDATAR_DEF (volatile DFSDM_FLT1RDATAR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DFSDM_FLT1AWHTR_DEF { //!< analog watchdog high threshold register
|
|
struct {
|
|
__IO uint32_t BKAWH : 4; //!<[00] Break signal assignment to analog watchdog high threshold event
|
|
uint32_t UNUSED0 : 4; //!<[04]
|
|
__IO uint32_t AWHT : 24; //!<[08] Analog watchdog high threshold
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT1AWHTR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT1AWHTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT1AWHTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT1AWLTR_DEF { //!< analog watchdog low threshold register
|
|
struct {
|
|
__IO uint32_t BKAWL : 4; //!<[00] Break signal assignment to analog watchdog low threshold event
|
|
uint32_t UNUSED0 : 4; //!<[04]
|
|
__IO uint32_t AWLT : 24; //!<[08] Analog watchdog low threshold
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT1AWLTR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT1AWLTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT1AWLTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT1AWSR_DEF { //!< analog watchdog status register
|
|
struct {
|
|
__I uint32_t AWLTF : 8; //!<[00] Analog watchdog low threshold flag
|
|
__I uint32_t AWHTF : 8; //!<[08] Analog watchdog high threshold flag
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT1AWSR_DEF (volatile DFSDM_FLT1AWSR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DFSDM_FLT1AWCFR_DEF { //!< analog watchdog clear flag register
|
|
struct {
|
|
__IO uint32_t CLRAWLTF : 8; //!<[00] Clear the analog watchdog low threshold flag
|
|
__IO uint32_t CLRAWHTF : 8; //!<[08] Clear the analog watchdog high threshold flag
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT1AWCFR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT1AWCFR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT1AWCFR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT1EXMAX_DEF { //!< Extremes detector maximum register
|
|
struct {
|
|
__I uint32_t EXMAXCH : 3; //!<[00] Extremes detector maximum data channel
|
|
uint32_t UNUSED0 : 5; //!<[03]
|
|
__I uint32_t EXMAX : 24; //!<[08] Extremes detector maximum value
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT1EXMAX_DEF (volatile DFSDM_FLT1EXMAX_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DFSDM_FLT1EXMIN_DEF { //!< Extremes detector minimum register
|
|
struct {
|
|
__I uint32_t EXMINCH : 3; //!<[00] Extremes detector minimum data channel
|
|
uint32_t UNUSED0 : 5; //!<[03]
|
|
__I uint32_t EXMIN : 24; //!<[08] EXMIN
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT1EXMIN_DEF (volatile DFSDM_FLT1EXMIN_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DFSDM_FLT1CNVTIMR_DEF { //!< conversion timer register
|
|
struct {
|
|
uint32_t UNUSED0 : 4; //!<[00]
|
|
__I uint32_t CNVCNT : 28; //!<[04] 28-bit timer counting conversion time t = CNVCNT[27:0] / fDFSDM_CKIN
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT1CNVTIMR_DEF (volatile DFSDM_FLT1CNVTIMR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DFSDM_FLT2CR1_DEF { //!< control register 1
|
|
struct {
|
|
__IO ONE_BIT DFEN : 1; //!<[00] DFSDM enable
|
|
__IO ONE_BIT JSWSTART : 1; //!<[01] Start a conversion of the injected group of channels
|
|
ONE_BIT UNUSED0 : 1; //!<[02]
|
|
__IO ONE_BIT JSYNC : 1; //!<[03] Launch an injected conversion synchronously with the DFSDM0 JSWSTART trigger
|
|
__IO ONE_BIT JSCAN : 1; //!<[04] Scanning conversion mode for injected conversions
|
|
__IO ONE_BIT JDMAEN : 1; //!<[05] DMA channel enabled to read data for the injected channel group
|
|
uint32_t UNUSED1 : 2; //!<[06]
|
|
__IO uint32_t JEXTSEL : 3; //!<[08] Trigger signal selection for launching injected conversions
|
|
uint32_t UNUSED2 : 2; //!<[11]
|
|
__IO uint32_t JEXTEN : 2; //!<[13] Trigger enable and trigger edge selection for injected conversions
|
|
uint32_t UNUSED3 : 2; //!<[15]
|
|
__IO ONE_BIT RSWSTART : 1; //!<[17] Software start of a conversion on the regular channel
|
|
__IO ONE_BIT RCONT : 1; //!<[18] Continuous mode selection for regular conversions
|
|
__IO ONE_BIT RSYNC : 1; //!<[19] Launch regular conversion synchronously with DFSDM0
|
|
ONE_BIT UNUSED4 : 1; //!<[20]
|
|
__IO ONE_BIT RDMAEN : 1; //!<[21] DMA channel enabled to read data for the regular conversion
|
|
uint32_t UNUSED5 : 2; //!<[22]
|
|
__IO uint32_t RCH : 3; //!<[24] Regular channel selection
|
|
uint32_t UNUSED6 : 2; //!<[27]
|
|
__IO ONE_BIT FAST : 1; //!<[29] Fast conversion mode selection for regular conversions
|
|
__IO ONE_BIT AWFSEL : 1; //!<[30] Analog watchdog fast mode select
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT2CR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT2CR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT2CR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT2CR2_DEF { //!< control register 2
|
|
struct {
|
|
__IO ONE_BIT JEOCIE : 1; //!<[00] Injected end of conversion interrupt enable
|
|
__IO ONE_BIT REOCIE : 1; //!<[01] Regular end of conversion interrupt enable
|
|
__IO ONE_BIT JOVRIE : 1; //!<[02] Injected data overrun interrupt enable
|
|
__IO ONE_BIT ROVRIE : 1; //!<[03] Regular data overrun interrupt enable
|
|
__IO ONE_BIT AWDIE : 1; //!<[04] Analog watchdog interrupt enable
|
|
__IO ONE_BIT SCDIE : 1; //!<[05] Short-circuit detector interrupt enable
|
|
__IO ONE_BIT CKABIE : 1; //!<[06] Clock absence interrupt enable
|
|
ONE_BIT UNUSED0 : 1; //!<[07]
|
|
__IO uint32_t EXCH : 8; //!<[08] Extremes detector channel selection
|
|
__IO uint32_t AWDCH : 8; //!<[16] Analog watchdog channel selection
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT2CR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT2CR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT2CR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT2ISR_DEF { //!< interrupt and status register
|
|
struct {
|
|
__I ONE_BIT JEOCF : 1; //!<[00] End of injected conversion flag
|
|
__I ONE_BIT REOCF : 1; //!<[01] End of regular conversion flag
|
|
__I ONE_BIT JOVRF : 1; //!<[02] Injected conversion overrun flag
|
|
__I ONE_BIT ROVRF : 1; //!<[03] Regular conversion overrun flag
|
|
__I ONE_BIT AWDF : 1; //!<[04] Analog watchdog
|
|
uint32_t UNUSED0 : 8; //!<[05]
|
|
__I ONE_BIT JCIP : 1; //!<[13] Injected conversion in progress status
|
|
__I ONE_BIT RCIP : 1; //!<[14] Regular conversion in progress status
|
|
ONE_BIT UNUSED1 : 1; //!<[15]
|
|
__I uint32_t CKABF : 8; //!<[16] Clock absence flag
|
|
__I uint32_t SCDF : 8; //!<[24] short-circuit detector flag
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT2ISR_DEF (volatile DFSDM_FLT2ISR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DFSDM_FLT2ICR_DEF { //!< interrupt flag clear register
|
|
struct {
|
|
uint32_t UNUSED0 : 2; //!<[00]
|
|
__IO ONE_BIT CLRJOVRF : 1; //!<[02] Clear the injected conversion overrun flag
|
|
__IO ONE_BIT CLRROVRF : 1; //!<[03] Clear the regular conversion overrun flag
|
|
uint32_t UNUSED1 : 12; //!<[04]
|
|
__IO uint32_t CLRCKABF : 8; //!<[16] Clear the clock absence flag
|
|
__IO uint32_t CLRSCDF : 8; //!<[24] Clear the short-circuit detector flag
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT2ICR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT2ICR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT2ICR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT2JCHGR_DEF { //!< injected channel group selection register
|
|
struct {
|
|
__IO uint32_t JCHG : 8; //!<[00] Injected channel group selection
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT2JCHGR_DEF () noexcept { R = 0x00000001u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT2JCHGR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT2JCHGR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT2FCR_DEF { //!< filter control register
|
|
struct {
|
|
__IO uint32_t IOSR : 8; //!<[00] Integrator oversampling ratio (averaging length)
|
|
uint32_t UNUSED0 : 8; //!<[08]
|
|
__IO uint32_t FOSR : 10; //!<[16] Sinc filter oversampling ratio (decimation rate)
|
|
uint32_t UNUSED1 : 3; //!<[26]
|
|
__IO uint32_t FORD : 3; //!<[29] Sinc filter order
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT2FCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT2FCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT2FCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT2JDATAR_DEF { //!< data register for injected group
|
|
struct {
|
|
__I uint32_t JDATACH : 3; //!<[00] Injected channel most recently converted
|
|
uint32_t UNUSED0 : 5; //!<[03]
|
|
__I uint32_t JDATA : 24; //!<[08] Injected group conversion data
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT2JDATAR_DEF (volatile DFSDM_FLT2JDATAR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DFSDM_FLT2RDATAR_DEF { //!< data register for the regular channel
|
|
struct {
|
|
__I uint32_t RDATACH : 3; //!<[00] Regular channel most recently converted
|
|
ONE_BIT UNUSED0 : 1; //!<[03]
|
|
__I ONE_BIT RPEND : 1; //!<[04] Regular channel pending data
|
|
uint32_t UNUSED1 : 3; //!<[05]
|
|
__I uint32_t RDATA : 24; //!<[08] Regular channel conversion data
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT2RDATAR_DEF (volatile DFSDM_FLT2RDATAR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DFSDM_FLT2AWHTR_DEF { //!< analog watchdog high threshold register
|
|
struct {
|
|
__IO uint32_t BKAWH : 4; //!<[00] Break signal assignment to analog watchdog high threshold event
|
|
uint32_t UNUSED0 : 4; //!<[04]
|
|
__IO uint32_t AWHT : 24; //!<[08] Analog watchdog high threshold
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT2AWHTR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT2AWHTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT2AWHTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT2AWLTR_DEF { //!< analog watchdog low threshold register
|
|
struct {
|
|
__IO uint32_t BKAWL : 4; //!<[00] Break signal assignment to analog watchdog low threshold event
|
|
uint32_t UNUSED0 : 4; //!<[04]
|
|
__IO uint32_t AWLT : 24; //!<[08] Analog watchdog low threshold
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT2AWLTR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT2AWLTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT2AWLTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT2AWSR_DEF { //!< analog watchdog status register
|
|
struct {
|
|
__I uint32_t AWLTF : 8; //!<[00] Analog watchdog low threshold flag
|
|
__I uint32_t AWHTF : 8; //!<[08] Analog watchdog high threshold flag
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT2AWSR_DEF (volatile DFSDM_FLT2AWSR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DFSDM_FLT2AWCFR_DEF { //!< analog watchdog clear flag register
|
|
struct {
|
|
__IO uint32_t CLRAWLTF : 8; //!<[00] Clear the analog watchdog low threshold flag
|
|
__IO uint32_t CLRAWHTF : 8; //!<[08] Clear the analog watchdog high threshold flag
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT2AWCFR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT2AWCFR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT2AWCFR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT2EXMAX_DEF { //!< Extremes detector maximum register
|
|
struct {
|
|
__I uint32_t EXMAXCH : 3; //!<[00] Extremes detector maximum data channel
|
|
uint32_t UNUSED0 : 5; //!<[03]
|
|
__I uint32_t EXMAX : 24; //!<[08] Extremes detector maximum value
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT2EXMAX_DEF (volatile DFSDM_FLT2EXMAX_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DFSDM_FLT2EXMIN_DEF { //!< Extremes detector minimum register
|
|
struct {
|
|
__I uint32_t EXMINCH : 3; //!<[00] Extremes detector minimum data channel
|
|
uint32_t UNUSED0 : 5; //!<[03]
|
|
__I uint32_t EXMIN : 24; //!<[08] EXMIN
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT2EXMIN_DEF (volatile DFSDM_FLT2EXMIN_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DFSDM_FLT2CNVTIMR_DEF { //!< conversion timer register
|
|
struct {
|
|
uint32_t UNUSED0 : 4; //!<[00]
|
|
__I uint32_t CNVCNT : 28; //!<[04] 28-bit timer counting conversion time t = CNVCNT[27:0] / fDFSDM_CKIN
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT2CNVTIMR_DEF (volatile DFSDM_FLT2CNVTIMR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DFSDM_FLT3CR1_DEF { //!< control register 1
|
|
struct {
|
|
__IO ONE_BIT DFEN : 1; //!<[00] DFSDM enable
|
|
__IO ONE_BIT JSWSTART : 1; //!<[01] Start a conversion of the injected group of channels
|
|
ONE_BIT UNUSED0 : 1; //!<[02]
|
|
__IO ONE_BIT JSYNC : 1; //!<[03] Launch an injected conversion synchronously with the DFSDM0 JSWSTART trigger
|
|
__IO ONE_BIT JSCAN : 1; //!<[04] Scanning conversion mode for injected conversions
|
|
__IO ONE_BIT JDMAEN : 1; //!<[05] DMA channel enabled to read data for the injected channel group
|
|
uint32_t UNUSED1 : 2; //!<[06]
|
|
__IO uint32_t JEXTSEL : 3; //!<[08] Trigger signal selection for launching injected conversions
|
|
uint32_t UNUSED2 : 2; //!<[11]
|
|
__IO uint32_t JEXTEN : 2; //!<[13] Trigger enable and trigger edge selection for injected conversions
|
|
uint32_t UNUSED3 : 2; //!<[15]
|
|
__IO ONE_BIT RSWSTART : 1; //!<[17] Software start of a conversion on the regular channel
|
|
__IO ONE_BIT RCONT : 1; //!<[18] Continuous mode selection for regular conversions
|
|
__IO ONE_BIT RSYNC : 1; //!<[19] Launch regular conversion synchronously with DFSDM0
|
|
ONE_BIT UNUSED4 : 1; //!<[20]
|
|
__IO ONE_BIT RDMAEN : 1; //!<[21] DMA channel enabled to read data for the regular conversion
|
|
uint32_t UNUSED5 : 2; //!<[22]
|
|
__IO uint32_t RCH : 3; //!<[24] Regular channel selection
|
|
uint32_t UNUSED6 : 2; //!<[27]
|
|
__IO ONE_BIT FAST : 1; //!<[29] Fast conversion mode selection for regular conversions
|
|
__IO ONE_BIT AWFSEL : 1; //!<[30] Analog watchdog fast mode select
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT3CR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT3CR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT3CR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT3CR2_DEF { //!< control register 2
|
|
struct {
|
|
__IO ONE_BIT JEOCIE : 1; //!<[00] Injected end of conversion interrupt enable
|
|
__IO ONE_BIT REOCIE : 1; //!<[01] Regular end of conversion interrupt enable
|
|
__IO ONE_BIT JOVRIE : 1; //!<[02] Injected data overrun interrupt enable
|
|
__IO ONE_BIT ROVRIE : 1; //!<[03] Regular data overrun interrupt enable
|
|
__IO ONE_BIT AWDIE : 1; //!<[04] Analog watchdog interrupt enable
|
|
__IO ONE_BIT SCDIE : 1; //!<[05] Short-circuit detector interrupt enable
|
|
__IO ONE_BIT CKABIE : 1; //!<[06] Clock absence interrupt enable
|
|
ONE_BIT UNUSED0 : 1; //!<[07]
|
|
__IO uint32_t EXCH : 8; //!<[08] Extremes detector channel selection
|
|
__IO uint32_t AWDCH : 8; //!<[16] Analog watchdog channel selection
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT3CR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT3CR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT3CR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT3ISR_DEF { //!< interrupt and status register
|
|
struct {
|
|
__I ONE_BIT JEOCF : 1; //!<[00] End of injected conversion flag
|
|
__I ONE_BIT REOCF : 1; //!<[01] End of regular conversion flag
|
|
__I ONE_BIT JOVRF : 1; //!<[02] Injected conversion overrun flag
|
|
__I ONE_BIT ROVRF : 1; //!<[03] Regular conversion overrun flag
|
|
__I ONE_BIT AWDF : 1; //!<[04] Analog watchdog
|
|
uint32_t UNUSED0 : 8; //!<[05]
|
|
__I ONE_BIT JCIP : 1; //!<[13] Injected conversion in progress status
|
|
__I ONE_BIT RCIP : 1; //!<[14] Regular conversion in progress status
|
|
ONE_BIT UNUSED1 : 1; //!<[15]
|
|
__I uint32_t CKABF : 8; //!<[16] Clock absence flag
|
|
__I uint32_t SCDF : 8; //!<[24] short-circuit detector flag
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT3ISR_DEF (volatile DFSDM_FLT3ISR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DFSDM_FLT3ICR_DEF { //!< interrupt flag clear register
|
|
struct {
|
|
uint32_t UNUSED0 : 2; //!<[00]
|
|
__IO ONE_BIT CLRJOVRF : 1; //!<[02] Clear the injected conversion overrun flag
|
|
__IO ONE_BIT CLRROVRF : 1; //!<[03] Clear the regular conversion overrun flag
|
|
uint32_t UNUSED1 : 12; //!<[04]
|
|
__IO uint32_t CLRCKABF : 8; //!<[16] Clear the clock absence flag
|
|
__IO uint32_t CLRSCDF : 8; //!<[24] Clear the short-circuit detector flag
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT3ICR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT3ICR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT3ICR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT3JCHGR_DEF { //!< injected channel group selection register
|
|
struct {
|
|
__IO uint32_t JCHG : 8; //!<[00] Injected channel group selection
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT3JCHGR_DEF () noexcept { R = 0x00000001u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT3JCHGR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT3JCHGR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT3FCR_DEF { //!< filter control register
|
|
struct {
|
|
__IO uint32_t IOSR : 8; //!<[00] Integrator oversampling ratio (averaging length)
|
|
uint32_t UNUSED0 : 8; //!<[08]
|
|
__IO uint32_t FOSR : 10; //!<[16] Sinc filter oversampling ratio (decimation rate)
|
|
uint32_t UNUSED1 : 3; //!<[26]
|
|
__IO uint32_t FORD : 3; //!<[29] Sinc filter order
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT3FCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT3FCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT3FCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT3JDATAR_DEF { //!< data register for injected group
|
|
struct {
|
|
__I uint32_t JDATACH : 3; //!<[00] Injected channel most recently converted
|
|
uint32_t UNUSED0 : 5; //!<[03]
|
|
__I uint32_t JDATA : 24; //!<[08] Injected group conversion data
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT3JDATAR_DEF (volatile DFSDM_FLT3JDATAR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DFSDM_FLT3RDATAR_DEF { //!< data register for the regular channel
|
|
struct {
|
|
__I uint32_t RDATACH : 3; //!<[00] Regular channel most recently converted
|
|
ONE_BIT UNUSED0 : 1; //!<[03]
|
|
__I ONE_BIT RPEND : 1; //!<[04] Regular channel pending data
|
|
uint32_t UNUSED1 : 3; //!<[05]
|
|
__I uint32_t RDATA : 24; //!<[08] Regular channel conversion data
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT3RDATAR_DEF (volatile DFSDM_FLT3RDATAR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DFSDM_FLT3AWHTR_DEF { //!< analog watchdog high threshold register
|
|
struct {
|
|
__IO uint32_t BKAWH : 4; //!<[00] Break signal assignment to analog watchdog high threshold event
|
|
uint32_t UNUSED0 : 4; //!<[04]
|
|
__IO uint32_t AWHT : 24; //!<[08] Analog watchdog high threshold
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT3AWHTR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT3AWHTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT3AWHTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT3AWLTR_DEF { //!< analog watchdog low threshold register
|
|
struct {
|
|
__IO uint32_t BKAWL : 4; //!<[00] Break signal assignment to analog watchdog low threshold event
|
|
uint32_t UNUSED0 : 4; //!<[04]
|
|
__IO uint32_t AWLT : 24; //!<[08] Analog watchdog low threshold
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT3AWLTR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT3AWLTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT3AWLTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT3AWSR_DEF { //!< analog watchdog status register
|
|
struct {
|
|
__I uint32_t AWLTF : 8; //!<[00] Analog watchdog low threshold flag
|
|
__I uint32_t AWHTF : 8; //!<[08] Analog watchdog high threshold flag
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT3AWSR_DEF (volatile DFSDM_FLT3AWSR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DFSDM_FLT3AWCFR_DEF { //!< analog watchdog clear flag register
|
|
struct {
|
|
__IO uint32_t CLRAWLTF : 8; //!<[00] Clear the analog watchdog low threshold flag
|
|
__IO uint32_t CLRAWHTF : 8; //!<[08] Clear the analog watchdog high threshold flag
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DFSDM_FLT3AWCFR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DFSDM_FLT3AWCFR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DFSDM_FLT3AWCFR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DFSDM_FLT3EXMAX_DEF { //!< Extremes detector maximum register
|
|
struct {
|
|
__I uint32_t EXMAXCH : 3; //!<[00] Extremes detector maximum data channel
|
|
uint32_t UNUSED0 : 5; //!<[03]
|
|
__I uint32_t EXMAX : 24; //!<[08] Extremes detector maximum value
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT3EXMAX_DEF (volatile DFSDM_FLT3EXMAX_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DFSDM_FLT3EXMIN_DEF { //!< Extremes detector minimum register
|
|
struct {
|
|
__I uint32_t EXMINCH : 3; //!<[00] Extremes detector minimum data channel
|
|
uint32_t UNUSED0 : 5; //!<[03]
|
|
__I uint32_t EXMIN : 24; //!<[08] EXMIN
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT3EXMIN_DEF (volatile DFSDM_FLT3EXMIN_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union DFSDM_FLT3CNVTIMR_DEF { //!< conversion timer register
|
|
struct {
|
|
uint32_t UNUSED0 : 4; //!<[00]
|
|
__I uint32_t CNVCNT : 28; //!<[04] 28-bit timer counting conversion time t = CNVCNT[27:0] / fDFSDM_CKIN
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit DFSDM_FLT3CNVTIMR_DEF (volatile DFSDM_FLT3CNVTIMR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
// PERIPHERAL DFSDM REGISTERS INSTANCES
|
|
__IO CH0CFGR1_DEF CH0CFGR1 ; //!< [0000](04)[0x00000000]
|
|
__IO CH0CFGR2_DEF CH0CFGR2 ; //!< [0004](04)[0x00000000]
|
|
__IO CH0AWSCDR_DEF CH0AWSCDR ; //!< [0008](04)[0x00000000]
|
|
__IO CH0WDATR_DEF CH0WDATR ; //!< [000c](04)[0x00000000]
|
|
__IO CH0DATINR_DEF CH0DATINR ; //!< [0010](04)[0x00000000]
|
|
__IO CH0DLYR_DEF CH0DLYR ; //!< [0014](04)[0x00000000]
|
|
uint32_t UNUSED0 [2]; //!< [0018](08)[0xFFFFFFFF]
|
|
__IO CH1CFGR1_DEF CH1CFGR1 ; //!< [0020](04)[0x00000000]
|
|
__IO CH1CFGR2_DEF CH1CFGR2 ; //!< [0024](04)[0x00000000]
|
|
__IO CH1AWSCDR_DEF CH1AWSCDR ; //!< [0028](04)[0x00000000]
|
|
__IO CH1WDATR_DEF CH1WDATR ; //!< [002c](04)[0x00000000]
|
|
__IO CH1DATINR_DEF CH1DATINR ; //!< [0030](04)[0x00000000]
|
|
__IO CH1DLYR_DEF CH1DLYR ; //!< [0034](04)[0x00000000]
|
|
uint32_t UNUSED1 [2]; //!< [0038](08)[0xFFFFFFFF]
|
|
__IO CH2CFGR1_DEF CH2CFGR1 ; //!< [0040](04)[0x00000000]
|
|
__IO CH2CFGR2_DEF CH2CFGR2 ; //!< [0044](04)[0x00000000]
|
|
__IO CH2AWSCDR_DEF CH2AWSCDR ; //!< [0048](04)[0x00000000]
|
|
__IO CH2WDATR_DEF CH2WDATR ; //!< [004c](04)[0x00000000]
|
|
__IO CH2DATINR_DEF CH2DATINR ; //!< [0050](04)[0x00000000]
|
|
__IO CH2DLYR_DEF CH2DLYR ; //!< [0054](04)[0x00000000]
|
|
uint32_t UNUSED2 [2]; //!< [0058](08)[0xFFFFFFFF]
|
|
__IO CH3CFGR1_DEF CH3CFGR1 ; //!< [0060](04)[0x00000000]
|
|
__IO CH3CFGR2_DEF CH3CFGR2 ; //!< [0064](04)[0x00000000]
|
|
__IO CH3AWSCDR_DEF CH3AWSCDR ; //!< [0068](04)[0x00000000]
|
|
__IO CH3WDATR_DEF CH3WDATR ; //!< [006c](04)[0x00000000]
|
|
__IO CH3DATINR_DEF CH3DATINR ; //!< [0070](04)[0x00000000]
|
|
__IO CH3DLYR_DEF CH3DLYR ; //!< [0074](04)[0x00000000]
|
|
uint32_t UNUSED3 [2]; //!< [0078](08)[0xFFFFFFFF]
|
|
__IO CH4CFGR1_DEF CH4CFGR1 ; //!< [0080](04)[0x00000000]
|
|
__IO CH4CFGR2_DEF CH4CFGR2 ; //!< [0084](04)[0x00000000]
|
|
__IO CH4AWSCDR_DEF CH4AWSCDR ; //!< [0088](04)[0x00000000]
|
|
__IO CH4WDATR_DEF CH4WDATR ; //!< [008c](04)[0x00000000]
|
|
__IO CH4DATINR_DEF CH4DATINR ; //!< [0090](04)[0x00000000]
|
|
__IO CH4DLYR_DEF CH4DLYR ; //!< [0094](04)[0x00000000]
|
|
uint32_t UNUSED4 [2]; //!< [0098](08)[0xFFFFFFFF]
|
|
__IO CH5CFGR1_DEF CH5CFGR1 ; //!< [00a0](04)[0x00000000]
|
|
__IO CH5CFGR2_DEF CH5CFGR2 ; //!< [00a4](04)[0x00000000]
|
|
__IO CH5AWSCDR_DEF CH5AWSCDR ; //!< [00a8](04)[0x00000000]
|
|
__IO CH5WDATR_DEF CH5WDATR ; //!< [00ac](04)[0x00000000]
|
|
__IO CH5DATINR_DEF CH5DATINR ; //!< [00b0](04)[0x00000000]
|
|
__IO CH5DLYR_DEF CH5DLYR ; //!< [00b4](04)[0x00000000]
|
|
uint32_t UNUSED5 [2]; //!< [00b8](08)[0xFFFFFFFF]
|
|
__IO CH6CFGR1_DEF CH6CFGR1 ; //!< [00c0](04)[0x00000000]
|
|
__IO CH6CFGR2_DEF CH6CFGR2 ; //!< [00c4](04)[0x00000000]
|
|
__IO CH6AWSCDR_DEF CH6AWSCDR ; //!< [00c8](04)[0x00000000]
|
|
__IO CH6WDATR_DEF CH6WDATR ; //!< [00cc](04)[0x00000000]
|
|
__IO CH6DATINR_DEF CH6DATINR ; //!< [00d0](04)[0x00000000]
|
|
__IO CH6DLYR_DEF CH6DLYR ; //!< [00d4](04)[0x00000000]
|
|
uint32_t UNUSED6 [2]; //!< [00d8](08)[0xFFFFFFFF]
|
|
__IO CH7CFGR1_DEF CH7CFGR1 ; //!< [00e0](04)[0x00000000]
|
|
__IO CH7CFGR2_DEF CH7CFGR2 ; //!< [00e4](04)[0x00000000]
|
|
__IO CH7AWSCDR_DEF CH7AWSCDR ; //!< [00e8](04)[0x00000000]
|
|
__IO CH7WDATR_DEF CH7WDATR ; //!< [00ec](04)[0x00000000]
|
|
__IO CH7DATINR_DEF CH7DATINR ; //!< [00f0](04)[0x00000000]
|
|
__IO CH7DLYR_DEF CH7DLYR ; //!< [00f4](04)[0x00000000]
|
|
uint32_t UNUSED7 [2]; //!< [00f8](08)[0xFFFFFFFF]
|
|
__IO DFSDM_FLT0CR1_DEF DFSDM_FLT0CR1 ; //!< [0100](04)[0x00000000]
|
|
__IO DFSDM_FLT0CR2_DEF DFSDM_FLT0CR2 ; //!< [0104](04)[0x00000000]
|
|
__I DFSDM_FLT0ISR_DEF DFSDM_FLT0ISR ; //!< [0108](04)[0x00FF0000]
|
|
__IO DFSDM_FLT0ICR_DEF DFSDM_FLT0ICR ; //!< [010c](04)[0x00000000]
|
|
__IO DFSDM_FLT0JCHGR_DEF DFSDM_FLT0JCHGR ; //!< [0110](04)[0x00000001]
|
|
__IO DFSDM_FLT0FCR_DEF DFSDM_FLT0FCR ; //!< [0114](04)[0x00000000]
|
|
__I DFSDM_FLT0JDATAR_DEF DFSDM_FLT0JDATAR ; //!< [0118](04)[0x00000000]
|
|
__I DFSDM_FLT0RDATAR_DEF DFSDM_FLT0RDATAR ; //!< [011c](04)[0x00000000]
|
|
__IO DFSDM_FLT0AWHTR_DEF DFSDM_FLT0AWHTR ; //!< [0120](04)[0x00000000]
|
|
__IO DFSDM_FLT0AWLTR_DEF DFSDM_FLT0AWLTR ; //!< [0124](04)[0x00000000]
|
|
__I DFSDM_FLT0AWSR_DEF DFSDM_FLT0AWSR ; //!< [0128](04)[0x00000000]
|
|
__IO DFSDM_FLT0AWCFR_DEF DFSDM_FLT0AWCFR ; //!< [012c](04)[0x00000000]
|
|
__I DFSDM_FLT0EXMAX_DEF DFSDM_FLT0EXMAX ; //!< [0130](04)[0x80000000]
|
|
__I DFSDM_FLT0EXMIN_DEF DFSDM_FLT0EXMIN ; //!< [0134](04)[0x7FFFFF00]
|
|
__I DFSDM_FLT0CNVTIMR_DEF DFSDM_FLT0CNVTIMR ; //!< [0138](04)[0x00000000]
|
|
uint32_t UNUSED8 [17]; //!< [013c](44)[0xFFFFFFFF]
|
|
__IO DFSDM_FLT1CR1_DEF DFSDM_FLT1CR1 ; //!< [0180](04)[0x00000000]
|
|
__IO DFSDM_FLT1CR2_DEF DFSDM_FLT1CR2 ; //!< [0184](04)[0x00000000]
|
|
__I DFSDM_FLT1ISR_DEF DFSDM_FLT1ISR ; //!< [0188](04)[0x00FF0000]
|
|
__IO DFSDM_FLT1ICR_DEF DFSDM_FLT1ICR ; //!< [018c](04)[0x00000000]
|
|
__IO DFSDM_FLT1CHGR_DEF DFSDM_FLT1CHGR ; //!< [0190](04)[0x00000001]
|
|
__IO DFSDM_FLT1FCR_DEF DFSDM_FLT1FCR ; //!< [0194](04)[0x00000000]
|
|
__I DFSDM_FLT1JDATAR_DEF DFSDM_FLT1JDATAR ; //!< [0198](04)[0x00000000]
|
|
__I DFSDM_FLT1RDATAR_DEF DFSDM_FLT1RDATAR ; //!< [019c](04)[0x00000000]
|
|
__IO DFSDM_FLT1AWHTR_DEF DFSDM_FLT1AWHTR ; //!< [01a0](04)[0x00000000]
|
|
__IO DFSDM_FLT1AWLTR_DEF DFSDM_FLT1AWLTR ; //!< [01a4](04)[0x00000000]
|
|
__I DFSDM_FLT1AWSR_DEF DFSDM_FLT1AWSR ; //!< [01a8](04)[0x00000000]
|
|
__IO DFSDM_FLT1AWCFR_DEF DFSDM_FLT1AWCFR ; //!< [01ac](04)[0x00000000]
|
|
__I DFSDM_FLT1EXMAX_DEF DFSDM_FLT1EXMAX ; //!< [01b0](04)[0x80000000]
|
|
__I DFSDM_FLT1EXMIN_DEF DFSDM_FLT1EXMIN ; //!< [01b4](04)[0x7FFFFF00]
|
|
__I DFSDM_FLT1CNVTIMR_DEF DFSDM_FLT1CNVTIMR ; //!< [01b8](04)[0x00000000]
|
|
uint32_t UNUSED9 [17]; //!< [01bc](44)[0xFFFFFFFF]
|
|
__IO DFSDM_FLT2CR1_DEF DFSDM_FLT2CR1 ; //!< [0200](04)[0x00000000]
|
|
__IO DFSDM_FLT2CR2_DEF DFSDM_FLT2CR2 ; //!< [0204](04)[0x00000000]
|
|
__I DFSDM_FLT2ISR_DEF DFSDM_FLT2ISR ; //!< [0208](04)[0x00FF0000]
|
|
__IO DFSDM_FLT2ICR_DEF DFSDM_FLT2ICR ; //!< [020c](04)[0x00000000]
|
|
__IO DFSDM_FLT2JCHGR_DEF DFSDM_FLT2JCHGR ; //!< [0210](04)[0x00000001]
|
|
__IO DFSDM_FLT2FCR_DEF DFSDM_FLT2FCR ; //!< [0214](04)[0x00000000]
|
|
__I DFSDM_FLT2JDATAR_DEF DFSDM_FLT2JDATAR ; //!< [0218](04)[0x00000000]
|
|
__I DFSDM_FLT2RDATAR_DEF DFSDM_FLT2RDATAR ; //!< [021c](04)[0x00000000]
|
|
__IO DFSDM_FLT2AWHTR_DEF DFSDM_FLT2AWHTR ; //!< [0220](04)[0x00000000]
|
|
__IO DFSDM_FLT2AWLTR_DEF DFSDM_FLT2AWLTR ; //!< [0224](04)[0x00000000]
|
|
__I DFSDM_FLT2AWSR_DEF DFSDM_FLT2AWSR ; //!< [0228](04)[0x00000000]
|
|
__IO DFSDM_FLT2AWCFR_DEF DFSDM_FLT2AWCFR ; //!< [022c](04)[0x00000000]
|
|
__I DFSDM_FLT2EXMAX_DEF DFSDM_FLT2EXMAX ; //!< [0230](04)[0x80000000]
|
|
__I DFSDM_FLT2EXMIN_DEF DFSDM_FLT2EXMIN ; //!< [0234](04)[0x7FFFFF00]
|
|
__I DFSDM_FLT2CNVTIMR_DEF DFSDM_FLT2CNVTIMR ; //!< [0238](04)[0x00000000]
|
|
uint32_t UNUSED10 [17]; //!< [023c](44)[0xFFFFFFFF]
|
|
__IO DFSDM_FLT3CR1_DEF DFSDM_FLT3CR1 ; //!< [0280](04)[0x00000000]
|
|
__IO DFSDM_FLT3CR2_DEF DFSDM_FLT3CR2 ; //!< [0284](04)[0x00000000]
|
|
__I DFSDM_FLT3ISR_DEF DFSDM_FLT3ISR ; //!< [0288](04)[0x00FF0000]
|
|
__IO DFSDM_FLT3ICR_DEF DFSDM_FLT3ICR ; //!< [028c](04)[0x00000000]
|
|
__IO DFSDM_FLT3JCHGR_DEF DFSDM_FLT3JCHGR ; //!< [0290](04)[0x00000001]
|
|
__IO DFSDM_FLT3FCR_DEF DFSDM_FLT3FCR ; //!< [0294](04)[0x00000000]
|
|
__I DFSDM_FLT3JDATAR_DEF DFSDM_FLT3JDATAR ; //!< [0298](04)[0x00000000]
|
|
__I DFSDM_FLT3RDATAR_DEF DFSDM_FLT3RDATAR ; //!< [029c](04)[0x00000000]
|
|
__IO DFSDM_FLT3AWHTR_DEF DFSDM_FLT3AWHTR ; //!< [02a0](04)[0x00000000]
|
|
__IO DFSDM_FLT3AWLTR_DEF DFSDM_FLT3AWLTR ; //!< [02a4](04)[0x00000000]
|
|
__I DFSDM_FLT3AWSR_DEF DFSDM_FLT3AWSR ; //!< [02a8](04)[0x00000000]
|
|
__IO DFSDM_FLT3AWCFR_DEF DFSDM_FLT3AWCFR ; //!< [02ac](04)[0x00000000]
|
|
__I DFSDM_FLT3EXMAX_DEF DFSDM_FLT3EXMAX ; //!< [02b0](04)[0x80000000]
|
|
__I DFSDM_FLT3EXMIN_DEF DFSDM_FLT3EXMIN ; //!< [02b4](04)[0x7FFFFF00]
|
|
__I DFSDM_FLT3CNVTIMR_DEF DFSDM_FLT3CNVTIMR ; //!< [02b8](04)[0x00000000]
|
|
}; /* total size = 0x0500, struct size = 0x02BC */
|
|
|
|
// ////////////////////+++ QUADSPI +-+//////////////////// //
|
|
struct QUADSPI_Type { /*!< QuadSPI interface */
|
|
union CR_DEF { //!< control register
|
|
struct {
|
|
__IO ONE_BIT EN : 1; //!<[00] Enable
|
|
__IO ONE_BIT ABORT : 1; //!<[01] Abort request
|
|
__IO ONE_BIT DMAEN : 1; //!<[02] DMA enable
|
|
__IO ONE_BIT TCEN : 1; //!<[03] Timeout counter enable
|
|
__IO ONE_BIT SSHIFT : 1; //!<[04] Sample shift
|
|
ONE_BIT UNUSED0 : 1; //!<[05]
|
|
__IO ONE_BIT DFM : 1; //!<[06] Dual-flash mode
|
|
__IO ONE_BIT FSEL : 1; //!<[07] FLASH memory selection
|
|
__IO uint32_t FTHRES : 5; //!<[08] IFO threshold level
|
|
uint32_t UNUSED1 : 3; //!<[13]
|
|
__IO ONE_BIT TEIE : 1; //!<[16] Transfer error interrupt enable
|
|
__IO ONE_BIT TCIE : 1; //!<[17] Transfer complete interrupt enable
|
|
__IO ONE_BIT FTIE : 1; //!<[18] FIFO threshold interrupt enable
|
|
__IO ONE_BIT SMIE : 1; //!<[19] Status match interrupt enable
|
|
__IO ONE_BIT TOIE : 1; //!<[20] TimeOut interrupt enable
|
|
ONE_BIT UNUSED2 : 1; //!<[21]
|
|
__IO ONE_BIT APMS : 1; //!<[22] Automatic poll mode stop
|
|
__IO ONE_BIT PMM : 1; //!<[23] Polling match mode
|
|
__IO uint32_t PRESCALER : 8; //!<[24] Clock prescaler
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DCR_DEF { //!< device configuration register
|
|
struct {
|
|
__IO ONE_BIT CKMODE : 1; //!<[00] Mode 0 / mode 3
|
|
uint32_t UNUSED0 : 7; //!<[01]
|
|
__IO uint32_t CSHT : 3; //!<[08] Chip select high time
|
|
uint32_t UNUSED1 : 5; //!<[11]
|
|
__IO uint32_t FSIZE : 5; //!<[16] FLASH memory size
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union SR_DEF { //!< status register
|
|
struct {
|
|
__I ONE_BIT TEF : 1; //!<[00] Transfer error flag
|
|
__I ONE_BIT TCF : 1; //!<[01] Transfer complete flag
|
|
__I ONE_BIT FTF : 1; //!<[02] FIFO threshold flag
|
|
__I ONE_BIT SMF : 1; //!<[03] Status match flag
|
|
__I ONE_BIT TOF : 1; //!<[04] Timeout flag
|
|
__I ONE_BIT BUSY : 1; //!<[05] Busy
|
|
uint32_t UNUSED0 : 2; //!<[06]
|
|
__I uint32_t FLEVEL : 7; //!<[08] FIFO level
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit SR_DEF (volatile SR_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union FCR_DEF { //!< flag clear register
|
|
struct {
|
|
__IO ONE_BIT CTEF : 1; //!<[00] Clear transfer error flag
|
|
__IO ONE_BIT CTCF : 1; //!<[01] Clear transfer complete flag
|
|
ONE_BIT UNUSED0 : 1; //!<[02]
|
|
__IO ONE_BIT CSMF : 1; //!<[03] Clear status match flag
|
|
__IO ONE_BIT CTOF : 1; //!<[04] Clear timeout flag
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit FCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
FCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
FCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DLR_DEF { //!< data length register
|
|
struct {
|
|
__IO uint32_t DL : 32; //!<[00] Data length
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DLR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DLR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DLR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union CCR_DEF { //!< communication configuration register
|
|
struct {
|
|
__IO uint32_t INSTRUCTION : 8; //!<[00] Instruction
|
|
__IO uint32_t IMODE : 2; //!<[08] Instruction mode
|
|
__IO uint32_t ADMODE : 2; //!<[10] Address mode
|
|
__IO uint32_t ADSIZE : 2; //!<[12] Address size
|
|
__IO uint32_t ABMODE : 2; //!<[14] Alternate bytes mode
|
|
__IO uint32_t ABSIZE : 2; //!<[16] Alternate bytes size
|
|
__IO uint32_t DCYC : 5; //!<[18] Number of dummy cycles
|
|
ONE_BIT UNUSED0 : 1; //!<[23]
|
|
__IO uint32_t DMODE : 2; //!<[24] Data mode
|
|
__IO uint32_t FMODE : 2; //!<[26] Functional mode
|
|
__IO ONE_BIT SIOO : 1; //!<[28] Send instruction only once mode
|
|
ONE_BIT UNUSED1 : 1; //!<[29]
|
|
__IO ONE_BIT DHHC : 1; //!<[30] DDR hold half cycle
|
|
__IO ONE_BIT DDRM : 1; //!<[31] Double data rate mode
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CCR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CCR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CCR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union AR_DEF { //!< address register
|
|
struct {
|
|
__IO uint32_t ADDRESS : 32; //!<[00] Address
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit AR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
AR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
AR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union ABR_DEF { //!< ABR
|
|
struct {
|
|
__IO uint32_t ALTERNATE : 32; //!<[00] ALTERNATE
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit ABR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
ABR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
ABR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union DR_DEF { //!< data register
|
|
struct {
|
|
__IO uint32_t DATA : 32; //!<[00] Data
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit DR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
DR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
DR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PSMKR_DEF { //!< polling status mask register
|
|
struct {
|
|
__IO uint32_t MASK : 32; //!<[00] Status mask
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PSMKR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PSMKR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PSMKR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PSMAR_DEF { //!< polling status match register
|
|
struct {
|
|
__IO uint32_t MATCH : 32; //!<[00] Status match
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PSMAR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PSMAR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PSMAR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union PIR_DEF { //!< polling interval register
|
|
struct {
|
|
__IO uint32_t INTERVAL : 16; //!<[00] Polling interval
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit PIR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
PIR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
PIR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union LPTR_DEF { //!< low-power timeout register
|
|
struct {
|
|
__IO uint32_t TIMEOUT : 16; //!<[00] Timeout period
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit LPTR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
LPTR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
LPTR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL QUADSPI REGISTERS INSTANCES
|
|
__IO CR_DEF CR ; //!< [0000](04)[0x00000000]
|
|
__IO DCR_DEF DCR ; //!< [0004](04)[0x00000000]
|
|
__I SR_DEF SR ; //!< [0008](04)[0x00000000]
|
|
__IO FCR_DEF FCR ; //!< [000c](04)[0x00000000]
|
|
__IO DLR_DEF DLR ; //!< [0010](04)[0x00000000]
|
|
__IO CCR_DEF CCR ; //!< [0014](04)[0x00000000]
|
|
__IO AR_DEF AR ; //!< [0018](04)[0x00000000]
|
|
__IO ABR_DEF ABR ; //!< [001c](04)[0x00000000]
|
|
__IO DR_DEF DR ; //!< [0020](04)[0x00000000]
|
|
__IO PSMKR_DEF PSMKR ; //!< [0024](04)[0x00000000]
|
|
__IO PSMAR_DEF PSMAR ; //!< [0028](04)[0x00000000]
|
|
__IO PIR_DEF PIR ; //!< [002c](04)[0x00000000]
|
|
__IO LPTR_DEF LPTR ; //!< [0030](04)[0x00000000]
|
|
}; /* total size = 0x0400, struct size = 0x0034 */
|
|
|
|
// ////////////////////+++ DBGMCU +-+//////////////////// //
|
|
struct DBGMCU_Type { /*!< MCU debug component */
|
|
union IDCODE_DEF { //!< DBGMCU_IDCODE
|
|
struct {
|
|
__I uint32_t DEV_ID : 12; //!<[00] Device identifier
|
|
uint32_t UNUSED0 : 4; //!<[12]
|
|
__I uint32_t REV_ID : 16; //!<[16] Revision identifie
|
|
} B;
|
|
__I uint32_t R;
|
|
|
|
explicit IDCODE_DEF (volatile IDCODE_DEF & o) noexcept { R = o.R; };
|
|
};
|
|
union CR_DEF { //!< Debug MCU configuration register
|
|
struct {
|
|
__IO ONE_BIT DBG_SLEEP : 1; //!<[00] Debug Sleep mode
|
|
__IO ONE_BIT DBG_STOP : 1; //!<[01] Debug Stop mode
|
|
__IO ONE_BIT DBG_STANDBY : 1; //!<[02] Debug Standby mode
|
|
uint32_t UNUSED0 : 2; //!<[03]
|
|
__IO ONE_BIT TRACE_IOEN : 1; //!<[05] Trace pin assignment control
|
|
__IO uint32_t TRACE_MODE : 2; //!<[06] Trace pin assignment control
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit CR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
CR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
CR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union APB1FZR1_DEF { //!< Debug MCU APB1 freeze register1
|
|
struct {
|
|
__IO ONE_BIT DBG_TIM2_STOP : 1; //!<[00] TIM2 counter stopped when core is halted
|
|
uint32_t UNUSED0 : 3; //!<[01]
|
|
__IO ONE_BIT DBG_TIM6_STOP : 1; //!<[04] TIM6 counter stopped when core is halted
|
|
__IO ONE_BIT DBG_TIM7_STOP : 1; //!<[05] TIM7 counter stopped when core is halted
|
|
uint32_t UNUSED1 : 4; //!<[06]
|
|
__IO ONE_BIT DBG_RTC_STOP : 1; //!<[10] RTC counter stopped when core is halted
|
|
__IO ONE_BIT DBG_WWDG_STOP : 1; //!<[11] Window watchdog counter stopped when core is halted
|
|
__IO ONE_BIT DBG_IWDG_STOP : 1; //!<[12] Independent watchdog counter stopped when core is halted
|
|
uint32_t UNUSED2 : 8; //!<[13]
|
|
__IO ONE_BIT DBG_I2C1_STOP : 1; //!<[21] I2C1 SMBUS timeout counter stopped when core is halted
|
|
__IO ONE_BIT DBG_I2C2_STOP : 1; //!<[22] I2C2 SMBUS timeout counter stopped when core is halted
|
|
__IO ONE_BIT DBG_I2C3_STOP : 1; //!<[23] I2C3 SMBUS timeout counter stopped when core is halted
|
|
ONE_BIT UNUSED3 : 1; //!<[24]
|
|
__IO ONE_BIT DBG_CAN_STOP : 1; //!<[25] bxCAN stopped when core is halted
|
|
uint32_t UNUSED4 : 5; //!<[26]
|
|
__IO ONE_BIT DBG_LPTIM1_STOP : 1; //!<[31] LPTIM1 counter stopped when core is halted
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit APB1FZR1_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
APB1FZR1_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
APB1FZR1_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union APB1FZR2_DEF { //!< Debug MCU APB1 freeze register 2
|
|
struct {
|
|
uint32_t UNUSED0 : 5; //!<[00]
|
|
__IO ONE_BIT DBG_LPTIM2_STOP : 1; //!<[05] LPTIM2 counter stopped when core is halted
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit APB1FZR2_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
APB1FZR2_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
APB1FZR2_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
union APB2FZR_DEF { //!< Debug MCU APB2 freeze register
|
|
struct {
|
|
uint32_t UNUSED0 : 11; //!<[00]
|
|
__IO ONE_BIT DBG_TIM1_STOP : 1; //!<[11] TIM1 counter stopped when core is halted
|
|
uint32_t UNUSED1 : 4; //!<[12]
|
|
__IO ONE_BIT DBG_TIM15_STOP : 1; //!<[16] TIM15 counter stopped when core is halted
|
|
__IO ONE_BIT DBG_TIM16_STOP : 1; //!<[17] TIM16 counter stopped when core is halted
|
|
} B;
|
|
__IO uint32_t R;
|
|
explicit APB2FZR_DEF () noexcept { R = 0x00000000u; }
|
|
template<typename F> void setbit (F f) volatile {
|
|
APB2FZR_DEF r;
|
|
R = f (r);
|
|
}
|
|
template<typename F> void modify (F f) volatile {
|
|
APB2FZR_DEF r; r.R = R;
|
|
R = f (r);
|
|
}
|
|
};
|
|
// PERIPHERAL DBGMCU REGISTERS INSTANCES
|
|
__I IDCODE_DEF IDCODE ; //!< [0000](04)[0x00000000]
|
|
__IO CR_DEF CR ; //!< [0004](04)[0x00000000]
|
|
__IO APB1FZR1_DEF APB1FZR1 ; //!< [0008](04)[0x00000000]
|
|
__IO APB1FZR2_DEF APB1FZR2 ; //!< [000c](04)[0x00000000]
|
|
__IO APB2FZR_DEF APB2FZR ; //!< [0010](04)[0x00000000]
|
|
}; /* total size = 0x0015, struct size = 0x0014 */
|
|
static TIM2_Type & TIM2 = * reinterpret_cast<TIM2_Type * const> (0x40000000);
|
|
static TIM2_Type & TIM3 = * reinterpret_cast<TIM2_Type * const> (0x40000400);
|
|
static TIM6_Type & TIM6 = * reinterpret_cast<TIM6_Type * const> (0x40001000);
|
|
static TIM6_Type & TIM7 = * reinterpret_cast<TIM6_Type * const> (0x40001400);
|
|
static LCD_Type & LCD = * reinterpret_cast<LCD_Type * const> (0x40002400);
|
|
static RTC_Type & RTC = * reinterpret_cast<RTC_Type * const> (0x40002800);
|
|
static WWDG_Type & WWDG = * reinterpret_cast<WWDG_Type * const> (0x40002c00);
|
|
static IWDG_Type & IWDG = * reinterpret_cast<IWDG_Type * const> (0x40003000);
|
|
static SPI1_Type & SPI2 = * reinterpret_cast<SPI1_Type * const> (0x40003800);
|
|
static SPI1_Type & SPI3 = * reinterpret_cast<SPI1_Type * const> (0x40003c00);
|
|
static USART1_Type & USART2 = * reinterpret_cast<USART1_Type * const> (0x40004400);
|
|
static USART3_Type & USART3 = * reinterpret_cast<USART3_Type * const> (0x40004800);
|
|
static USART1_Type & UART4 = * reinterpret_cast<USART1_Type * const> (0x40004c00);
|
|
static I2C1_Type & I2C1 = * reinterpret_cast<I2C1_Type * const> (0x40005400);
|
|
static I2C1_Type & I2C2 = * reinterpret_cast<I2C1_Type * const> (0x40005800);
|
|
static I2C1_Type & I2C3 = * reinterpret_cast<I2C1_Type * const> (0x40005c00);
|
|
static CRS_Type & CRS = * reinterpret_cast<CRS_Type * const> (0x40006000);
|
|
static CAN1_Type & CAN1 = * reinterpret_cast<CAN1_Type * const> (0x40006400);
|
|
static USB_SRAM_Type & USB_FS = * reinterpret_cast<USB_SRAM_Type * const> (0x40006800);
|
|
static USB_SRAM_Type & USB_SRAM = * reinterpret_cast<USB_SRAM_Type * const> (0x40006c00);
|
|
static PWR_Type & PWR = * reinterpret_cast<PWR_Type * const> (0x40007000);
|
|
static DAC1_Type & DAC1 = * reinterpret_cast<DAC1_Type * const> (0x40007400);
|
|
static OPAMP_Type & OPAMP = * reinterpret_cast<OPAMP_Type * const> (0x40007800);
|
|
static LPTIM1_Type & LPTIM1 = * reinterpret_cast<LPTIM1_Type * const> (0x40007c00);
|
|
static LPUART1_Type & LPUART1 = * reinterpret_cast<LPUART1_Type * const> (0x40008000);
|
|
static I2C1_Type & I2C4 = * reinterpret_cast<I2C1_Type * const> (0x40008400);
|
|
static SWPMI1_Type & SWPMI1 = * reinterpret_cast<SWPMI1_Type * const> (0x40008800);
|
|
static LPTIM1_Type & LPTIM2 = * reinterpret_cast<LPTIM1_Type * const> (0x40009400);
|
|
static SYSCFG_Type & SYSCFG = * reinterpret_cast<SYSCFG_Type * const> (0x40010000);
|
|
static VREFBUF_Type & VREFBUF = * reinterpret_cast<VREFBUF_Type * const> (0x40010030);
|
|
static COMP_Type & COMP = * reinterpret_cast<COMP_Type * const> (0x40010200);
|
|
static EXTI_Type & EXTI = * reinterpret_cast<EXTI_Type * const> (0x40010400);
|
|
static FIREWALL_Type & FIREWALL = * reinterpret_cast<FIREWALL_Type * const> (0x40011c00);
|
|
static SDMMC_Type & SDMMC = * reinterpret_cast<SDMMC_Type * const> (0x40012800);
|
|
static TIM1_Type & TIM1 = * reinterpret_cast<TIM1_Type * const> (0x40012c00);
|
|
static SPI1_Type & SPI1 = * reinterpret_cast<SPI1_Type * const> (0x40013000);
|
|
static USART1_Type & USART1 = * reinterpret_cast<USART1_Type * const> (0x40013800);
|
|
static TIM15_Type & TIM15 = * reinterpret_cast<TIM15_Type * const> (0x40014000);
|
|
static TIM16_Type & TIM16 = * reinterpret_cast<TIM16_Type * const> (0x40014400);
|
|
static SAI1_Type & SAI1 = * reinterpret_cast<SAI1_Type * const> (0x40015400);
|
|
static DFSDM_Type & DFSDM = * reinterpret_cast<DFSDM_Type * const> (0x40016000);
|
|
static DMA1_Type & DMA1 = * reinterpret_cast<DMA1_Type * const> (0x40020000);
|
|
static DMA1_Type & DMA2 = * reinterpret_cast<DMA1_Type * const> (0x40020400);
|
|
static RCC_Type & RCC = * reinterpret_cast<RCC_Type * const> (0x40021000);
|
|
static FLASH_Type & FLASH = * reinterpret_cast<FLASH_Type * const> (0x40022000);
|
|
static CRC_Type & CRC = * reinterpret_cast<CRC_Type * const> (0x40023000);
|
|
static TSC_Type & TSC = * reinterpret_cast<TSC_Type * const> (0x40024000);
|
|
static GPIOA_Type & GPIOA = * reinterpret_cast<GPIOA_Type * const> (0x48000000);
|
|
static GPIOA_Type & GPIOB = * reinterpret_cast<GPIOA_Type * const> (0x48000400);
|
|
static GPIOA_Type & GPIOC = * reinterpret_cast<GPIOA_Type * const> (0x48000800);
|
|
static GPIOA_Type & GPIOD = * reinterpret_cast<GPIOA_Type * const> (0x48000c00);
|
|
static GPIOA_Type & GPIOE = * reinterpret_cast<GPIOA_Type * const> (0x48001000);
|
|
static GPIOA_Type & GPIOH = * reinterpret_cast<GPIOA_Type * const> (0x48001c00);
|
|
static ADC1_Type & ADC1 = * reinterpret_cast<ADC1_Type * const> (0x50040000);
|
|
static ADC1_Type & ADC2 = * reinterpret_cast<ADC1_Type * const> (0x50040100);
|
|
static ADC1_Type & ADC3 = * reinterpret_cast<ADC1_Type * const> (0x50040200);
|
|
static ADC123_Common_Type & ADC123_Common = * reinterpret_cast<ADC123_Common_Type * const> (0x50040300);
|
|
static AES_Type & AES = * reinterpret_cast<AES_Type * const> (0x50060000);
|
|
static RNG_Type & RNG = * reinterpret_cast<RNG_Type * const> (0x50060800);
|
|
static QUADSPI_Type & QUADSPI = * reinterpret_cast<QUADSPI_Type * const> (0xa0001000);
|
|
static DBGMCU_Type & DBGMCU = * reinterpret_cast<DBGMCU_Type * const> (0xe0042000);
|
|
|
|
static_assert (sizeof(struct TIM2_Type) == 84, "size error TIM2");
|
|
static_assert (sizeof(struct TIM6_Type) == 48, "size error TIM6");
|
|
static_assert (sizeof(struct LCD_Type) == 80, "size error LCD");
|
|
static_assert (sizeof(struct RTC_Type) == 208, "size error RTC");
|
|
static_assert (sizeof(struct WWDG_Type) == 12, "size error WWDG");
|
|
static_assert (sizeof(struct IWDG_Type) == 20, "size error IWDG");
|
|
static_assert (sizeof(struct USART3_Type) == 44, "size error USART3");
|
|
static_assert (sizeof(struct I2C1_Type) == 44, "size error I2C1");
|
|
static_assert (sizeof(struct CRS_Type) == 16, "size error CRS");
|
|
static_assert (sizeof(struct CAN1_Type) == 800, "size error CAN1");
|
|
static_assert (sizeof(struct USB_SRAM_Type) == 92, "size error USB_SRAM");
|
|
static_assert (sizeof(struct PWR_Type) == 96, "size error PWR");
|
|
static_assert (sizeof(struct DAC1_Type) == 80, "size error DAC1");
|
|
static_assert (sizeof(struct OPAMP_Type) == 28, "size error OPAMP");
|
|
static_assert (sizeof(struct LPTIM1_Type) == 44, "size error LPTIM1");
|
|
static_assert (sizeof(struct LPUART1_Type) == 44, "size error LPUART1");
|
|
static_assert (sizeof(struct SWPMI1_Type) == 36, "size error SWPMI1");
|
|
static_assert (sizeof(struct SYSCFG_Type) == 40, "size error SYSCFG");
|
|
static_assert (sizeof(struct VREFBUF_Type) == 8, "size error VREFBUF");
|
|
static_assert (sizeof(struct COMP_Type) == 8, "size error COMP");
|
|
static_assert (sizeof(struct EXTI_Type) == 56, "size error EXTI");
|
|
static_assert (sizeof(struct FIREWALL_Type) == 36, "size error FIREWALL");
|
|
static_assert (sizeof(struct SDMMC_Type) == 132, "size error SDMMC");
|
|
static_assert (sizeof(struct TIM1_Type) == 104, "size error TIM1");
|
|
static_assert (sizeof(struct SPI1_Type) == 28, "size error SPI1");
|
|
static_assert (sizeof(struct USART1_Type) == 44, "size error USART1");
|
|
static_assert (sizeof(struct TIM15_Type) == 100, "size error TIM15");
|
|
static_assert (sizeof(struct TIM16_Type) == 100, "size error TIM16");
|
|
static_assert (sizeof(struct SAI1_Type) == 68, "size error SAI1");
|
|
static_assert (sizeof(struct DFSDM_Type) == 700, "size error DFSDM");
|
|
static_assert (sizeof(struct DMA1_Type) == 172, "size error DMA1");
|
|
static_assert (sizeof(struct RCC_Type) == 156, "size error RCC");
|
|
static_assert (sizeof(struct FLASH_Type) == 52, "size error FLASH");
|
|
static_assert (sizeof(struct CRC_Type) == 24, "size error CRC");
|
|
static_assert (sizeof(struct TSC_Type) == 84, "size error TSC");
|
|
static_assert (sizeof(struct GPIOA_Type) == 40, "size error GPIOA");
|
|
static_assert (sizeof(struct ADC1_Type) == 184, "size error ADC1");
|
|
static_assert (sizeof(struct ADC123_Common_Type) == 16, "size error ADC123_Common");
|
|
static_assert (sizeof(struct AES_Type) == 48, "size error AES");
|
|
static_assert (sizeof(struct RNG_Type) == 12, "size error RNG");
|
|
static_assert (sizeof(struct QUADSPI_Type) == 52, "size error QUADSPI");
|
|
static_assert (sizeof(struct DBGMCU_Type) == 20, "size error DBGMCU");
|
|
|
|
/* Interrupts : conflicts cmsis part - use copy / paste */
|
|
enum IRQn {
|
|
NonMaskableInt_IRQn = -14, //!< 2 Non Maskable Interrupt
|
|
HardFault_IRQn = -13, //!< 3 HardFault
|
|
MemoryManagement_IRQn = -12, //!< 4 Cortex-M4 Memory Management Interrupt
|
|
BusFault_IRQn = -11, //!< 5 Cortex-M4 Bus Fault Interrupt
|
|
UsageFault_IRQn = -10, //!< 6 Cortex-M4 Usage Fault Interrupt
|
|
SVCall_IRQn = -5, //!< 11 Cortex-Mx SV Call Interrupt
|
|
DebugMonitor_IRQn = -4, //!< 12 Cortex-M4 Debug Monitor Interrupt
|
|
PendSV_IRQn = -2, //!< 14 Cortex-Mx Pend SV Interrupt
|
|
SysTick_IRQn = -1, //!< 15 Cortex-Mx System Tick Interrupt
|
|
|
|
WWDG_IRQn = 0, //!< Window Watchdog interrupt
|
|
PVD_PVM_IRQn = 1, //!< PVD through EXTI line detection
|
|
RTC_TAMP_STAMP_IRQn = 2, //!< Tamper and TimeStamp interrupts
|
|
RTC_WKUP_IRQn = 3, //!< RTC Tamper or TimeStamp /CSS on LSE through EXTI line 19 interrupts
|
|
FLASH_IRQn = 4, //!< Flash global interrupt
|
|
RCC_IRQn = 5, //!< RCC global interrupt
|
|
EXTI0_IRQn = 6, //!< EXTI Line 0 interrupt
|
|
EXTI1_IRQn = 7, //!< EXTI Line 1 interrupt
|
|
EXTI2_IRQn = 8, //!< EXTI Line 2 interrupt
|
|
EXTI3_IRQn = 9, //!< EXTI Line 3 interrupt
|
|
EXTI4_IRQn = 10, //!< EXTI Line4 interrupt
|
|
DMA1_CH1_IRQn = 11, //!< DMA1 Channel1 global interrupt
|
|
DMA1_CH2_IRQn = 12, //!< DMA1 Channel2 global interrupt
|
|
DMA1_CH3_IRQn = 13, //!< DMA1 Channel3 interrupt
|
|
DMA1_CH4_IRQn = 14, //!< DMA1 Channel4 interrupt
|
|
DMA1_CH5_IRQn = 15, //!< DMA1 Channel5 interrupt
|
|
DMA1_CH6_IRQn = 16, //!< DMA1 Channel6 interrupt
|
|
DMA1_CH7_IRQn = 17, //!< DMA1 Channel 7 interrupt
|
|
ADC1_IRQn = 18, //!< ADC1 and ADC2 global interrupt
|
|
CAN1_TX_IRQn = 19, //!< CAN1 TX interrupts
|
|
CAN1_RX0_IRQn = 20, //!< CAN1 RX0 interrupts
|
|
CAN1_RX1_IRQn = 21, //!< CAN1 RX1 interrupts
|
|
CAN1_SCE_IRQn = 22, //!< CAN1 SCE interrupt
|
|
EXTI9_5_IRQn = 23, //!< EXTI Line5 to Line9 interrupts
|
|
TIM1_BRK_TIM15_IRQn = 24, //!< Timer 15 global interrupt
|
|
TIM1_UP_TIM16_IRQn = 25, //!< Timer 16 global interrupt
|
|
TIM1_TRG_COM_IRQn = 26, //!< TIM1 trigger and commutation interrupt
|
|
TIM1_CC_IRQn = 27, //!< TIM1 Capture Compare interrupt
|
|
TIM2_IRQn = 28, //!< TIM2 global interrupt
|
|
TIM3_IRQn = 29, //!< TIM3 global interrupt
|
|
I2C1_EV_IRQn = 31, //!< I2C1 event interrupt
|
|
I2C1_ER_IRQn = 32, //!< I2C1 error interrupt
|
|
I2C2_EV_IRQn = 33, //!< I2C2 event interrupt
|
|
I2C2_ER_IRQn = 34, //!< I2C2 error interrupt
|
|
SPI1_IRQn = 35, //!< SPI1 global interrupt
|
|
SPI2_IRQn = 36, //!< SPI2 global interrupt
|
|
USART1_IRQn = 37, //!< USART1 global interrupt
|
|
USART2_IRQn = 38, //!< USART2 global interrupt
|
|
USART3_IRQn = 39, //!< USART3 global interrupt
|
|
EXTI15_10_IRQn = 40, //!< EXTI Lines 10 to 15 interrupts
|
|
RTC_ALARM_IRQn = 41, //!< RTC alarms through EXTI line 18 interrupts
|
|
DFSDM1_FLT3_IRQn = 42, //!< DFSDM1_FLT3 global interrupt
|
|
ADC3_IRQn = 47, //!< ADC3 global Interrupt
|
|
SDMMC1_IRQn = 49, //!< SDMMC global Interrupt
|
|
SPI3_IRQn = 51, //!< SPI3 global Interrupt
|
|
UART4_IRQn = 52, //!< UART4 global Interrupt
|
|
TIM6_DACUNDER_IRQn = 54, //!< TIM6 global and DAC1 and 2 underrun error interrupts
|
|
TIM7_IRQn = 55, //!< TIM7 global interrupt
|
|
DMA2_CH1_IRQn = 56, //!< DMA2 Channel 1 global Interrupt
|
|
DMA2_CH2_IRQn = 57, //!< DMA2 Channel 2 global Interrupt
|
|
DMA2_CH3_IRQn = 58, //!< DMA2 Channel 3 global Interrupt
|
|
DMA2_CH4_IRQn = 59, //!< DMA2 Channel 4 global Interrupt
|
|
DMA2_CH5_IRQn = 60, //!< DMA2 Channel 5 global Interrupt
|
|
DFSDM1_FLT0_IRQn = 61, //!< DFSDM1_FLT0 global interrupt
|
|
DFSDM1_FLT1_IRQn = 62, //!< DFSDM1_FLT1 global interrupt
|
|
DFSDM1_FLT2_IRQn = 63, //!< DFSDM1_FLT2 global interrupt
|
|
COMP_IRQn = 64, //!< COMP1 and COMP2 interrupts
|
|
LPTIM1_IRQn = 65, //!< LP TIM1 interrupt
|
|
LPTIM2_IRQn = 66, //!< LP TIM2 interrupt
|
|
USB_FS_IRQn = 67, //!< USB event interrupt through EXTI
|
|
DMA2_CH6_IRQn = 68, //!< DMA2 Channel 6 global Interrupt
|
|
DMA2_CH7_IRQn = 69, //!< DMA2 Channel 7 global Interrupt
|
|
LPUART1_IRQn = 70, //!< LPUART1 global interrupt
|
|
QUADSPI_IRQn = 71, //!< Quad SPI global interrupt
|
|
I2C3_EV_IRQn = 72, //!< I2C3 event interrupt
|
|
I2C3_ER_IRQn = 73, //!< I2C3 error interrupt
|
|
SAI1_IRQn = 74, //!< SAI1 global interrupt
|
|
SWPMI1_IRQn = 76, //!< SWPMI1 global interrupt
|
|
TSC_IRQn = 77, //!< TSC global interrupt
|
|
LCD_IRQn = 78, //!< LCD global interrupt
|
|
AES_IRQn = 79, //!< AES global interrupt
|
|
RNG_IRQn = 80, //!< RNG global interrupt
|
|
CRS_IRQn = 82, //!< CRS interrupt
|
|
I2C4_EV_IRQn = 83, //!< I2C4 event interrupt, wakeup through EXTI
|
|
I2C4_ER_IRQn = 84, //!< I2C4 error interrupt
|
|
};
|
|
#endif
|