Overall: 2734/3537 fields covered

ADC

0x40012400: ADC address block description

147/161 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 ADC_ISR
0x4 ADC_IER
0x8 ADC_CR
0xc ADC_CFGR1
0x10 ADC_CFGR2
0x14 ADC_SMPR
0x20 ADC_AWD1TR
0x24 ADC_AWD2TR
0x28 ADC_CHSELR
0x28 ADC_CHSELR_ALTERNATE1
0x2c ADC_AWD3TR
0x40 ADC_DR
0xa0 ADC_AWD2CR
0xa4 ADC_AWD3CR
0xb4 ADC_CALFACT
0x308 ADC_CCR
Toggle registers

ADC_ISR

ADC interrupt and status register

Offset: 0x0, size: 32, reset: 0x00000000, access: read-write

10/10 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCRDY
rw
EOCAL
rw
AWD3
rw
AWD2
rw
AWD1
rw
OVR
rw
EOS
rw
EOC
rw
EOSMP
rw
ADRDY
rw
Toggle fields

ADRDY

Bit 0: ADC ready This bit is set by hardware after the ADC has been enabled (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..

Allowed values:
0: B_0x0: ADC not yet ready to start conversion (or the flag event was already acknowledged and cleared by software)
1: B_0x1: ADC is ready to start conversion

EOSMP

Bit 1: End of sampling flag This bit is set by hardware during the conversion, at the end of the sampling phase.It is cleared by software by programming it to 1 ..

Allowed values:
0: B_0x0: Not at the end of the sampling phase (or the flag event was already acknowledged and cleared by software)
1: B_0x1: End of sampling phase reached

EOC

Bit 2: End of conversion flag This bit is set by hardware at the end of each conversion of a channel when a new data result is available in the ADC_DR register. It is cleared by software writing 1 to it or by reading the ADC_DR register..

Allowed values:
0: B_0x0: Channel conversion not complete (or the flag event was already acknowledged and cleared by software)
1: B_0x1: Channel conversion complete

EOS

Bit 3: End of sequence flag This bit is set by hardware at the end of the conversion of a sequence of channels selected by the CHSEL bits. It is cleared by software writing 1 to it..

Allowed values:
0: B_0x0: Conversion sequence not complete (or the flag event was already acknowledged and cleared by software)
1: B_0x1: Conversion sequence complete

OVR

Bit 4: ADC overrun This bit is set by hardware when an overrun occurs, meaning that a new conversion has complete while the EOC flag was already set. It is cleared by software writing 1 to it..

Allowed values:
0: B_0x0: No overrun occurred (or the flag event was already acknowledged and cleared by software)
1: B_0x1: Overrun has occurred

AWD1

Bit 7: Analog watchdog 1 flag This bit is set by hardware when the converted voltage crosses the values programmed in ADC_TR1 and ADC_HR1 registers. It is cleared by software by programming it to 1..

Allowed values:
0: B_0x0: No analog watchdog event occurred (or the flag event was already acknowledged and cleared by software)
1: B_0x1: Analog watchdog event occurred

AWD2

Bit 8: Analog watchdog 2 flag This bit is set by hardware when the converted voltage crosses the values programmed in ADC_AWD2TR and ADC_AWD2TR registers. It is cleared by software programming it it..

Allowed values:
0: B_0x0: No analog watchdog event occurred (or the flag event was already acknowledged and cleared by software)
1: B_0x1: Analog watchdog event occurred

AWD3

Bit 9: Analog watchdog 3 flag This bit is set by hardware when the converted voltage crosses the values programmed in ADC_AWD3TR and ADC_AWD3TR registers. It is cleared by software by programming it to 1..

Allowed values:
0: B_0x0: No analog watchdog event occurred (or the flag event was already acknowledged and cleared by software)
1: B_0x1: Analog watchdog event occurred

EOCAL

Bit 11: End Of Calibration flag This bit is set by hardware when calibration is complete. It is cleared by software writing 1 to it..

Allowed values:
0: B_0x0: Calibration is not complete
1: B_0x1: Calibration is complete

CCRDY

Bit 13: Channel Configuration Ready flag This flag bit is set by hardware when the channel configuration is applied after programming to ADC_CHSELR register or changing CHSELRMOD or SCANDIR. It is cleared by software by programming it to it. Note: When the software configures the channels (by programming ADC_CHSELR or changing CHSELRMOD or SCANDIR), it must wait until the CCRDY flag rises before configuring again or starting conversions, otherwise the new configuration (or the START bit) is ignored. Once the flag is asserted, if the software needs to configure again the channels, it must clear the CCRDY flag before proceeding with a new configuration..

Allowed values:
0: B_0x0: Channel configuration update not applied.
1: B_0x1: Channel configuration update is applied.

ADC_IER

ADC interrupt enable register

Offset: 0x4, size: 32, reset: 0x00000000, access: read-write

10/10 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCRDYIE
rw
EOCALIE
rw
AWD3IE
rw
AWD2IE
rw
AWD1IE
rw
OVRIE
rw
EOSIE
rw
EOCIE
rw
EOSMPIE
rw
ADRDYIE
rw
Toggle fields

ADRDYIE

Bit 0: ADC ready interrupt enable This 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 bit is cleared (this ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADRDY interrupt disabled.
1: B_0x1: ADRDY interrupt enabled. An interrupt is generated when the ADRDY bit is set.

EOSMPIE

Bit 1: End of sampling flag interrupt enable This bit is set and cleared by software to enable/disable the end of the sampling phase interrupt. Note: The software is allowed to write this bit only when ADSTART bit is cleared (this ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: EOSMP interrupt disabled.
1: B_0x1: EOSMP interrupt enabled. An interrupt is generated when the EOSMP bit is set.

EOCIE

Bit 2: End of conversion interrupt enable This bit is set and cleared by software to enable/disable the end of conversion interrupt. Note: The software is allowed to write this bit only when ADSTART bit is cleared (this ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: EOC interrupt disabled
1: B_0x1: EOC interrupt enabled. An interrupt is generated when the EOC bit is set.

EOSIE

Bit 3: End of conversion sequence interrupt enable This bit is set and cleared by software to enable/disable the end of sequence of conversions interrupt. Note: The software is allowed to write this bit only when ADSTART bit is cleared (this ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: EOS interrupt disabled
1: B_0x1: EOS interrupt enabled. An interrupt is generated when the EOS bit is set.

OVRIE

Bit 4: Overrun interrupt enable This bit is set and cleared by software to enable/disable the overrun interrupt. Note: The software is allowed to write this bit only when ADSTART bit is cleared (this ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: Overrun interrupt disabled
1: B_0x1: Overrun interrupt enabled. An interrupt is generated when the OVR bit is set.

AWD1IE

Bit 7: Analog watchdog 1 interrupt enable This bit is set and cleared by software to enable/disable the analog watchdog interrupt. Note: The Software is allowed to write this bit only when ADSTART bit is cleared (this ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: Analog watchdog interrupt disabled
1: B_0x1: Analog watchdog interrupt enabled

AWD2IE

Bit 8: Analog watchdog 2 interrupt enable This bit is set and cleared by software to enable/disable the analog watchdog interrupt. Note: The Software is allowed to write this bit only when ADSTART bit is cleared (this ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: Analog watchdog interrupt disabled
1: B_0x1: Analog watchdog interrupt enabled

AWD3IE

Bit 9: Analog watchdog 3 interrupt enable This bit is set and cleared by software to enable/disable the analog watchdog interrupt. Note: The Software is allowed to write this bit only when ADSTART bit is cleared (this ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: Analog watchdog interrupt disabled
1: B_0x1: Analog watchdog interrupt enabled

EOCALIE

Bit 11: End of calibration interrupt enable This bit is set and cleared by software to enable/disable the end of calibration interrupt. Note: The software is allowed to write this bit only when ADSTART bit is cleared (this ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: End of calibration interrupt disabled
1: B_0x1: End of calibration interrupt enabled

CCRDYIE

Bit 13: Channel Configuration Ready Interrupt enable This bit is set and cleared by software to enable/disable the channel configuration ready interrupt. Note: The software is allowed to write this bit only when ADSTART bit is cleared (this ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: Channel configuration ready interrupt disabled
1: B_0x1: Channel configuration ready interrupt enabled

ADC_CR

ADC control register

Offset: 0x8, size: 32, reset: 0x00000000, access: read-write

6/6 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ADCAL
rw
ADVREGEN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ADSTP
rw
ADSTART
rw
ADDIS
rw
ADEN
rw
Toggle fields

ADEN

Bit 0: ADC enable command This bit is set by software to enable the ADC. The ADC is effectively ready to operate once the ADRDY flag 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, ADSTP = 0, ADSTART = 0, ADDIS = 0 and ADEN = 0).

Allowed values:
0: B_0x0: ADC is disabled (OFF state)
1: B_0x1: Write 1 to enable the ADC.

ADDIS

Bit 1: ADC disable command.

Allowed values:
0: B_0x0: No ADDIS command ongoing
1: B_0x1: Write 1 to disable the ADC. Read 1 means that an ADDIS command is in progress.

ADSTART

Bit 2: ADC start conversion command This bit is set by software to start ADC conversion. Depending on the EXTEN [1:0] configuration bits, a conversion either starts immediately (software trigger configuration) or once a hardware trigger event occurs (hardware trigger configuration). It is cleared by hardware: In single conversion mode (CONT = 0, DISCEN = 0), when software trigger is selected (EXTEN = 00): at the assertion of the end of Conversion Sequence (EOS) flag. In discontinuous conversion mode(CONT = 0, DISCEN = 1), when the software trigger is selected (EXTEN = 00): at the assertion of the end of Conversion (EOC) flag. In all other cases: after the execution of the ADSTP command, at the same time as the ADSTP bit 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: After writing to ADC_CHSELR register or changing CHSELRMOD or SCANDIRW, it is mandatory to wait until CCRDY flag is asserted before setting ADSTART, otherwise, the value written to ADSTART is ignored..

Allowed values:
0: B_0x0: No ADC conversion is ongoing.
1: B_0x1: Write 1 to start the ADC. Read 1 means that the ADC is operating and may be converting.

ADSTP

Bit 4: ADC stop conversion command.

Allowed values:
0: B_0x0: No ADC stop conversion command ongoing
1: B_0x1: Write 1 to stop the ADC. Read 1 means that an ADSTP command is in progress.

ADVREGEN

Bit 28: ADC Voltage Regulator Enable This bit is set by software, to enable the ADC internal voltage regulator. The voltage regulator output is available after t<sub>ADCVREG_STUP</sub>. It is cleared by software to disable the voltage regulator. It can be cleared only if ADEN is et to 0. Note: The software is allowed to program this bit field only when the ADC is disabled (ADCAL = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0)..

Allowed values:
0: B_0x0: ADC voltage regulator disabled
1: B_0x1: ADC voltage regulator enabled

ADCAL

Bit 31: ADC calibration This bit is set by software to start the calibration of the ADC. It is cleared by hardware after calibration is complete. Note: The software is allowed to set ADCAL only when the ADC is disabled (ADCAL = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0, AUTOFF = 0, and ADEN = 0). Note: The software is allowed to update the calibration factor by writing ADC_CALFACT only when ADEN = 1 and ADSTART = 0 (ADC enabled and no conversion is ongoing)..

Allowed values:
0: B_0x0: Calibration complete
1: B_0x1: Write 1 to calibrate the ADC. Read at 1 means that a calibration is in progress.

ADC_CFGR1

ADC configuration register 1

Offset: 0xc, size: 32, reset: 0x00000000, access: read-write

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
AWD1CH
rw
AWD1EN
rw
AWD1SGL
rw
CHSELRMOD
rw
DISCEN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AUTOFF
rw
WAIT
rw
CONT
rw
OVRMOD
rw
EXTEN
rw
EXTSEL
rw
ALIGN
rw
RES
rw
SCANDIR
rw
DMACFG
rw
DMAEN
rw
Toggle fields

DMAEN

Bit 0: Direct memory access enable This bit is set and cleared by software to enable the generation of DMA requests. This allows the DMA controller to be used to manage automatically the converted data. For more details, refer to Section 16.6.5: Managing converted data using the DMA on page 325..

Allowed values:
0: B_0x0: DMA disabled
1: B_0x1: DMA enabled

DMACFG

Bit 1: Direct memory access configuration 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 16.6.5: Managing converted data using the DMA on page 325..

Allowed values:
0: B_0x0: DMA one shot mode selected
1: B_0x1: DMA circular mode selected

SCANDIR

Bit 2: Scan sequence direction This bit is set and cleared by software to select the direction in which the channels is scanned in the sequence. It is effective only if CHSELMOD bit is cleared. Note: If CCRDY is not yet asserted after channel configuration (writing ADC_CHSELR register or changing CHSELRMOD or SCANDIR), the value written to this bit is ignored..

Allowed values:
0: B_0x0: Upward scan (from CHSEL0 to CHSEL22)
1: B_0x1: Backward scan (from CHSEL22 to CHSEL0)

RES

Bits 3-4: Data resolution These bits are written by software to select the resolution of the conversion..

Allowed values:
0: B_0x0: 12 bits
1: B_0x1: 10 bits
2: B_0x2: 8 bits
3: B_0x3: 6 bits

ALIGN

Bit 5: Data alignment This bit is set and cleared by software to select right or left alignment. Refer to Figure 43: Data alignment and resolution (oversampling disabled: OVSE = 0) on page 323.

Allowed values:
0: B_0x0: Right alignment
1: B_0x1: Left alignment

EXTSEL

Bits 6-8: External trigger selection These bits select the external event used to trigger the start of conversion (refer to Table 67: External triggers for details):.

Allowed values:
0: B_0x0: TRG0
1: B_0x1: TRG1
2: B_0x2: TRG2
3: B_0x3: TRG3
4: B_0x4: TRG4
5: B_0x5: TRG5
6: B_0x6: TRG6
7: B_0x7: TRG7

EXTEN

Bits 10-11: External trigger enable and polarity selection These bits are set and cleared by software to select the external trigger polarity and enable the trigger..

Allowed values:
0: B_0x0: Hardware trigger detection disabled (conversions can be started by software)
1: B_0x1: Hardware trigger detection on the rising edge
2: B_0x2: Hardware trigger detection on the falling edge
3: B_0x3: Hardware trigger detection on both the rising and falling edges

OVRMOD

Bit 12: Overrun management mode This bit is set and cleared by software and configure the way data overruns are managed..

Allowed values:
0: B_0x0: ADC_DR register is preserved with the old data when an overrun is detected.
1: B_0x1: ADC_DR register is overwritten with the last conversion result when an overrun is detected.

CONT

Bit 13: Single / continuous conversion mode This bit is set and cleared by software. If it is set, 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 bits DISCEN = 1 and CONT = 1..

Allowed values:
0: B_0x0: Single conversion mode
1: B_0x1: Continuous conversion mode

WAIT

Bit 14: Wait conversion mode This bit is set and cleared by software to enable/disable wait conversion mode.<sup>.</sup>.

Allowed values:
0: B_0x0: Wait conversion mode off
1: B_0x1: Wait conversion mode on

AUTOFF

Bit 15: Auto-off mode This bit is set and cleared by software to enable/disable auto-off mode.<sup>.</sup>.

Allowed values:
0: B_0x0: Auto-off mode disabled
1: B_0x1: Auto-off mode enabled

DISCEN

Bit 16: Discontinuous mode This bit is set and cleared by software to enable/disable discontinuous mode. Note: It is not possible to have both discontinuous mode and continuous mode enabled: it is forbidden to set both bits DISCEN = 1 and CONT = 1..

Allowed values:
0: B_0x0: Discontinuous mode disabled
1: B_0x1: Discontinuous mode enabled

CHSELRMOD

Bit 21: Mode selection of the ADC_CHSELR register This bit is set and cleared by software to control the ADC_CHSELR feature: Note: If CCRDY is not yet asserted after channel configuration (writing ADC_CHSELR register or changing CHSELRMOD or SCANDIR), the value written to this bit is ignored..

Allowed values:
0: B_0x0: Each bit of the ADC_CHSELR register enables an input
1: B_0x1: ADC_CHSELR register is able to sequence up to 8 channels

AWD1SGL

Bit 22: Enable the watchdog on a single channel or on all channels This bit is set and cleared by software to enable the analog watchdog on the channel identified by the AWDCH[4:0] bits or on all the channels.

Allowed values:
0: B_0x0: Analog watchdog 1 enabled on all channels
1: B_0x1: Analog watchdog 1 enabled on a single channel

AWD1EN

Bit 23: Analog watchdog enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Analog watchdog 1 disabled
1: B_0x1: Analog watchdog 1 enabled

AWD1CH

Bits 26-30: Analog watchdog channel selection These bits are set and cleared by software. They select the input channel to be guarded by the analog watchdog. ..... Others: Reserved Note: The channel selected by the AWDCH[4:0] bits must be also set into the CHSELR register..

Allowed values:
0: B_0x0: ADC analog input Channel 0 monitored by AWD
1: B_0x1: ADC analog input Channel 1 monitored by AWD
22: B_0x16: ADC analog input Channel 22 monitored by AWD

ADC_CFGR2

ADC configuration register 2

Offset: 0x10, size: 32, reset: 0x00000000, access: read-write

6/6 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CKMODE
rw
LFTRIG
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOVS
rw
OVSS
rw
OVSR
rw
OVSE
rw
Toggle fields

OVSE

Bit 0: Oversampler Enable This bit is set and cleared by software. Note: The software is allowed to write this bit only when ADEN bit is cleared..

Allowed values:
0: B_0x0: Oversampler disabled
1: B_0x1: Oversampler enabled

OVSR

Bits 2-4: Oversampling ratio This bit filed defines the number of oversampling ratio. Note: The software is allowed to write this bit only when ADEN bit is cleared..

Allowed values:
0: B_0x0: 2x
1: B_0x1: 4x
2: B_0x2: 8x
3: B_0x3: 16x
4: B_0x4: 32x
5: B_0x5: 64x
6: B_0x6: 128x
7: B_0x7: 256x

OVSS

Bits 5-8: Oversampling shift This bit is set and cleared by software. Others: Reserved Note: The software is allowed to write this bit only when ADEN bit is cleared..

Allowed values:
0: B_0x0: No shift
1: B_0x1: Shift 1-bit
2: B_0x2: Shift 2-bits
3: B_0x3: Shift 3-bits
4: B_0x4: Shift 4-bits
5: B_0x5: Shift 5-bits
6: B_0x6: Shift 6-bits
7: B_0x7: Shift 7-bits
8: B_0x8: Shift 8-bits

TOVS

Bit 9: Triggered Oversampling This bit is set and cleared by software. Note: The software is allowed to write this bit only when ADEN bit is cleared..

Allowed values:
0: B_0x0: All oversampled conversions for a channel are done consecutively after a trigger
1: B_0x1: Each oversampled conversion for a channel needs a trigger

LFTRIG

Bit 29: Low frequency trigger mode enable This bit is set and cleared by software. Note: The software is allowed to write this bit only when ADEN bit is cleared..

Allowed values:
0: B_0x0: Low Frequency Trigger Mode disabled
1: B_0x1: Low Frequency Trigger Mode enabled

CKMODE

Bits 30-31: ADC clock mode These bits are set and cleared by software to define how the analog ADC is clocked: 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 ADC is disabled (ADCAL = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0)..

Allowed values:
0: B_0x0: ADCCLK (Asynchronous clock mode), generated at product level (refer to RCC section)
1: B_0x1: PCLK/2 (Synchronous clock mode)
2: B_0x2: PCLK/4 (Synchronous clock mode)
3: B_0x3: PCLK (Synchronous clock mode). This configuration must be enabled only if PCLK has a 50% duty clock cycle (APB prescaler configured inside the RCC must be bypassed and the system clock must by 50% duty cycle)

ADC_SMPR

ADC sampling time register

Offset: 0x14, size: 32, reset: 0x00000000, access: read-write

25/25 fields covered.

Toggle fields

SMP1

Bits 0-2: Sampling time selection 1 These bits are written by software to select the sampling time that applies to all channels. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: 1.5 ADC clock cycles
1: B_0x1: 3.5 ADC clock cycles
2: B_0x2: 7.5 ADC clock cycles
3: B_0x3: 12.5 ADC clock cycles
4: B_0x4: 19.5 ADC clock cycles
5: B_0x5: 39.5 ADC clock cycles
6: B_0x6: 79.5 ADC clock cycles
7: B_0x7: 160.5 ADC clock cycles

SMP2

Bits 4-6: Sampling time selection 2 These bits are written by software to select the sampling time that applies to all channels. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: 1.5 ADC clock cycles
1: B_0x1: 3.5 ADC clock cycles
2: B_0x2: 7.5 ADC clock cycles
3: B_0x3: 12.5 ADC clock cycles
4: B_0x4: 19.5 ADC clock cycles
5: B_0x5: 39.5 ADC clock cycles
6: B_0x6: 79.5 ADC clock cycles
7: B_0x7: 160.5 ADC clock cycles

SMPSEL0

Bit 8: Channel-x sampling time selection (x = 22 to 0) These bits are written by software to define which sampling time is used. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: Refer to Section 16.3: ADC implementation for the maximum number of channels..

Allowed values:
0: B_0x0: Sampling time of CHANNELx use the setting of SMP1[2:0] register.
1: B_0x1: Sampling time of CHANNELx use the setting of SMP2[2:0] register.

SMPSEL1

Bit 9: Channel-x sampling time selection (x = 22 to 0) These bits are written by software to define which sampling time is used. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: Refer to Section 16.3: ADC implementation for the maximum number of channels..

Allowed values:
0: B_0x0: Sampling time of CHANNELx use the setting of SMP1[2:0] register.
1: B_0x1: Sampling time of CHANNELx use the setting of SMP2[2:0] register.

SMPSEL2

Bit 10: Channel-x sampling time selection (x = 22 to 0) These bits are written by software to define which sampling time is used. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: Refer to Section 16.3: ADC implementation for the maximum number of channels..

Allowed values:
0: B_0x0: Sampling time of CHANNELx use the setting of SMP1[2:0] register.
1: B_0x1: Sampling time of CHANNELx use the setting of SMP2[2:0] register.

SMPSEL3

Bit 11: Channel-x sampling time selection (x = 22 to 0) These bits are written by software to define which sampling time is used. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: Refer to Section 16.3: ADC implementation for the maximum number of channels..

Allowed values:
0: B_0x0: Sampling time of CHANNELx use the setting of SMP1[2:0] register.
1: B_0x1: Sampling time of CHANNELx use the setting of SMP2[2:0] register.

SMPSEL4

Bit 12: Channel-x sampling time selection (x = 22 to 0) These bits are written by software to define which sampling time is used. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: Refer to Section 16.3: ADC implementation for the maximum number of channels..

Allowed values:
0: B_0x0: Sampling time of CHANNELx use the setting of SMP1[2:0] register.
1: B_0x1: Sampling time of CHANNELx use the setting of SMP2[2:0] register.

SMPSEL5

Bit 13: Channel-x sampling time selection (x = 22 to 0) These bits are written by software to define which sampling time is used. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: Refer to Section 16.3: ADC implementation for the maximum number of channels..

Allowed values:
0: B_0x0: Sampling time of CHANNELx use the setting of SMP1[2:0] register.
1: B_0x1: Sampling time of CHANNELx use the setting of SMP2[2:0] register.

SMPSEL6

Bit 14: Channel-x sampling time selection (x = 22 to 0) These bits are written by software to define which sampling time is used. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: Refer to Section 16.3: ADC implementation for the maximum number of channels..

Allowed values:
0: B_0x0: Sampling time of CHANNELx use the setting of SMP1[2:0] register.
1: B_0x1: Sampling time of CHANNELx use the setting of SMP2[2:0] register.

SMPSEL7

Bit 15: Channel-x sampling time selection (x = 22 to 0) These bits are written by software to define which sampling time is used. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: Refer to Section 16.3: ADC implementation for the maximum number of channels..

Allowed values:
0: B_0x0: Sampling time of CHANNELx use the setting of SMP1[2:0] register.
1: B_0x1: Sampling time of CHANNELx use the setting of SMP2[2:0] register.

SMPSEL8

Bit 16: Channel-x sampling time selection (x = 22 to 0) These bits are written by software to define which sampling time is used. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: Refer to Section 16.3: ADC implementation for the maximum number of channels..

Allowed values:
0: B_0x0: Sampling time of CHANNELx use the setting of SMP1[2:0] register.
1: B_0x1: Sampling time of CHANNELx use the setting of SMP2[2:0] register.

SMPSEL9

Bit 17: Channel-x sampling time selection (x = 22 to 0) These bits are written by software to define which sampling time is used. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: Refer to Section 16.3: ADC implementation for the maximum number of channels..

Allowed values:
0: B_0x0: Sampling time of CHANNELx use the setting of SMP1[2:0] register.
1: B_0x1: Sampling time of CHANNELx use the setting of SMP2[2:0] register.

SMPSEL10

Bit 18: Channel-x sampling time selection (x = 22 to 0) These bits are written by software to define which sampling time is used. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: Refer to Section 16.3: ADC implementation for the maximum number of channels..

Allowed values:
0: B_0x0: Sampling time of CHANNELx use the setting of SMP1[2:0] register.
1: B_0x1: Sampling time of CHANNELx use the setting of SMP2[2:0] register.

SMPSEL11

Bit 19: Channel-x sampling time selection (x = 22 to 0) These bits are written by software to define which sampling time is used. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: Refer to Section 16.3: ADC implementation for the maximum number of channels..

Allowed values:
0: B_0x0: Sampling time of CHANNELx use the setting of SMP1[2:0] register.
1: B_0x1: Sampling time of CHANNELx use the setting of SMP2[2:0] register.

SMPSEL12

Bit 20: Channel-x sampling time selection (x = 22 to 0) These bits are written by software to define which sampling time is used. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: Refer to Section 16.3: ADC implementation for the maximum number of channels..

Allowed values:
0: B_0x0: Sampling time of CHANNELx use the setting of SMP1[2:0] register.
1: B_0x1: Sampling time of CHANNELx use the setting of SMP2[2:0] register.

SMPSEL13

Bit 21: Channel-x sampling time selection (x = 22 to 0) These bits are written by software to define which sampling time is used. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: Refer to Section 16.3: ADC implementation for the maximum number of channels..

Allowed values:
0: B_0x0: Sampling time of CHANNELx use the setting of SMP1[2:0] register.
1: B_0x1: Sampling time of CHANNELx use the setting of SMP2[2:0] register.

SMPSEL14

Bit 22: Channel-x sampling time selection (x = 22 to 0) These bits are written by software to define which sampling time is used. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: Refer to Section 16.3: ADC implementation for the maximum number of channels..

Allowed values:
0: B_0x0: Sampling time of CHANNELx use the setting of SMP1[2:0] register.
1: B_0x1: Sampling time of CHANNELx use the setting of SMP2[2:0] register.

SMPSEL15

Bit 23: Channel-x sampling time selection (x = 22 to 0) These bits are written by software to define which sampling time is used. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: Refer to Section 16.3: ADC implementation for the maximum number of channels..

Allowed values:
0: B_0x0: Sampling time of CHANNELx use the setting of SMP1[2:0] register.
1: B_0x1: Sampling time of CHANNELx use the setting of SMP2[2:0] register.

SMPSEL16

Bit 24: Channel-x sampling time selection (x = 22 to 0) These bits are written by software to define which sampling time is used. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: Refer to Section 16.3: ADC implementation for the maximum number of channels..

Allowed values:
0: B_0x0: Sampling time of CHANNELx use the setting of SMP1[2:0] register.
1: B_0x1: Sampling time of CHANNELx use the setting of SMP2[2:0] register.

SMPSEL17

Bit 25: Channel-x sampling time selection (x = 22 to 0) These bits are written by software to define which sampling time is used. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: Refer to Section 16.3: ADC implementation for the maximum number of channels..

Allowed values:
0: B_0x0: Sampling time of CHANNELx use the setting of SMP1[2:0] register.
1: B_0x1: Sampling time of CHANNELx use the setting of SMP2[2:0] register.

SMPSEL18

Bit 26: Channel-x sampling time selection (x = 22 to 0) These bits are written by software to define which sampling time is used. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: Refer to Section 16.3: ADC implementation for the maximum number of channels..

Allowed values:
0: B_0x0: Sampling time of CHANNELx use the setting of SMP1[2:0] register.
1: B_0x1: Sampling time of CHANNELx use the setting of SMP2[2:0] register.

SMPSEL19

Bit 27: Channel-x sampling time selection (x = 22 to 0) These bits are written by software to define which sampling time is used. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: Refer to Section 16.3: ADC implementation for the maximum number of channels..

Allowed values:
0: B_0x0: Sampling time of CHANNELx use the setting of SMP1[2:0] register.
1: B_0x1: Sampling time of CHANNELx use the setting of SMP2[2:0] register.

SMPSEL20

Bit 28: Channel-x sampling time selection (x = 22 to 0) These bits are written by software to define which sampling time is used. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: Refer to Section 16.3: ADC implementation for the maximum number of channels..

Allowed values:
0: B_0x0: Sampling time of CHANNELx use the setting of SMP1[2:0] register.
1: B_0x1: Sampling time of CHANNELx use the setting of SMP2[2:0] register.

SMPSEL21

Bit 29: Channel-x sampling time selection (x = 22 to 0) These bits are written by software to define which sampling time is used. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: Refer to Section 16.3: ADC implementation for the maximum number of channels..

Allowed values:
0: B_0x0: Sampling time of CHANNELx use the setting of SMP1[2:0] register.
1: B_0x1: Sampling time of CHANNELx use the setting of SMP2[2:0] register.

SMPSEL22

Bit 30: Channel-x sampling time selection (x = 22 to 0) These bits are written by software to define which sampling time is used. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: Refer to Section 16.3: ADC implementation for the maximum number of channels..

Allowed values:
0: B_0x0: Sampling time of CHANNELx use the setting of SMP1[2:0] register.
1: B_0x1: Sampling time of CHANNELx use the setting of SMP2[2:0] register.

ADC_AWD1TR

ADC watchdog threshold register

Offset: 0x20, size: 32, reset: 0x0FFF0000, access: read-write

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
HT1
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LT1
rw
Toggle fields

LT1

Bits 0-11: Analog watchdog 1 lower threshold These bits are written by software to define the lower threshold for the analog watchdog. Refer to Section 16.8: Analog window watchdogs on page 329..

HT1

Bits 16-27: Analog watchdog 1 higher threshold These bits are written by software to define the higher threshold for the analog watchdog. Refer to Section 16.8: Analog window watchdogs on page 329..

ADC_AWD2TR

ADC watchdog threshold register

Offset: 0x24, size: 32, reset: 0x0FFF0000, access: read-write

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
HT2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LT2
rw
Toggle fields

LT2

Bits 0-11: Analog watchdog 2 lower threshold These bits are written by software to define the lower threshold for the analog watchdog. Refer to Section 16.8: Analog window watchdogs on page 329..

HT2

Bits 16-27: Analog watchdog 2 higher threshold These bits are written by software to define the higher threshold for the analog watchdog. Refer to Section 16.8: Analog window watchdogs on page 329..

ADC_CHSELR

ADC channel selection register

Offset: 0x28, size: 32, reset: 0x00000000, access: read-write

23/23 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CHSEL22
rw
CHSEL21
rw
CHSEL20
rw
CHSEL19
rw
CHSEL18
rw
CHSEL17
rw
CHSEL16
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CHSEL15
rw
CHSEL14
rw
CHSEL13
rw
CHSEL12
rw
CHSEL11
rw
CHSEL10
rw
CHSEL9
rw
CHSEL8
rw
CHSEL7
rw
CHSEL6
rw
CHSEL5
rw
CHSEL4
rw
CHSEL3
rw
CHSEL2
rw
CHSEL1
rw
CHSEL0
rw
Toggle fields

CHSEL0

Bit 0: Channel-x selection These bits are written by software and define which channels are part of the sequence of channels to be converted. Refer to Figure 35: ADC connectivity for ADC inputs connected to external channels and internal sources. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: If CCRDY is not yet asserted after channel configuration (writing ADC_CHSELR register or changing CHSELRMOD or SCANDIR), the value written to this bit is ignored..

Allowed values:
0: B_0x0: Input Channel-x is not selected for conversion
1: B_0x1: Input Channel-x is selected for conversion

CHSEL1

Bit 1: Channel-x selection These bits are written by software and define which channels are part of the sequence of channels to be converted. Refer to Figure 35: ADC connectivity for ADC inputs connected to external channels and internal sources. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: If CCRDY is not yet asserted after channel configuration (writing ADC_CHSELR register or changing CHSELRMOD or SCANDIR), the value written to this bit is ignored..

Allowed values:
0: B_0x0: Input Channel-x is not selected for conversion
1: B_0x1: Input Channel-x is selected for conversion

CHSEL2

Bit 2: Channel-x selection These bits are written by software and define which channels are part of the sequence of channels to be converted. Refer to Figure 35: ADC connectivity for ADC inputs connected to external channels and internal sources. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: If CCRDY is not yet asserted after channel configuration (writing ADC_CHSELR register or changing CHSELRMOD or SCANDIR), the value written to this bit is ignored..

Allowed values:
0: B_0x0: Input Channel-x is not selected for conversion
1: B_0x1: Input Channel-x is selected for conversion

CHSEL3

Bit 3: Channel-x selection These bits are written by software and define which channels are part of the sequence of channels to be converted. Refer to Figure 35: ADC connectivity for ADC inputs connected to external channels and internal sources. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: If CCRDY is not yet asserted after channel configuration (writing ADC_CHSELR register or changing CHSELRMOD or SCANDIR), the value written to this bit is ignored..

Allowed values:
0: B_0x0: Input Channel-x is not selected for conversion
1: B_0x1: Input Channel-x is selected for conversion

CHSEL4

Bit 4: Channel-x selection These bits are written by software and define which channels are part of the sequence of channels to be converted. Refer to Figure 35: ADC connectivity for ADC inputs connected to external channels and internal sources. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: If CCRDY is not yet asserted after channel configuration (writing ADC_CHSELR register or changing CHSELRMOD or SCANDIR), the value written to this bit is ignored..

Allowed values:
0: B_0x0: Input Channel-x is not selected for conversion
1: B_0x1: Input Channel-x is selected for conversion

CHSEL5

Bit 5: Channel-x selection These bits are written by software and define which channels are part of the sequence of channels to be converted. Refer to Figure 35: ADC connectivity for ADC inputs connected to external channels and internal sources. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: If CCRDY is not yet asserted after channel configuration (writing ADC_CHSELR register or changing CHSELRMOD or SCANDIR), the value written to this bit is ignored..

Allowed values:
0: B_0x0: Input Channel-x is not selected for conversion
1: B_0x1: Input Channel-x is selected for conversion

CHSEL6

Bit 6: Channel-x selection These bits are written by software and define which channels are part of the sequence of channels to be converted. Refer to Figure 35: ADC connectivity for ADC inputs connected to external channels and internal sources. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: If CCRDY is not yet asserted after channel configuration (writing ADC_CHSELR register or changing CHSELRMOD or SCANDIR), the value written to this bit is ignored..

Allowed values:
0: B_0x0: Input Channel-x is not selected for conversion
1: B_0x1: Input Channel-x is selected for conversion

CHSEL7

Bit 7: Channel-x selection These bits are written by software and define which channels are part of the sequence of channels to be converted. Refer to Figure 35: ADC connectivity for ADC inputs connected to external channels and internal sources. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: If CCRDY is not yet asserted after channel configuration (writing ADC_CHSELR register or changing CHSELRMOD or SCANDIR), the value written to this bit is ignored..

Allowed values:
0: B_0x0: Input Channel-x is not selected for conversion
1: B_0x1: Input Channel-x is selected for conversion

CHSEL8

Bit 8: Channel-x selection These bits are written by software and define which channels are part of the sequence of channels to be converted. Refer to Figure 35: ADC connectivity for ADC inputs connected to external channels and internal sources. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: If CCRDY is not yet asserted after channel configuration (writing ADC_CHSELR register or changing CHSELRMOD or SCANDIR), the value written to this bit is ignored..

Allowed values:
0: B_0x0: Input Channel-x is not selected for conversion
1: B_0x1: Input Channel-x is selected for conversion

CHSEL9

Bit 9: Channel-x selection These bits are written by software and define which channels are part of the sequence of channels to be converted. Refer to Figure 35: ADC connectivity for ADC inputs connected to external channels and internal sources. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: If CCRDY is not yet asserted after channel configuration (writing ADC_CHSELR register or changing CHSELRMOD or SCANDIR), the value written to this bit is ignored..

Allowed values:
0: B_0x0: Input Channel-x is not selected for conversion
1: B_0x1: Input Channel-x is selected for conversion

CHSEL10

Bit 10: Channel-x selection These bits are written by software and define which channels are part of the sequence of channels to be converted. Refer to Figure 35: ADC connectivity for ADC inputs connected to external channels and internal sources. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: If CCRDY is not yet asserted after channel configuration (writing ADC_CHSELR register or changing CHSELRMOD or SCANDIR), the value written to this bit is ignored..

Allowed values:
0: B_0x0: Input Channel-x is not selected for conversion
1: B_0x1: Input Channel-x is selected for conversion

CHSEL11

Bit 11: Channel-x selection These bits are written by software and define which channels are part of the sequence of channels to be converted. Refer to Figure 35: ADC connectivity for ADC inputs connected to external channels and internal sources. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: If CCRDY is not yet asserted after channel configuration (writing ADC_CHSELR register or changing CHSELRMOD or SCANDIR), the value written to this bit is ignored..

Allowed values:
0: B_0x0: Input Channel-x is not selected for conversion
1: B_0x1: Input Channel-x is selected for conversion

CHSEL12

Bit 12: Channel-x selection These bits are written by software and define which channels are part of the sequence of channels to be converted. Refer to Figure 35: ADC connectivity for ADC inputs connected to external channels and internal sources. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: If CCRDY is not yet asserted after channel configuration (writing ADC_CHSELR register or changing CHSELRMOD or SCANDIR), the value written to this bit is ignored..

Allowed values:
0: B_0x0: Input Channel-x is not selected for conversion
1: B_0x1: Input Channel-x is selected for conversion

CHSEL13

Bit 13: Channel-x selection These bits are written by software and define which channels are part of the sequence of channels to be converted. Refer to Figure 35: ADC connectivity for ADC inputs connected to external channels and internal sources. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: If CCRDY is not yet asserted after channel configuration (writing ADC_CHSELR register or changing CHSELRMOD or SCANDIR), the value written to this bit is ignored..

Allowed values:
0: B_0x0: Input Channel-x is not selected for conversion
1: B_0x1: Input Channel-x is selected for conversion

CHSEL14

Bit 14: Channel-x selection These bits are written by software and define which channels are part of the sequence of channels to be converted. Refer to Figure 35: ADC connectivity for ADC inputs connected to external channels and internal sources. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: If CCRDY is not yet asserted after channel configuration (writing ADC_CHSELR register or changing CHSELRMOD or SCANDIR), the value written to this bit is ignored..

Allowed values:
0: B_0x0: Input Channel-x is not selected for conversion
1: B_0x1: Input Channel-x is selected for conversion

CHSEL15

Bit 15: Channel-x selection These bits are written by software and define which channels are part of the sequence of channels to be converted. Refer to Figure 35: ADC connectivity for ADC inputs connected to external channels and internal sources. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: If CCRDY is not yet asserted after channel configuration (writing ADC_CHSELR register or changing CHSELRMOD or SCANDIR), the value written to this bit is ignored..

Allowed values:
0: B_0x0: Input Channel-x is not selected for conversion
1: B_0x1: Input Channel-x is selected for conversion

CHSEL16

Bit 16: Channel-x selection These bits are written by software and define which channels are part of the sequence of channels to be converted. Refer to Figure 35: ADC connectivity for ADC inputs connected to external channels and internal sources. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: If CCRDY is not yet asserted after channel configuration (writing ADC_CHSELR register or changing CHSELRMOD or SCANDIR), the value written to this bit is ignored..

Allowed values:
0: B_0x0: Input Channel-x is not selected for conversion
1: B_0x1: Input Channel-x is selected for conversion

CHSEL17

Bit 17: Channel-x selection These bits are written by software and define which channels are part of the sequence of channels to be converted. Refer to Figure 35: ADC connectivity for ADC inputs connected to external channels and internal sources. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: If CCRDY is not yet asserted after channel configuration (writing ADC_CHSELR register or changing CHSELRMOD or SCANDIR), the value written to this bit is ignored..

Allowed values:
0: B_0x0: Input Channel-x is not selected for conversion
1: B_0x1: Input Channel-x is selected for conversion

CHSEL18

Bit 18: Channel-x selection These bits are written by software and define which channels are part of the sequence of channels to be converted. Refer to Figure 35: ADC connectivity for ADC inputs connected to external channels and internal sources. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: If CCRDY is not yet asserted after channel configuration (writing ADC_CHSELR register or changing CHSELRMOD or SCANDIR), the value written to this bit is ignored..

Allowed values:
0: B_0x0: Input Channel-x is not selected for conversion
1: B_0x1: Input Channel-x is selected for conversion

CHSEL19

Bit 19: Channel-x selection These bits are written by software and define which channels are part of the sequence of channels to be converted. Refer to Figure 35: ADC connectivity for ADC inputs connected to external channels and internal sources. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: If CCRDY is not yet asserted after channel configuration (writing ADC_CHSELR register or changing CHSELRMOD or SCANDIR), the value written to this bit is ignored..

Allowed values:
0: B_0x0: Input Channel-x is not selected for conversion
1: B_0x1: Input Channel-x is selected for conversion

CHSEL20

Bit 20: Channel-x selection These bits are written by software and define which channels are part of the sequence of channels to be converted. Refer to Figure 35: ADC connectivity for ADC inputs connected to external channels and internal sources. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: If CCRDY is not yet asserted after channel configuration (writing ADC_CHSELR register or changing CHSELRMOD or SCANDIR), the value written to this bit is ignored..

Allowed values:
0: B_0x0: Input Channel-x is not selected for conversion
1: B_0x1: Input Channel-x is selected for conversion

CHSEL21

Bit 21: Channel-x selection These bits are written by software and define which channels are part of the sequence of channels to be converted. Refer to Figure 35: ADC connectivity for ADC inputs connected to external channels and internal sources. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: If CCRDY is not yet asserted after channel configuration (writing ADC_CHSELR register or changing CHSELRMOD or SCANDIR), the value written to this bit is ignored..

Allowed values:
0: B_0x0: Input Channel-x is not selected for conversion
1: B_0x1: Input Channel-x is selected for conversion

CHSEL22

Bit 22: Channel-x selection These bits are written by software and define which channels are part of the sequence of channels to be converted. Refer to Figure 35: ADC connectivity for ADC inputs connected to external channels and internal sources. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). Note: If CCRDY is not yet asserted after channel configuration (writing ADC_CHSELR register or changing CHSELRMOD or SCANDIR), the value written to this bit is ignored..

Allowed values:
0: B_0x0: Input Channel-x is not selected for conversion
1: B_0x1: Input Channel-x is selected for conversion

ADC_CHSELR_ALTERNATE1

ADC channel selection register

Offset: 0x28, size: 32, reset: 0x00000000, access: read-write

1/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SQ8
rw
SQ7
rw
SQ6
rw
SQ5
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SQ4
rw
SQ3
rw
SQ2
rw
SQ1
rw
Toggle fields

SQ1

Bits 0-3: 1st conversion of the sequence These bits are programmed by software with the channel number (0...14) assigned to the 8th conversion of the sequence. 0b1111 indicates end of the sequence. When 0b1111 (end of sequence) is programmed to the lower sequence channels, these bits are ignored. Refer to SQ8[3:0] for a definition of channel selection. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

SQ2

Bits 4-7: 2nd conversion of the sequence These bits are programmed by software with the channel number (0...14) assigned to the 8th conversion of the sequence. 0b1111 indicates end of the sequence. When 0b1111 (end of sequence) is programmed to the lower sequence channels, these bits are ignored. Refer to SQ8[3:0] for a definition of channel selection. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

SQ3

Bits 8-11: 3rd conversion of the sequence These bits are programmed by software with the channel number (0...14) assigned to the 8th conversion of the sequence. 0b1111 indicates end of the sequence. When 0b1111 (end of sequence) is programmed to the lower sequence channels, these bits are ignored. Refer to SQ8[3:0] for a definition of channel selection. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

SQ4

Bits 12-15: 4th conversion of the sequence These bits are programmed by software with the channel number (0...14) assigned to the 8th conversion of the sequence. 0b1111 indicates end of the sequence. When 0b1111 (end of sequence) is programmed to the lower sequence channels, these bits are ignored. Refer to SQ8[3:0] for a definition of channel selection. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

SQ5

Bits 16-19: 5th conversion of the sequence These bits are programmed by software with the channel number (0...14) assigned to the 8th conversion of the sequence. 0b1111 indicates end of the sequence. When 0b1111 (end of sequence) is programmed to the lower sequence channels, these bits are ignored. Refer to SQ8[3:0] for a definition of channel selection. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

SQ6

Bits 20-23: 6th conversion of the sequence These bits are programmed by software with the channel number (0...14) assigned to the 8th conversion of the sequence. 0b1111 indicates end of the sequence. When 0b1111 (end of sequence) is programmed to the lower sequence channels, these bits are ignored. Refer to SQ8[3:0] for a definition of channel selection. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

SQ7

Bits 24-27: 7th conversion of the sequence These bits are programmed by software with the channel number (0...14) assigned to the 8th conversion of the sequence. 0b1111 indicates end of the sequence. When 0b1111 (end of sequence) is programmed to the lower sequence channels, these bits are ignored. Refer to SQ8[3:0] for a definition of channel selection. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

SQ8

Bits 28-31: 8th conversion of the sequence These bits are programmed by software with the channel number (0...14) assigned to the 8th conversion of the sequence. 0b1111 indicates the end of the sequence. When 0b1111 (end of sequence) is programmed to the lower sequence channels, these bits are ignored. ... Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: CH0
1: B_0x1: CH1
12: B_0xC: CH12
13: B_0xD: CH13
14: B_0xE: CH14
15: B_0xF: No channel selected (End of sequence)

ADC_AWD3TR

ADC watchdog threshold register

Offset: 0x2c, size: 32, reset: 0x0FFF0000, access: read-write

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
HT3
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LT3
rw
Toggle fields

LT3

Bits 0-11: Analog watchdog 3lower threshold These bits are written by software to define the lower threshold for the analog watchdog. Refer to Section 16.8: Analog window watchdogs on page 329..

HT3

Bits 16-27: Analog watchdog 3 higher threshold These bits are written by software to define the higher threshold for the analog watchdog. Refer to Section 16.8: Analog window watchdogs on page 329..

ADC_DR

ADC data register

Offset: 0x40, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DATA
r
Toggle fields

DATA

Bits 0-15: Converted data These bits are read-only. They contain the conversion result from the last converted channel. The data are left- or right-aligned as shown in Figure 43: Data alignment and resolution (oversampling disabled: OVSE = 0) on page 323. Just after a calibration is complete, DATA[6:0] contains the calibration factor..

ADC_AWD2CR

ADC analog watchdog 2 configuration register

Offset: 0xa0, size: 32, reset: 0x00000000, access: read-write

23/23 fields covered.

Toggle fields

AWD2CH0

Bit 0: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 2 (AWD2). Note: The channels selected through ADC_AWD2CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD2
1: B_0x1: ADC analog channel-x is monitored by AWD2

AWD2CH1

Bit 1: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 2 (AWD2). Note: The channels selected through ADC_AWD2CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD2
1: B_0x1: ADC analog channel-x is monitored by AWD2

AWD2CH2

Bit 2: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 2 (AWD2). Note: The channels selected through ADC_AWD2CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD2
1: B_0x1: ADC analog channel-x is monitored by AWD2

AWD2CH3

Bit 3: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 2 (AWD2). Note: The channels selected through ADC_AWD2CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD2
1: B_0x1: ADC analog channel-x is monitored by AWD2

AWD2CH4

Bit 4: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 2 (AWD2). Note: The channels selected through ADC_AWD2CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD2
1: B_0x1: ADC analog channel-x is monitored by AWD2

AWD2CH5

Bit 5: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 2 (AWD2). Note: The channels selected through ADC_AWD2CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD2
1: B_0x1: ADC analog channel-x is monitored by AWD2

AWD2CH6

Bit 6: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 2 (AWD2). Note: The channels selected through ADC_AWD2CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD2
1: B_0x1: ADC analog channel-x is monitored by AWD2

AWD2CH7

Bit 7: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 2 (AWD2). Note: The channels selected through ADC_AWD2CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD2
1: B_0x1: ADC analog channel-x is monitored by AWD2

AWD2CH8

Bit 8: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 2 (AWD2). Note: The channels selected through ADC_AWD2CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD2
1: B_0x1: ADC analog channel-x is monitored by AWD2

AWD2CH9

Bit 9: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 2 (AWD2). Note: The channels selected through ADC_AWD2CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD2
1: B_0x1: ADC analog channel-x is monitored by AWD2

AWD2CH10

Bit 10: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 2 (AWD2). Note: The channels selected through ADC_AWD2CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD2
1: B_0x1: ADC analog channel-x is monitored by AWD2

AWD2CH11

Bit 11: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 2 (AWD2). Note: The channels selected through ADC_AWD2CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD2
1: B_0x1: ADC analog channel-x is monitored by AWD2

AWD2CH12

Bit 12: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 2 (AWD2). Note: The channels selected through ADC_AWD2CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD2
1: B_0x1: ADC analog channel-x is monitored by AWD2

AWD2CH13

Bit 13: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 2 (AWD2). Note: The channels selected through ADC_AWD2CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD2
1: B_0x1: ADC analog channel-x is monitored by AWD2

AWD2CH14

Bit 14: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 2 (AWD2). Note: The channels selected through ADC_AWD2CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD2
1: B_0x1: ADC analog channel-x is monitored by AWD2

AWD2CH15

Bit 15: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 2 (AWD2). Note: The channels selected through ADC_AWD2CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD2
1: B_0x1: ADC analog channel-x is monitored by AWD2

AWD2CH16

Bit 16: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 2 (AWD2). Note: The channels selected through ADC_AWD2CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD2
1: B_0x1: ADC analog channel-x is monitored by AWD2

AWD2CH17

Bit 17: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 2 (AWD2). Note: The channels selected through ADC_AWD2CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD2
1: B_0x1: ADC analog channel-x is monitored by AWD2

AWD2CH18

Bit 18: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 2 (AWD2). Note: The channels selected through ADC_AWD2CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD2
1: B_0x1: ADC analog channel-x is monitored by AWD2

AWD2CH19

Bit 19: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 2 (AWD2). Note: The channels selected through ADC_AWD2CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD2
1: B_0x1: ADC analog channel-x is monitored by AWD2

AWD2CH20

Bit 20: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 2 (AWD2). Note: The channels selected through ADC_AWD2CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD2
1: B_0x1: ADC analog channel-x is monitored by AWD2

AWD2CH21

Bit 21: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 2 (AWD2). Note: The channels selected through ADC_AWD2CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD2
1: B_0x1: ADC analog channel-x is monitored by AWD2

AWD2CH22

Bit 22: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 2 (AWD2). Note: The channels selected through ADC_AWD2CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD2
1: B_0x1: ADC analog channel-x is monitored by AWD2

ADC_AWD3CR

ADC Analog Watchdog 3 Configuration register

Offset: 0xa4, size: 32, reset: 0x00000000, access: read-write

23/23 fields covered.

Toggle fields

AWD3CH0

Bit 0: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 3 (AWD3). Note: The channels selected through ADC_AWD3CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD3
1: B_0x1: ADC analog channel-x is monitored by AWD3

AWD3CH1

Bit 1: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 3 (AWD3). Note: The channels selected through ADC_AWD3CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD3
1: B_0x1: ADC analog channel-x is monitored by AWD3

AWD3CH2

Bit 2: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 3 (AWD3). Note: The channels selected through ADC_AWD3CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD3
1: B_0x1: ADC analog channel-x is monitored by AWD3

AWD3CH3

Bit 3: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 3 (AWD3). Note: The channels selected through ADC_AWD3CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD3
1: B_0x1: ADC analog channel-x is monitored by AWD3

AWD3CH4

Bit 4: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 3 (AWD3). Note: The channels selected through ADC_AWD3CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD3
1: B_0x1: ADC analog channel-x is monitored by AWD3

AWD3CH5

Bit 5: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 3 (AWD3). Note: The channels selected through ADC_AWD3CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD3
1: B_0x1: ADC analog channel-x is monitored by AWD3

AWD3CH6

Bit 6: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 3 (AWD3). Note: The channels selected through ADC_AWD3CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD3
1: B_0x1: ADC analog channel-x is monitored by AWD3

AWD3CH7

Bit 7: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 3 (AWD3). Note: The channels selected through ADC_AWD3CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD3
1: B_0x1: ADC analog channel-x is monitored by AWD3

AWD3CH8

Bit 8: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 3 (AWD3). Note: The channels selected through ADC_AWD3CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD3
1: B_0x1: ADC analog channel-x is monitored by AWD3

AWD3CH9

Bit 9: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 3 (AWD3). Note: The channels selected through ADC_AWD3CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD3
1: B_0x1: ADC analog channel-x is monitored by AWD3

AWD3CH10

Bit 10: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 3 (AWD3). Note: The channels selected through ADC_AWD3CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD3
1: B_0x1: ADC analog channel-x is monitored by AWD3

AWD3CH11

Bit 11: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 3 (AWD3). Note: The channels selected through ADC_AWD3CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD3
1: B_0x1: ADC analog channel-x is monitored by AWD3

AWD3CH12

Bit 12: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 3 (AWD3). Note: The channels selected through ADC_AWD3CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD3
1: B_0x1: ADC analog channel-x is monitored by AWD3

AWD3CH13

Bit 13: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 3 (AWD3). Note: The channels selected through ADC_AWD3CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD3
1: B_0x1: ADC analog channel-x is monitored by AWD3

AWD3CH14

Bit 14: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 3 (AWD3). Note: The channels selected through ADC_AWD3CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD3
1: B_0x1: ADC analog channel-x is monitored by AWD3

AWD3CH15

Bit 15: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 3 (AWD3). Note: The channels selected through ADC_AWD3CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD3
1: B_0x1: ADC analog channel-x is monitored by AWD3

AWD3CH16

Bit 16: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 3 (AWD3). Note: The channels selected through ADC_AWD3CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD3
1: B_0x1: ADC analog channel-x is monitored by AWD3

AWD3CH17

Bit 17: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 3 (AWD3). Note: The channels selected through ADC_AWD3CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD3
1: B_0x1: ADC analog channel-x is monitored by AWD3

AWD3CH18

Bit 18: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 3 (AWD3). Note: The channels selected through ADC_AWD3CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD3
1: B_0x1: ADC analog channel-x is monitored by AWD3

AWD3CH19

Bit 19: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 3 (AWD3). Note: The channels selected through ADC_AWD3CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD3
1: B_0x1: ADC analog channel-x is monitored by AWD3

AWD3CH20

Bit 20: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 3 (AWD3). Note: The channels selected through ADC_AWD3CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD3
1: B_0x1: ADC analog channel-x is monitored by AWD3

AWD3CH21

Bit 21: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 3 (AWD3). Note: The channels selected through ADC_AWD3CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD3
1: B_0x1: ADC analog channel-x is monitored by AWD3

AWD3CH22

Bit 22: Analog watchdog channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by analog watchdog 3 (AWD3). Note: The channels selected through ADC_AWD3CR must be also configured into the ADC_CHSELR registers. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: ADC analog channel-x is not monitored by AWD3
1: B_0x1: ADC analog channel-x is monitored by AWD3

ADC_CALFACT

ADC calibration factor

Offset: 0xb4, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CALFACT
rw
Toggle fields

CALFACT

Bits 0-6: Calibration factor These bits are written by hardware or by software. Once a 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 conversion is launched. Just after a calibration is complete, DATA[6:0] contains the calibration factor. Note: Software can write these bits only when ADEN=1 (ADC is enabled and no calibration is ongoing and no conversion is ongoing)..

ADC_CCR

ADC common configuration register

Offset: 0x308, size: 32, reset: 0x00000000, access: read-write

3/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TSEN
rw
VREFEN
rw
PRESC
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

PRESC

Bits 18-21: ADC prescaler Set and cleared by software to select the frequency of the clock to the ADC. Other: Reserved Note: Software is allowed to write these bits only when the ADC is disabled (ADCAL = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0)..

Allowed values:
0: B_0x0: input ADC clock not divided
1: B_0x1: input ADC clock divided by 2
2: B_0x2: input ADC clock divided by 4
3: B_0x3: input ADC clock divided by 6
4: B_0x4: input ADC clock divided by 8
5: B_0x5: input ADC clock divided by 10
6: B_0x6: input ADC clock divided by 12
7: B_0x7: input ADC clock divided by 16
8: B_0x8: input ADC clock divided by 32
9: B_0x9: input ADC clock divided by 64
10: B_0xA: input ADC clock divided by 128
11: B_0xB: input ADC clock divided by 256

VREFEN

Bit 22: V<sub>REFINT</sub> enable This bit is set and cleared by software to enable/disable the V<sub>REFINT</sub>. Note: Software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: V<sub>REFINT</sub> disabled
1: B_0x1: V<sub>REFINT</sub> enabled

TSEN

Bit 23: Temperature sensor enable This bit is set and cleared by software to enable/disable the temperature sensor. Note: Software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

Allowed values:
0: B_0x0: Temperature sensor disabled
1: B_0x1: Temperature sensor enabled

CRC

0x40023000: CRC address block description

3/8 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 CRC_DR
0x4 CRC_IDR
0x8 CRC_CR
0x10 CRC_INIT
0x14 CRC_POL
Toggle registers

CRC_DR

CRC data register

Offset: 0x0, size: 32, reset: 0xFFFFFFFF, access: read-write

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DR
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DR
rw
Toggle fields

DR

Bits 0-31: Data register bits This register is used to write new data to the CRC calculator. It holds the previous CRC calculation result when it is read. If the data size is less than 32 bits, the least significant bits are used to write/read the correct value..

CRC_IDR

CRC independent data register

Offset: 0x4, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
IDR
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IDR
rw
Toggle fields

IDR

Bits 0-31: General-purpose 32-bit data register bits These bits can be used as a temporary storage location for four bytes. This register is not affected by CRC resets generated by the RESET bit in the CRC_CR register.

CRC_CR

CRC control register

Offset: 0x8, size: 32, reset: 0x00000000, access: read-write

3/4 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
REV_OUT
rw
REV_IN
rw
POLYSIZE
rw
RESET
rw
Toggle fields

RESET

Bit 0: RESET bit This bit is set by software to reset the CRC calculation unit and set the data register to the value stored in the CRC_INIT register. This bit can only be set, it is automatically cleared by hardware.

POLYSIZE

Bits 3-4: Polynomial size These bits control the size of the polynomial..

Allowed values:
0: B_0x0: 32 bit polynomial
1: B_0x1: 16 bit polynomial
2: B_0x2: 8 bit polynomial
3: B_0x3: 7 bit polynomial

REV_IN

Bits 5-6: Reverse input data This bitfield controls the reversal of the bit order of the input data.

Allowed values:
0: B_0x0: Bit order not affected
1: B_0x1: Bit reversal done by byte
2: B_0x2: Bit reversal done by half-word
3: B_0x3: Bit reversal done by word

REV_OUT

Bit 7: Reverse output data This bit controls the reversal of the bit order of the output data..

Allowed values:
0: B_0x0: Bit order not affected
1: B_0x1: Bit-reversed output format

CRC_INIT

CRC initial value

Offset: 0x10, size: 32, reset: 0xFFFFFFFF, access: read-write

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CRC_INIT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CRC_INIT
rw
Toggle fields

CRC_INIT

Bits 0-31: Programmable initial CRC value This register is used to write the CRC initial value..

CRC_POL

CRC polynomial

Offset: 0x14, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
POL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
POL
rw
Toggle fields

POL

Bits 0-31: Programmable polynomial This register is used to write the coefficients of the polynomial to be used for CRC calculation. If the polynomial size is less than 32 bits, the least significant bits have to be used to program the correct value..

DBG

0x40015800: DBG address block description

14/14 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 IDCODE
0x4 CR
0x8 APB_FZ1
0xc APB_FZ2
Toggle registers

IDCODE

DBG device ID code register

Offset: 0x0, size: 32, reset: 0x1000044D, access: read-only

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
REV_ID
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DEV_ID
r
Toggle fields

DEV_ID

Bits 0-11: Device identifier This field indicates the device ID. Refer to Table 152..

REV_ID

Bits 16-31: Revision identifier This field indicates the revision of the device. Refer to Table 152..

CR

DBG configuration register

Offset: 0x4, size: 32, reset: 0x00000000, access: read-write

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DBG_STANDBY
rw
DBG_STOP
rw
Toggle fields

DBG_STOP

Bit 1: Debug Stop mode Debug options in Stop mode. Upon Stop mode exit, the software must re-establish the desired clock configuration..

Allowed values:
0: B_0x0: All clocks disabled, including FCLK and HCLK. Upon Stop mode exit, the CPU is clocked by the HSI internal RC oscillator.
1: B_0x1: FCLK and HCLK running, derived from the internal RC oscillator remaining active. If Systick is enabled, it may generate periodic interrupt and wake up events.

DBG_STANDBY

Bit 2: Debug Standby and Shutdown modes Debug options in Standby or Shutdown mode..

Allowed values:
0: B_0x0: Digital part powered. From software point of view, exiting Standby and Shutdown modes is identical as fetching reset vector (except for status bits indicating that the MCU exits Standby)
1: B_0x1: Digital part powered and FCLK and HCLK running, derived from the internal RC oscillator remaining active. The MCU generates a system reset so that exiting Standby and Shutdown has the same effect as starting from reset.

APB_FZ1

DBG APB freeze register 1

Offset: 0x8, size: 32, reset: 0x00000000, access: read-write

6/6 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DBG_I2C1_SMBUS_TIMEOUT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DBG_IWDG_STOP
rw
DBG_WWDG_STOP
rw
DBG_RTC_STOP
rw
DBG_TIM3_STOP
rw
DBG_TIM2_STOP
rw
Toggle fields

DBG_TIM2_STOP

Bit 0: Clocking of TIM2 counter when the core is halted This bit enables/disables the clock to the counter of TIM2 when the core is halted: This bit is only available on STM32C071xx. On the other devices, it is reserved..

Allowed values:
0: B_0x0: Enable
1: B_0x1: Disable

DBG_TIM3_STOP

Bit 1: Clocking of TIM3 counter when the core is halted This bit enables/disables the clock to the counter of TIM3 when the core is halted:.

Allowed values:
0: B_0x0: Enable
1: B_0x1: Disable

DBG_RTC_STOP

Bit 10: Clocking of RTC counter when the core is halted This bit enables/disables the clock to the counter of RTC when the core is halted:.

Allowed values:
0: B_0x0: Enable
1: B_0x1: Disable

DBG_WWDG_STOP

Bit 11: Clocking of WWDG counter when the core is halted This bit enables/disables the clock to the counter of WWDG when the core is halted:.

Allowed values:
0: B_0x0: Enable
1: B_0x1: Disable

DBG_IWDG_STOP

Bit 12: Clocking of IWDG counter when the core is halted This bit enables/disables the clock to the counter of IWDG when the core is halted:.

Allowed values:
0: B_0x0: Enable
1: B_0x1: Disable

DBG_I2C1_SMBUS_TIMEOUT

Bit 21: SMBUS timeout when core is halted.

Allowed values:
0: B_0x0: Same behavior as in normal mode
1: B_0x1: The SMBUS timeout is frozen

APB_FZ2

DBG APB freeze register 2

Offset: 0xc, size: 32, reset: 0x00000000, access: read-write

4/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DBG_TIM17_STOP
rw
DBG_TIM16_STOP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DBG_TIM14_STOP
rw
DBG_TIM1_STOP
rw
Toggle fields

DBG_TIM1_STOP

Bit 11: Clocking of TIM1 counter when the core is halted This bit enables/disables the clock to the counter of TIM1 when the core is halted:.

Allowed values:
0: B_0x0: Enable
1: B_0x1: Disable

DBG_TIM14_STOP

Bit 15: Clocking of TIM14 counter when the core is halted This bit enables/disables the clock to the counter of TIM14 when the core is halted:.

Allowed values:
0: B_0x0: Enable
1: B_0x1: Disable

DBG_TIM16_STOP

Bit 17: Clocking of TIM16 counter when the core is halted This bit enables/disables the clock to the counter of TIM16 when the core is halted:.

Allowed values:
0: B_0x0: Enable
1: B_0x1: Disable

DBG_TIM17_STOP

Bit 18: Clocking of TIM17 counter when the core is halted This bit enables/disables the clock to the counter of TIM17 when the core is halted:.

Allowed values:
0: B_0x0: Enable
1: B_0x1: Disable

DMA

0x40020000: DMA register bank

80/115 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 DMA_ISR
0x4 DMA_IFCR
0x8 DMA_CCR1
0xc DMA_CNDTR1
0x10 DMA_CPAR1
0x14 DMA_CMAR1
0x1c DMA_CCR2
0x20 DMA_CNDTR2
0x24 DMA_CPAR2
0x28 DMA_CMAR2
0x30 DMA_CCR3
0x34 DMA_CNDTR3
0x38 DMA_CPAR3
0x3c DMA_CMAR3
0x44 DMA_CCR4
0x48 DMA_CNDTR4
0x4c DMA_CPAR4
0x50 DMA_CMAR4
0x58 DMA_CCR5
0x5c DMA_CNDTR5
0x60 DMA_CPAR5
0x64 DMA_CMAR5
Toggle registers

DMA_ISR

DMA interrupt status register

Offset: 0x0, size: 32, reset: 0x00000000, access: read-only

20/20 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TEIF5
r
HTIF5
r
TCIF5
r
GIF5
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TEIF4
r
HTIF4
r
TCIF4
r
GIF4
r
TEIF3
r
HTIF3
r
TCIF3
r
GIF3
r
TEIF2
r
HTIF2
r
TCIF2
r
GIF2
r
TEIF1
r
HTIF1
r
TCIF1
r
GIF1
r
Toggle fields

GIF1

Bit 0: Global interrupt flag for channel 1.

Allowed values:
0: B_0x0: No TE, HT, or TC event
1: B_0x1: A TE, HT, or TC event occurred.

TCIF1

Bit 1: Transfer complete (TC) flag for channel 1.

Allowed values:
0: B_0x0: No TC event
1: B_0x1: A TC event occurred.

HTIF1

Bit 2: Half transfer (HT) flag for channel 1.

Allowed values:
0: B_0x0: No HT event
1: B_0x1: An HT event occurred.

TEIF1

Bit 3: Transfer error (TE) flag for channel 1.

Allowed values:
0: B_0x0: No TE event
1: B_0x1: A TE event occurred.

GIF2

Bit 4: Global interrupt flag for channel 2.

Allowed values:
0: B_0x0: No TE, HT, or TC event
1: B_0x1: A TE, HT, or TC event occurred.

TCIF2

Bit 5: Transfer complete (TC) flag for channel 2.

Allowed values:
0: B_0x0: No TC event
1: B_0x1: A TC event occurred.

HTIF2

Bit 6: Half transfer (HT) flag for channel 2.

Allowed values:
0: B_0x0: No HT event
1: B_0x1: An HT event occurred.

TEIF2

Bit 7: Transfer error (TE) flag for channel 2.

Allowed values:
0: B_0x0: No TE event
1: B_0x1: A TE event occurred.

GIF3

Bit 8: Global interrupt flag for channel 3.

Allowed values:
0: B_0x0: No TE, HT, or TC event
1: B_0x1: A TE, HT, or TC event occurred.

TCIF3

Bit 9: Transfer complete (TC) flag for channel 3.

Allowed values:
0: B_0x0: No TC event
1: B_0x1: A TC event occurred.

HTIF3

Bit 10: Half transfer (HT) flag for channel 3.

Allowed values:
0: B_0x0: No HT event
1: B_0x1: An HT event occurred.

TEIF3

Bit 11: Transfer error (TE) flag for channel 3.

Allowed values:
0: B_0x0: No TE event
1: B_0x1: A TE event occurred.

GIF4

Bit 12: global interrupt flag for channel 4.

Allowed values:
0: B_0x0: No TE, HT, or TC event
1: B_0x1: A TE, HT, or TC event occurred.

TCIF4

Bit 13: Transfer complete (TC) flag for channel 4.

Allowed values:
0: B_0x0: No TC event
1: B_0x1: A TC event occurred.

HTIF4

Bit 14: Half transfer (HT) flag for channel 4.

Allowed values:
0: B_0x0: No HT event
1: B_0x1: An HT event occurred.

TEIF4

Bit 15: Transfer error (TE) flag for channel 4.

Allowed values:
0: B_0x0: No TE event
1: B_0x1: A TE event occurred.

GIF5

Bit 16: global interrupt flag for channel 5.

Allowed values:
0: B_0x0: No TE, HT, or TC event
1: B_0x1: A TE, HT, or TC event occurred.

TCIF5

Bit 17: Transfer complete (TC) flag for channel 5.

Allowed values:
0: B_0x0: No TC event
1: B_0x1: A TC event occurred.

HTIF5

Bit 18: Half transfer (HT) flag for channel 5.

Allowed values:
0: B_0x0: No HT event
1: B_0x1: An HT event occurred.

TEIF5

Bit 19: Transfer error (TE) flag for channel 5.

Allowed values:
0: B_0x0: No TE event
1: B_0x1: A TE event occurred.

DMA_IFCR

DMA interrupt flag clear register

Offset: 0x4, size: 32, reset: 0x00000000, access: write-only

0/20 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CTEIF5
w
CHTIF5
w
CTCIF5
w
CGIF5
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CTEIF4
w
CHTIF4
w
CTCIF4
w
CGIF4
w
CTEIF3
w
CHTIF3
w
CTCIF3
w
CGIF3
w
CTEIF2
w
CHTIF2
w
CTCIF2
w
CGIF2
w
CTEIF1
w
CHTIF1
w
CTCIF1
w
CGIF1
w
Toggle fields

CGIF1

Bit 0: Global interrupt flag clear for channel 1.

CTCIF1

Bit 1: Transfer complete flag clear for channel 1.

CHTIF1

Bit 2: Half transfer flag clear for channel 1.

CTEIF1

Bit 3: Transfer error flag clear for channel 1.

CGIF2

Bit 4: Global interrupt flag clear for channel 2.

CTCIF2

Bit 5: Transfer complete flag clear for channel 2.

CHTIF2

Bit 6: Half transfer flag clear for channel 2.

CTEIF2

Bit 7: Transfer error flag clear for channel 2.

CGIF3

Bit 8: Global interrupt flag clear for channel 3.

CTCIF3

Bit 9: Transfer complete flag clear for channel 3.

CHTIF3

Bit 10: Half transfer flag clear for channel 3.

CTEIF3

Bit 11: Transfer error flag clear for channel 3.

CGIF4

Bit 12: Global interrupt flag clear for channel 4.

CTCIF4

Bit 13: Transfer complete flag clear for channel 4.

CHTIF4

Bit 14: Half transfer flag clear for channel 4.

CTEIF4

Bit 15: Transfer error flag clear for channel 4.

CGIF5

Bit 16: Global interrupt flag clear for channel 5.

CTCIF5

Bit 17: Transfer complete flag clear for channel 5.

CHTIF5

Bit 18: Half transfer flag clear for channel 5.

CTEIF5

Bit 19: Transfer error flag clear for channel 5.

DMA_CCR1

DMA channel 1 configuration register

Offset: 0x8, size: 32, reset: 0x00000000, access: read-write

12/12 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MEM2MEM
rw
PL
rw
MSIZE
rw
PSIZE
rw
MINC
rw
PINC
rw
CIRC
rw
DIR
rw
TEIE
rw
HTIE
rw
TCIE
rw
EN
rw
Toggle fields

EN

Bit 0: Channel enable When a channel transfer error occurs, this bit is cleared by hardware. It can not be set again by software (channel x re-activated) until the TEIFx bit of the DMA_ISR register is cleared (by setting the CTEIFx bit of the DMA_IFCR register). Note: This bit is set and cleared by software..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

TCIE

Bit 1: Transfer complete interrupt enable Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

HTIE

Bit 2: Half transfer interrupt enable Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

TEIE

Bit 3: Transfer error interrupt enable Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

DIR

Bit 4: Data transfer direction This bit must be set only in memory-to-peripheral and peripheral-to-memory modes. Source attributes are defined by PSIZE and PINC, plus the DMA_CPARx register. This is still valid in a memory-to-memory mode. Destination attributes are defined by MSIZE and MINC, plus the DMA_CMARx register. This is still valid in a peripheral-to-peripheral mode. Destination attributes are defined by PSIZE and PINC, plus the DMA_CPARx register. This is still valid in a memory-to-memory mode. Source attributes are defined by MSIZE and MINC, plus the DMA_CMARx register. This is still valid in a peripheral-to-peripheral mode. Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Read from peripheral
1: B_0x1: Read from memory

CIRC

Bit 5: Circular mode Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

PINC

Bit 6: Peripheral increment mode Defines the increment mode for each DMA transfer to the identified peripheral. n memory-to-memory mode, this bit identifies the memory destination if DIR = 1 and the memory source if DIR = 0. In peripheral-to-peripheral mode, this bit identifies the peripheral destination if DIR = 1 and the peripheral source if DIR = 0. Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

MINC

Bit 7: Memory increment mode Defines the increment mode for each DMA transfer to the identified memory. In memory-to-memory mode, this bit identifies the memory source if DIR = 1 and the memory destination if DIR = 0. In peripheral-to-peripheral mode, this bit identifies the peripheral source if DIR = 1 and the peripheral destination if DIR = 0. Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

PSIZE

Bits 8-9: Peripheral size Defines the data size of each DMA transfer to the identified peripheral. In memory-to-memory mode, this bitfield identifies the memory destination if DIR = 1 and the memory source if DIR = 0. In peripheral-to-peripheral mode, this bitfield identifies the peripheral destination if DIR = 1 and the peripheral source if DIR = 0. Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: 8 bits
1: B_0x1: 16 bits
2: B_0x2: 32 bits

MSIZE

Bits 10-11: Memory size Defines the data size of each DMA transfer to the identified memory. In memory-to-memory mode, this bitfield identifies the memory source if DIR = 1 and the memory destination if DIR = 0. In peripheral-to-peripheral mode, this bitfield identifies the peripheral source if DIR = 1 and the peripheral destination if DIR = 0. Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: 8 bits
1: B_0x1: 16 bits
2: B_0x2: 32 bits

PL

Bits 12-13: Priority level Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Low
1: B_0x1: Medium
2: B_0x2: High
3: B_0x3: Very high

MEM2MEM

Bit 14: Memory-to-memory mode Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

DMA_CNDTR1

DMA channel 1 number of data to transfer register

Offset: 0xc, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
NDT
rw
Toggle fields

NDT

Bits 0-15: Number of data to transfer (0 to 2<sup>16</sup> - 1) This bitfield is updated by hardware when the channel is enabled: It is decremented after each single DMA read followed by write transfer, indicating the remaining amount of data items to transfer. It is kept at zero when the programmed amount of data to transfer is reached, if the channel is not in circular mode (CIRC = 0 in the DMA_CCRx register). It is reloaded automatically by the previously programmed value, when the transfer is complete, if the channel is in circular mode (CIRC = 1). If this bitfield is zero, no transfer can be served whatever the channel status (enabled or not). Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

DMA_CPAR1

DMA channel 1 peripheral address register

Offset: 0x10, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PA
rw
Toggle fields

PA

Bits 0-31: Peripheral address It contains the base address of the peripheral data register from/to which the data is read/written. When PSIZE[1:0] = 01 (16 bits), bit 0 of PA[31:0] is ignored. Access is automatically aligned to a half-word address. When PSIZE[1:0] = 10 (32 bits), bits 1 and 0 of PA[31:0] are ignored. Access is automatically aligned to a word address. In memory-to-memory mode, this bitfield identifies the memory destination address if DIR = 1 and the memory source address if DIR = 0. In peripheral-to-peripheral mode, this bitfield identifies the peripheral destination address if DIR = 1 and the peripheral source address if DIR = 0. Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

DMA_CMAR1

DMA channel 1 memory address register

Offset: 0x14, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MA
rw
Toggle fields

MA

Bits 0-31: Peripheral address It contains the base address of the memory from/to which the data is read/written. When MSIZE[1:0] = 01 (16 bits), bit 0 of MA[31:0] is ignored. Access is automatically aligned to a half-word address. When MSIZE[1:0] = 10 (32 bits), bits 1 and 0 of MA[31:0] are ignored. Access is automatically aligned to a word address. In memory-to-memory mode, this bitfield identifies the memory source address if DIR = 1 and the memory destination address if DIR = 0. In peripheral-to-peripheral mode, this bitfield identifies the peripheral source address if DIR = 1 and the peripheral destination address if DIR = 0. Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

DMA_CCR2

DMA channel 2 configuration register

Offset: 0x1c, size: 32, reset: 0x00000000, access: read-write

12/12 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MEM2MEM
rw
PL
rw
MSIZE
rw
PSIZE
rw
MINC
rw
PINC
rw
CIRC
rw
DIR
rw
TEIE
rw
HTIE
rw
TCIE
rw
EN
rw
Toggle fields

EN

Bit 0: Channel enable When a channel transfer error occurs, this bit is cleared by hardware. It can not be set again by software (channel x re-activated) until the TEIFx bit of the DMA_ISR register is cleared (by setting the CTEIFx bit of the DMA_IFCR register). Note: This bit is set and cleared by software..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

TCIE

Bit 1: Transfer complete interrupt enable Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

HTIE

Bit 2: Half transfer interrupt enable Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

TEIE

Bit 3: Transfer error interrupt enable Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

DIR

Bit 4: Data transfer direction This bit must be set only in memory-to-peripheral and peripheral-to-memory modes. Source attributes are defined by PSIZE and PINC, plus the DMA_CPARx register. This is still valid in a memory-to-memory mode. Destination attributes are defined by MSIZE and MINC, plus the DMA_CMARx register. This is still valid in a peripheral-to-peripheral mode. Destination attributes are defined by PSIZE and PINC, plus the DMA_CPARx register. This is still valid in a memory-to-memory mode. Source attributes are defined by MSIZE and MINC, plus the DMA_CMARx register. This is still valid in a peripheral-to-peripheral mode. Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Read from peripheral
1: B_0x1: Read from memory

CIRC

Bit 5: Circular mode Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

PINC

Bit 6: Peripheral increment mode Defines the increment mode for each DMA transfer to the identified peripheral. n memory-to-memory mode, this bit identifies the memory destination if DIR = 1 and the memory source if DIR = 0. In peripheral-to-peripheral mode, this bit identifies the peripheral destination if DIR = 1 and the peripheral source if DIR = 0. Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

MINC

Bit 7: Memory increment mode Defines the increment mode for each DMA transfer to the identified memory. In memory-to-memory mode, this bit identifies the memory source if DIR = 1 and the memory destination if DIR = 0. In peripheral-to-peripheral mode, this bit identifies the peripheral source if DIR = 1 and the peripheral destination if DIR = 0. Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

PSIZE

Bits 8-9: Peripheral size Defines the data size of each DMA transfer to the identified peripheral. In memory-to-memory mode, this bitfield identifies the memory destination if DIR = 1 and the memory source if DIR = 0. In peripheral-to-peripheral mode, this bitfield identifies the peripheral destination if DIR = 1 and the peripheral source if DIR = 0. Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: 8 bits
1: B_0x1: 16 bits
2: B_0x2: 32 bits

MSIZE

Bits 10-11: Memory size Defines the data size of each DMA transfer to the identified memory. In memory-to-memory mode, this bitfield identifies the memory source if DIR = 1 and the memory destination if DIR = 0. In peripheral-to-peripheral mode, this bitfield identifies the peripheral source if DIR = 1 and the peripheral destination if DIR = 0. Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: 8 bits
1: B_0x1: 16 bits
2: B_0x2: 32 bits

PL

Bits 12-13: Priority level Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Low
1: B_0x1: Medium
2: B_0x2: High
3: B_0x3: Very high

MEM2MEM

Bit 14: Memory-to-memory mode Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

DMA_CNDTR2

DMA channel 2 number of data to transfer register

Offset: 0x20, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
NDT
rw
Toggle fields

NDT

Bits 0-15: Number of data to transfer (0 to 2<sup>16</sup> - 1) This bitfield is updated by hardware when the channel is enabled: It is decremented after each single DMA read followed by write transfer, indicating the remaining amount of data items to transfer. It is kept at zero when the programmed amount of data to transfer is reached, if the channel is not in circular mode (CIRC = 0 in the DMA_CCRx register). It is reloaded automatically by the previously programmed value, when the transfer is complete, if the channel is in circular mode (CIRC = 1). If this bitfield is zero, no transfer can be served whatever the channel status (enabled or not). Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

DMA_CPAR2

DMA channel 2 peripheral address register

Offset: 0x24, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PA
rw
Toggle fields

PA

Bits 0-31: Peripheral address It contains the base address of the peripheral data register from/to which the data is read/written. When PSIZE[1:0] = 01 (16 bits), bit 0 of PA[31:0] is ignored. Access is automatically aligned to a half-word address. When PSIZE[1:0] = 10 (32 bits), bits 1 and 0 of PA[31:0] are ignored. Access is automatically aligned to a word address. In memory-to-memory mode, this bitfield identifies the memory destination address if DIR = 1 and the memory source address if DIR = 0. In peripheral-to-peripheral mode, this bitfield identifies the peripheral destination address if DIR = 1 and the peripheral source address if DIR = 0. Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

DMA_CMAR2

DMA channel 2 memory address register

Offset: 0x28, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MA
rw
Toggle fields

MA

Bits 0-31: Peripheral address It contains the base address of the memory from/to which the data is read/written. When MSIZE[1:0] = 01 (16 bits), bit 0 of MA[31:0] is ignored. Access is automatically aligned to a half-word address. When MSIZE[1:0] = 10 (32 bits), bits 1 and 0 of MA[31:0] are ignored. Access is automatically aligned to a word address. In memory-to-memory mode, this bitfield identifies the memory source address if DIR = 1 and the memory destination address if DIR = 0. In peripheral-to-peripheral mode, this bitfield identifies the peripheral source address if DIR = 1 and the peripheral destination address if DIR = 0. Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

DMA_CCR3

DMA channel 3 configuration register

Offset: 0x30, size: 32, reset: 0x00000000, access: read-write

12/12 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MEM2MEM
rw
PL
rw
MSIZE
rw
PSIZE
rw
MINC
rw
PINC
rw
CIRC
rw
DIR
rw
TEIE
rw
HTIE
rw
TCIE
rw
EN
rw
Toggle fields

EN

Bit 0: Channel enable When a channel transfer error occurs, this bit is cleared by hardware. It can not be set again by software (channel x re-activated) until the TEIFx bit of the DMA_ISR register is cleared (by setting the CTEIFx bit of the DMA_IFCR register). Note: This bit is set and cleared by software..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

TCIE

Bit 1: Transfer complete interrupt enable Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

HTIE

Bit 2: Half transfer interrupt enable Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

TEIE

Bit 3: Transfer error interrupt enable Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

DIR

Bit 4: Data transfer direction This bit must be set only in memory-to-peripheral and peripheral-to-memory modes. Source attributes are defined by PSIZE and PINC, plus the DMA_CPARx register. This is still valid in a memory-to-memory mode. Destination attributes are defined by MSIZE and MINC, plus the DMA_CMARx register. This is still valid in a peripheral-to-peripheral mode. Destination attributes are defined by PSIZE and PINC, plus the DMA_CPARx register. This is still valid in a memory-to-memory mode. Source attributes are defined by MSIZE and MINC, plus the DMA_CMARx register. This is still valid in a peripheral-to-peripheral mode. Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Read from peripheral
1: B_0x1: Read from memory

CIRC

Bit 5: Circular mode Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

PINC

Bit 6: Peripheral increment mode Defines the increment mode for each DMA transfer to the identified peripheral. n memory-to-memory mode, this bit identifies the memory destination if DIR = 1 and the memory source if DIR = 0. In peripheral-to-peripheral mode, this bit identifies the peripheral destination if DIR = 1 and the peripheral source if DIR = 0. Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

MINC

Bit 7: Memory increment mode Defines the increment mode for each DMA transfer to the identified memory. In memory-to-memory mode, this bit identifies the memory source if DIR = 1 and the memory destination if DIR = 0. In peripheral-to-peripheral mode, this bit identifies the peripheral source if DIR = 1 and the peripheral destination if DIR = 0. Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

PSIZE

Bits 8-9: Peripheral size Defines the data size of each DMA transfer to the identified peripheral. In memory-to-memory mode, this bitfield identifies the memory destination if DIR = 1 and the memory source if DIR = 0. In peripheral-to-peripheral mode, this bitfield identifies the peripheral destination if DIR = 1 and the peripheral source if DIR = 0. Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: 8 bits
1: B_0x1: 16 bits
2: B_0x2: 32 bits

MSIZE

Bits 10-11: Memory size Defines the data size of each DMA transfer to the identified memory. In memory-to-memory mode, this bitfield identifies the memory source if DIR = 1 and the memory destination if DIR = 0. In peripheral-to-peripheral mode, this bitfield identifies the peripheral source if DIR = 1 and the peripheral destination if DIR = 0. Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: 8 bits
1: B_0x1: 16 bits
2: B_0x2: 32 bits

PL

Bits 12-13: Priority level Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Low
1: B_0x1: Medium
2: B_0x2: High
3: B_0x3: Very high

MEM2MEM

Bit 14: Memory-to-memory mode Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

DMA_CNDTR3

DMA channel 3 number of data to transfer register

Offset: 0x34, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
NDT
rw
Toggle fields

NDT

Bits 0-15: Number of data to transfer (0 to 2<sup>16</sup> - 1) This bitfield is updated by hardware when the channel is enabled: It is decremented after each single DMA read followed by write transfer, indicating the remaining amount of data items to transfer. It is kept at zero when the programmed amount of data to transfer is reached, if the channel is not in circular mode (CIRC = 0 in the DMA_CCRx register). It is reloaded automatically by the previously programmed value, when the transfer is complete, if the channel is in circular mode (CIRC = 1). If this bitfield is zero, no transfer can be served whatever the channel status (enabled or not). Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

DMA_CPAR3

DMA channel 3 peripheral address register

Offset: 0x38, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PA
rw
Toggle fields

PA

Bits 0-31: Peripheral address It contains the base address of the peripheral data register from/to which the data is read/written. When PSIZE[1:0] = 01 (16 bits), bit 0 of PA[31:0] is ignored. Access is automatically aligned to a half-word address. When PSIZE[1:0] = 10 (32 bits), bits 1 and 0 of PA[31:0] are ignored. Access is automatically aligned to a word address. In memory-to-memory mode, this bitfield identifies the memory destination address if DIR = 1 and the memory source address if DIR = 0. In peripheral-to-peripheral mode, this bitfield identifies the peripheral destination address if DIR = 1 and the peripheral source address if DIR = 0. Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

DMA_CMAR3

DMA channel 3 memory address register

Offset: 0x3c, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MA
rw
Toggle fields

MA

Bits 0-31: Peripheral address It contains the base address of the memory from/to which the data is read/written. When MSIZE[1:0] = 01 (16 bits), bit 0 of MA[31:0] is ignored. Access is automatically aligned to a half-word address. When MSIZE[1:0] = 10 (32 bits), bits 1 and 0 of MA[31:0] are ignored. Access is automatically aligned to a word address. In memory-to-memory mode, this bitfield identifies the memory source address if DIR = 1 and the memory destination address if DIR = 0. In peripheral-to-peripheral mode, this bitfield identifies the peripheral source address if DIR = 1 and the peripheral destination address if DIR = 0. Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

DMA_CCR4

DMA channel 4 configuration register

Offset: 0x44, size: 32, reset: 0x00000000, access: read-write

12/12 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MEM2MEM
rw
PL
rw
MSIZE
rw
PSIZE
rw
MINC
rw
PINC
rw
CIRC
rw
DIR
rw
TEIE
rw
HTIE
rw
TCIE
rw
EN
rw
Toggle fields

EN

Bit 0: Channel enable When a channel transfer error occurs, this bit is cleared by hardware. It can not be set again by software (channel x re-activated) until the TEIFx bit of the DMA_ISR register is cleared (by setting the CTEIFx bit of the DMA_IFCR register). Note: This bit is set and cleared by software..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

TCIE

Bit 1: Transfer complete interrupt enable Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

HTIE

Bit 2: Half transfer interrupt enable Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

TEIE

Bit 3: Transfer error interrupt enable Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

DIR

Bit 4: Data transfer direction This bit must be set only in memory-to-peripheral and peripheral-to-memory modes. Source attributes are defined by PSIZE and PINC, plus the DMA_CPARx register. This is still valid in a memory-to-memory mode. Destination attributes are defined by MSIZE and MINC, plus the DMA_CMARx register. This is still valid in a peripheral-to-peripheral mode. Destination attributes are defined by PSIZE and PINC, plus the DMA_CPARx register. This is still valid in a memory-to-memory mode. Source attributes are defined by MSIZE and MINC, plus the DMA_CMARx register. This is still valid in a peripheral-to-peripheral mode. Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Read from peripheral
1: B_0x1: Read from memory

CIRC

Bit 5: Circular mode Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

PINC

Bit 6: Peripheral increment mode Defines the increment mode for each DMA transfer to the identified peripheral. n memory-to-memory mode, this bit identifies the memory destination if DIR = 1 and the memory source if DIR = 0. In peripheral-to-peripheral mode, this bit identifies the peripheral destination if DIR = 1 and the peripheral source if DIR = 0. Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

MINC

Bit 7: Memory increment mode Defines the increment mode for each DMA transfer to the identified memory. In memory-to-memory mode, this bit identifies the memory source if DIR = 1 and the memory destination if DIR = 0. In peripheral-to-peripheral mode, this bit identifies the peripheral source if DIR = 1 and the peripheral destination if DIR = 0. Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

PSIZE

Bits 8-9: Peripheral size Defines the data size of each DMA transfer to the identified peripheral. In memory-to-memory mode, this bitfield identifies the memory destination if DIR = 1 and the memory source if DIR = 0. In peripheral-to-peripheral mode, this bitfield identifies the peripheral destination if DIR = 1 and the peripheral source if DIR = 0. Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: 8 bits
1: B_0x1: 16 bits
2: B_0x2: 32 bits

MSIZE

Bits 10-11: Memory size Defines the data size of each DMA transfer to the identified memory. In memory-to-memory mode, this bitfield identifies the memory source if DIR = 1 and the memory destination if DIR = 0. In peripheral-to-peripheral mode, this bitfield identifies the peripheral source if DIR = 1 and the peripheral destination if DIR = 0. Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: 8 bits
1: B_0x1: 16 bits
2: B_0x2: 32 bits

PL

Bits 12-13: Priority level Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Low
1: B_0x1: Medium
2: B_0x2: High
3: B_0x3: Very high

MEM2MEM

Bit 14: Memory-to-memory mode Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

DMA_CNDTR4

DMA channel 4 number of data to transfer register

Offset: 0x48, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
NDT
rw
Toggle fields

NDT

Bits 0-15: Number of data to transfer (0 to 2<sup>16</sup> - 1) This bitfield is updated by hardware when the channel is enabled: It is decremented after each single DMA read followed by write transfer, indicating the remaining amount of data items to transfer. It is kept at zero when the programmed amount of data to transfer is reached, if the channel is not in circular mode (CIRC = 0 in the DMA_CCRx register). It is reloaded automatically by the previously programmed value, when the transfer is complete, if the channel is in circular mode (CIRC = 1). If this bitfield is zero, no transfer can be served whatever the channel status (enabled or not). Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

DMA_CPAR4

DMA channel 4 peripheral address register

Offset: 0x4c, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PA
rw
Toggle fields

PA

Bits 0-31: Peripheral address It contains the base address of the peripheral data register from/to which the data is read/written. When PSIZE[1:0] = 01 (16 bits), bit 0 of PA[31:0] is ignored. Access is automatically aligned to a half-word address. When PSIZE[1:0] = 10 (32 bits), bits 1 and 0 of PA[31:0] are ignored. Access is automatically aligned to a word address. In memory-to-memory mode, this bitfield identifies the memory destination address if DIR = 1 and the memory source address if DIR = 0. In peripheral-to-peripheral mode, this bitfield identifies the peripheral destination address if DIR = 1 and the peripheral source address if DIR = 0. Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

DMA_CMAR4

DMA channel 4 memory address register

Offset: 0x50, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MA
rw
Toggle fields

MA

Bits 0-31: Peripheral address It contains the base address of the memory from/to which the data is read/written. When MSIZE[1:0] = 01 (16 bits), bit 0 of MA[31:0] is ignored. Access is automatically aligned to a half-word address. When MSIZE[1:0] = 10 (32 bits), bits 1 and 0 of MA[31:0] are ignored. Access is automatically aligned to a word address. In memory-to-memory mode, this bitfield identifies the memory source address if DIR = 1 and the memory destination address if DIR = 0. In peripheral-to-peripheral mode, this bitfield identifies the peripheral source address if DIR = 1 and the peripheral destination address if DIR = 0. Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

DMA_CCR5

DMA channel 5 configuration register

Offset: 0x58, size: 32, reset: 0x00000000, access: read-write

12/12 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MEM2MEM
rw
PL
rw
MSIZE
rw
PSIZE
rw
MINC
rw
PINC
rw
CIRC
rw
DIR
rw
TEIE
rw
HTIE
rw
TCIE
rw
EN
rw
Toggle fields

EN

Bit 0: Channel enable When a channel transfer error occurs, this bit is cleared by hardware. It can not be set again by software (channel x re-activated) until the TEIFx bit of the DMA_ISR register is cleared (by setting the CTEIFx bit of the DMA_IFCR register). Note: This bit is set and cleared by software..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

TCIE

Bit 1: Transfer complete interrupt enable Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

HTIE

Bit 2: Half transfer interrupt enable Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

TEIE

Bit 3: Transfer error interrupt enable Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

DIR

Bit 4: Data transfer direction This bit must be set only in memory-to-peripheral and peripheral-to-memory modes. Source attributes are defined by PSIZE and PINC, plus the DMA_CPARx register. This is still valid in a memory-to-memory mode. Destination attributes are defined by MSIZE and MINC, plus the DMA_CMARx register. This is still valid in a peripheral-to-peripheral mode. Destination attributes are defined by PSIZE and PINC, plus the DMA_CPARx register. This is still valid in a memory-to-memory mode. Source attributes are defined by MSIZE and MINC, plus the DMA_CMARx register. This is still valid in a peripheral-to-peripheral mode. Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Read from peripheral
1: B_0x1: Read from memory

CIRC

Bit 5: Circular mode Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

PINC

Bit 6: Peripheral increment mode Defines the increment mode for each DMA transfer to the identified peripheral. n memory-to-memory mode, this bit identifies the memory destination if DIR = 1 and the memory source if DIR = 0. In peripheral-to-peripheral mode, this bit identifies the peripheral destination if DIR = 1 and the peripheral source if DIR = 0. Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

MINC

Bit 7: Memory increment mode Defines the increment mode for each DMA transfer to the identified memory. In memory-to-memory mode, this bit identifies the memory source if DIR = 1 and the memory destination if DIR = 0. In peripheral-to-peripheral mode, this bit identifies the peripheral source if DIR = 1 and the peripheral destination if DIR = 0. Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

PSIZE

Bits 8-9: Peripheral size Defines the data size of each DMA transfer to the identified peripheral. In memory-to-memory mode, this bitfield identifies the memory destination if DIR = 1 and the memory source if DIR = 0. In peripheral-to-peripheral mode, this bitfield identifies the peripheral destination if DIR = 1 and the peripheral source if DIR = 0. Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: 8 bits
1: B_0x1: 16 bits
2: B_0x2: 32 bits

MSIZE

Bits 10-11: Memory size Defines the data size of each DMA transfer to the identified memory. In memory-to-memory mode, this bitfield identifies the memory source if DIR = 1 and the memory destination if DIR = 0. In peripheral-to-peripheral mode, this bitfield identifies the peripheral source if DIR = 1 and the peripheral destination if DIR = 0. Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: 8 bits
1: B_0x1: 16 bits
2: B_0x2: 32 bits

PL

Bits 12-13: Priority level Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Low
1: B_0x1: Medium
2: B_0x2: High
3: B_0x3: Very high

MEM2MEM

Bit 14: Memory-to-memory mode Note: This bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

Allowed values:
0: B_0x0: Disabled
1: B_0x1: Enabled

DMA_CNDTR5

DMA channel 5 number of data to transfer register

Offset: 0x5c, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
NDT
rw
Toggle fields

NDT

Bits 0-15: Number of data to transfer (0 to 2<sup>16</sup> - 1) This bitfield is updated by hardware when the channel is enabled: It is decremented after each single DMA read followed by write transfer, indicating the remaining amount of data items to transfer. It is kept at zero when the programmed amount of data to transfer is reached, if the channel is not in circular mode (CIRC = 0 in the DMA_CCRx register). It is reloaded automatically by the previously programmed value, when the transfer is complete, if the channel is in circular mode (CIRC = 1). If this bitfield is zero, no transfer can be served whatever the channel status (enabled or not). Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1)..

DMA_CPAR5

DMA channel 5 peripheral address register

Offset: 0x60, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PA
rw
Toggle fields

PA

Bits 0-31: Peripheral address It contains the base address of the peripheral data register from/to which the data is read/written. When PSIZE[1:0] = 01 (16 bits), bit 0 of PA[31:0] is ignored. Access is automatically aligned to a half-word address. When PSIZE[1:0] = 10 (32 bits), bits 1 and 0 of PA[31:0] are ignored. Access is automatically aligned to a word address. In memory-to-memory mode, this bitfield identifies the memory destination address if DIR = 1 and the memory source address if DIR = 0. In peripheral-to-peripheral mode, this bitfield identifies the peripheral destination address if DIR = 1 and the peripheral source address if DIR = 0. Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

DMA_CMAR5

DMA channel 5 memory address register

Offset: 0x64, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MA
rw
Toggle fields

MA

Bits 0-31: Peripheral address It contains the base address of the memory from/to which the data is read/written. When MSIZE[1:0] = 01 (16 bits), bit 0 of MA[31:0] is ignored. Access is automatically aligned to a half-word address. When MSIZE[1:0] = 10 (32 bits), bits 1 and 0 of MA[31:0] are ignored. Access is automatically aligned to a word address. In memory-to-memory mode, this bitfield identifies the memory source address if DIR = 1 and the memory destination address if DIR = 0. In peripheral-to-peripheral mode, this bitfield identifies the peripheral source address if DIR = 1 and the peripheral destination address if DIR = 0. Note: This bitfield is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1)..

DMAMUX

0x40020800: DMAMUX address block description

41/73 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 DMAMUX_C0CR
0x4 DMAMUX_C1CR
0x8 DMAMUX_C2CR
0xc DMAMUX_C3CR
0x10 DMAMUX_C4CR
0x80 DMAMUX_CSR
0x84 DMAMUX_CFR
0x100 DMAMUX_RG0CR
0x104 DMAMUX_RG1CR
0x108 DMAMUX_RG2CR
0x10c DMAMUX_RG3CR
0x140 DMAMUX_RGSR
0x144 DMAMUX_RGCFR
Toggle registers

DMAMUX_C0CR

DMAMUX request line multiplexer channel 0 configuration register

Offset: 0x0, size: 32, reset: 0x00000000, access: read-write

4/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SYNC_ID
rw
NBREQ
rw
SPOL
rw
SE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EGE
rw
SOIE
rw
DMAREQ_ID
rw
Toggle fields

DMAREQ_ID

Bits 0-5: DMA request identification Selects the input DMA request. See the DMAMUX table about assignments of multiplexer inputs to resources..

SOIE

Bit 8: Synchronization overrun interrupt enable.

Allowed values:
0: B_0x0: Interrupt disabled
1: B_0x1: Interrupt enabled

EGE

Bit 9: Event generation enable.

Allowed values:
0: B_0x0: Event generation disabled
1: B_0x1: Event generation enabled

SE

Bit 16: Synchronization enable.

Allowed values:
0: B_0x0: Synchronization disabled
1: B_0x1: Synchronization enabled

SPOL

Bits 17-18: Synchronization polarity Defines the edge polarity of the selected synchronization input:.

Allowed values:
0: B_0x0: No event (no synchronization, no detection).
1: B_0x1: Rising edge
2: B_0x2: Falling edge
3: B_0x3: Rising and falling edges

NBREQ

Bits 19-23: Number of DMA requests minus 1 to forward Defines the number of DMA requests to forward to the DMA controller after a synchronization event, and/or the number of DMA requests before an output event is generated. This field must only be written when both SE and EGE bits are low..

SYNC_ID

Bits 24-28: Synchronization identification Selects the synchronization input (see Table 44: DMAMUX: assignment of synchronization inputs to resources)..

DMAMUX_C1CR

DMAMUX request line multiplexer channel 1 configuration register

Offset: 0x4, size: 32, reset: 0x00000000, access: read-write

4/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SYNC_ID
rw
NBREQ
rw
SPOL
rw
SE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EGE
rw
SOIE
rw
DMAREQ_ID
rw
Toggle fields

DMAREQ_ID

Bits 0-5: DMA request identification Selects the input DMA request. See the DMAMUX table about assignments of multiplexer inputs to resources..

SOIE

Bit 8: Synchronization overrun interrupt enable.

Allowed values:
0: B_0x0: Interrupt disabled
1: B_0x1: Interrupt enabled

EGE

Bit 9: Event generation enable.

Allowed values:
0: B_0x0: Event generation disabled
1: B_0x1: Event generation enabled

SE

Bit 16: Synchronization enable.

Allowed values:
0: B_0x0: Synchronization disabled
1: B_0x1: Synchronization enabled

SPOL

Bits 17-18: Synchronization polarity Defines the edge polarity of the selected synchronization input:.

Allowed values:
0: B_0x0: No event (no synchronization, no detection).
1: B_0x1: Rising edge
2: B_0x2: Falling edge
3: B_0x3: Rising and falling edges

NBREQ

Bits 19-23: Number of DMA requests minus 1 to forward Defines the number of DMA requests to forward to the DMA controller after a synchronization event, and/or the number of DMA requests before an output event is generated. This field must only be written when both SE and EGE bits are low..

SYNC_ID

Bits 24-28: Synchronization identification Selects the synchronization input (see Table 44: DMAMUX: assignment of synchronization inputs to resources)..

DMAMUX_C2CR

DMAMUX request line multiplexer channel 2 configuration register

Offset: 0x8, size: 32, reset: 0x00000000, access: read-write

4/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SYNC_ID
rw
NBREQ
rw
SPOL
rw
SE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EGE
rw
SOIE
rw
DMAREQ_ID
rw
Toggle fields

DMAREQ_ID

Bits 0-5: DMA request identification Selects the input DMA request. See the DMAMUX table about assignments of multiplexer inputs to resources..

SOIE

Bit 8: Synchronization overrun interrupt enable.

Allowed values:
0: B_0x0: Interrupt disabled
1: B_0x1: Interrupt enabled

EGE

Bit 9: Event generation enable.

Allowed values:
0: B_0x0: Event generation disabled
1: B_0x1: Event generation enabled

SE

Bit 16: Synchronization enable.

Allowed values:
0: B_0x0: Synchronization disabled
1: B_0x1: Synchronization enabled

SPOL

Bits 17-18: Synchronization polarity Defines the edge polarity of the selected synchronization input:.

Allowed values:
0: B_0x0: No event (no synchronization, no detection).
1: B_0x1: Rising edge
2: B_0x2: Falling edge
3: B_0x3: Rising and falling edges

NBREQ

Bits 19-23: Number of DMA requests minus 1 to forward Defines the number of DMA requests to forward to the DMA controller after a synchronization event, and/or the number of DMA requests before an output event is generated. This field must only be written when both SE and EGE bits are low..

SYNC_ID

Bits 24-28: Synchronization identification Selects the synchronization input (see Table 44: DMAMUX: assignment of synchronization inputs to resources)..

DMAMUX_C3CR

DMAMUX request line multiplexer channel 3 configuration register

Offset: 0xc, size: 32, reset: 0x00000000, access: read-write

4/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SYNC_ID
rw
NBREQ
rw
SPOL
rw
SE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EGE
rw
SOIE
rw
DMAREQ_ID
rw
Toggle fields

DMAREQ_ID

Bits 0-5: DMA request identification Selects the input DMA request. See the DMAMUX table about assignments of multiplexer inputs to resources..

SOIE

Bit 8: Synchronization overrun interrupt enable.

Allowed values:
0: B_0x0: Interrupt disabled
1: B_0x1: Interrupt enabled

EGE

Bit 9: Event generation enable.

Allowed values:
0: B_0x0: Event generation disabled
1: B_0x1: Event generation enabled

SE

Bit 16: Synchronization enable.

Allowed values:
0: B_0x0: Synchronization disabled
1: B_0x1: Synchronization enabled

SPOL

Bits 17-18: Synchronization polarity Defines the edge polarity of the selected synchronization input:.

Allowed values:
0: B_0x0: No event (no synchronization, no detection).
1: B_0x1: Rising edge
2: B_0x2: Falling edge
3: B_0x3: Rising and falling edges

NBREQ

Bits 19-23: Number of DMA requests minus 1 to forward Defines the number of DMA requests to forward to the DMA controller after a synchronization event, and/or the number of DMA requests before an output event is generated. This field must only be written when both SE and EGE bits are low..

SYNC_ID

Bits 24-28: Synchronization identification Selects the synchronization input (see Table 44: DMAMUX: assignment of synchronization inputs to resources)..

DMAMUX_C4CR

DMAMUX request line multiplexer channel 4 configuration register

Offset: 0x10, size: 32, reset: 0x00000000, access: read-write

4/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SYNC_ID
rw
NBREQ
rw
SPOL
rw
SE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EGE
rw
SOIE
rw
DMAREQ_ID
rw
Toggle fields

DMAREQ_ID

Bits 0-5: DMA request identification Selects the input DMA request. See the DMAMUX table about assignments of multiplexer inputs to resources..

SOIE

Bit 8: Synchronization overrun interrupt enable.

Allowed values:
0: B_0x0: Interrupt disabled
1: B_0x1: Interrupt enabled

EGE

Bit 9: Event generation enable.

Allowed values:
0: B_0x0: Event generation disabled
1: B_0x1: Event generation enabled

SE

Bit 16: Synchronization enable.

Allowed values:
0: B_0x0: Synchronization disabled
1: B_0x1: Synchronization enabled

SPOL

Bits 17-18: Synchronization polarity Defines the edge polarity of the selected synchronization input:.

Allowed values:
0: B_0x0: No event (no synchronization, no detection).
1: B_0x1: Rising edge
2: B_0x2: Falling edge
3: B_0x3: Rising and falling edges

NBREQ

Bits 19-23: Number of DMA requests minus 1 to forward Defines the number of DMA requests to forward to the DMA controller after a synchronization event, and/or the number of DMA requests before an output event is generated. This field must only be written when both SE and EGE bits are low..

SYNC_ID

Bits 24-28: Synchronization identification Selects the synchronization input (see Table 44: DMAMUX: assignment of synchronization inputs to resources)..

DMAMUX_CSR

DMAMUX request line multiplexer interrupt channel status register

Offset: 0x80, size: 32, reset: 0x00000000, access: read-only

5/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SOF4
r
SOF3
r
SOF2
r
SOF1
r
SOF0
r
Toggle fields

SOF0

Bit 0: Synchronization overrun event flag The flag is set when a synchronization event occurs on a DMA request line multiplexer channel x, while the DMA request counter value is lower than NBREQ. The flag is cleared by writing 1 to the corresponding CSOFx bit in DMAMUX_CFR register..

SOF1

Bit 1: Synchronization overrun event flag The flag is set when a synchronization event occurs on a DMA request line multiplexer channel x, while the DMA request counter value is lower than NBREQ. The flag is cleared by writing 1 to the corresponding CSOFx bit in DMAMUX_CFR register..

SOF2

Bit 2: Synchronization overrun event flag The flag is set when a synchronization event occurs on a DMA request line multiplexer channel x, while the DMA request counter value is lower than NBREQ. The flag is cleared by writing 1 to the corresponding CSOFx bit in DMAMUX_CFR register..

SOF3

Bit 3: Synchronization overrun event flag The flag is set when a synchronization event occurs on a DMA request line multiplexer channel x, while the DMA request counter value is lower than NBREQ. The flag is cleared by writing 1 to the corresponding CSOFx bit in DMAMUX_CFR register..

SOF4

Bit 4: Synchronization overrun event flag The flag is set when a synchronization event occurs on a DMA request line multiplexer channel x, while the DMA request counter value is lower than NBREQ. The flag is cleared by writing 1 to the corresponding CSOFx bit in DMAMUX_CFR register..

DMAMUX_CFR

DMAMUX request line multiplexer interrupt clear flag register

Offset: 0x84, size: 32, reset: 0x00000000, access: write-only

0/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CSOF4
w
CSOF3
w
CSOF2
w
CSOF1
w
CSOF0
w
Toggle fields

CSOF0

Bit 0: Clear synchronization overrun event flag Writing 1 in each bit clears the corresponding overrun flag SOFx in the DMAMUX_CSR register..

CSOF1

Bit 1: Clear synchronization overrun event flag Writing 1 in each bit clears the corresponding overrun flag SOFx in the DMAMUX_CSR register..

CSOF2

Bit 2: Clear synchronization overrun event flag Writing 1 in each bit clears the corresponding overrun flag SOFx in the DMAMUX_CSR register..

CSOF3

Bit 3: Clear synchronization overrun event flag Writing 1 in each bit clears the corresponding overrun flag SOFx in the DMAMUX_CSR register..

CSOF4

Bit 4: Clear synchronization overrun event flag Writing 1 in each bit clears the corresponding overrun flag SOFx in the DMAMUX_CSR register..

DMAMUX_RG0CR

DMAMUX request generator channel 0 configuration register

Offset: 0x100, size: 32, reset: 0x00000000, access: read-write

3/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
GNBREQ
rw
GPOL
rw
GE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OIE
rw
SIG_ID
rw
Toggle fields

SIG_ID

Bits 0-4: Signal identification Selects the DMA request trigger input used for the channel x of the DMA request generator.

OIE

Bit 8: Trigger overrun interrupt enable.

Allowed values:
0: B_0x0: Interrupt on a trigger overrun event occurrence is disabled
1: B_0x1: Interrupt on a trigger overrun event occurrence is enabled

GE

Bit 16: DMA request generator channel x enable.

Allowed values:
0: B_0x0: DMA request generator channel x disabled
1: B_0x1: DMA request generator channel x enabled

GPOL

Bits 17-18: DMA request generator trigger polarity Defines the edge polarity of the selected trigger input.

Allowed values:
0: B_0x0: No event, i.e. no trigger detection nor generation.
1: B_0x1: Rising edge
2: B_0x2: Falling edge
3: B_0x3: Rising and falling edges

GNBREQ

Bits 19-23: Number of DMA requests to be generated (minus 1) Defines the number of DMA requests to be generated after a trigger event. The actual number of generated DMA requests is GNBREQ +1. Note: This field must be written only when GE bit is disabled..

DMAMUX_RG1CR

DMAMUX request generator channel 1 configuration register

Offset: 0x104, size: 32, reset: 0x00000000, access: read-write

3/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
GNBREQ
rw
GPOL
rw
GE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OIE
rw
SIG_ID
rw
Toggle fields

SIG_ID

Bits 0-4: Signal identification Selects the DMA request trigger input used for the channel x of the DMA request generator.

OIE

Bit 8: Trigger overrun interrupt enable.

Allowed values:
0: B_0x0: Interrupt on a trigger overrun event occurrence is disabled
1: B_0x1: Interrupt on a trigger overrun event occurrence is enabled

GE

Bit 16: DMA request generator channel x enable.

Allowed values:
0: B_0x0: DMA request generator channel x disabled
1: B_0x1: DMA request generator channel x enabled

GPOL

Bits 17-18: DMA request generator trigger polarity Defines the edge polarity of the selected trigger input.

Allowed values:
0: B_0x0: No event, i.e. no trigger detection nor generation.
1: B_0x1: Rising edge
2: B_0x2: Falling edge
3: B_0x3: Rising and falling edges

GNBREQ

Bits 19-23: Number of DMA requests to be generated (minus 1) Defines the number of DMA requests to be generated after a trigger event. The actual number of generated DMA requests is GNBREQ +1. Note: This field must be written only when GE bit is disabled..

DMAMUX_RG2CR

DMAMUX request generator channel 2 configuration register

Offset: 0x108, size: 32, reset: 0x00000000, access: read-write

3/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
GNBREQ
rw
GPOL
rw
GE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OIE
rw
SIG_ID
rw
Toggle fields

SIG_ID

Bits 0-4: Signal identification Selects the DMA request trigger input used for the channel x of the DMA request generator.

OIE

Bit 8: Trigger overrun interrupt enable.

Allowed values:
0: B_0x0: Interrupt on a trigger overrun event occurrence is disabled
1: B_0x1: Interrupt on a trigger overrun event occurrence is enabled

GE

Bit 16: DMA request generator channel x enable.

Allowed values:
0: B_0x0: DMA request generator channel x disabled
1: B_0x1: DMA request generator channel x enabled

GPOL

Bits 17-18: DMA request generator trigger polarity Defines the edge polarity of the selected trigger input.

Allowed values:
0: B_0x0: No event, i.e. no trigger detection nor generation.
1: B_0x1: Rising edge
2: B_0x2: Falling edge
3: B_0x3: Rising and falling edges

GNBREQ

Bits 19-23: Number of DMA requests to be generated (minus 1) Defines the number of DMA requests to be generated after a trigger event. The actual number of generated DMA requests is GNBREQ +1. Note: This field must be written only when GE bit is disabled..

DMAMUX_RG3CR

DMAMUX request generator channel 3 configuration register

Offset: 0x10c, size: 32, reset: 0x00000000, access: read-write

3/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
GNBREQ
rw
GPOL
rw
GE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OIE
rw
SIG_ID
rw
Toggle fields

SIG_ID

Bits 0-4: Signal identification Selects the DMA request trigger input used for the channel x of the DMA request generator.

OIE

Bit 8: Trigger overrun interrupt enable.

Allowed values:
0: B_0x0: Interrupt on a trigger overrun event occurrence is disabled
1: B_0x1: Interrupt on a trigger overrun event occurrence is enabled

GE

Bit 16: DMA request generator channel x enable.

Allowed values:
0: B_0x0: DMA request generator channel x disabled
1: B_0x1: DMA request generator channel x enabled

GPOL

Bits 17-18: DMA request generator trigger polarity Defines the edge polarity of the selected trigger input.

Allowed values:
0: B_0x0: No event, i.e. no trigger detection nor generation.
1: B_0x1: Rising edge
2: B_0x2: Falling edge
3: B_0x3: Rising and falling edges

GNBREQ

Bits 19-23: Number of DMA requests to be generated (minus 1) Defines the number of DMA requests to be generated after a trigger event. The actual number of generated DMA requests is GNBREQ +1. Note: This field must be written only when GE bit is disabled..

DMAMUX_RGSR

DMAMUX request generator interrupt status register

Offset: 0x140, size: 32, reset: 0x00000000, access: read-only

4/4 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OF3
r
OF2
r
OF1
r
OF0
r
Toggle fields

OF0

Bit 0: Trigger overrun event flag The flag is set when a new trigger event occurs on DMA request generator channel x, before the request counter underrun (the internal request counter programmed via the GNBREQ field of the DMAMUX_RGxCR register). The flag is cleared by writing 1 to the corresponding COFx bit in the DMAMUX_RGCFR register..

OF1

Bit 1: Trigger overrun event flag The flag is set when a new trigger event occurs on DMA request generator channel x, before the request counter underrun (the internal request counter programmed via the GNBREQ field of the DMAMUX_RGxCR register). The flag is cleared by writing 1 to the corresponding COFx bit in the DMAMUX_RGCFR register..

OF2

Bit 2: Trigger overrun event flag The flag is set when a new trigger event occurs on DMA request generator channel x, before the request counter underrun (the internal request counter programmed via the GNBREQ field of the DMAMUX_RGxCR register). The flag is cleared by writing 1 to the corresponding COFx bit in the DMAMUX_RGCFR register..

OF3

Bit 3: Trigger overrun event flag The flag is set when a new trigger event occurs on DMA request generator channel x, before the request counter underrun (the internal request counter programmed via the GNBREQ field of the DMAMUX_RGxCR register). The flag is cleared by writing 1 to the corresponding COFx bit in the DMAMUX_RGCFR register..

DMAMUX_RGCFR

DMAMUX request generator interrupt clear flag register

Offset: 0x144, size: 32, reset: 0x00000000, access: write-only

0/4 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
COF3
w
COF2
w
COF1
w
COF0
w
Toggle fields

COF0

Bit 0: Clear trigger overrun event flag Writing 1 in each bit clears the corresponding overrun flag OFx in the DMAMUX_RGSR register..

COF1

Bit 1: Clear trigger overrun event flag Writing 1 in each bit clears the corresponding overrun flag OFx in the DMAMUX_RGSR register..

COF2

Bit 2: Clear trigger overrun event flag Writing 1 in each bit clears the corresponding overrun flag OFx in the DMAMUX_RGSR register..

COF3

Bit 3: Clear trigger overrun event flag Writing 1 in each bit clears the corresponding overrun flag OFx in the DMAMUX_RGSR register..

EXTI

0x40021800: EXTI address block description

143/143 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 EXTI_RTSR1
0x4 EXTI_FTSR1
0x8 EXTI_SWIER1
0xc EXTI_RPR1
0x10 EXTI_FPR1
0x28 EXTI_RTSR2
0x2c EXTI_FTSR2
0x30 EXTI_SWIER2
0x34 EXTI_RPR2
0x38 EXTI_FPR2
0x60 EXTI_EXTICR1
0x64 EXTI_EXTICR2
0x68 EXTI_EXTICR3
0x6c EXTI_EXTICR4
0x80 EXTI_IMR1
0x84 EXTI_EMR1
0x90 EXTI_IMR2
0x94 EXTI_EMR2
Toggle registers

EXTI_RTSR1

EXTI rising trigger selection register 1

Offset: 0x0, size: 32, reset: 0x00000000, access: read-write

16/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RT15
rw
RT14
rw
RT13
rw
RT12
rw
RT11
rw
RT10
rw
RT9
rw
RT8
rw
RT7
rw
RT6
rw
RT5
rw
RT4
rw
RT3
rw
RT2
rw
RT1
rw
RT0
rw
Toggle fields

RT0

Bit 0: Rising trigger event configuration bit of configurable line x (x = 15 to 0) Each bit enables/disables the rising edge trigger for the event and interrupt on the corresponding line. Note: The configurable lines are edge triggered; no glitch must be generated on these inputs. If a rising edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Rising edge trigger can be set for a line with falling edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RT1

Bit 1: Rising trigger event configuration bit of configurable line x (x = 15 to 0) Each bit enables/disables the rising edge trigger for the event and interrupt on the corresponding line. Note: The configurable lines are edge triggered; no glitch must be generated on these inputs. If a rising edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Rising edge trigger can be set for a line with falling edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RT2

Bit 2: Rising trigger event configuration bit of configurable line x (x = 15 to 0) Each bit enables/disables the rising edge trigger for the event and interrupt on the corresponding line. Note: The configurable lines are edge triggered; no glitch must be generated on these inputs. If a rising edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Rising edge trigger can be set for a line with falling edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RT3

Bit 3: Rising trigger event configuration bit of configurable line x (x = 15 to 0) Each bit enables/disables the rising edge trigger for the event and interrupt on the corresponding line. Note: The configurable lines are edge triggered; no glitch must be generated on these inputs. If a rising edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Rising edge trigger can be set for a line with falling edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RT4

Bit 4: Rising trigger event configuration bit of configurable line x (x = 15 to 0) Each bit enables/disables the rising edge trigger for the event and interrupt on the corresponding line. Note: The configurable lines are edge triggered; no glitch must be generated on these inputs. If a rising edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Rising edge trigger can be set for a line with falling edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RT5

Bit 5: Rising trigger event configuration bit of configurable line x (x = 15 to 0) Each bit enables/disables the rising edge trigger for the event and interrupt on the corresponding line. Note: The configurable lines are edge triggered; no glitch must be generated on these inputs. If a rising edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Rising edge trigger can be set for a line with falling edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RT6

Bit 6: Rising trigger event configuration bit of configurable line x (x = 15 to 0) Each bit enables/disables the rising edge trigger for the event and interrupt on the corresponding line. Note: The configurable lines are edge triggered; no glitch must be generated on these inputs. If a rising edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Rising edge trigger can be set for a line with falling edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RT7

Bit 7: Rising trigger event configuration bit of configurable line x (x = 15 to 0) Each bit enables/disables the rising edge trigger for the event and interrupt on the corresponding line. Note: The configurable lines are edge triggered; no glitch must be generated on these inputs. If a rising edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Rising edge trigger can be set for a line with falling edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RT8

Bit 8: Rising trigger event configuration bit of configurable line x (x = 15 to 0) Each bit enables/disables the rising edge trigger for the event and interrupt on the corresponding line. Note: The configurable lines are edge triggered; no glitch must be generated on these inputs. If a rising edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Rising edge trigger can be set for a line with falling edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RT9

Bit 9: Rising trigger event configuration bit of configurable line x (x = 15 to 0) Each bit enables/disables the rising edge trigger for the event and interrupt on the corresponding line. Note: The configurable lines are edge triggered; no glitch must be generated on these inputs. If a rising edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Rising edge trigger can be set for a line with falling edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RT10

Bit 10: Rising trigger event configuration bit of configurable line x (x = 15 to 0) Each bit enables/disables the rising edge trigger for the event and interrupt on the corresponding line. Note: The configurable lines are edge triggered; no glitch must be generated on these inputs. If a rising edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Rising edge trigger can be set for a line with falling edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RT11

Bit 11: Rising trigger event configuration bit of configurable line x (x = 15 to 0) Each bit enables/disables the rising edge trigger for the event and interrupt on the corresponding line. Note: The configurable lines are edge triggered; no glitch must be generated on these inputs. If a rising edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Rising edge trigger can be set for a line with falling edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RT12

Bit 12: Rising trigger event configuration bit of configurable line x (x = 15 to 0) Each bit enables/disables the rising edge trigger for the event and interrupt on the corresponding line. Note: The configurable lines are edge triggered; no glitch must be generated on these inputs. If a rising edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Rising edge trigger can be set for a line with falling edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RT13

Bit 13: Rising trigger event configuration bit of configurable line x (x = 15 to 0) Each bit enables/disables the rising edge trigger for the event and interrupt on the corresponding line. Note: The configurable lines are edge triggered; no glitch must be generated on these inputs. If a rising edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Rising edge trigger can be set for a line with falling edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RT14

Bit 14: Rising trigger event configuration bit of configurable line x (x = 15 to 0) Each bit enables/disables the rising edge trigger for the event and interrupt on the corresponding line. Note: The configurable lines are edge triggered; no glitch must be generated on these inputs. If a rising edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Rising edge trigger can be set for a line with falling edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RT15

Bit 15: Rising trigger event configuration bit of configurable line x (x = 15 to 0) Each bit enables/disables the rising edge trigger for the event and interrupt on the corresponding line. Note: The configurable lines are edge triggered; no glitch must be generated on these inputs. If a rising edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Rising edge trigger can be set for a line with falling edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

EXTI_FTSR1

EXTI falling trigger selection register 1

Offset: 0x4, size: 32, reset: 0x00000000, access: read-write

16/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FT15
rw
FT14
rw
FT13
rw
FT12
rw
FT11
rw
FT10
rw
FT9
rw
FT8
rw
FT7
rw
FT6
rw
FT5
rw
FT4
rw
FT3
rw
FT2
rw
FT1
rw
FT0
rw
Toggle fields

FT0

Bit 0: Falling trigger event configuration bit of configurable line x (x = 15 to 0). Each bit enables/disables the falling edge trigger for the event and interrupt on the corresponding line. The configurable lines are edge triggered; no glitch must be generated on these inputs. Note: If a falling edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Falling edge trigger can be set for a line with rising edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

FT1

Bit 1: Falling trigger event configuration bit of configurable line x (x = 15 to 0). Each bit enables/disables the falling edge trigger for the event and interrupt on the corresponding line. The configurable lines are edge triggered; no glitch must be generated on these inputs. Note: If a falling edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Falling edge trigger can be set for a line with rising edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

FT2

Bit 2: Falling trigger event configuration bit of configurable line x (x = 15 to 0). Each bit enables/disables the falling edge trigger for the event and interrupt on the corresponding line. The configurable lines are edge triggered; no glitch must be generated on these inputs. Note: If a falling edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Falling edge trigger can be set for a line with rising edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

FT3

Bit 3: Falling trigger event configuration bit of configurable line x (x = 15 to 0). Each bit enables/disables the falling edge trigger for the event and interrupt on the corresponding line. The configurable lines are edge triggered; no glitch must be generated on these inputs. Note: If a falling edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Falling edge trigger can be set for a line with rising edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

FT4

Bit 4: Falling trigger event configuration bit of configurable line x (x = 15 to 0). Each bit enables/disables the falling edge trigger for the event and interrupt on the corresponding line. The configurable lines are edge triggered; no glitch must be generated on these inputs. Note: If a falling edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Falling edge trigger can be set for a line with rising edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

FT5

Bit 5: Falling trigger event configuration bit of configurable line x (x = 15 to 0). Each bit enables/disables the falling edge trigger for the event and interrupt on the corresponding line. The configurable lines are edge triggered; no glitch must be generated on these inputs. Note: If a falling edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Falling edge trigger can be set for a line with rising edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

FT6

Bit 6: Falling trigger event configuration bit of configurable line x (x = 15 to 0). Each bit enables/disables the falling edge trigger for the event and interrupt on the corresponding line. The configurable lines are edge triggered; no glitch must be generated on these inputs. Note: If a falling edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Falling edge trigger can be set for a line with rising edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

FT7

Bit 7: Falling trigger event configuration bit of configurable line x (x = 15 to 0). Each bit enables/disables the falling edge trigger for the event and interrupt on the corresponding line. The configurable lines are edge triggered; no glitch must be generated on these inputs. Note: If a falling edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Falling edge trigger can be set for a line with rising edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

FT8

Bit 8: Falling trigger event configuration bit of configurable line x (x = 15 to 0). Each bit enables/disables the falling edge trigger for the event and interrupt on the corresponding line. The configurable lines are edge triggered; no glitch must be generated on these inputs. Note: If a falling edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Falling edge trigger can be set for a line with rising edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

FT9

Bit 9: Falling trigger event configuration bit of configurable line x (x = 15 to 0). Each bit enables/disables the falling edge trigger for the event and interrupt on the corresponding line. The configurable lines are edge triggered; no glitch must be generated on these inputs. Note: If a falling edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Falling edge trigger can be set for a line with rising edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

FT10

Bit 10: Falling trigger event configuration bit of configurable line x (x = 15 to 0). Each bit enables/disables the falling edge trigger for the event and interrupt on the corresponding line. The configurable lines are edge triggered; no glitch must be generated on these inputs. Note: If a falling edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Falling edge trigger can be set for a line with rising edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

FT11

Bit 11: Falling trigger event configuration bit of configurable line x (x = 15 to 0). Each bit enables/disables the falling edge trigger for the event and interrupt on the corresponding line. The configurable lines are edge triggered; no glitch must be generated on these inputs. Note: If a falling edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Falling edge trigger can be set for a line with rising edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

FT12

Bit 12: Falling trigger event configuration bit of configurable line x (x = 15 to 0). Each bit enables/disables the falling edge trigger for the event and interrupt on the corresponding line. The configurable lines are edge triggered; no glitch must be generated on these inputs. Note: If a falling edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Falling edge trigger can be set for a line with rising edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

FT13

Bit 13: Falling trigger event configuration bit of configurable line x (x = 15 to 0). Each bit enables/disables the falling edge trigger for the event and interrupt on the corresponding line. The configurable lines are edge triggered; no glitch must be generated on these inputs. Note: If a falling edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Falling edge trigger can be set for a line with rising edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

FT14

Bit 14: Falling trigger event configuration bit of configurable line x (x = 15 to 0). Each bit enables/disables the falling edge trigger for the event and interrupt on the corresponding line. The configurable lines are edge triggered; no glitch must be generated on these inputs. Note: If a falling edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Falling edge trigger can be set for a line with rising edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

FT15

Bit 15: Falling trigger event configuration bit of configurable line x (x = 15 to 0). Each bit enables/disables the falling edge trigger for the event and interrupt on the corresponding line. The configurable lines are edge triggered; no glitch must be generated on these inputs. Note: If a falling edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Falling edge trigger can be set for a line with rising edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

EXTI_SWIER1

EXTI software interrupt event register 1

Offset: 0x8, size: 32, reset: 0x00000000, access: read-write

16/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SWI15
rw
SWI14
rw
SWI13
rw
SWI12
rw
SWI11
rw
SWI10
rw
SWI9
rw
SWI8
rw
SWI7
rw
SWI6
rw
SWI5
rw
SWI4
rw
SWI3
rw
SWI2
rw
SWI1
rw
SWI0
rw
Toggle fields

SWI0

Bit 0: Software rising edge event trigger on line x (x = 15 to 0) Setting of any bit by software triggers a rising edge event on the corresponding line x, resulting in an interrupt, independently of EXTI_RTSR1 and EXTI_FTSR1 settings. The bits are automatically cleared by HW. Reading of any bit always returns 0..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Rising edge event generated on the corresponding line, followed by an interrupt

SWI1

Bit 1: Software rising edge event trigger on line x (x = 15 to 0) Setting of any bit by software triggers a rising edge event on the corresponding line x, resulting in an interrupt, independently of EXTI_RTSR1 and EXTI_FTSR1 settings. The bits are automatically cleared by HW. Reading of any bit always returns 0..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Rising edge event generated on the corresponding line, followed by an interrupt

SWI2

Bit 2: Software rising edge event trigger on line x (x = 15 to 0) Setting of any bit by software triggers a rising edge event on the corresponding line x, resulting in an interrupt, independently of EXTI_RTSR1 and EXTI_FTSR1 settings. The bits are automatically cleared by HW. Reading of any bit always returns 0..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Rising edge event generated on the corresponding line, followed by an interrupt

SWI3

Bit 3: Software rising edge event trigger on line x (x = 15 to 0) Setting of any bit by software triggers a rising edge event on the corresponding line x, resulting in an interrupt, independently of EXTI_RTSR1 and EXTI_FTSR1 settings. The bits are automatically cleared by HW. Reading of any bit always returns 0..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Rising edge event generated on the corresponding line, followed by an interrupt

SWI4

Bit 4: Software rising edge event trigger on line x (x = 15 to 0) Setting of any bit by software triggers a rising edge event on the corresponding line x, resulting in an interrupt, independently of EXTI_RTSR1 and EXTI_FTSR1 settings. The bits are automatically cleared by HW. Reading of any bit always returns 0..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Rising edge event generated on the corresponding line, followed by an interrupt

SWI5

Bit 5: Software rising edge event trigger on line x (x = 15 to 0) Setting of any bit by software triggers a rising edge event on the corresponding line x, resulting in an interrupt, independently of EXTI_RTSR1 and EXTI_FTSR1 settings. The bits are automatically cleared by HW. Reading of any bit always returns 0..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Rising edge event generated on the corresponding line, followed by an interrupt

SWI6

Bit 6: Software rising edge event trigger on line x (x = 15 to 0) Setting of any bit by software triggers a rising edge event on the corresponding line x, resulting in an interrupt, independently of EXTI_RTSR1 and EXTI_FTSR1 settings. The bits are automatically cleared by HW. Reading of any bit always returns 0..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Rising edge event generated on the corresponding line, followed by an interrupt

SWI7

Bit 7: Software rising edge event trigger on line x (x = 15 to 0) Setting of any bit by software triggers a rising edge event on the corresponding line x, resulting in an interrupt, independently of EXTI_RTSR1 and EXTI_FTSR1 settings. The bits are automatically cleared by HW. Reading of any bit always returns 0..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Rising edge event generated on the corresponding line, followed by an interrupt

SWI8

Bit 8: Software rising edge event trigger on line x (x = 15 to 0) Setting of any bit by software triggers a rising edge event on the corresponding line x, resulting in an interrupt, independently of EXTI_RTSR1 and EXTI_FTSR1 settings. The bits are automatically cleared by HW. Reading of any bit always returns 0..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Rising edge event generated on the corresponding line, followed by an interrupt

SWI9

Bit 9: Software rising edge event trigger on line x (x = 15 to 0) Setting of any bit by software triggers a rising edge event on the corresponding line x, resulting in an interrupt, independently of EXTI_RTSR1 and EXTI_FTSR1 settings. The bits are automatically cleared by HW. Reading of any bit always returns 0..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Rising edge event generated on the corresponding line, followed by an interrupt

SWI10

Bit 10: Software rising edge event trigger on line x (x = 15 to 0) Setting of any bit by software triggers a rising edge event on the corresponding line x, resulting in an interrupt, independently of EXTI_RTSR1 and EXTI_FTSR1 settings. The bits are automatically cleared by HW. Reading of any bit always returns 0..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Rising edge event generated on the corresponding line, followed by an interrupt

SWI11

Bit 11: Software rising edge event trigger on line x (x = 15 to 0) Setting of any bit by software triggers a rising edge event on the corresponding line x, resulting in an interrupt, independently of EXTI_RTSR1 and EXTI_FTSR1 settings. The bits are automatically cleared by HW. Reading of any bit always returns 0..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Rising edge event generated on the corresponding line, followed by an interrupt

SWI12

Bit 12: Software rising edge event trigger on line x (x = 15 to 0) Setting of any bit by software triggers a rising edge event on the corresponding line x, resulting in an interrupt, independently of EXTI_RTSR1 and EXTI_FTSR1 settings. The bits are automatically cleared by HW. Reading of any bit always returns 0..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Rising edge event generated on the corresponding line, followed by an interrupt

SWI13

Bit 13: Software rising edge event trigger on line x (x = 15 to 0) Setting of any bit by software triggers a rising edge event on the corresponding line x, resulting in an interrupt, independently of EXTI_RTSR1 and EXTI_FTSR1 settings. The bits are automatically cleared by HW. Reading of any bit always returns 0..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Rising edge event generated on the corresponding line, followed by an interrupt

SWI14

Bit 14: Software rising edge event trigger on line x (x = 15 to 0) Setting of any bit by software triggers a rising edge event on the corresponding line x, resulting in an interrupt, independently of EXTI_RTSR1 and EXTI_FTSR1 settings. The bits are automatically cleared by HW. Reading of any bit always returns 0..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Rising edge event generated on the corresponding line, followed by an interrupt

SWI15

Bit 15: Software rising edge event trigger on line x (x = 15 to 0) Setting of any bit by software triggers a rising edge event on the corresponding line x, resulting in an interrupt, independently of EXTI_RTSR1 and EXTI_FTSR1 settings. The bits are automatically cleared by HW. Reading of any bit always returns 0..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Rising edge event generated on the corresponding line, followed by an interrupt

EXTI_RPR1

EXTI rising edge pending register 1

Offset: 0xc, size: 32, reset: 0x00000000, access: read-write

16/16 fields covered.

Toggle fields

RPIF0

Bit 0: Rising edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a rising edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No rising edge trigger request occurred
1: B_0x1: Rising edge trigger request occurred

RPIF1

Bit 1: Rising edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a rising edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No rising edge trigger request occurred
1: B_0x1: Rising edge trigger request occurred

RPIF2

Bit 2: Rising edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a rising edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No rising edge trigger request occurred
1: B_0x1: Rising edge trigger request occurred

RPIF3

Bit 3: Rising edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a rising edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No rising edge trigger request occurred
1: B_0x1: Rising edge trigger request occurred

RPIF4

Bit 4: Rising edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a rising edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No rising edge trigger request occurred
1: B_0x1: Rising edge trigger request occurred

RPIF5

Bit 5: Rising edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a rising edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No rising edge trigger request occurred
1: B_0x1: Rising edge trigger request occurred

RPIF6

Bit 6: Rising edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a rising edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No rising edge trigger request occurred
1: B_0x1: Rising edge trigger request occurred

RPIF7

Bit 7: Rising edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a rising edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No rising edge trigger request occurred
1: B_0x1: Rising edge trigger request occurred

RPIF8

Bit 8: Rising edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a rising edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No rising edge trigger request occurred
1: B_0x1: Rising edge trigger request occurred

RPIF9

Bit 9: Rising edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a rising edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No rising edge trigger request occurred
1: B_0x1: Rising edge trigger request occurred

RPIF10

Bit 10: Rising edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a rising edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No rising edge trigger request occurred
1: B_0x1: Rising edge trigger request occurred

RPIF11

Bit 11: Rising edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a rising edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No rising edge trigger request occurred
1: B_0x1: Rising edge trigger request occurred

RPIF12

Bit 12: Rising edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a rising edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No rising edge trigger request occurred
1: B_0x1: Rising edge trigger request occurred

RPIF13

Bit 13: Rising edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a rising edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No rising edge trigger request occurred
1: B_0x1: Rising edge trigger request occurred

RPIF14

Bit 14: Rising edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a rising edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No rising edge trigger request occurred
1: B_0x1: Rising edge trigger request occurred

RPIF15

Bit 15: Rising edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a rising edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No rising edge trigger request occurred
1: B_0x1: Rising edge trigger request occurred

EXTI_FPR1

EXTI falling edge pending register 1

Offset: 0x10, size: 32, reset: 0x00000000, access: read-write

16/16 fields covered.

Toggle fields

FPIF0

Bit 0: Falling edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a falling edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No falling edge trigger request occurred
1: B_0x1: Falling edge trigger request occurred

FPIF1

Bit 1: Falling edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a falling edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No falling edge trigger request occurred
1: B_0x1: Falling edge trigger request occurred

FPIF2

Bit 2: Falling edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a falling edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No falling edge trigger request occurred
1: B_0x1: Falling edge trigger request occurred

FPIF3

Bit 3: Falling edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a falling edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No falling edge trigger request occurred
1: B_0x1: Falling edge trigger request occurred

FPIF4

Bit 4: Falling edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a falling edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No falling edge trigger request occurred
1: B_0x1: Falling edge trigger request occurred

FPIF5

Bit 5: Falling edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a falling edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No falling edge trigger request occurred
1: B_0x1: Falling edge trigger request occurred

FPIF6

Bit 6: Falling edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a falling edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No falling edge trigger request occurred
1: B_0x1: Falling edge trigger request occurred

FPIF7

Bit 7: Falling edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a falling edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No falling edge trigger request occurred
1: B_0x1: Falling edge trigger request occurred

FPIF8

Bit 8: Falling edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a falling edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No falling edge trigger request occurred
1: B_0x1: Falling edge trigger request occurred

FPIF9

Bit 9: Falling edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a falling edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No falling edge trigger request occurred
1: B_0x1: Falling edge trigger request occurred

FPIF10

Bit 10: Falling edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a falling edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No falling edge trigger request occurred
1: B_0x1: Falling edge trigger request occurred

FPIF11

Bit 11: Falling edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a falling edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No falling edge trigger request occurred
1: B_0x1: Falling edge trigger request occurred

FPIF12

Bit 12: Falling edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a falling edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No falling edge trigger request occurred
1: B_0x1: Falling edge trigger request occurred

FPIF13

Bit 13: Falling edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a falling edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No falling edge trigger request occurred
1: B_0x1: Falling edge trigger request occurred

FPIF14

Bit 14: Falling edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a falling edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No falling edge trigger request occurred
1: B_0x1: Falling edge trigger request occurred

FPIF15

Bit 15: Falling edge event pending for configurable line x (x = 15 to 0) Each bit is set upon a falling edge event generated by hardware or by software (through the EXTI_SWIER1 register) on the corresponding line. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No falling edge trigger request occurred
1: B_0x1: Falling edge trigger request occurred

EXTI_RTSR2

EXTI rising trigger selection register 2

Offset: 0x28, size: 32, reset: 0x00000000, access: read-write

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RT34
rw
Toggle fields

RT34

Bit 2: Rising trigger event configuration bit of configurable line 34 Each bit enables/disables the rising edge trigger for the event and interrupt on the line 34. This configurable line is edge triggered; no glitch must be generated on this inputs. Note: If a rising edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Rising edge trigger can be set for a line with falling edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

EXTI_FTSR2

EXTI falling trigger selection register 2

Offset: 0x2c, size: 32, reset: 0x00000000, access: read-write

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FT34
rw
Toggle fields

FT34

Bit 2: Falling trigger event configuration bit of configurable line 34. Each bit enables/disables the falling edge trigger for the event and interrupt on the line 34. The configurable lines are edge triggered; no glitch must be generated on these inputs. Note: If a falling edge on the configurable line occurs during writing of the register, the associated pending bit is not set. Falling edge trigger can be set for a line with rising edge trigger enabled. In this case, both edges generate a trigger..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

EXTI_SWIER2

EXTI software interrupt event register 2

Offset: 0x30, size: 32, reset: 0x00000000, access: read-write

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SWI34
rw
Toggle fields

SWI34

Bit 2: Software rising edge event trigger on line 34 Setting of any bit by software triggers a rising edge event on the line 34, resulting in an interrupt, independently of EXTI_RTSR2 and EXTI_FTSR2 settings. The bits are automatically cleared by HW. Reading of any bit always returns 0..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Rising edge event generated on the corresponding line, followed by an interrupt

EXTI_RPR2

EXTI rising edge pending register 2

Offset: 0x34, size: 32, reset: 0x00000000, access: read-write

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RPIF34
rw
Toggle fields

RPIF34

Bit 2: Rising edge event pending for configurable line 34 Each bit is set upon a rising edge event generated by hardware or by software (through the EXTI_SWIER2 register) on the line 34. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No rising edge trigger request occurred
1: B_0x1: Rising edge trigger request occurred

EXTI_FPR2

EXTI falling edge pending register 2

Offset: 0x38, size: 32, reset: 0x00000000, access: read-write

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FPIF34
rw
Toggle fields

FPIF34

Bit 2: Falling edge event pending for configurable line 34 Each bit is set upon a falling edge event generated by hardware or by software (through the EXTI_SWIER2 register) on the line 34. Each bit is cleared by writing 1 into it..

Allowed values:
0: B_0x0: No falling edge trigger request occurred
1: B_0x1: Falling edge trigger request occurred

EXTI_EXTICR1

EXTI external interrupt selection register

Offset: 0x60, size: 32, reset: 0x00000000, access: read-write

4/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
EXTI3
rw
EXTI2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EXTI1
rw
EXTI0
rw
Toggle fields

EXTI0

Bits 0-7: EXTI0 GPIO port selection These bits are written by software to select the source input for EXTI0 external interrupt. Others reserved.

Allowed values:
0: B_0x00: PA[0] pin
1: B_0x01: PB[0] pin
2: B_0x02: PC[0] pin
3: B_0x03: PD[0] pin
5: B_0x05: PF[0] pin

EXTI1

Bits 8-15: EXTI1 GPIO port selection These bits are written by software to select the source input for EXTI1 external interrupt. Others reserved.

Allowed values:
0: B_0x00: PA[1] pin
1: B_0x01: PB[1] pin
2: B_0x02: PC[1] pin
3: B_0x03: PD[1] pin
5: B_0x05: PF[1] pin

EXTI2

Bits 16-23: EXTI2 GPIO port selection These bits are written by software to select the source input for EXTI2 external interrupt. Others reserved.

Allowed values:
0: B_0x00: PA[2] pin
1: B_0x01: PB[2] pin
2: B_0x02: PC[2] pin
3: B_0x03: PD[2] pin
5: B_0x05: PF[2] pin

EXTI3

Bits 24-31: EXTI3 GPIO port selection These bits are written by software to select the source input for EXTI3 external interrupt. Others reserved.

Allowed values:
0: B_0x00: PA[3] pin
1: B_0x01: PB[3] pin
2: B_0x02: PC[3] pin
3: B_0x03: PD[3] pin
5: B_0x05: PF[3] pin

EXTI_EXTICR2

EXTI external interrupt selection register

Offset: 0x64, size: 32, reset: 0x00000000, access: read-write

4/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
EXTI7
rw
EXTI6
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EXTI5
rw
EXTI4
rw
Toggle fields

EXTI4

Bits 0-7: EXTI4 GPIO port selection These bits are written by software to select the source input for EXTI4 external interrupt. Others reserved.

Allowed values:
0: B_0x00: PA[4] pin
1: B_0x01: PB[4] pin
2: B_0x02: PC[4] pin
3: B_0x03: PD[4] pin
5: B_0x05: PF[4] pin

EXTI5

Bits 8-15: EXTI5 GPIO port selection These bits are written by software to select the source input for EXTI5 external interrupt. Others reserved.

Allowed values:
0: B_0x00: PA[5] pin
1: B_0x01: PB[5] pin
2: B_0x02: PC[5] pin
3: B_0x03: PD[5] pin
5: B_0x05: PF[5] pin

EXTI6

Bits 16-23: EXTI6 GPIO port selection These bits are written by software to select the source input for EXTI6 external interrupt. Others reserved.

Allowed values:
0: B_0x00: PA[6] pin
1: B_0x01: PB[6] pin
2: B_0x02: PC[6] pin
3: B_0x03: PD[6] pin
5: B_0x05: PF[6] pin

EXTI7

Bits 24-31: EXTI7 GPIO port selection These bits are written by software to select the source input for EXTI7 external interrupt. Others reserved.

Allowed values:
0: B_0x00: PA[7] pin
1: B_0x01: PB[7] pin
2: B_0x02: PC[7] pin
3: B_0x03: PD[7] pin
5: B_0x05: PF[7] pin

EXTI_EXTICR3

EXTI external interrupt selection register

Offset: 0x68, size: 32, reset: 0x00000000, access: read-write

4/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
EXTI11
rw
EXTI10
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EXTI9
rw
EXTI8
rw
Toggle fields

EXTI8

Bits 0-7: EXTI8 GPIO port selection These bits are written by software to select the source input for EXTI8 external interrupt. Others reserved.

Allowed values:
0: B_0x00: PA[8] pin
1: B_0x01: PB[8] pin
2: B_0x02: PC[8] pin
3: B_0x03: PD[8] pin
5: B_0x05: PF[8] pin

EXTI9

Bits 8-15: EXTI9 GPIO port selection These bits are written by software to select the source input for EXTI9 external interrupt. Others reserved.

Allowed values:
0: B_0x00: PA[9] pin
1: B_0x01: PB[9] pin
2: B_0x02: PC[9] pin
3: B_0x03: PD[9] pin
5: B_0x05: PF[9] pin

EXTI10

Bits 16-23: EXTI10 GPIO port selection These bits are written by software to select the source input for EXTI10 external interrupt. Others reserved.

Allowed values:
0: B_0x00: PA[10] pin
1: B_0x01: PB[10] pin
2: B_0x02: PC[10] pin
3: B_0x03: PD[10] pin
5: B_0x05: PF[10] pin

EXTI11

Bits 24-31: EXTI11 GPIO port selection These bits are written by software to select the source input for EXTI11 external interrupt. Others reserved.

Allowed values:
0: B_0x00: PA[11] pin
1: B_0x01: PB[11] pin
2: B_0x02: PC[11] pin
3: B_0x03: PD[11] pin
5: B_0x05: PF[11] pin

EXTI_EXTICR4

EXTI external interrupt selection register

Offset: 0x6c, size: 32, reset: 0x00000000, access: read-write

4/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
EXTI15
rw
EXTI14
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EXTI13
rw
EXTI12
rw
Toggle fields

EXTI12

Bits 0-7: EXTI12 GPIO port selection These bits are written by software to select the source input for EXTI12 external interrupt. Others reserved.

Allowed values:
0: B_0x00: PA[12] pin
1: B_0x01: PB[12] pin
2: B_0x02: PC[12] pin
3: B_0x03: PD[12] pin
5: B_0x05: PF[12] pin

EXTI13

Bits 8-15: EXTI13 GPIO port selection These bits are written by software to select the source input for EXTI13 external interrupt. Others reserved.

Allowed values:
0: B_0x00: PA[13] pin
1: B_0x01: PB[13] pin
2: B_0x02: PC[13] pin
3: B_0x03: PD[13] pin
5: B_0x05: PF[13] pin

EXTI14

Bits 16-23: EXTI14 GPIO port selection These bits are written by software to select the source input for EXTI14 external interrupt. Others reserved.

Allowed values:
0: B_0x00: PA[14] pin
1: B_0x01: PB[14] pin
2: B_0x02: PC[14] pin
3: B_0x03: PD[14] pin
5: B_0x05: PF[14] pin

EXTI15

Bits 24-31: EXTI15 GPIO port selection These bits are written by software to select the source input for EXTI15 external interrupt. Others reserved.

Allowed values:
0: B_0x00: PA[15] pin
1: B_0x01: PB[15] pin
2: B_0x02: PC[15] pin
3: B_0x03: PD[15] pin
5: B_0x05: PF[15] pin

EXTI_IMR1

EXTI CPU wakeup with interrupt mask register 1

Offset: 0x80, size: 32, reset: 0xFFF80000, access: read-write

20/20 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
IM31
rw
IM25
rw
IM23
rw
IM19
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IM15
rw
IM14
rw
IM13
rw
IM12
rw
IM11
rw
IM10
rw
IM9
rw
IM8
rw
IM7
rw
IM6
rw
IM5
rw
IM4
rw
IM3
rw
IM2
rw
IM1
rw
IM0
rw
Toggle fields

IM0

Bit 0: CPU wakeup with interrupt mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with interrupt, by an event on the corresponding line..

Allowed values:
0: B_0x0: wakeup with interrupt masked
1: B_0x1: wakeup with interrupt unmasked

IM1

Bit 1: CPU wakeup with interrupt mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with interrupt, by an event on the corresponding line..

Allowed values:
0: B_0x0: wakeup with interrupt masked
1: B_0x1: wakeup with interrupt unmasked

IM2

Bit 2: CPU wakeup with interrupt mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with interrupt, by an event on the corresponding line..

Allowed values:
0: B_0x0: wakeup with interrupt masked
1: B_0x1: wakeup with interrupt unmasked

IM3

Bit 3: CPU wakeup with interrupt mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with interrupt, by an event on the corresponding line..

Allowed values:
0: B_0x0: wakeup with interrupt masked
1: B_0x1: wakeup with interrupt unmasked

IM4

Bit 4: CPU wakeup with interrupt mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with interrupt, by an event on the corresponding line..

Allowed values:
0: B_0x0: wakeup with interrupt masked
1: B_0x1: wakeup with interrupt unmasked

IM5

Bit 5: CPU wakeup with interrupt mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with interrupt, by an event on the corresponding line..

Allowed values:
0: B_0x0: wakeup with interrupt masked
1: B_0x1: wakeup with interrupt unmasked

IM6

Bit 6: CPU wakeup with interrupt mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with interrupt, by an event on the corresponding line..

Allowed values:
0: B_0x0: wakeup with interrupt masked
1: B_0x1: wakeup with interrupt unmasked

IM7

Bit 7: CPU wakeup with interrupt mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with interrupt, by an event on the corresponding line..

Allowed values:
0: B_0x0: wakeup with interrupt masked
1: B_0x1: wakeup with interrupt unmasked

IM8

Bit 8: CPU wakeup with interrupt mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with interrupt, by an event on the corresponding line..

Allowed values:
0: B_0x0: wakeup with interrupt masked
1: B_0x1: wakeup with interrupt unmasked

IM9

Bit 9: CPU wakeup with interrupt mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with interrupt, by an event on the corresponding line..

Allowed values:
0: B_0x0: wakeup with interrupt masked
1: B_0x1: wakeup with interrupt unmasked

IM10

Bit 10: CPU wakeup with interrupt mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with interrupt, by an event on the corresponding line..

Allowed values:
0: B_0x0: wakeup with interrupt masked
1: B_0x1: wakeup with interrupt unmasked

IM11

Bit 11: CPU wakeup with interrupt mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with interrupt, by an event on the corresponding line..

Allowed values:
0: B_0x0: wakeup with interrupt masked
1: B_0x1: wakeup with interrupt unmasked

IM12

Bit 12: CPU wakeup with interrupt mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with interrupt, by an event on the corresponding line..

Allowed values:
0: B_0x0: wakeup with interrupt masked
1: B_0x1: wakeup with interrupt unmasked

IM13

Bit 13: CPU wakeup with interrupt mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with interrupt, by an event on the corresponding line..

Allowed values:
0: B_0x0: wakeup with interrupt masked
1: B_0x1: wakeup with interrupt unmasked

IM14

Bit 14: CPU wakeup with interrupt mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with interrupt, by an event on the corresponding line..

Allowed values:
0: B_0x0: wakeup with interrupt masked
1: B_0x1: wakeup with interrupt unmasked

IM15

Bit 15: CPU wakeup with interrupt mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with interrupt, by an event on the corresponding line..

Allowed values:
0: B_0x0: wakeup with interrupt masked
1: B_0x1: wakeup with interrupt unmasked

IM19

Bit 19: CPU wakeup with interrupt mask on line 19 Setting/clearing this bit unmasks/masks the CPU wakeup with interrupt, by an event on the corresponding line..

Allowed values:
0: B_0x0: wakeup with interrupt masked
1: B_0x1: wakeup with interrupt unmasked

IM23

Bit 23: CPU wakeup with interrupt mask on line 23 Setting/clearing each bit unmasks/masks the CPU wakeup with interrupt, by an event on the corresponding line..

Allowed values:
0: B_0x0: wakeup with interrupt masked
1: B_0x1: wakeup with interrupt unmasked

IM25

Bit 25: CPU wakeup with interrupt mask on line 25 Setting/clearing each bit unmasks/masks the CPU wakeup with interrupt, by an event on the corresponding line..

Allowed values:
0: B_0x0: wakeup with interrupt masked
1: B_0x1: wakeup with interrupt unmasked

IM31

Bit 31: CPU wakeup with interrupt mask on line 31 Setting/clearing this bit unmasks/masks the CPU wakeup with interrupt, by an event on the corresponding line..

Allowed values:
0: B_0x0: wakeup with interrupt masked
1: B_0x1: wakeup with interrupt unmasked

EXTI_EMR1

EXTI CPU wakeup with event mask register

Offset: 0x84, size: 32, reset: 0x00000000, access: read-write

20/20 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
EM31
rw
EM25
rw
EM23
rw
EM19
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EM15
rw
EM14
rw
EM13
rw
EM12
rw
EM11
rw
EM10
rw
EM9
rw
EM8
rw
EM7
rw
EM6
rw
EM5
rw
EM4
rw
EM3
rw
EM2
rw
EM1
rw
EM0
rw
Toggle fields

EM0

Bit 0: CPU wakeup with event generation mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with event generation on the corresponding line..

Allowed values:
0: B_0x0: wakeup with event generation masked
1: B_0x1: wakeup with event generation unmasked

EM1

Bit 1: CPU wakeup with event generation mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with event generation on the corresponding line..

Allowed values:
0: B_0x0: wakeup with event generation masked
1: B_0x1: wakeup with event generation unmasked

EM2

Bit 2: CPU wakeup with event generation mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with event generation on the corresponding line..

Allowed values:
0: B_0x0: wakeup with event generation masked
1: B_0x1: wakeup with event generation unmasked

EM3

Bit 3: CPU wakeup with event generation mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with event generation on the corresponding line..

Allowed values:
0: B_0x0: wakeup with event generation masked
1: B_0x1: wakeup with event generation unmasked

EM4

Bit 4: CPU wakeup with event generation mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with event generation on the corresponding line..

Allowed values:
0: B_0x0: wakeup with event generation masked
1: B_0x1: wakeup with event generation unmasked

EM5

Bit 5: CPU wakeup with event generation mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with event generation on the corresponding line..

Allowed values:
0: B_0x0: wakeup with event generation masked
1: B_0x1: wakeup with event generation unmasked

EM6

Bit 6: CPU wakeup with event generation mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with event generation on the corresponding line..

Allowed values:
0: B_0x0: wakeup with event generation masked
1: B_0x1: wakeup with event generation unmasked

EM7

Bit 7: CPU wakeup with event generation mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with event generation on the corresponding line..

Allowed values:
0: B_0x0: wakeup with event generation masked
1: B_0x1: wakeup with event generation unmasked

EM8

Bit 8: CPU wakeup with event generation mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with event generation on the corresponding line..

Allowed values:
0: B_0x0: wakeup with event generation masked
1: B_0x1: wakeup with event generation unmasked

EM9

Bit 9: CPU wakeup with event generation mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with event generation on the corresponding line..

Allowed values:
0: B_0x0: wakeup with event generation masked
1: B_0x1: wakeup with event generation unmasked

EM10

Bit 10: CPU wakeup with event generation mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with event generation on the corresponding line..

Allowed values:
0: B_0x0: wakeup with event generation masked
1: B_0x1: wakeup with event generation unmasked

EM11

Bit 11: CPU wakeup with event generation mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with event generation on the corresponding line..

Allowed values:
0: B_0x0: wakeup with event generation masked
1: B_0x1: wakeup with event generation unmasked

EM12

Bit 12: CPU wakeup with event generation mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with event generation on the corresponding line..

Allowed values:
0: B_0x0: wakeup with event generation masked
1: B_0x1: wakeup with event generation unmasked

EM13

Bit 13: CPU wakeup with event generation mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with event generation on the corresponding line..

Allowed values:
0: B_0x0: wakeup with event generation masked
1: B_0x1: wakeup with event generation unmasked

EM14

Bit 14: CPU wakeup with event generation mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with event generation on the corresponding line..

Allowed values:
0: B_0x0: wakeup with event generation masked
1: B_0x1: wakeup with event generation unmasked

EM15

Bit 15: CPU wakeup with event generation mask on line x (x = 15 to 0) Setting/clearing each bit unmasks/masks the CPU wakeup with event generation on the corresponding line..

Allowed values:
0: B_0x0: wakeup with event generation masked
1: B_0x1: wakeup with event generation unmasked

EM19

Bit 19: CPU wakeup with event generation mask on line 19 Setting/clearing this bit unmasks/masks the CPU wakeup with event generation on the corresponding line..

Allowed values:
0: B_0x0: wakeup with event generation masked
1: B_0x1: wakeup with event generation unmasked

EM23

Bit 23: CPU wakeup with event generation mask on line 23 Setting/clearing this bit unmasks/masks the CPU wakeup with event generation on the corresponding line..

Allowed values:
0: B_0x0: wakeup with event generation masked
1: B_0x1: wakeup with event generation unmasked

EM25

Bit 25: CPU wakeup with event generation mask on line 25 Setting/clearing this bit unmasks/masks the CPU wakeup with event generation on the corresponding line..

Allowed values:
0: B_0x0: wakeup with event generation masked
1: B_0x1: wakeup with event generation unmasked

EM31

Bit 31: CPU wakeup with event generation mask on line 31 Setting/clearing this bit unmasks/masks the CPU wakeup with event generation on the corresponding line..

Allowed values:
0: B_0x0: wakeup with event generation masked
1: B_0x1: wakeup with event generation unmasked

EXTI_IMR2

EXTI CPU wakeup with interrupt mask register 2

Offset: 0x90, size: 32, reset: 0x00000000, access: read-write

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IM34
rw
Toggle fields

IM34

Bit 2: CPU wakeup with interrupt mask on line 34 Setting/clearing the bit unmasks/masks the CPU wakeup with interrupt request from the line 34..

Allowed values:
0: B_0x0: wakeup with interrupt masked
1: B_0x1: wakeup with interrupt unmasked

EXTI_EMR2

EXTI CPU wakeup with event mask register 2

Offset: 0x94, size: 32, reset: 0x00000000, access: read-write

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EM34
rw
Toggle fields

EM34

Bit 2: CPU wakeup with event generation mask on line 34 Setting/clearing this bit unmasks/masks the CPU wakeup with event generation on the line 34..

Allowed values:
0: B_0x0: wakeup with event generation masked
1: B_0x1: wakeup with event generation unmasked

FLASH

0x40022000: FLASH register block

31/65 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 ACR
0x8 KEYR
0xc OPTKEYR
0x10 SR
0x14 CR
0x20 OPTR
0x24 PCROP1ASR
0x28 PCROP1AER
0x2c WRP1AR
0x30 WRP1BR
0x34 PCROP1BSR
0x38 PCROP1BER
0x80 SECR
Toggle registers

ACR

FLASH access control register

Offset: 0x0, size: 32, reset: 0x00040600, access: read-write

6/6 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DBG_SWEN
rw
EMPTY
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ICRST
rw
ICEN
rw
PRFTEN
rw
LATENCY
rw
Toggle fields

LATENCY

Bits 0-2: Flash memory access latency The value in this bitfield represents the number of CPU wait states when accessing the flash memory. Other: Reserved A new write into the bitfield becomes effective when it returns the same value upon read..

Allowed values:
0: B_0x0: Zero wait states
1: B_0x1: One wait state

PRFTEN

Bit 8: CPU Prefetch enable.

Allowed values:
0: B_0x0: CPU Prefetch disabled
1: B_0x1: CPU Prefetch enabled

ICEN

Bit 9: CPU Instruction cache enable.

Allowed values:
0: B_0x0: CPU Instruction cache is disabled
1: B_0x1: CPU Instruction cache is enabled

ICRST

Bit 11: CPU Instruction cache reset This bit can be written only when the instruction cache is disabled..

Allowed values:
0: B_0x0: CPU Instruction cache is not reset
1: B_0x1: CPU Instruction cache is reset

EMPTY

Bit 16: Main flash memory area empty This bit indicates whether the first location of the Main flash memory area was read as erased or as programmed during OBL. It is not affected by the system reset. Software may need to change this bit value after a flash memory program or erase operation. The bit can be set and reset by software..

Allowed values:
0: B_0x0: Main flash memory area programmed
1: B_0x1: Main flash memory area empty

DBG_SWEN

Bit 18: Debug access software enable Software may use this bit to enable/disable the debugger read access..

Allowed values:
0: B_0x0: Debugger disabled
1: B_0x1: Debugger enabled

KEYR

FLASH key register

Offset: 0x8, size: 32, reset: 0x00000000, access: write-only

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
KEY
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
KEY
w
Toggle fields

KEY

Bits 0-31: FLASH key The following values must be written consecutively to unlock the FLASH control register (FLASH_CR), thus enabling programming/erasing operations: KEY1: 0x4567 0123 KEY2: 0xCDEF 89AB.

OPTKEYR

FLASH option key register

Offset: 0xc, size: 32, reset: 0x00000000, access: write-only

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OPTKEY
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OPTKEY
w
Toggle fields

OPTKEY

Bits 0-31: Option byte key The following values must be written consecutively to unlock the flash memory option registers, enabling option byte programming/erasing operations: KEY1: 0x0819 2A3B KEY2: 0x4C5D 6E7F.

SR

FLASH status register

Offset: 0x10, size: 32, reset: 0x00000000, access: read-write

2/13 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CFGBSY
r
BSY1
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OPTVERR
rw
RDERR
rw
FASTERR
rw
MISSERR
rw
PGSERR
rw
SIZERR
rw
PGAERR
rw
WRPERR
rw
PROGERR
rw
OPERR
rw
EOP
rw
Toggle fields

EOP

Bit 0: End of operation Set by hardware when one or more flash memory operation (programming / erase) has been completed successfully. This bit is set only if the end of operation interrupts are enabled (EOPIE=1). Cleared by writing 1..

OPERR

Bit 1: Operation error Set by hardware when a flash memory operation (program / erase) completes unsuccessfully. This bit is set only if error interrupts are enabled (ERRIE=1). Cleared by writing 1 ..

PROGERR

Bit 3: Programming error Set by hardware when a double-word address to be programmed contains a value different from '0xFFFF FFFF' before programming, except if the data to write is '0x0000 0000'. Cleared by writing 1..

WRPERR

Bit 4: Write protection error Set by hardware when an address to be erased/programmed belongs to a write-protected part (by WRP, PCROP or RDP Level 1) of the flash memory. Cleared by writing 1..

PGAERR

Bit 5: Programming alignment error Set by hardware when the data to program cannot be contained in the same double word (64-bit) flash memory in case of standard programming, or if there is a change of page during fast programming. Cleared by writing 1..

SIZERR

Bit 6: Size error Set by hardware when the size of the access is a byte or half-word during a program or a fast program sequence. Only double word programming is allowed (consequently: word access). Cleared by writing 1..

PGSERR

Bit 7: Programming sequence error Set by hardware when a write access to the flash memory is performed by the code while PG or FSTPG have not been set previously. Set also by hardware when PROGERR, SIZERR, PGAERR, WRPERR, MISSERR or FASTERR is set due to a previous programming error. Cleared by writing 1..

MISSERR

Bit 8: Fast programming data miss error In Fast programming mode, 16 double words (128 bytes) must be sent to flash memory successively, and the new data must be sent to the logic control before the current data is fully programmed. MISSERR is set by hardware when the new data is not present in time. Cleared by writing 1..

FASTERR

Bit 9: Fast programming error Set by hardware when a fast programming sequence (activated by FSTPG) is interrupted due to an error (alignment, size, write protection or data miss). The corresponding status bit (PGAERR, SIZERR, WRPERR or MISSERR) is set at the same time. Cleared by writing 1..

RDERR

Bit 14: PCROP read error Set by hardware when an address to be read belongs to a read protected area of the flash memory (PCROP protection). An interrupt is generated if RDERRIE is set in FLASH_CR. Cleared by writing 1..

OPTVERR

Bit 15: Option and Engineering bits loading validity error.

BSY1

Bit 16: Busy This flag indicates that a flash memory operation requested by FLASH control register (FLASH_CR) is in progress. This bit is set at the beginning of the flash memory operation, and cleared when the operation finishes or when an error occurs..

CFGBSY

Bit 18: Programming or erase configuration busy. This flag is set and reset by hardware. For flash program operation, it is set when the first word is sent, and cleared after the second word is sent when the operation completes or ends with an error. For flash erase operation, it is set when setting the STRT bit of the FLASH_CR register and cleared when the operation completes or ends with an error. When set, a programming or erase operation is ongoing and the corresponding settings in the FLASH control register (FLASH_CR) are used (busy) and cannot be changed. Any other flash operation launch must be postponed. When cleared, the programming and erase settings in the FLASH control register (FLASH_CR) can be modified. Note: The CFGBSY bit is also set when attempting to write locked flash memory (with the first byte sent). When the CFGBSY bit is set, writing into the FLASH_CR register causes HardFault.To clear the CFGBSY bit, send a double word to the flash memory and wait until the access is finished (otherwise the CFGBSY bit remains set)..

CR

FLASH control register

Offset: 0x14, size: 32, reset: 0xC0000000, access: read-write

8/14 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LOCK
rw
OPTLOCK
rw
SEC_PROT
rw
OBL_LAUNCH
rw
RDERRIE
rw
ERRIE
rw
EOPIE
rw
FSTPG
rw
OPTSTRT
rw
STRT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PNB
rw
MER1
rw
PER
rw
PG
rw
Toggle fields

PG

Bit 0: Flash memory programming enable.

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

PER

Bit 1: Page erase enable.

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

MER1

Bit 2: Mass erase When set, this bit triggers the mass erase, that is, all user pages..

PNB

Bits 3-8: Page number selection These bits select the page to erase: ... Note: Values corresponding to addresses outside the Main memory are not allowed. See Table 6 and Table 7..

Allowed values:
0: B_0x00: page 0
1: B_0x01: page 1
63: B_0x3F: page 63

STRT

Bit 16: Start erase operation This bit triggers an erase operation when set. This bit is possible to set only by software and to clear only by hardware. The hardware clears it when one of BSY1 and BSY2 flags in the FLASH_SR register transits to zero..

OPTSTRT

Bit 17: Start of modification of option bytes This bit triggers an options operation when set. This bit is set only by software, and is cleared when the BSY1 bit is cleared in FLASH_SR..

FSTPG

Bit 18: Fast programming enable.

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

EOPIE

Bit 24: End-of-operation interrupt enable This bit enables the interrupt generation upon setting the EOP flag in the FLASH_SR register..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

ERRIE

Bit 25: Error interrupt enable This bit enables the interrupt generation upon setting the OPERR flag in the FLASH_SR register..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RDERRIE

Bit 26: PCROP read error interrupt enable This bit enables the interrupt generation upon setting the RDERR flag in the FLASH_SR register..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

OBL_LAUNCH

Bit 27: Option byte load launch When set, this bit triggers the load of option bytes into option registers. It is automatically cleared upon the completion of the load. The high state of the bit indicates pending option byte load. The bit cannot be cleared by software. It cannot be written as long as OPTLOCK is set..

SEC_PROT

Bit 28: Securable memory area protection enable This bit enables the protection on securable area, provided that a non-null securable memory area size (SEC_SIZE[4:0]) is defined in option bytes. This bit is possible to set only by software and to clear only through a system reset..

Allowed values:
0: B_0x0: Disable (securable area accessible)
1: B_0x1: Enable (securable area not accessible)

OPTLOCK

Bit 30: Options Lock This bit is set only. When set, all bits concerning user option in FLASH_CR register and so option page are locked. This bit is cleared by hardware after detecting the unlock sequence. The LOCK bit must be cleared before doing the unlock sequence for OPTLOCK bit. In case of an unsuccessful unlock operation, this bit remains set until the next reset..

LOCK

Bit 31: FLASH_CR Lock This bit is set only. When set, the FLASH_CR register is locked. It is cleared by hardware after detecting the unlock sequence. In case of an unsuccessful unlock operation, this bit remains set until the next system reset..

OPTR

FLASH option register

Offset: 0x20, size: 32, reset: 0x00000000, access: read-write

13/19 fields covered.

Toggle fields

RDP

Bits 0-7: Read protection level Other: Level 1, memories read protection active.

Allowed values:
170: B_0xAA: Level 0, read protection not active
204: B_0xCC: Level 2, chip read protection active

BOR_EN

Bit 8: Brown out reset enable.

Allowed values:
0: B_0x0: Configurable brown out reset disabled, power-on reset defined by POR/PDR levels
1: B_0x1: Configurable brown out reset enabled, values of BORR_LEV and BORF_LEV taken into account

BORR_LEV

Bits 9-10: BOR threshold at rising V<sub>DD</sub> supply Rising V<sub>DD</sub> crossings this threshold releases the reset signal..

Allowed values:
0: B_0x0: BOR rising level 1 with threshold around 2.1 V
1: B_0x1: BOR rising level 2 with threshold around 2.3 V
2: B_0x2: BOR rising level 3 with threshold around 2.6 V
3: B_0x3: BOR rising level 4 with threshold around 2.9 V

BORF_LEV

Bits 11-12: BOR threshold at falling V<sub>DD</sub> supply Falling V<sub>DD</sub> crossings this threshold activates the reset signal..

Allowed values:
0: B_0x0: BOR falling level 1 with threshold around 2.0 V
1: B_0x1: BOR falling level 2 with threshold around 2.2 V
2: B_0x2: BOR falling level 3 with threshold around 2.5 V
3: B_0x3: BOR falling level 4 with threshold around 2.8 V

NRST_STOP

Bit 13: None.

NRST_STDBY

Bit 14: None.

NRST_SHDW

Bit 15: None.

IWDG_SW

Bit 16: None.

IWDG_STOP

Bit 17: Independent watchdog counter freeze in Stop mode.

Allowed values:
0: B_0x0: Independent watchdog counter is frozen in Stop mode
1: B_0x1: Independent watchdog counter is running in Stop mode

IWGD_STDBY

Bit 18: None.

WWDG_SW

Bit 19: Window watchdog selection.

Allowed values:
0: B_0x0: Hardware window watchdog
1: B_0x1: Software window watchdog

HSE_NOT_REMAPPED

Bit 21: HSE remapping enable/disable When cleared, the bit remaps the HSE clock source from PF0-OSC_IN/PF1-OSC_OUT pins to PC14-OSCX_IN/PC15-OSCX_OUT. Thus PC14-OSCX_IN/PC15-OSCX_OUT are shared by both LSE and HSE and the two clock sources cannot be use simultaneously. On packages with less than 48 pins, the remapping is always enabled (PF0-OSC_IN/PF1-OSC_OUT are not available), regardless of this bit. As all STM32C011xx packages have less than 48 pins, this bit is only applicable to STM32C031xx. Note: On 48 pins packages, when HSE_NOT_REMAPPED is reset, HSE cannot be used in bypass mode. Refer to product errata sheet for more details..

Allowed values:
0: B_0x0: Enable
1: B_0x1: Disable

RAM_PARITY_CHECK

Bit 22: SRAM parity check control enable/disable.

Allowed values:
0: B_0x0: Enable
1: B_0x1: Disable

SECURE_MUXING_EN

Bit 23: Multiple-bonding security The bit allows enabling automatic I/O configuration to prevent conflicts on I/Os connected (bonded) onto the same pin. If the software sets one of the I/Os connected to the same pin as active by configuring the SYSCFG_CFGR3 register, enabling this bit automatically forces the other I/Os in digital input mode, regardless of their software configuration. When the bit is disabled, the SYSCFG_CFGR3 register setting is ignored, all GPIOs linked to a given pin are active and can be set in the mode specified by the corresponding GPIOx_MODER register. The user software must ensure that there is no conflict between GPIOs..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

NBOOT_SEL

Bit 24: BOOT0 signal source selection This option bit defines the source of the BOOT0 signal..

Allowed values:
0: B_0x0: BOOT0 pin (legacy mode)
1: B_0x1: nBOOT0 option bit

NBOOT1

Bit 25: Boot configuration Together with the BOOT0 pin or option bit nBOOT0 (depending on nBOOT_SEL option bit configuration), this bit selects boot mode from the Main flash memory, SRAM or the System memory. Refer to Section 3: Boot configuration..

NBOOT0

Bit 26: nBOOT0 option bit.

Allowed values:
0: B_0x0: nBOOT0 = 0
1: B_0x1: nBOOT0 = 1

NRST_MODE

Bits 27-28: NRST pin configuration.

Allowed values:
1: B_0x1: Reset input only: a low level on the NRST pin generates system reset; internal RESET is not propagated to the NRST pin.
2: B_0x2: Standard GPIO: only internal RESET is possible
3: B_0x3: Bidirectional reset: the NRST pin is configured in reset input/output (legacy) mode

IRHEN

Bit 29: Internal reset holder enable bit.

Allowed values:
0: B_0x0: Internal resets are propagated as simple pulse on NRST pin
1: B_0x1: Internal resets drives NRST pin low until it is seen as low level

PCROP1ASR

FLASH PCROP area A start address register

Offset: 0x24, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PCROP1A_STRT
rw
Toggle fields

PCROP1A_STRT

Bits 0-8: PCROP1A area start offset Contains the offset of the first subpage of the PCROP1A area. Note: The number of effective bits depends on the size of the flash memory in the device..

PCROP1AER

FLASH PCROP area A end address register

Offset: 0x28, size: 32, reset: 0x00000000, access: read-write

1/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PCROP_RDP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PCROP1A_END
rw
Toggle fields

PCROP1A_END

Bits 0-8: PCROP1A area end offset Contains the offset of the last subpage of the PCROP1A area. Note: The number of effective bits depends on the size of the flash memory in the device..

PCROP_RDP

Bit 31: PCROP area erase upon RDP level regression This bit determines whether the PCROP area (and the totality of the PCROP area boundary pages) is erased by the mass erase triggered by the RDP level regression from Level 1 to Level 0: The software can only set this bit. It is automatically reset upon mass erase following the RDP regression from Level 1 to Level 0..

Allowed values:
0: B_0x0: Not erased
1: B_0x1: Erased

WRP1AR

FLASH WRP area A address register

Offset: 0x2c, size: 32, reset: 0x00000000, access: read-write

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
WRP1A_END
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WRP1A_STRT
rw
Toggle fields

WRP1A_STRT

Bits 0-6: WRP area A start offset This bitfield contains the offset of the first page of the WRP area A. Note: The number of effective bits depends on the size of the flash memory in the device..

WRP1A_END

Bits 16-22: WRP area A end offset This bitfield contains the offset of the last page of the WRP area A. Note: The number of effective bits depends on the size of the flash memory in the device..

WRP1BR

FLASH WRP area B address register

Offset: 0x30, size: 32, reset: 0x00000000, access: read-write

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
WRP1B_END
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WRP1B_STRT
rw
Toggle fields

WRP1B_STRT

Bits 0-6: WRP area B start offset This bitfield contains the offset of the first page of the WRP area B. Note: The number of effective bits depends on the size of the flash memory in the device..

WRP1B_END

Bits 16-22: WRP area B end offset This bitfield contains the offset of the last page of the WRP area B. Note: The number of effective bits depends on the size of the flash memory in the device..

PCROP1BSR

FLASH PCROP area B start address register

Offset: 0x34, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PCROP1B_STRT
rw
Toggle fields

PCROP1B_STRT

Bits 0-8: PCROP1B area start offset Contains the offset of the first subpage of the PCROP1B area. Note: The number of effective bits depends on the size of the flash memory in the device..

PCROP1BER

FLASH PCROP area B end address register

Offset: 0x38, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PCROP1B_END
rw
Toggle fields

PCROP1B_END

Bits 0-8: PCROP1B area end offset Contains the offset of the last subpage of the PCROP1B area. Note: The number of effective bits depends on the size of the flash memory in the device..

SECR

FLASH security register

Offset: 0x80, size: 32, reset: 0x00000000, access: read-write

1/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BOOT_LOCK
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SEC_SIZE
rw
Toggle fields

SEC_SIZE

Bits 0-6: Securable memory area size Contains the number of securable flash memory pages. Note: The number of effective bits depends on the size of the flash memory in the device..

BOOT_LOCK

Bit 16: used to force boot from user area If the bit is set in association with RDP level 1, the debug capabilities are disabled, except in the case of a bad OBL (mismatch)..

Allowed values:
0: B_0x0: Boot based on the pad/option bit configuration
1: B_0x1: Boot forced from Main flash memory

GPIOA

0x50000000: GPIOA address block description

161/177 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 GPIOA_MODER
0x4 GPIOA_OTYPER
0x8 GPIOA_OSPEEDR
0xc GPIOA_PUPDR
0x10 GPIOA_IDR
0x14 GPIOA_ODR
0x18 GPIOA_BSRR
0x1c GPIOA_LCKR
0x20 GPIOA_AFRL
0x24 GPIOA_AFRH
0x28 GPIOA_BRR
Toggle registers

GPIOA_MODER

GPIO port mode register

Offset: 0x0, size: 32, reset: 0xFFFFFFFF, access: read-write

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MODE15
rw
MODE14
rw
MODE13
rw
MODE12
rw
MODE11
rw
MODE10
rw
MODE9
rw
MODE8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MODE7
rw
MODE6
rw
MODE5
rw
MODE4
rw
MODE3
rw
MODE2
rw
MODE1
rw
MODE0
rw
Toggle fields

MODE0

Bits 0-1: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE1

Bits 2-3: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE2

Bits 4-5: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE3

Bits 6-7: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE4

Bits 8-9: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE5

Bits 10-11: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE6

Bits 12-13: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE7

Bits 14-15: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE8

Bits 16-17: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE9

Bits 18-19: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE10

Bits 20-21: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE11

Bits 22-23: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE12

Bits 24-25: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE13

Bits 26-27: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE14

Bits 28-29: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE15

Bits 30-31: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

GPIOA_OTYPER

GPIO port output type register

Offset: 0x4, size: 32, reset: 0x00000000, access: read-write

16/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OT15
rw
OT14
rw
OT13
rw
OT12
rw
OT11
rw
OT10
rw
OT9
rw
OT8
rw
OT7
rw
OT6
rw
OT5
rw
OT4
rw
OT3
rw
OT2
rw
OT1
rw
OT0
rw
Toggle fields

OT0

Bit 0: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT1

Bit 1: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT2

Bit 2: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT3

Bit 3: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT4

Bit 4: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT5

Bit 5: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT6

Bit 6: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT7

Bit 7: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT8

Bit 8: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT9

Bit 9: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT10

Bit 10: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT11

Bit 11: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT12

Bit 12: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT13

Bit 13: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT14

Bit 14: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT15

Bit 15: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

GPIOA_OSPEEDR

GPIO port output speed register

Offset: 0x8, size: 32, reset: 0x00000000, access: read-write

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OSPEED15
rw
OSPEED14
rw
OSPEED13
rw
OSPEED12
rw
OSPEED11
rw
OSPEED10
rw
OSPEED9
rw
OSPEED8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OSPEED7
rw
OSPEED6
rw
OSPEED5
rw
OSPEED4
rw
OSPEED3
rw
OSPEED2
rw
OSPEED1
rw
OSPEED0
rw
Toggle fields

OSPEED0

Bits 0-1: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED1

Bits 2-3: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED2

Bits 4-5: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED3

Bits 6-7: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED4

Bits 8-9: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED5

Bits 10-11: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED6

Bits 12-13: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED7

Bits 14-15: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED8

Bits 16-17: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED9

Bits 18-19: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED10

Bits 20-21: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED11

Bits 22-23: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED12

Bits 24-25: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED13

Bits 26-27: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED14

Bits 28-29: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED15

Bits 30-31: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

GPIOA_PUPDR

GPIO port pull-up/pull-down register

Offset: 0xc, size: 32, reset: 0x00000000, access: read-write

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PUPD15
rw
PUPD14
rw
PUPD13
rw
PUPD12
rw
PUPD11
rw
PUPD10
rw
PUPD9
rw
PUPD8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PUPD7
rw
PUPD6
rw
PUPD5
rw
PUPD4
rw
PUPD3
rw
PUPD2
rw
PUPD1
rw
PUPD0
rw
Toggle fields

PUPD0

Bits 0-1: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD1

Bits 2-3: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD2

Bits 4-5: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD3

Bits 6-7: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD4

Bits 8-9: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD5

Bits 10-11: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD6

Bits 12-13: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD7

Bits 14-15: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD8

Bits 16-17: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD9

Bits 18-19: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD10

Bits 20-21: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD11

Bits 22-23: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD12

Bits 24-25: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD13

Bits 26-27: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD14

Bits 28-29: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD15

Bits 30-31: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

GPIOA_IDR

GPIO port input data register

Offset: 0x10, size: 32, reset: 0x00000000, access: read-only

16/16 fields covered.

Toggle fields

ID0

Bit 0: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID1

Bit 1: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID2

Bit 2: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID3

Bit 3: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID4

Bit 4: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID5

Bit 5: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID6

Bit 6: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID7

Bit 7: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID8

Bit 8: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID9

Bit 9: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID10

Bit 10: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID11

Bit 11: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID12

Bit 12: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID13

Bit 13: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID14

Bit 14: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID15

Bit 15: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

GPIOA_ODR

GPIO port output data register

Offset: 0x14, size: 32, reset: 0x00000000, access: read-write

0/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OD15
rw
OD14
rw
OD13
rw
OD12
rw
OD11
rw
OD10
rw
OD9
rw
OD8
rw
OD7
rw
OD6
rw
OD5
rw
OD4
rw
OD3
rw
OD2
rw
OD1
rw
OD0
rw
Toggle fields

OD0

Bit 0: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD1

Bit 1: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD2

Bit 2: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD3

Bit 3: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD4

Bit 4: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD5

Bit 5: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD6

Bit 6: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD7

Bit 7: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD8

Bit 8: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD9

Bit 9: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD10

Bit 10: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD11

Bit 11: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD12

Bit 12: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD13

Bit 13: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD14

Bit 14: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD15

Bit 15: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

GPIOA_BSRR

GPIO port bit set/reset register

Offset: 0x18, size: 32, reset: 0x00000000, access: write-only

32/32 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BR15
w
BR14
w
BR13
w
BR12
w
BR11
w
BR10
w
BR9
w
BR8
w
BR7
w
BR6
w
BR5
w
BR4
w
BR3
w
BR2
w
BR1
w
BR0
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BS15
w
BS14
w
BS13
w
BS12
w
BS11
w
BS10
w
BS9
w
BS8
w
BS7
w
BS6
w
BS5
w
BS4
w
BS3
w
BS2
w
BS1
w
BS0
w
Toggle fields

BS0

Bit 0: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS1

Bit 1: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS2

Bit 2: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS3

Bit 3: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS4

Bit 4: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS5

Bit 5: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS6

Bit 6: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS7

Bit 7: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS8

Bit 8: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS9

Bit 9: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS10

Bit 10: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS11

Bit 11: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS12

Bit 12: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS13

Bit 13: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS14

Bit 14: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS15

Bit 15: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BR0

Bit 16: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR1

Bit 17: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR2

Bit 18: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR3

Bit 19: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR4

Bit 20: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR5

Bit 21: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR6

Bit 22: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR7

Bit 23: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR8

Bit 24: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR9

Bit 25: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR10

Bit 26: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR11

Bit 27: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR12

Bit 28: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR13

Bit 29: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR14

Bit 30: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR15

Bit 31: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

GPIOA_LCKR

GPIO port configuration lock register

Offset: 0x1c, size: 32, reset: 0x00000000, access: read-write

17/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LCKK
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LCK15
rw
LCK14
rw
LCK13
rw
LCK12
rw
LCK11
rw
LCK10
rw
LCK9
rw
LCK8
rw
LCK7
rw
LCK6
rw
LCK5
rw
LCK4
rw
LCK3
rw
LCK2
rw
LCK1
rw
LCK0
rw
Toggle fields

LCK0

Bit 0: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK1

Bit 1: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK2

Bit 2: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK3

Bit 3: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK4

Bit 4: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK5

Bit 5: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK6

Bit 6: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK7

Bit 7: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK8

Bit 8: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK9

Bit 9: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK10

Bit 10: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK11

Bit 11: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK12

Bit 12: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK13

Bit 13: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK14

Bit 14: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK15

Bit 15: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCKK

Bit 16: Lock key This bit can be read any time. It can only be modified using the lock key write sequence. LOCK key write sequence: WR LCKR[16] = 1 + LCKR[15:0] WR LCKR[16] = 0 + LCKR[15:0] WR LCKR[16] = 1 + LCKR[15:0] RD LCKR RD LCKR[16] = 1 (this read operation is optional but it confirms that the lock is active) Note: During the LOCK key write sequence, the value of LCK[15:0] must not change. Note: Any error in the lock sequence aborts the lock. Note: After the first lock sequence on any bit of the port, any read access on the LCKK bit returns 1 until the next MCU reset or peripheral reset..

Allowed values:
0: B_0x0: Port configuration lock key not active
1: B_0x1: Port configuration lock key active. The GPIOx_LCKR register is locked until the next MCU reset or peripheral reset.

GPIOA_AFRL

GPIO alternate function low register

Offset: 0x20, size: 32, reset: 0x00000000, access: read-write

8/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
AFSEL7
rw
AFSEL6
rw
AFSEL5
rw
AFSEL4
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AFSEL3
rw
AFSEL2
rw
AFSEL1
rw
AFSEL0
rw
Toggle fields

AFSEL0

Bits 0-3: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL1

Bits 4-7: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL2

Bits 8-11: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL3

Bits 12-15: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL4

Bits 16-19: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL5

Bits 20-23: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL6

Bits 24-27: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL7

Bits 28-31: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

GPIOA_AFRH

GPIO alternate function high register

Offset: 0x24, size: 32, reset: 0x00000000, access: read-write

8/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
AFSEL15
rw
AFSEL14
rw
AFSEL13
rw
AFSEL12
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AFSEL11
rw
AFSEL10
rw
AFSEL9
rw
AFSEL8
rw
Toggle fields

AFSEL8

Bits 0-3: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL9

Bits 4-7: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL10

Bits 8-11: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL11

Bits 12-15: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL12

Bits 16-19: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL13

Bits 20-23: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL14

Bits 24-27: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL15

Bits 28-31: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

GPIOA_BRR

GPIO port bit reset register

Offset: 0x28, size: 32, reset: 0x00000000, access: write-only

16/16 fields covered.

Toggle fields

BR0

Bit 0: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR1

Bit 1: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR2

Bit 2: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR3

Bit 3: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR4

Bit 4: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR5

Bit 5: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR6

Bit 6: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR7

Bit 7: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR8

Bit 8: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR9

Bit 9: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR10

Bit 10: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR11

Bit 11: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR12

Bit 12: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR13

Bit 13: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR14

Bit 14: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR15

Bit 15: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

GPIOB

0x50000400: GPIOB address block description

161/177 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 GPIOB_MODER
0x4 GPIOB_OTYPER
0x8 GPIOB_OSPEEDR
0xc GPIOB_PUPDR
0x10 GPIOB_IDR
0x14 GPIOB_ODR
0x18 GPIOB_BSRR
0x1c GPIOB_LCKR
0x20 GPIOB_AFRL
0x24 GPIOB_AFRH
0x28 GPIOB_BRR
Toggle registers

GPIOB_MODER

GPIO port mode register

Offset: 0x0, size: 32, reset: 0xFFFFFFFF, access: read-write

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MODE15
rw
MODE14
rw
MODE13
rw
MODE12
rw
MODE11
rw
MODE10
rw
MODE9
rw
MODE8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MODE7
rw
MODE6
rw
MODE5
rw
MODE4
rw
MODE3
rw
MODE2
rw
MODE1
rw
MODE0
rw
Toggle fields

MODE0

Bits 0-1: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE1

Bits 2-3: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE2

Bits 4-5: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE3

Bits 6-7: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE4

Bits 8-9: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE5

Bits 10-11: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE6

Bits 12-13: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE7

Bits 14-15: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE8

Bits 16-17: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE9

Bits 18-19: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE10

Bits 20-21: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE11

Bits 22-23: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE12

Bits 24-25: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE13

Bits 26-27: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE14

Bits 28-29: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE15

Bits 30-31: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

GPIOB_OTYPER

GPIO port output type register

Offset: 0x4, size: 32, reset: 0x00000000, access: read-write

16/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OT15
rw
OT14
rw
OT13
rw
OT12
rw
OT11
rw
OT10
rw
OT9
rw
OT8
rw
OT7
rw
OT6
rw
OT5
rw
OT4
rw
OT3
rw
OT2
rw
OT1
rw
OT0
rw
Toggle fields

OT0

Bit 0: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT1

Bit 1: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT2

Bit 2: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT3

Bit 3: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT4

Bit 4: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT5

Bit 5: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT6

Bit 6: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT7

Bit 7: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT8

Bit 8: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT9

Bit 9: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT10

Bit 10: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT11

Bit 11: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT12

Bit 12: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT13

Bit 13: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT14

Bit 14: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT15

Bit 15: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

GPIOB_OSPEEDR

GPIO port output speed register

Offset: 0x8, size: 32, reset: 0x00000000, access: read-write

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OSPEED15
rw
OSPEED14
rw
OSPEED13
rw
OSPEED12
rw
OSPEED11
rw
OSPEED10
rw
OSPEED9
rw
OSPEED8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OSPEED7
rw
OSPEED6
rw
OSPEED5
rw
OSPEED4
rw
OSPEED3
rw
OSPEED2
rw
OSPEED1
rw
OSPEED0
rw
Toggle fields

OSPEED0

Bits 0-1: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED1

Bits 2-3: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED2

Bits 4-5: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED3

Bits 6-7: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED4

Bits 8-9: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED5

Bits 10-11: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED6

Bits 12-13: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED7

Bits 14-15: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED8

Bits 16-17: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED9

Bits 18-19: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED10

Bits 20-21: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED11

Bits 22-23: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED12

Bits 24-25: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED13

Bits 26-27: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED14

Bits 28-29: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED15

Bits 30-31: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

GPIOB_PUPDR

GPIO port pull-up/pull-down register

Offset: 0xc, size: 32, reset: 0x00000000, access: read-write

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PUPD15
rw
PUPD14
rw
PUPD13
rw
PUPD12
rw
PUPD11
rw
PUPD10
rw
PUPD9
rw
PUPD8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PUPD7
rw
PUPD6
rw
PUPD5
rw
PUPD4
rw
PUPD3
rw
PUPD2
rw
PUPD1
rw
PUPD0
rw
Toggle fields

PUPD0

Bits 0-1: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD1

Bits 2-3: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD2

Bits 4-5: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD3

Bits 6-7: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD4

Bits 8-9: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD5

Bits 10-11: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD6

Bits 12-13: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD7

Bits 14-15: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD8

Bits 16-17: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD9

Bits 18-19: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD10

Bits 20-21: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD11

Bits 22-23: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD12

Bits 24-25: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD13

Bits 26-27: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD14

Bits 28-29: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD15

Bits 30-31: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

GPIOB_IDR

GPIO port input data register

Offset: 0x10, size: 32, reset: 0x00000000, access: read-only

16/16 fields covered.

Toggle fields

ID0

Bit 0: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID1

Bit 1: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID2

Bit 2: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID3

Bit 3: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID4

Bit 4: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID5

Bit 5: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID6

Bit 6: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID7

Bit 7: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID8

Bit 8: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID9

Bit 9: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID10

Bit 10: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID11

Bit 11: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID12

Bit 12: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID13

Bit 13: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID14

Bit 14: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID15

Bit 15: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

GPIOB_ODR

GPIO port output data register

Offset: 0x14, size: 32, reset: 0x00000000, access: read-write

0/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OD15
rw
OD14
rw
OD13
rw
OD12
rw
OD11
rw
OD10
rw
OD9
rw
OD8
rw
OD7
rw
OD6
rw
OD5
rw
OD4
rw
OD3
rw
OD2
rw
OD1
rw
OD0
rw
Toggle fields

OD0

Bit 0: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD1

Bit 1: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD2

Bit 2: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD3

Bit 3: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD4

Bit 4: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD5

Bit 5: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD6

Bit 6: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD7

Bit 7: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD8

Bit 8: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD9

Bit 9: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD10

Bit 10: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD11

Bit 11: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD12

Bit 12: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD13

Bit 13: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD14

Bit 14: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD15

Bit 15: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

GPIOB_BSRR

GPIO port bit set/reset register

Offset: 0x18, size: 32, reset: 0x00000000, access: write-only

32/32 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BR15
w
BR14
w
BR13
w
BR12
w
BR11
w
BR10
w
BR9
w
BR8
w
BR7
w
BR6
w
BR5
w
BR4
w
BR3
w
BR2
w
BR1
w
BR0
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BS15
w
BS14
w
BS13
w
BS12
w
BS11
w
BS10
w
BS9
w
BS8
w
BS7
w
BS6
w
BS5
w
BS4
w
BS3
w
BS2
w
BS1
w
BS0
w
Toggle fields

BS0

Bit 0: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS1

Bit 1: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS2

Bit 2: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS3

Bit 3: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS4

Bit 4: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS5

Bit 5: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS6

Bit 6: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS7

Bit 7: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS8

Bit 8: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS9

Bit 9: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS10

Bit 10: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS11

Bit 11: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS12

Bit 12: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS13

Bit 13: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS14

Bit 14: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS15

Bit 15: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BR0

Bit 16: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR1

Bit 17: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR2

Bit 18: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR3

Bit 19: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR4

Bit 20: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR5

Bit 21: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR6

Bit 22: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR7

Bit 23: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR8

Bit 24: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR9

Bit 25: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR10

Bit 26: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR11

Bit 27: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR12

Bit 28: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR13

Bit 29: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR14

Bit 30: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR15

Bit 31: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

GPIOB_LCKR

GPIO port configuration lock register

Offset: 0x1c, size: 32, reset: 0x00000000, access: read-write

17/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LCKK
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LCK15
rw
LCK14
rw
LCK13
rw
LCK12
rw
LCK11
rw
LCK10
rw
LCK9
rw
LCK8
rw
LCK7
rw
LCK6
rw
LCK5
rw
LCK4
rw
LCK3
rw
LCK2
rw
LCK1
rw
LCK0
rw
Toggle fields

LCK0

Bit 0: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK1

Bit 1: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK2

Bit 2: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK3

Bit 3: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK4

Bit 4: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK5

Bit 5: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK6

Bit 6: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK7

Bit 7: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK8

Bit 8: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK9

Bit 9: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK10

Bit 10: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK11

Bit 11: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK12

Bit 12: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK13

Bit 13: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK14

Bit 14: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK15

Bit 15: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCKK

Bit 16: Lock key This bit can be read any time. It can only be modified using the lock key write sequence. LOCK key write sequence: WR LCKR[16] = 1 + LCKR[15:0] WR LCKR[16] = 0 + LCKR[15:0] WR LCKR[16] = 1 + LCKR[15:0] RD LCKR RD LCKR[16] = 1 (this read operation is optional but it confirms that the lock is active) Note: During the LOCK key write sequence, the value of LCK[15:0] must not change. Note: Any error in the lock sequence aborts the lock. Note: After the first lock sequence on any bit of the port, any read access on the LCKK bit returns 1 until the next MCU reset or peripheral reset..

Allowed values:
0: B_0x0: Port configuration lock key not active
1: B_0x1: Port configuration lock key active. The GPIOx_LCKR register is locked until the next MCU reset or peripheral reset.

GPIOB_AFRL

GPIO alternate function low register

Offset: 0x20, size: 32, reset: 0x00000000, access: read-write

8/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
AFSEL7
rw
AFSEL6
rw
AFSEL5
rw
AFSEL4
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AFSEL3
rw
AFSEL2
rw
AFSEL1
rw
AFSEL0
rw
Toggle fields

AFSEL0

Bits 0-3: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL1

Bits 4-7: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL2

Bits 8-11: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL3

Bits 12-15: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL4

Bits 16-19: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL5

Bits 20-23: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL6

Bits 24-27: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL7

Bits 28-31: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

GPIOB_AFRH

GPIO alternate function high register

Offset: 0x24, size: 32, reset: 0x00000000, access: read-write

8/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
AFSEL15
rw
AFSEL14
rw
AFSEL13
rw
AFSEL12
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AFSEL11
rw
AFSEL10
rw
AFSEL9
rw
AFSEL8
rw
Toggle fields

AFSEL8

Bits 0-3: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL9

Bits 4-7: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL10

Bits 8-11: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL11

Bits 12-15: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL12

Bits 16-19: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL13

Bits 20-23: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL14

Bits 24-27: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL15

Bits 28-31: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

GPIOB_BRR

GPIO port bit reset register

Offset: 0x28, size: 32, reset: 0x00000000, access: write-only

16/16 fields covered.

Toggle fields

BR0

Bit 0: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR1

Bit 1: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR2

Bit 2: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR3

Bit 3: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR4

Bit 4: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR5

Bit 5: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR6

Bit 6: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR7

Bit 7: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR8

Bit 8: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR9

Bit 9: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR10

Bit 10: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR11

Bit 11: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR12

Bit 12: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR13

Bit 13: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR14

Bit 14: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR15

Bit 15: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

GPIOC

0x50000800: GPIOC address block description

161/177 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 GPIOC_MODER
0x4 GPIOC_OTYPER
0x8 GPIOC_OSPEEDR
0xc GPIOC_PUPDR
0x10 GPIOC_IDR
0x14 GPIOC_ODR
0x18 GPIOC_BSRR
0x1c GPIOC_LCKR
0x20 GPIOC_AFRL
0x24 GPIOC_AFRH
0x28 GPIOC_BRR
Toggle registers

GPIOC_MODER

GPIO port mode register

Offset: 0x0, size: 32, reset: 0xFFFFFFFF, access: read-write

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MODE15
rw
MODE14
rw
MODE13
rw
MODE12
rw
MODE11
rw
MODE10
rw
MODE9
rw
MODE8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MODE7
rw
MODE6
rw
MODE5
rw
MODE4
rw
MODE3
rw
MODE2
rw
MODE1
rw
MODE0
rw
Toggle fields

MODE0

Bits 0-1: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE1

Bits 2-3: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE2

Bits 4-5: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE3

Bits 6-7: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE4

Bits 8-9: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE5

Bits 10-11: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE6

Bits 12-13: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE7

Bits 14-15: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE8

Bits 16-17: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE9

Bits 18-19: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE10

Bits 20-21: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE11

Bits 22-23: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE12

Bits 24-25: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE13

Bits 26-27: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE14

Bits 28-29: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE15

Bits 30-31: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

GPIOC_OTYPER

GPIO port output type register

Offset: 0x4, size: 32, reset: 0x00000000, access: read-write

16/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OT15
rw
OT14
rw
OT13
rw
OT12
rw
OT11
rw
OT10
rw
OT9
rw
OT8
rw
OT7
rw
OT6
rw
OT5
rw
OT4
rw
OT3
rw
OT2
rw
OT1
rw
OT0
rw
Toggle fields

OT0

Bit 0: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT1

Bit 1: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT2

Bit 2: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT3

Bit 3: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT4

Bit 4: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT5

Bit 5: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT6

Bit 6: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT7

Bit 7: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT8

Bit 8: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT9

Bit 9: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT10

Bit 10: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT11

Bit 11: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT12

Bit 12: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT13

Bit 13: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT14

Bit 14: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT15

Bit 15: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

GPIOC_OSPEEDR

GPIO port output speed register

Offset: 0x8, size: 32, reset: 0x00000000, access: read-write

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OSPEED15
rw
OSPEED14
rw
OSPEED13
rw
OSPEED12
rw
OSPEED11
rw
OSPEED10
rw
OSPEED9
rw
OSPEED8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OSPEED7
rw
OSPEED6
rw
OSPEED5
rw
OSPEED4
rw
OSPEED3
rw
OSPEED2
rw
OSPEED1
rw
OSPEED0
rw
Toggle fields

OSPEED0

Bits 0-1: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED1

Bits 2-3: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED2

Bits 4-5: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED3

Bits 6-7: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED4

Bits 8-9: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED5

Bits 10-11: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED6

Bits 12-13: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED7

Bits 14-15: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED8

Bits 16-17: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED9

Bits 18-19: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED10

Bits 20-21: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED11

Bits 22-23: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED12

Bits 24-25: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED13

Bits 26-27: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED14

Bits 28-29: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED15

Bits 30-31: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

GPIOC_PUPDR

GPIO port pull-up/pull-down register

Offset: 0xc, size: 32, reset: 0x00000000, access: read-write

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PUPD15
rw
PUPD14
rw
PUPD13
rw
PUPD12
rw
PUPD11
rw
PUPD10
rw
PUPD9
rw
PUPD8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PUPD7
rw
PUPD6
rw
PUPD5
rw
PUPD4
rw
PUPD3
rw
PUPD2
rw
PUPD1
rw
PUPD0
rw
Toggle fields

PUPD0

Bits 0-1: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD1

Bits 2-3: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD2

Bits 4-5: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD3

Bits 6-7: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD4

Bits 8-9: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD5

Bits 10-11: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD6

Bits 12-13: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD7

Bits 14-15: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD8

Bits 16-17: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD9

Bits 18-19: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD10

Bits 20-21: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD11

Bits 22-23: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD12

Bits 24-25: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD13

Bits 26-27: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD14

Bits 28-29: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD15

Bits 30-31: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

GPIOC_IDR

GPIO port input data register

Offset: 0x10, size: 32, reset: 0x00000000, access: read-only

16/16 fields covered.

Toggle fields

ID0

Bit 0: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID1

Bit 1: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID2

Bit 2: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID3

Bit 3: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID4

Bit 4: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID5

Bit 5: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID6

Bit 6: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID7

Bit 7: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID8

Bit 8: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID9

Bit 9: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID10

Bit 10: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID11

Bit 11: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID12

Bit 12: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID13

Bit 13: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID14

Bit 14: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID15

Bit 15: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

GPIOC_ODR

GPIO port output data register

Offset: 0x14, size: 32, reset: 0x00000000, access: read-write

0/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OD15
rw
OD14
rw
OD13
rw
OD12
rw
OD11
rw
OD10
rw
OD9
rw
OD8
rw
OD7
rw
OD6
rw
OD5
rw
OD4
rw
OD3
rw
OD2
rw
OD1
rw
OD0
rw
Toggle fields

OD0

Bit 0: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD1

Bit 1: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD2

Bit 2: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD3

Bit 3: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD4

Bit 4: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD5

Bit 5: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD6

Bit 6: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD7

Bit 7: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD8

Bit 8: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD9

Bit 9: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD10

Bit 10: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD11

Bit 11: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD12

Bit 12: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD13

Bit 13: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD14

Bit 14: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD15

Bit 15: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

GPIOC_BSRR

GPIO port bit set/reset register

Offset: 0x18, size: 32, reset: 0x00000000, access: write-only

32/32 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BR15
w
BR14
w
BR13
w
BR12
w
BR11
w
BR10
w
BR9
w
BR8
w
BR7
w
BR6
w
BR5
w
BR4
w
BR3
w
BR2
w
BR1
w
BR0
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BS15
w
BS14
w
BS13
w
BS12
w
BS11
w
BS10
w
BS9
w
BS8
w
BS7
w
BS6
w
BS5
w
BS4
w
BS3
w
BS2
w
BS1
w
BS0
w
Toggle fields

BS0

Bit 0: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS1

Bit 1: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS2

Bit 2: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS3

Bit 3: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS4

Bit 4: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS5

Bit 5: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS6

Bit 6: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS7

Bit 7: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS8

Bit 8: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS9

Bit 9: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS10

Bit 10: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS11

Bit 11: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS12

Bit 12: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS13

Bit 13: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS14

Bit 14: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS15

Bit 15: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BR0

Bit 16: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR1

Bit 17: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR2

Bit 18: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR3

Bit 19: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR4

Bit 20: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR5

Bit 21: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR6

Bit 22: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR7

Bit 23: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR8

Bit 24: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR9

Bit 25: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR10

Bit 26: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR11

Bit 27: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR12

Bit 28: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR13

Bit 29: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR14

Bit 30: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR15

Bit 31: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

GPIOC_LCKR

GPIO port configuration lock register

Offset: 0x1c, size: 32, reset: 0x00000000, access: read-write

17/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LCKK
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LCK15
rw
LCK14
rw
LCK13
rw
LCK12
rw
LCK11
rw
LCK10
rw
LCK9
rw
LCK8
rw
LCK7
rw
LCK6
rw
LCK5
rw
LCK4
rw
LCK3
rw
LCK2
rw
LCK1
rw
LCK0
rw
Toggle fields

LCK0

Bit 0: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK1

Bit 1: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK2

Bit 2: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK3

Bit 3: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK4

Bit 4: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK5

Bit 5: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK6

Bit 6: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK7

Bit 7: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK8

Bit 8: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK9

Bit 9: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK10

Bit 10: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK11

Bit 11: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK12

Bit 12: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK13

Bit 13: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK14

Bit 14: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK15

Bit 15: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCKK

Bit 16: Lock key This bit can be read any time. It can only be modified using the lock key write sequence. LOCK key write sequence: WR LCKR[16] = 1 + LCKR[15:0] WR LCKR[16] = 0 + LCKR[15:0] WR LCKR[16] = 1 + LCKR[15:0] RD LCKR RD LCKR[16] = 1 (this read operation is optional but it confirms that the lock is active) Note: During the LOCK key write sequence, the value of LCK[15:0] must not change. Note: Any error in the lock sequence aborts the lock. Note: After the first lock sequence on any bit of the port, any read access on the LCKK bit returns 1 until the next MCU reset or peripheral reset..

Allowed values:
0: B_0x0: Port configuration lock key not active
1: B_0x1: Port configuration lock key active. The GPIOx_LCKR register is locked until the next MCU reset or peripheral reset.

GPIOC_AFRL

GPIO alternate function low register

Offset: 0x20, size: 32, reset: 0x00000000, access: read-write

8/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
AFSEL7
rw
AFSEL6
rw
AFSEL5
rw
AFSEL4
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AFSEL3
rw
AFSEL2
rw
AFSEL1
rw
AFSEL0
rw
Toggle fields

AFSEL0

Bits 0-3: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL1

Bits 4-7: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL2

Bits 8-11: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL3

Bits 12-15: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL4

Bits 16-19: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL5

Bits 20-23: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL6

Bits 24-27: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL7

Bits 28-31: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

GPIOC_AFRH

GPIO alternate function high register

Offset: 0x24, size: 32, reset: 0x00000000, access: read-write

8/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
AFSEL15
rw
AFSEL14
rw
AFSEL13
rw
AFSEL12
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AFSEL11
rw
AFSEL10
rw
AFSEL9
rw
AFSEL8
rw
Toggle fields

AFSEL8

Bits 0-3: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL9

Bits 4-7: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL10

Bits 8-11: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL11

Bits 12-15: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL12

Bits 16-19: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL13

Bits 20-23: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL14

Bits 24-27: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL15

Bits 28-31: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

GPIOC_BRR

GPIO port bit reset register

Offset: 0x28, size: 32, reset: 0x00000000, access: write-only

16/16 fields covered.

Toggle fields

BR0

Bit 0: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR1

Bit 1: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR2

Bit 2: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR3

Bit 3: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR4

Bit 4: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR5

Bit 5: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR6

Bit 6: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR7

Bit 7: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR8

Bit 8: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR9

Bit 9: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR10

Bit 10: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR11

Bit 11: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR12

Bit 12: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR13

Bit 13: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR14

Bit 14: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR15

Bit 15: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

GPIOD

0x50000c00: GPIOD address block description

161/177 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 GPIOD_MODER
0x4 GPIOD_OTYPER
0x8 GPIOD_OSPEEDR
0xc GPIOD_PUPDR
0x10 GPIOD_IDR
0x14 GPIOD_ODR
0x18 GPIOD_BSRR
0x1c GPIOD_LCKR
0x20 GPIOD_AFRL
0x24 GPIOD_AFRH
0x28 GPIOD_BRR
Toggle registers

GPIOD_MODER

GPIO port mode register

Offset: 0x0, size: 32, reset: 0xFFFFFFFF, access: read-write

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MODE15
rw
MODE14
rw
MODE13
rw
MODE12
rw
MODE11
rw
MODE10
rw
MODE9
rw
MODE8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MODE7
rw
MODE6
rw
MODE5
rw
MODE4
rw
MODE3
rw
MODE2
rw
MODE1
rw
MODE0
rw
Toggle fields

MODE0

Bits 0-1: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE1

Bits 2-3: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE2

Bits 4-5: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE3

Bits 6-7: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE4

Bits 8-9: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE5

Bits 10-11: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE6

Bits 12-13: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE7

Bits 14-15: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE8

Bits 16-17: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE9

Bits 18-19: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE10

Bits 20-21: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE11

Bits 22-23: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE12

Bits 24-25: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE13

Bits 26-27: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE14

Bits 28-29: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE15

Bits 30-31: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

GPIOD_OTYPER

GPIO port output type register

Offset: 0x4, size: 32, reset: 0x00000000, access: read-write

16/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OT15
rw
OT14
rw
OT13
rw
OT12
rw
OT11
rw
OT10
rw
OT9
rw
OT8
rw
OT7
rw
OT6
rw
OT5
rw
OT4
rw
OT3
rw
OT2
rw
OT1
rw
OT0
rw
Toggle fields

OT0

Bit 0: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT1

Bit 1: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT2

Bit 2: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT3

Bit 3: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT4

Bit 4: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT5

Bit 5: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT6

Bit 6: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT7

Bit 7: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT8

Bit 8: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT9

Bit 9: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT10

Bit 10: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT11

Bit 11: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT12

Bit 12: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT13

Bit 13: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT14

Bit 14: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT15

Bit 15: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

GPIOD_OSPEEDR

GPIO port output speed register

Offset: 0x8, size: 32, reset: 0x00000000, access: read-write

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OSPEED15
rw
OSPEED14
rw
OSPEED13
rw
OSPEED12
rw
OSPEED11
rw
OSPEED10
rw
OSPEED9
rw
OSPEED8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OSPEED7
rw
OSPEED6
rw
OSPEED5
rw
OSPEED4
rw
OSPEED3
rw
OSPEED2
rw
OSPEED1
rw
OSPEED0
rw
Toggle fields

OSPEED0

Bits 0-1: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED1

Bits 2-3: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED2

Bits 4-5: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED3

Bits 6-7: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED4

Bits 8-9: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED5

Bits 10-11: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED6

Bits 12-13: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED7

Bits 14-15: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED8

Bits 16-17: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED9

Bits 18-19: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED10

Bits 20-21: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED11

Bits 22-23: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED12

Bits 24-25: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED13

Bits 26-27: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED14

Bits 28-29: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED15

Bits 30-31: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

GPIOD_PUPDR

GPIO port pull-up/pull-down register

Offset: 0xc, size: 32, reset: 0x00000000, access: read-write

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PUPD15
rw
PUPD14
rw
PUPD13
rw
PUPD12
rw
PUPD11
rw
PUPD10
rw
PUPD9
rw
PUPD8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PUPD7
rw
PUPD6
rw
PUPD5
rw
PUPD4
rw
PUPD3
rw
PUPD2
rw
PUPD1
rw
PUPD0
rw
Toggle fields

PUPD0

Bits 0-1: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD1

Bits 2-3: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD2

Bits 4-5: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD3

Bits 6-7: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD4

Bits 8-9: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD5

Bits 10-11: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD6

Bits 12-13: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD7

Bits 14-15: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD8

Bits 16-17: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD9

Bits 18-19: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD10

Bits 20-21: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD11

Bits 22-23: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD12

Bits 24-25: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD13

Bits 26-27: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD14

Bits 28-29: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD15

Bits 30-31: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

GPIOD_IDR

GPIO port input data register

Offset: 0x10, size: 32, reset: 0x00000000, access: read-only

16/16 fields covered.

Toggle fields

ID0

Bit 0: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID1

Bit 1: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID2

Bit 2: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID3

Bit 3: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID4

Bit 4: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID5

Bit 5: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID6

Bit 6: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID7

Bit 7: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID8

Bit 8: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID9

Bit 9: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID10

Bit 10: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID11

Bit 11: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID12

Bit 12: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID13

Bit 13: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID14

Bit 14: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID15

Bit 15: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

GPIOD_ODR

GPIO port output data register

Offset: 0x14, size: 32, reset: 0x00000000, access: read-write

0/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OD15
rw
OD14
rw
OD13
rw
OD12
rw
OD11
rw
OD10
rw
OD9
rw
OD8
rw
OD7
rw
OD6
rw
OD5
rw
OD4
rw
OD3
rw
OD2
rw
OD1
rw
OD0
rw
Toggle fields

OD0

Bit 0: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD1

Bit 1: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD2

Bit 2: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD3

Bit 3: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD4

Bit 4: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD5

Bit 5: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD6

Bit 6: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD7

Bit 7: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD8

Bit 8: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD9

Bit 9: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD10

Bit 10: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD11

Bit 11: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD12

Bit 12: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD13

Bit 13: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD14

Bit 14: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD15

Bit 15: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

GPIOD_BSRR

GPIO port bit set/reset register

Offset: 0x18, size: 32, reset: 0x00000000, access: write-only

32/32 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BR15
w
BR14
w
BR13
w
BR12
w
BR11
w
BR10
w
BR9
w
BR8
w
BR7
w
BR6
w
BR5
w
BR4
w
BR3
w
BR2
w
BR1
w
BR0
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BS15
w
BS14
w
BS13
w
BS12
w
BS11
w
BS10
w
BS9
w
BS8
w
BS7
w
BS6
w
BS5
w
BS4
w
BS3
w
BS2
w
BS1
w
BS0
w
Toggle fields

BS0

Bit 0: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS1

Bit 1: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS2

Bit 2: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS3

Bit 3: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS4

Bit 4: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS5

Bit 5: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS6

Bit 6: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS7

Bit 7: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS8

Bit 8: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS9

Bit 9: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS10

Bit 10: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS11

Bit 11: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS12

Bit 12: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS13

Bit 13: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS14

Bit 14: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS15

Bit 15: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BR0

Bit 16: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR1

Bit 17: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR2

Bit 18: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR3

Bit 19: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR4

Bit 20: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR5

Bit 21: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR6

Bit 22: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR7

Bit 23: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR8

Bit 24: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR9

Bit 25: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR10

Bit 26: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR11

Bit 27: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR12

Bit 28: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR13

Bit 29: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR14

Bit 30: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR15

Bit 31: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

GPIOD_LCKR

GPIO port configuration lock register

Offset: 0x1c, size: 32, reset: 0x00000000, access: read-write

17/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LCKK
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LCK15
rw
LCK14
rw
LCK13
rw
LCK12
rw
LCK11
rw
LCK10
rw
LCK9
rw
LCK8
rw
LCK7
rw
LCK6
rw
LCK5
rw
LCK4
rw
LCK3
rw
LCK2
rw
LCK1
rw
LCK0
rw
Toggle fields

LCK0

Bit 0: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK1

Bit 1: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK2

Bit 2: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK3

Bit 3: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK4

Bit 4: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK5

Bit 5: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK6

Bit 6: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK7

Bit 7: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK8

Bit 8: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK9

Bit 9: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK10

Bit 10: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK11

Bit 11: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK12

Bit 12: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK13

Bit 13: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK14

Bit 14: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK15

Bit 15: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCKK

Bit 16: Lock key This bit can be read any time. It can only be modified using the lock key write sequence. LOCK key write sequence: WR LCKR[16] = 1 + LCKR[15:0] WR LCKR[16] = 0 + LCKR[15:0] WR LCKR[16] = 1 + LCKR[15:0] RD LCKR RD LCKR[16] = 1 (this read operation is optional but it confirms that the lock is active) Note: During the LOCK key write sequence, the value of LCK[15:0] must not change. Note: Any error in the lock sequence aborts the lock. Note: After the first lock sequence on any bit of the port, any read access on the LCKK bit returns 1 until the next MCU reset or peripheral reset..

Allowed values:
0: B_0x0: Port configuration lock key not active
1: B_0x1: Port configuration lock key active. The GPIOx_LCKR register is locked until the next MCU reset or peripheral reset.

GPIOD_AFRL

GPIO alternate function low register

Offset: 0x20, size: 32, reset: 0x00000000, access: read-write

8/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
AFSEL7
rw
AFSEL6
rw
AFSEL5
rw
AFSEL4
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AFSEL3
rw
AFSEL2
rw
AFSEL1
rw
AFSEL0
rw
Toggle fields

AFSEL0

Bits 0-3: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL1

Bits 4-7: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL2

Bits 8-11: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL3

Bits 12-15: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL4

Bits 16-19: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL5

Bits 20-23: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL6

Bits 24-27: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL7

Bits 28-31: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

GPIOD_AFRH

GPIO alternate function high register

Offset: 0x24, size: 32, reset: 0x00000000, access: read-write

8/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
AFSEL15
rw
AFSEL14
rw
AFSEL13
rw
AFSEL12
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AFSEL11
rw
AFSEL10
rw
AFSEL9
rw
AFSEL8
rw
Toggle fields

AFSEL8

Bits 0-3: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL9

Bits 4-7: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL10

Bits 8-11: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL11

Bits 12-15: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL12

Bits 16-19: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL13

Bits 20-23: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL14

Bits 24-27: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL15

Bits 28-31: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

GPIOD_BRR

GPIO port bit reset register

Offset: 0x28, size: 32, reset: 0x00000000, access: write-only

16/16 fields covered.

Toggle fields

BR0

Bit 0: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR1

Bit 1: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR2

Bit 2: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR3

Bit 3: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR4

Bit 4: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR5

Bit 5: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR6

Bit 6: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR7

Bit 7: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR8

Bit 8: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR9

Bit 9: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR10

Bit 10: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR11

Bit 11: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR12

Bit 12: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR13

Bit 13: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR14

Bit 14: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR15

Bit 15: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

GPIOF

0x50001400: GPIOF address block description

161/177 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 GPIOF_MODER
0x4 GPIOF_OTYPER
0x8 GPIOF_OSPEEDR
0xc GPIOF_PUPDR
0x10 GPIOF_IDR
0x14 GPIOF_ODR
0x18 GPIOF_BSRR
0x1c GPIOF_LCKR
0x20 GPIOF_AFRL
0x24 GPIOF_AFRH
0x28 GPIOF_BRR
Toggle registers

GPIOF_MODER

GPIO port mode register

Offset: 0x0, size: 32, reset: 0xFFFFFFFF, access: read-write

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MODE15
rw
MODE14
rw
MODE13
rw
MODE12
rw
MODE11
rw
MODE10
rw
MODE9
rw
MODE8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MODE7
rw
MODE6
rw
MODE5
rw
MODE4
rw
MODE3
rw
MODE2
rw
MODE1
rw
MODE0
rw
Toggle fields

MODE0

Bits 0-1: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE1

Bits 2-3: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE2

Bits 4-5: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE3

Bits 6-7: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE4

Bits 8-9: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE5

Bits 10-11: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE6

Bits 12-13: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE7

Bits 14-15: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE8

Bits 16-17: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE9

Bits 18-19: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE10

Bits 20-21: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE11

Bits 22-23: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE12

Bits 24-25: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE13

Bits 26-27: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE14

Bits 28-29: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

MODE15

Bits 30-31: Port x configuration for I/O y These bits are written by software to set the I/O to one of four operating modes..

Allowed values:
0: B_0x0: Input
1: B_0x1: Output
2: B_0x2: Alternate function
3: B_0x3: Analog

GPIOF_OTYPER

GPIO port output type register

Offset: 0x4, size: 32, reset: 0x00000000, access: read-write

16/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OT15
rw
OT14
rw
OT13
rw
OT12
rw
OT11
rw
OT10
rw
OT9
rw
OT8
rw
OT7
rw
OT6
rw
OT5
rw
OT4
rw
OT3
rw
OT2
rw
OT1
rw
OT0
rw
Toggle fields

OT0

Bit 0: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT1

Bit 1: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT2

Bit 2: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT3

Bit 3: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT4

Bit 4: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT5

Bit 5: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT6

Bit 6: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT7

Bit 7: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT8

Bit 8: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT9

Bit 9: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT10

Bit 10: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT11

Bit 11: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT12

Bit 12: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT13

Bit 13: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT14

Bit 14: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

OT15

Bit 15: Port x configuration for I/O y These bits are written by software to configure the I/O output type..

Allowed values:
0: B_0x0: Output push-pull (reset state)
1: B_0x1: Output open-drain

GPIOF_OSPEEDR

GPIO port output speed register

Offset: 0x8, size: 32, reset: 0x00000000, access: read-write

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OSPEED15
rw
OSPEED14
rw
OSPEED13
rw
OSPEED12
rw
OSPEED11
rw
OSPEED10
rw
OSPEED9
rw
OSPEED8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OSPEED7
rw
OSPEED6
rw
OSPEED5
rw
OSPEED4
rw
OSPEED3
rw
OSPEED2
rw
OSPEED1
rw
OSPEED0
rw
Toggle fields

OSPEED0

Bits 0-1: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED1

Bits 2-3: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED2

Bits 4-5: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED3

Bits 6-7: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED4

Bits 8-9: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED5

Bits 10-11: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED6

Bits 12-13: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED7

Bits 14-15: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED8

Bits 16-17: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED9

Bits 18-19: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED10

Bits 20-21: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED11

Bits 22-23: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED12

Bits 24-25: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED13

Bits 26-27: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED14

Bits 28-29: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

OSPEED15

Bits 30-31: Port x configuration for I/O y These bits are written by software to configure the I/O output speed. Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed.. Note: The FT_c GPIOs cannot be set to high speed..

Allowed values:
0: B_0x0: Very low speed
1: B_0x1: Low speed
2: B_0x2: High speed
3: B_0x3: Very high speed

GPIOF_PUPDR

GPIO port pull-up/pull-down register

Offset: 0xc, size: 32, reset: 0x00000000, access: read-write

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PUPD15
rw
PUPD14
rw
PUPD13
rw
PUPD12
rw
PUPD11
rw
PUPD10
rw
PUPD9
rw
PUPD8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PUPD7
rw
PUPD6
rw
PUPD5
rw
PUPD4
rw
PUPD3
rw
PUPD2
rw
PUPD1
rw
PUPD0
rw
Toggle fields

PUPD0

Bits 0-1: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD1

Bits 2-3: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD2

Bits 4-5: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD3

Bits 6-7: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD4

Bits 8-9: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD5

Bits 10-11: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD6

Bits 12-13: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD7

Bits 14-15: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD8

Bits 16-17: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD9

Bits 18-19: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD10

Bits 20-21: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD11

Bits 22-23: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD12

Bits 24-25: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD13

Bits 26-27: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD14

Bits 28-29: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

PUPD15

Bits 30-31: Port x configuration I/O y These bits are written by software to configure the I/O pull-up or pull-down Note: On the same pin, this pull up/down must not be activated when a pull down/up is set through the PWR_PDCRx/PWR_PUCRx registers..

Allowed values:
0: B_0x0: No pull-up, pull-down
1: B_0x1: Pull-up
2: B_0x2: Pull-down

GPIOF_IDR

GPIO port input data register

Offset: 0x10, size: 32, reset: 0x00000000, access: read-only

16/16 fields covered.

Toggle fields

ID0

Bit 0: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID1

Bit 1: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID2

Bit 2: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID3

Bit 3: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID4

Bit 4: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID5

Bit 5: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID6

Bit 6: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID7

Bit 7: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID8

Bit 8: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID9

Bit 9: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID10

Bit 10: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID11

Bit 11: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID12

Bit 12: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID13

Bit 13: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID14

Bit 14: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

ID15

Bit 15: Port x input data I/O y These bits are read-only. They contain the input value of the corresponding I/O port..

GPIOF_ODR

GPIO port output data register

Offset: 0x14, size: 32, reset: 0x00000000, access: read-write

0/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OD15
rw
OD14
rw
OD13
rw
OD12
rw
OD11
rw
OD10
rw
OD9
rw
OD8
rw
OD7
rw
OD6
rw
OD5
rw
OD4
rw
OD3
rw
OD2
rw
OD1
rw
OD0
rw
Toggle fields

OD0

Bit 0: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD1

Bit 1: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD2

Bit 2: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD3

Bit 3: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD4

Bit 4: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD5

Bit 5: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD6

Bit 6: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD7

Bit 7: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD8

Bit 8: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD9

Bit 9: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD10

Bit 10: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD11

Bit 11: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD12

Bit 12: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD13

Bit 13: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD14

Bit 14: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

OD15

Bit 15: Port output data I/O y These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR register (x = A, B, C, D, F)..

GPIOF_BSRR

GPIO port bit set/reset register

Offset: 0x18, size: 32, reset: 0x00000000, access: write-only

32/32 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BR15
w
BR14
w
BR13
w
BR12
w
BR11
w
BR10
w
BR9
w
BR8
w
BR7
w
BR6
w
BR5
w
BR4
w
BR3
w
BR2
w
BR1
w
BR0
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BS15
w
BS14
w
BS13
w
BS12
w
BS11
w
BS10
w
BS9
w
BS8
w
BS7
w
BS6
w
BS5
w
BS4
w
BS3
w
BS2
w
BS1
w
BS0
w
Toggle fields

BS0

Bit 0: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS1

Bit 1: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS2

Bit 2: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS3

Bit 3: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS4

Bit 4: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS5

Bit 5: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS6

Bit 6: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS7

Bit 7: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS8

Bit 8: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS9

Bit 9: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS10

Bit 10: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS11

Bit 11: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS12

Bit 12: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS13

Bit 13: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS14

Bit 14: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BS15

Bit 15: Port x set I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Sets the corresponding ODRx bit

BR0

Bit 16: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR1

Bit 17: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR2

Bit 18: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR3

Bit 19: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR4

Bit 20: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR5

Bit 21: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR6

Bit 22: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR7

Bit 23: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR8

Bit 24: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR9

Bit 25: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR10

Bit 26: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR11

Bit 27: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR12

Bit 28: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR13

Bit 29: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR14

Bit 30: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

BR15

Bit 31: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000. Note: If both BSx and BRx are set, BSx has priority..

Allowed values:
0: B_0x0: No action on the corresponding ODRx bit
1: B_0x1: Resets the corresponding ODRx bit

GPIOF_LCKR

GPIO port configuration lock register

Offset: 0x1c, size: 32, reset: 0x00000000, access: read-write

17/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LCKK
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LCK15
rw
LCK14
rw
LCK13
rw
LCK12
rw
LCK11
rw
LCK10
rw
LCK9
rw
LCK8
rw
LCK7
rw
LCK6
rw
LCK5
rw
LCK4
rw
LCK3
rw
LCK2
rw
LCK1
rw
LCK0
rw
Toggle fields

LCK0

Bit 0: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK1

Bit 1: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK2

Bit 2: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK3

Bit 3: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK4

Bit 4: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK5

Bit 5: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK6

Bit 6: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK7

Bit 7: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK8

Bit 8: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK9

Bit 9: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK10

Bit 10: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK11

Bit 11: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK12

Bit 12: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK13

Bit 13: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK14

Bit 14: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCK15

Bit 15: Port x lock I/O pin y These bits are read/write but can only be written when the LCKK bit is 0..

Allowed values:
0: B_0x0: Port configuration not locked
1: B_0x1: Port configuration locked

LCKK

Bit 16: Lock key This bit can be read any time. It can only be modified using the lock key write sequence. LOCK key write sequence: WR LCKR[16] = 1 + LCKR[15:0] WR LCKR[16] = 0 + LCKR[15:0] WR LCKR[16] = 1 + LCKR[15:0] RD LCKR RD LCKR[16] = 1 (this read operation is optional but it confirms that the lock is active) Note: During the LOCK key write sequence, the value of LCK[15:0] must not change. Note: Any error in the lock sequence aborts the lock. Note: After the first lock sequence on any bit of the port, any read access on the LCKK bit returns 1 until the next MCU reset or peripheral reset..

Allowed values:
0: B_0x0: Port configuration lock key not active
1: B_0x1: Port configuration lock key active. The GPIOx_LCKR register is locked until the next MCU reset or peripheral reset.

GPIOF_AFRL

GPIO alternate function low register

Offset: 0x20, size: 32, reset: 0x00000000, access: read-write

8/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
AFSEL7
rw
AFSEL6
rw
AFSEL5
rw
AFSEL4
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AFSEL3
rw
AFSEL2
rw
AFSEL1
rw
AFSEL0
rw
Toggle fields

AFSEL0

Bits 0-3: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL1

Bits 4-7: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL2

Bits 8-11: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL3

Bits 12-15: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL4

Bits 16-19: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL5

Bits 20-23: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL6

Bits 24-27: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL7

Bits 28-31: Alternate function selection for port x pin y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

GPIOF_AFRH

GPIO alternate function high register

Offset: 0x24, size: 32, reset: 0x00000000, access: read-write

8/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
AFSEL15
rw
AFSEL14
rw
AFSEL13
rw
AFSEL12
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AFSEL11
rw
AFSEL10
rw
AFSEL9
rw
AFSEL8
rw
Toggle fields

AFSEL8

Bits 0-3: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL9

Bits 4-7: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL10

Bits 8-11: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL11

Bits 12-15: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL12

Bits 16-19: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL13

Bits 20-23: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL14

Bits 24-27: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

AFSEL15

Bits 28-31: Alternate function selection for port x, I/O y These bits are written by software to configure alternate function I/Os.

Allowed values:
0: B_0x0: AF0
1: B_0x1: AF1
2: B_0x2: AF2
3: B_0x3: AF3
4: B_0x4: AF4
5: B_0x5: AF5
6: B_0x6: AF6
7: B_0x7: AF7
8: B_0x8: AF8
9: B_0x9: AF9
10: B_0xA: AF10
11: B_0xB: AF11
12: B_0xC: AF12
13: B_0xD: AF13
14: B_0xE: AF14
15: B_0xF: AF15

GPIOF_BRR

GPIO port bit reset register

Offset: 0x28, size: 32, reset: 0x00000000, access: write-only

16/16 fields covered.

Toggle fields

BR0

Bit 0: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR1

Bit 1: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR2

Bit 2: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR3

Bit 3: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR4

Bit 4: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR5

Bit 5: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR6

Bit 6: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR7

Bit 7: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR8

Bit 8: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR9

Bit 9: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR10

Bit 10: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR11

Bit 11: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR12

Bit 12: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR13

Bit 13: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR14

Bit 14: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

BR15

Bit 15: Port x reset I/O y These bits are write-only. A read operation always returns 0x0000..

Allowed values:
0: B_0x0: No action on the corresponding ODx bit
1: B_0x1: Reset the corresponding ODx bit

I2C1

0x40005400: I2C address block description

53/76 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 I2C_CR1
0x4 I2C_CR2
0x8 I2C_OAR1
0xc I2C_OAR2
0x10 I2C_TIMINGR
0x14 I2C_TIMEOUTR
0x18 I2C_ISR
0x1c I2C_ICR
0x20 I2C_PECR
0x24 I2C_RXDR
0x28 I2C_TXDR
Toggle registers

I2C_CR1

I2C control register 1

Offset: 0x0, size: 32, reset: 0x00000000, access: read-write

20/20 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PECEN
rw
ALERTEN
rw
SMBDEN
rw
SMBHEN
rw
GCEN
rw
WUPEN
rw
NOSTRETCH
rw
SBC
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RXDMAEN
rw
TXDMAEN
rw
ANFOFF
rw
DNF
rw
ERRIE
rw
TCIE
rw
STOPIE
rw
NACKIE
rw
ADDRIE
rw
RXIE
rw
TXIE
rw
PE
rw
Toggle fields

PE

Bit 0: Peripheral enable Note: When PE = 0, the I2C SCL and SDA lines are released. Internal state machines and status bits are put back to their reset value. When cleared, PE must be kept low for at least three APB clock cycles..

Allowed values:
0: B_0x0: Peripheral disabled
1: B_0x1: Peripheral enabled

TXIE

Bit 1: TX interrupt enable.

Allowed values:
0: B_0x0: Transmit (TXIS) interrupt disabled
1: B_0x1: Transmit (TXIS) interrupt enabled

RXIE

Bit 2: RX interrupt enable.

Allowed values:
0: B_0x0: Receive (RXNE) interrupt disabled
1: B_0x1: Receive (RXNE) interrupt enabled

ADDRIE

Bit 3: Address match interrupt enable (slave only).

Allowed values:
0: B_0x0: Address match (ADDR) interrupts disabled
1: B_0x1: Address match (ADDR) interrupts enabled

NACKIE

Bit 4: Not acknowledge received interrupt enable.

Allowed values:
0: B_0x0: Not acknowledge (NACKF) received interrupts disabled
1: B_0x1: Not acknowledge (NACKF) received interrupts enabled

STOPIE

Bit 5: Stop detection interrupt enable.

Allowed values:
0: B_0x0: Stop detection (STOPF) interrupt disabled
1: B_0x1: Stop detection (STOPF) interrupt enabled

TCIE

Bit 6: Transfer complete interrupt enable Note: Any of these events generates an interrupt: Note: Transfer complete (TC) Note: Transfer complete reload (TCR).

Allowed values:
0: B_0x0: Transfer complete interrupt disabled
1: B_0x1: Transfer complete interrupt enabled

ERRIE

Bit 7: Error interrupts enable Note: Any of these errors generates an interrupt: Note: Arbitration loss (ARLO) Note: Bus error detection (BERR) Note: Overrun/underrun (OVR) Note: Timeout detection (TIMEOUT) Note: PEC error detection (PECERR) Note: Alert pin event detection (ALERT).

Allowed values:
0: B_0x0: Error detection interrupts disabled
1: B_0x1: Error detection interrupts enabled

DNF

Bits 8-11: Digital noise filter These bits are used to configure the digital noise filter on SDA and SCL input. The digital filter, filters spikes with a length of up to DNF[3:0] * t<sub>I2CCLK</sub> ... Note: If the analog filter is enabled, the digital filter is added to it. This filter can be programmed only when the I2C is disabled (PE = 0)..

Allowed values:
0: B_0x0: Digital filter disabled
1: B_0x1: Digital filter enabled and filtering capability up to one t<sub>I2CCLK</sub>
15: B_0xF: digital filter enabled and filtering capability up to fifteen t<sub>I2CCLK</sub>

ANFOFF

Bit 12: Analog noise filter OFF Note: This bit can be programmed only when the I2C is disabled (PE = 0)..

Allowed values:
0: B_0x0: Analog noise filter enabled
1: B_0x1: Analog noise filter disabled

TXDMAEN

Bit 14: DMA transmission requests enable.

Allowed values:
0: B_0x0: DMA mode disabled for transmission
1: B_0x1: DMA mode enabled for transmission

RXDMAEN

Bit 15: DMA reception requests enable.

Allowed values:
0: B_0x0: DMA mode disabled for reception
1: B_0x1: DMA mode enabled for reception

SBC

Bit 16: Slave byte control This bit is used to enable hardware byte control in slave mode..

Allowed values:
0: B_0x0: Slave byte control disabled
1: B_0x1: Slave byte control enabled

NOSTRETCH

Bit 17: Clock stretching disable This bit is used to disable clock stretching in slave mode. It must be kept cleared in master mode. Note: This bit can be programmed only when the I2C is disabled (PE = 0)..

Allowed values:
0: B_0x0: Clock stretching enabled
1: B_0x1: Clock stretching disabled

WUPEN

Bit 18: Wake-up from Stop mode enable Note: If the wake-up from Stop mode feature is not supported, this bit is reserved and forced by hardware to 0. Refer to Section 25.3. Note: WUPEN can be set only when DNF = 0000..

Allowed values:
0: B_0x0: Wake-up from Stop mode disabled.
1: B_0x1: Wake-up from Stop mode enabled.

GCEN

Bit 19: General call enable.

Allowed values:
0: B_0x0: General call disabled. Address 0b00000000 is NACKed.
1: B_0x1: General call enabled. Address 0b00000000 is ACKed.

SMBHEN

Bit 20: SMBus host address enable Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to 0. Refer to Section 25.3..

Allowed values:
0: B_0x0: Host address disabled. Address 0b0001000x is NACKed.
1: B_0x1: Host address enabled. Address 0b0001000x is ACKed.

SMBDEN

Bit 21: SMBus device default address enable Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to 0. Refer to Section 25.3..

Allowed values:
0: B_0x0: Device default address disabled. Address 0b1100001x is NACKed.
1: B_0x1: Device default address enabled. Address 0b1100001x is ACKed.

ALERTEN

Bit 22: SMBus alert enable Note: When ALERTEN = 0, the SMBA pin can be used as a standard GPIO. Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to 0. Refer to Section 25.3..

Allowed values:
0: B_0x0: The SMBus alert pin (SMBA) is not supported in host mode (SMBHEN = 1). In device mode (SMBHEN = 0), the SMBA pin is released and the Alert Response Address header is disabled (0001100x followed by NACK).
1: B_0x1: The SMBus alert pin is supported in host mode (SMBHEN = 1). In device mode (SMBHEN = 0), the SMBA pin is driven low and the Alert Response Address header is enabled (0001100x followed by ACK).

PECEN

Bit 23: PEC enable Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to 0. Refer to Section 25.3..

Allowed values:
0: B_0x0: PEC calculation disabled
1: B_0x1: PEC calculation enabled

I2C_CR2

I2C control register 2

Offset: 0x4, size: 32, reset: 0x00000000, access: read-write

9/11 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PECBYTE
rw
AUTOEND
rw
RELOAD
rw
NBYTES
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
NACK
rw
STOP
rw
START
rw
HEAD10R
rw
ADD10
rw
RD_WRN
rw
SADD
rw
Toggle fields

SADD

Bits 0-9: Slave address (master mode) In 7-bit addressing mode (ADD10 = 0): SADD[7:1] must be written with the 7-bit slave address to be sent. Bits SADD[9], SADD[8] and SADD[0] are don't care. In 10-bit addressing mode (ADD10 = 1): SADD[9:0] must be written with the 10-bit slave address to be sent. Note: Changing these bits when the START bit is set is not allowed..

RD_WRN

Bit 10: Transfer direction (master mode) Note: Changing this bit when the START bit is set is not allowed..

Allowed values:
0: B_0x0: Master requests a write transfer
1: B_0x1: Master requests a read transfer

ADD10

Bit 11: 10-bit addressing mode (master mode) Note: Changing this bit when the START bit is set is not allowed..

Allowed values:
0: B_0x0: The master operates in 7-bit addressing mode
1: B_0x1: The master operates in 10-bit addressing mode

HEAD10R

Bit 12: 10-bit address header only read direction (master receiver mode) Note: Changing this bit when the START bit is set is not allowed..

Allowed values:
0: B_0x0: The master sends the complete 10-bit slave address read sequence: Start + 2 bytes 10-bit address in write direction + restart + first seven bits of the 10-bit address in read direction.
1: B_0x1: The master sends only the first seven bits of the 10-bit address, followed by read direction.

START

Bit 13: Start generation This bit is set by software, and cleared by hardware after the Start followed by the address sequence is sent, by an arbitration loss, by an address matched in slave mode, by a timeout error detection, or when PE = 0. If the I2C is already in master mode with AUTOEND = 0, setting this bit generates a Repeated start condition when RELOAD = 0, after the end of the NBYTES transfer. Otherwise, setting this bit generates a START condition once the bus is free. Note: Writing 0 to this bit has no effect. Note: The START bit can be set even if the bus is BUSY or I2C is in slave mode. Note: This bit has no effect when RELOAD is set..

Allowed values:
0: B_0x0: No Start generation
1: B_0x1: Restart/Start generation:

STOP

Bit 14: Stop generation (master mode) The bit is set by software, cleared by hardware when a STOP condition is detected, or when PE = 0. In master mode: Note: Writing 0 to this bit has no effect..

Allowed values:
0: B_0x0: No Stop generation
1: B_0x1: Stop generation after current byte transfer

NACK

Bit 15: NACK generation (slave mode) The bit is set by software, cleared by hardware when the NACK is sent, or when a STOP condition or an Address matched is received, or when PE = 0. Note: Writing 0 to this bit has no effect. Note: This bit is used only in slave mode: in master receiver mode, NACK is automatically generated after last byte preceding STOP or RESTART condition, whatever the NACK bit value. Note: When an overrun occurs in slave receiver NOSTRETCH mode, a NACK is automatically generated, whatever the NACK bit value. Note: When hardware PEC checking is enabled (PECBYTE = 1), the PEC acknowledge value does not depend on the NACK value..

Allowed values:
0: B_0x0: an ACK is sent after current received byte.
1: B_0x1: a NACK is sent after current received byte.

NBYTES

Bits 16-23: Number of bytes The number of bytes to be transmitted/received is programmed there. This field is don t care in slave mode with SBC = 0. Note: Changing these bits when the START bit is set is not allowed..

RELOAD

Bit 24: NBYTES reload mode This bit is set and cleared by software..

Allowed values:
0: B_0x0: The transfer is completed after the NBYTES data transfer (STOP or RESTART follows).
1: B_0x1: The transfer is not completed after the NBYTES data transfer (NBYTES is reloaded). TCR flag is set when NBYTES data are transferred, stretching SCL low.

AUTOEND

Bit 25: Automatic end mode (master mode) This bit is set and cleared by software. Note: This bit has no effect in slave mode or when the RELOAD bit is set..

Allowed values:
0: B_0x0: software end mode: TC flag is set when NBYTES data are transferred, stretching SCL low.
1: B_0x1: Automatic end mode: a STOP condition is automatically sent when NBYTES data are transferred.

PECBYTE

Bit 26: Packet error checking byte This bit is set by software, and cleared by hardware when the PEC is transferred, or when a STOP condition or an Address matched is received, also when PE = 0. Note: Writing 0 to this bit has no effect. Note: This bit has no effect when RELOAD is set, and in slave mode when SBC = 0. Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to 0. Refer to Section 25.3..

Allowed values:
0: B_0x0: No PEC transfer
1: B_0x1: PEC transmission/reception is requested

I2C_OAR1

I2C own address 1 register

Offset: 0x8, size: 32, reset: 0x00000000, access: read-write

2/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OA1EN
rw
OA1MODE
rw
OA1
rw
Toggle fields

OA1

Bits 0-9: Interface own slave address 7-bit addressing mode: OA1[7:1] contains the 7-bit own slave address. Bits OA1[9], OA1[8] and OA1[0] are don't care. 10-bit addressing mode: OA1[9:0] contains the 10-bit own slave address. Note: These bits can be written only when OA1EN = 0..

OA1MODE

Bit 10: Own address 1 10-bit mode Note: This bit can be written only when OA1EN = 0..

Allowed values:
0: B_0x0: Own address 1 is a 7-bit address.
1: B_0x1: Own address 1 is a 10-bit address.

OA1EN

Bit 15: Own address 1 enable.

Allowed values:
0: B_0x0: Own address 1 disabled. The received slave address OA1 is NACKed.
1: B_0x1: Own address 1 enabled. The received slave address OA1 is ACKed.

I2C_OAR2

I2C own address 2 register

Offset: 0xc, size: 32, reset: 0x00000000, access: read-write

2/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OA2EN
rw
OA2MSK
rw
OA2
rw
Toggle fields

OA2

Bits 1-7: Interface address 7-bit addressing mode: 7-bit address Note: These bits can be written only when OA2EN = 0..

OA2MSK

Bits 8-10: Own address 2 masks.

Allowed values:
0: B_0x0: No mask
1: B_0x1: OA2[1] is masked and don t care. Only OA2[7:2] are compared.
2: B_0x2: OA2[2:1] are masked and don t care. Only OA2[7:3] are compared.
3: B_0x3: OA2[3:1] are masked and don t care. Only OA2[7:4] are compared.
4: B_0x4: OA2[4:1] are masked and don t care. Only OA2[7:5] are compared.
5: B_0x5: OA2[5:1] are masked and don t care. Only OA2[7:6] are compared.
6: B_0x6: OA2[6:1] are masked and don t care. Only OA2[7] is compared.
7: B_0x7: OA2[7:1] are masked and don t care. No comparison is done, and all (except reserved) 7-bit received addresses are acknowledged.

OA2EN

Bit 15: Own address 2 enable.

Allowed values:
0: B_0x0: Own address 2 disabled. The received slave address OA2 is NACKed.
1: B_0x1: Own address 2 enabled. The received slave address OA2 is ACKed.

I2C_TIMINGR

I2C timing register

Offset: 0x10, size: 32, reset: 0x00000000, access: read-write

0/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PRESC
rw
SCLDEL
rw
SDADEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SCLH
rw
SCLL
rw
Toggle fields

SCLL

Bits 0-7: SCL low period (master mode) This field is used to generate the SCL low period in master mode. t<sub>SCLL </sub>= (SCLL + 1) x t<sub>PRESC</sub> Note: SCLL is also used to generate t<sub>BUF </sub>and t<sub>SU:STA </sub>timings..

SCLH

Bits 8-15: SCL high period (master mode) This field is used to generate the SCL high period in master mode. t<sub>SCLH </sub>= (SCLH + 1) x t<sub>PRESC</sub> Note: SCLH is also used to generate t<sub>SU:STO </sub>and t<sub>HD:STA </sub>timing..

SDADEL

Bits 16-19: Data hold time This field is used to generate the delay t<sub>SDADEL </sub>between SCL falling edge and SDA edge. In master and in slave modes with NOSTRETCH = 0, the SCL line is stretched low during t<sub>SDADEL</sub>. t<sub>SDADEL</sub>= SDADEL x t<sub>PRESC</sub> Note: SDADEL is used to generate t<sub>HD:DAT </sub>timing..

SCLDEL

Bits 20-23: Data setup time This field is used to generate a delay t<sub>SCLDEL</sub> = (SCLDEL + 1) x t<sub>PRESC</sub> between SDA edge and SCL rising edge. In master and in slave modes with NOSTRETCH = 0, the SCL line is stretched low during t<sub>SCLDEL</sub>. Note: t<sub>SCLDEL</sub> is used to generate t<sub>SU:DAT </sub>timing..

PRESC

Bits 28-31: Timing prescaler This field is used to prescale I2CCLK to generate the clock period t<sub>PRESC </sub>used for data setup and hold counters (refer to I2C timings), and for SCL high and low level counters (refer to I2C master initialization). t<sub>PRESC </sub>= (PRESC + 1) x t<sub>I2CCLK</sub>.

I2C_TIMEOUTR

I2C timeout register

Offset: 0x14, size: 32, reset: 0x00000000, access: read-write

3/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TEXTEN
rw
TIMEOUTB
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TIMOUTEN
rw
TIDLE
rw
TIMEOUTA
rw
Toggle fields

TIMEOUTA

Bits 0-11: Bus timeout A This field is used to configure: The SCL low timeout condition t<sub>TIMEOUT</sub> when TIDLE = 0 t<sub>TIMEOUT</sub>= (TIMEOUTA + 1) x 2048 x t<sub>I2CCLK</sub> The bus idle condition (both SCL and SDA high) when TIDLE = 1 t<sub>IDLE</sub>= (TIMEOUTA + 1) x 4 x t<sub>I2CCLK</sub> Note: These bits can be written only when TIMOUTEN = 0..

TIDLE

Bit 12: Idle clock timeout detection Note: This bit can be written only when TIMOUTEN = 0..

Allowed values:
0: B_0x0: TIMEOUTA is used to detect SCL low timeout
1: B_0x1: TIMEOUTA is used to detect both SCL and SDA high timeout (bus idle condition)

TIMOUTEN

Bit 15: Clock timeout enable.

Allowed values:
0: B_0x0: SCL timeout detection is disabled
1: B_0x1: SCL timeout detection is enabled. hen SCL is low for more than t<sub>TIMEOUT</sub> (TIDLE = 0) or high for more than t<sub>IDLE </sub>(TIDLE = 1), a timeout error is detected (TIMEOUT = 1).

TIMEOUTB

Bits 16-27: Bus timeout B This field is used to configure the cumulative clock extension timeout: Master mode: the master cumulative clock low extend time (t<sub>LOW:MEXT</sub>) is detected Slave mode: the slave cumulative clock low extend time (t<sub>LOW:SEXT</sub>) is detected t<sub>LOW:EXT </sub>= (TIMEOUTB + TIDLE = 01) x 2048 x t<sub>I2CCLK</sub> Note: These bits can be written only when TEXTEN = 0..

TEXTEN

Bit 31: Extended clock timeout enable.

Allowed values:
0: B_0x0: Extended clock timeout detection is disabled
1: B_0x1: Extended clock timeout detection is enabled. When a cumulative SCL stretch for more than t<sub>LOW:EXT </sub>is done by the I2C interface, a timeout error is detected (TIMEOUT = 1).

I2C_ISR

I2C interrupt and status register

Offset: 0x18, size: 32, reset: 0x00000001, access: read-write

15/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ADDCODE
r
DIR
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BUSY
r
ALERT
r
TIMEOUT
r
PECERR
r
OVR
r
ARLO
r
BERR
r
TCR
r
TC
r
STOPF
r
NACKF
r
ADDR
r
RXNE
r
TXIS
rw
TXE
rw
Toggle fields

TXE

Bit 0: Transmit data register empty (transmitters) This bit is set by hardware when the I2C_TXDR register is empty. It is cleared when the next data to be sent is written in the I2C_TXDR register. This bit can be written to 1 by software in order to flush the transmit data register I2C_TXDR. Note: This bit is set by hardware when PE = 0..

TXIS

Bit 1: Transmit interrupt status (transmitters) This bit is set by hardware when the I2C_TXDR register is empty and the data to be transmitted must be written in the I2C_TXDR register. It is cleared when the next data to be sent is written in the I2C_TXDR register. This bit can be written to 1 by software only when NOSTRETCH = 1, to generate a TXIS event (interrupt if TXIE = 1 or DMA request if TXDMAEN = 1). Note: This bit is cleared by hardware when PE = 0..

RXNE

Bit 2: Receive data register not empty (receivers) This bit is set by hardware when the received data is copied into the I2C_RXDR register, and is ready to be read. It is cleared when I2C_RXDR is read. Note: This bit is cleared by hardware when PE = 0..

ADDR

Bit 3: Address matched (slave mode) This bit is set by hardware as soon as the received slave address matched with one of the enabled slave addresses. It is cleared by software by setting ADDRCF bit. Note: This bit is cleared by hardware when PE = 0..

NACKF

Bit 4: Not acknowledge received flag This flag is set by hardware when a NACK is received after a byte transmission. It is cleared by software by setting the NACKCF bit. Note: This bit is cleared by hardware when PE = 0..

STOPF

Bit 5: Stop detection flag This flag is set by hardware when a STOP condition is detected on the bus and the peripheral is involved in this transfer: as a master, provided that the STOP condition is generated by the peripheral. as a slave, provided that the peripheral has been addressed previously during this transfer. It is cleared by software by setting the STOPCF bit. Note: This bit is cleared by hardware when PE = 0..

TC

Bit 6: Transfer complete (master mode) This flag is set by hardware when RELOAD = 0, AUTOEND = 0 and NBYTES data have been transferred. It is cleared by software when START bit or STOP bit is set. Note: This bit is cleared by hardware when PE = 0..

TCR

Bit 7: Transfer complete reload This flag is set by hardware when RELOAD = 1 and NBYTES data have been transferred. It is cleared by software when NBYTES is written to a non-zero value. Note: This bit is cleared by hardware when PE = 0. Note: This flag is only for master mode, or for slave mode when the SBC bit is set..

BERR

Bit 8: Bus error This flag is set by hardware when a misplaced Start or STOP condition is detected whereas the peripheral is involved in the transfer. The flag is not set during the address phase in slave mode. It is cleared by software by setting the BERRCF bit. Note: This bit is cleared by hardware when PE = 0..

ARLO

Bit 9: Arbitration lost This flag is set by hardware in case of arbitration loss. It is cleared by software by setting the ARLOCF bit. Note: This bit is cleared by hardware when PE = 0..

OVR

Bit 10: Overrun/underrun (slave mode) This flag is set by hardware in slave mode with NOSTRETCH = 1, when an overrun/underrun error occurs. It is cleared by software by setting the OVRCF bit. Note: This bit is cleared by hardware when PE = 0..

PECERR

Bit 11: PEC error in reception This flag is set by hardware when the received PEC does not match with the PEC register content. A NACK is automatically sent after the wrong PEC reception. It is cleared by software by setting the PECCF bit. Note: This bit is cleared by hardware when PE = 0. Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to 0. Refer to Section 25.3..

TIMEOUT

Bit 12: Timeout or t<sub>LOW</sub> detection flag This flag is set by hardware when a timeout or extended clock timeout occurred. It is cleared by software by setting the TIMEOUTCF bit. Note: This bit is cleared by hardware when PE = 0. Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to 0. Refer to Section 25.3..

ALERT

Bit 13: SMBus alert This flag is set by hardware when SMBHEN = 1 (SMBus host configuration), ALERTEN = 1 and an SMBALERT event (falling edge) is detected on SMBA pin. It is cleared by software by setting the ALERTCF bit. Note: This bit is cleared by hardware when PE = 0. Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to 0. Refer to Section 25.3..

BUSY

Bit 15: Bus busy This flag indicates that a communication is in progress on the bus. It is set by hardware when a START condition is detected, and cleared by hardware when a STOP condition is detected, or when PE = 0..

DIR

Bit 16: Transfer direction (slave mode) This flag is updated when an address match event occurs (ADDR = 1)..

Allowed values:
0: B_0x0: Write transfer, slave enters receiver mode.
1: B_0x1: Read transfer, slave enters transmitter mode.

ADDCODE

Bits 17-23: Address match code (slave mode) These bits are updated with the received address when an address match event occurs (ADDR = 1). In the case of a 10-bit address, ADDCODE provides the 10-bit header followed by the two MSBs of the address..

I2C_ICR

I2C interrupt clear register

Offset: 0x1c, size: 32, reset: 0x00000000, access: write-only

0/9 fields covered.

Toggle fields

ADDRCF

Bit 3: Address matched flag clear Writing 1 to this bit clears the ADDR flag in the I2C_ISR register. Writing 1 to this bit also clears the START bit in the I2C_CR2 register..

NACKCF

Bit 4: Not acknowledge flag clear Writing 1 to this bit clears the NACKF flag in I2C_ISR register..

STOPCF

Bit 5: STOP detection flag clear Writing 1 to this bit clears the STOPF flag in the I2C_ISR register..

BERRCF

Bit 8: Bus error flag clear Writing 1 to this bit clears the BERRF flag in the I2C_ISR register..

ARLOCF

Bit 9: Arbitration lost flag clear Writing 1 to this bit clears the ARLO flag in the I2C_ISR register..

OVRCF

Bit 10: Overrun/underrun flag clear Writing 1 to this bit clears the OVR flag in the I2C_ISR register..

PECCF

Bit 11: PEC error flag clear Writing 1 to this bit clears the PECERR flag in the I2C_ISR register. Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to 0. Refer to Section 25.3..

TIMOUTCF

Bit 12: Timeout detection flag clear Writing 1 to this bit clears the TIMEOUT flag in the I2C_ISR register. Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to 0. Refer to Section 25.3..

ALERTCF

Bit 13: Alert flag clear Note: Writing 1 to this bit clears the ALERT flag in the I2C_ISR register. Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to 0. Refer to Section 25.3..

I2C_PECR

I2C PEC register

Offset: 0x20, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PEC
r
Toggle fields

PEC

Bits 0-7: Packet error checking register This field contains the internal PEC when PECEN=1. The PEC is cleared by hardware when PE = 0..

I2C_RXDR

I2C receive data register

Offset: 0x24, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RXDATA
r
Toggle fields

RXDATA

Bits 0-7: 8-bit receive data Data byte received from the I<sup>2</sup>C bus.

I2C_TXDR

I2C transmit data register

Offset: 0x28, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TXDATA
rw
Toggle fields

TXDATA

Bits 0-7: 8-bit transmit data Data byte to be transmitted to the I<sup>2</sup>C bus Note: These bits can be written only when TXE = 1..

I2C2

0x40005800: I2C address block description

53/76 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 I2C_CR1
0x4 I2C_CR2
0x8 I2C_OAR1
0xc I2C_OAR2
0x10 I2C_TIMINGR
0x14 I2C_TIMEOUTR
0x18 I2C_ISR
0x1c I2C_ICR
0x20 I2C_PECR
0x24 I2C_RXDR
0x28 I2C_TXDR
Toggle registers

I2C_CR1

I2C control register 1

Offset: 0x0, size: 32, reset: 0x00000000, access: read-write

20/20 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PECEN
rw
ALERTEN
rw
SMBDEN
rw
SMBHEN
rw
GCEN
rw
WUPEN
rw
NOSTRETCH
rw
SBC
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RXDMAEN
rw
TXDMAEN
rw
ANFOFF
rw
DNF
rw
ERRIE
rw
TCIE
rw
STOPIE
rw
NACKIE
rw
ADDRIE
rw
RXIE
rw
TXIE
rw
PE
rw
Toggle fields

PE

Bit 0: Peripheral enable Note: When PE = 0, the I2C SCL and SDA lines are released. Internal state machines and status bits are put back to their reset value. When cleared, PE must be kept low for at least three APB clock cycles..

Allowed values:
0: B_0x0: Peripheral disabled
1: B_0x1: Peripheral enabled

TXIE

Bit 1: TX interrupt enable.

Allowed values:
0: B_0x0: Transmit (TXIS) interrupt disabled
1: B_0x1: Transmit (TXIS) interrupt enabled

RXIE

Bit 2: RX interrupt enable.

Allowed values:
0: B_0x0: Receive (RXNE) interrupt disabled
1: B_0x1: Receive (RXNE) interrupt enabled

ADDRIE

Bit 3: Address match interrupt enable (slave only).

Allowed values:
0: B_0x0: Address match (ADDR) interrupts disabled
1: B_0x1: Address match (ADDR) interrupts enabled

NACKIE

Bit 4: Not acknowledge received interrupt enable.

Allowed values:
0: B_0x0: Not acknowledge (NACKF) received interrupts disabled
1: B_0x1: Not acknowledge (NACKF) received interrupts enabled

STOPIE

Bit 5: Stop detection interrupt enable.

Allowed values:
0: B_0x0: Stop detection (STOPF) interrupt disabled
1: B_0x1: Stop detection (STOPF) interrupt enabled

TCIE

Bit 6: Transfer complete interrupt enable Note: Any of these events generates an interrupt: Note: Transfer complete (TC) Note: Transfer complete reload (TCR).

Allowed values:
0: B_0x0: Transfer complete interrupt disabled
1: B_0x1: Transfer complete interrupt enabled

ERRIE

Bit 7: Error interrupts enable Note: Any of these errors generates an interrupt: Note: Arbitration loss (ARLO) Note: Bus error detection (BERR) Note: Overrun/underrun (OVR) Note: Timeout detection (TIMEOUT) Note: PEC error detection (PECERR) Note: Alert pin event detection (ALERT).

Allowed values:
0: B_0x0: Error detection interrupts disabled
1: B_0x1: Error detection interrupts enabled

DNF

Bits 8-11: Digital noise filter These bits are used to configure the digital noise filter on SDA and SCL input. The digital filter, filters spikes with a length of up to DNF[3:0] * t<sub>I2CCLK</sub> ... Note: If the analog filter is enabled, the digital filter is added to it. This filter can be programmed only when the I2C is disabled (PE = 0)..

Allowed values:
0: B_0x0: Digital filter disabled
1: B_0x1: Digital filter enabled and filtering capability up to one t<sub>I2CCLK</sub>
15: B_0xF: digital filter enabled and filtering capability up to fifteen t<sub>I2CCLK</sub>

ANFOFF

Bit 12: Analog noise filter OFF Note: This bit can be programmed only when the I2C is disabled (PE = 0)..

Allowed values:
0: B_0x0: Analog noise filter enabled
1: B_0x1: Analog noise filter disabled

TXDMAEN

Bit 14: DMA transmission requests enable.

Allowed values:
0: B_0x0: DMA mode disabled for transmission
1: B_0x1: DMA mode enabled for transmission

RXDMAEN

Bit 15: DMA reception requests enable.

Allowed values:
0: B_0x0: DMA mode disabled for reception
1: B_0x1: DMA mode enabled for reception

SBC

Bit 16: Slave byte control This bit is used to enable hardware byte control in slave mode..

Allowed values:
0: B_0x0: Slave byte control disabled
1: B_0x1: Slave byte control enabled

NOSTRETCH

Bit 17: Clock stretching disable This bit is used to disable clock stretching in slave mode. It must be kept cleared in master mode. Note: This bit can be programmed only when the I2C is disabled (PE = 0)..

Allowed values:
0: B_0x0: Clock stretching enabled
1: B_0x1: Clock stretching disabled

WUPEN

Bit 18: Wake-up from Stop mode enable Note: If the wake-up from Stop mode feature is not supported, this bit is reserved and forced by hardware to 0. Refer to Section 25.3. Note: WUPEN can be set only when DNF = 0000..

Allowed values:
0: B_0x0: Wake-up from Stop mode disabled.
1: B_0x1: Wake-up from Stop mode enabled.

GCEN

Bit 19: General call enable.

Allowed values:
0: B_0x0: General call disabled. Address 0b00000000 is NACKed.
1: B_0x1: General call enabled. Address 0b00000000 is ACKed.

SMBHEN

Bit 20: SMBus host address enable Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to 0. Refer to Section 25.3..

Allowed values:
0: B_0x0: Host address disabled. Address 0b0001000x is NACKed.
1: B_0x1: Host address enabled. Address 0b0001000x is ACKed.

SMBDEN

Bit 21: SMBus device default address enable Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to 0. Refer to Section 25.3..

Allowed values:
0: B_0x0: Device default address disabled. Address 0b1100001x is NACKed.
1: B_0x1: Device default address enabled. Address 0b1100001x is ACKed.

ALERTEN

Bit 22: SMBus alert enable Note: When ALERTEN = 0, the SMBA pin can be used as a standard GPIO. Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to 0. Refer to Section 25.3..

Allowed values:
0: B_0x0: The SMBus alert pin (SMBA) is not supported in host mode (SMBHEN = 1). In device mode (SMBHEN = 0), the SMBA pin is released and the Alert Response Address header is disabled (0001100x followed by NACK).
1: B_0x1: The SMBus alert pin is supported in host mode (SMBHEN = 1). In device mode (SMBHEN = 0), the SMBA pin is driven low and the Alert Response Address header is enabled (0001100x followed by ACK).

PECEN

Bit 23: PEC enable Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to 0. Refer to Section 25.3..

Allowed values:
0: B_0x0: PEC calculation disabled
1: B_0x1: PEC calculation enabled

I2C_CR2

I2C control register 2

Offset: 0x4, size: 32, reset: 0x00000000, access: read-write

9/11 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PECBYTE
rw
AUTOEND
rw
RELOAD
rw
NBYTES
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
NACK
rw
STOP
rw
START
rw
HEAD10R
rw
ADD10
rw
RD_WRN
rw
SADD
rw
Toggle fields

SADD

Bits 0-9: Slave address (master mode) In 7-bit addressing mode (ADD10 = 0): SADD[7:1] must be written with the 7-bit slave address to be sent. Bits SADD[9], SADD[8] and SADD[0] are don't care. In 10-bit addressing mode (ADD10 = 1): SADD[9:0] must be written with the 10-bit slave address to be sent. Note: Changing these bits when the START bit is set is not allowed..

RD_WRN

Bit 10: Transfer direction (master mode) Note: Changing this bit when the START bit is set is not allowed..

Allowed values:
0: B_0x0: Master requests a write transfer
1: B_0x1: Master requests a read transfer

ADD10

Bit 11: 10-bit addressing mode (master mode) Note: Changing this bit when the START bit is set is not allowed..

Allowed values:
0: B_0x0: The master operates in 7-bit addressing mode
1: B_0x1: The master operates in 10-bit addressing mode

HEAD10R

Bit 12: 10-bit address header only read direction (master receiver mode) Note: Changing this bit when the START bit is set is not allowed..

Allowed values:
0: B_0x0: The master sends the complete 10-bit slave address read sequence: Start + 2 bytes 10-bit address in write direction + restart + first seven bits of the 10-bit address in read direction.
1: B_0x1: The master sends only the first seven bits of the 10-bit address, followed by read direction.

START

Bit 13: Start generation This bit is set by software, and cleared by hardware after the Start followed by the address sequence is sent, by an arbitration loss, by an address matched in slave mode, by a timeout error detection, or when PE = 0. If the I2C is already in master mode with AUTOEND = 0, setting this bit generates a Repeated start condition when RELOAD = 0, after the end of the NBYTES transfer. Otherwise, setting this bit generates a START condition once the bus is free. Note: Writing 0 to this bit has no effect. Note: The START bit can be set even if the bus is BUSY or I2C is in slave mode. Note: This bit has no effect when RELOAD is set..

Allowed values:
0: B_0x0: No Start generation
1: B_0x1: Restart/Start generation:

STOP

Bit 14: Stop generation (master mode) The bit is set by software, cleared by hardware when a STOP condition is detected, or when PE = 0. In master mode: Note: Writing 0 to this bit has no effect..

Allowed values:
0: B_0x0: No Stop generation
1: B_0x1: Stop generation after current byte transfer

NACK

Bit 15: NACK generation (slave mode) The bit is set by software, cleared by hardware when the NACK is sent, or when a STOP condition or an Address matched is received, or when PE = 0. Note: Writing 0 to this bit has no effect. Note: This bit is used only in slave mode: in master receiver mode, NACK is automatically generated after last byte preceding STOP or RESTART condition, whatever the NACK bit value. Note: When an overrun occurs in slave receiver NOSTRETCH mode, a NACK is automatically generated, whatever the NACK bit value. Note: When hardware PEC checking is enabled (PECBYTE = 1), the PEC acknowledge value does not depend on the NACK value..

Allowed values:
0: B_0x0: an ACK is sent after current received byte.
1: B_0x1: a NACK is sent after current received byte.

NBYTES

Bits 16-23: Number of bytes The number of bytes to be transmitted/received is programmed there. This field is don t care in slave mode with SBC = 0. Note: Changing these bits when the START bit is set is not allowed..

RELOAD

Bit 24: NBYTES reload mode This bit is set and cleared by software..

Allowed values:
0: B_0x0: The transfer is completed after the NBYTES data transfer (STOP or RESTART follows).
1: B_0x1: The transfer is not completed after the NBYTES data transfer (NBYTES is reloaded). TCR flag is set when NBYTES data are transferred, stretching SCL low.

AUTOEND

Bit 25: Automatic end mode (master mode) This bit is set and cleared by software. Note: This bit has no effect in slave mode or when the RELOAD bit is set..

Allowed values:
0: B_0x0: software end mode: TC flag is set when NBYTES data are transferred, stretching SCL low.
1: B_0x1: Automatic end mode: a STOP condition is automatically sent when NBYTES data are transferred.

PECBYTE

Bit 26: Packet error checking byte This bit is set by software, and cleared by hardware when the PEC is transferred, or when a STOP condition or an Address matched is received, also when PE = 0. Note: Writing 0 to this bit has no effect. Note: This bit has no effect when RELOAD is set, and in slave mode when SBC = 0. Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to 0. Refer to Section 25.3..

Allowed values:
0: B_0x0: No PEC transfer
1: B_0x1: PEC transmission/reception is requested

I2C_OAR1

I2C own address 1 register

Offset: 0x8, size: 32, reset: 0x00000000, access: read-write

2/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OA1EN
rw
OA1MODE
rw
OA1
rw
Toggle fields

OA1

Bits 0-9: Interface own slave address 7-bit addressing mode: OA1[7:1] contains the 7-bit own slave address. Bits OA1[9], OA1[8] and OA1[0] are don't care. 10-bit addressing mode: OA1[9:0] contains the 10-bit own slave address. Note: These bits can be written only when OA1EN = 0..

OA1MODE

Bit 10: Own address 1 10-bit mode Note: This bit can be written only when OA1EN = 0..

Allowed values:
0: B_0x0: Own address 1 is a 7-bit address.
1: B_0x1: Own address 1 is a 10-bit address.

OA1EN

Bit 15: Own address 1 enable.

Allowed values:
0: B_0x0: Own address 1 disabled. The received slave address OA1 is NACKed.
1: B_0x1: Own address 1 enabled. The received slave address OA1 is ACKed.

I2C_OAR2

I2C own address 2 register

Offset: 0xc, size: 32, reset: 0x00000000, access: read-write

2/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OA2EN
rw
OA2MSK
rw
OA2
rw
Toggle fields

OA2

Bits 1-7: Interface address 7-bit addressing mode: 7-bit address Note: These bits can be written only when OA2EN = 0..

OA2MSK

Bits 8-10: Own address 2 masks.

Allowed values:
0: B_0x0: No mask
1: B_0x1: OA2[1] is masked and don t care. Only OA2[7:2] are compared.
2: B_0x2: OA2[2:1] are masked and don t care. Only OA2[7:3] are compared.
3: B_0x3: OA2[3:1] are masked and don t care. Only OA2[7:4] are compared.
4: B_0x4: OA2[4:1] are masked and don t care. Only OA2[7:5] are compared.
5: B_0x5: OA2[5:1] are masked and don t care. Only OA2[7:6] are compared.
6: B_0x6: OA2[6:1] are masked and don t care. Only OA2[7] is compared.
7: B_0x7: OA2[7:1] are masked and don t care. No comparison is done, and all (except reserved) 7-bit received addresses are acknowledged.

OA2EN

Bit 15: Own address 2 enable.

Allowed values:
0: B_0x0: Own address 2 disabled. The received slave address OA2 is NACKed.
1: B_0x1: Own address 2 enabled. The received slave address OA2 is ACKed.

I2C_TIMINGR

I2C timing register

Offset: 0x10, size: 32, reset: 0x00000000, access: read-write

0/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PRESC
rw
SCLDEL
rw
SDADEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SCLH
rw
SCLL
rw
Toggle fields

SCLL

Bits 0-7: SCL low period (master mode) This field is used to generate the SCL low period in master mode. t<sub>SCLL </sub>= (SCLL + 1) x t<sub>PRESC</sub> Note: SCLL is also used to generate t<sub>BUF </sub>and t<sub>SU:STA </sub>timings..

SCLH

Bits 8-15: SCL high period (master mode) This field is used to generate the SCL high period in master mode. t<sub>SCLH </sub>= (SCLH + 1) x t<sub>PRESC</sub> Note: SCLH is also used to generate t<sub>SU:STO </sub>and t<sub>HD:STA </sub>timing..

SDADEL

Bits 16-19: Data hold time This field is used to generate the delay t<sub>SDADEL </sub>between SCL falling edge and SDA edge. In master and in slave modes with NOSTRETCH = 0, the SCL line is stretched low during t<sub>SDADEL</sub>. t<sub>SDADEL</sub>= SDADEL x t<sub>PRESC</sub> Note: SDADEL is used to generate t<sub>HD:DAT </sub>timing..

SCLDEL

Bits 20-23: Data setup time This field is used to generate a delay t<sub>SCLDEL</sub> = (SCLDEL + 1) x t<sub>PRESC</sub> between SDA edge and SCL rising edge. In master and in slave modes with NOSTRETCH = 0, the SCL line is stretched low during t<sub>SCLDEL</sub>. Note: t<sub>SCLDEL</sub> is used to generate t<sub>SU:DAT </sub>timing..

PRESC

Bits 28-31: Timing prescaler This field is used to prescale I2CCLK to generate the clock period t<sub>PRESC </sub>used for data setup and hold counters (refer to I2C timings), and for SCL high and low level counters (refer to I2C master initialization). t<sub>PRESC </sub>= (PRESC + 1) x t<sub>I2CCLK</sub>.

I2C_TIMEOUTR

I2C timeout register

Offset: 0x14, size: 32, reset: 0x00000000, access: read-write

3/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TEXTEN
rw
TIMEOUTB
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TIMOUTEN
rw
TIDLE
rw
TIMEOUTA
rw
Toggle fields

TIMEOUTA

Bits 0-11: Bus timeout A This field is used to configure: The SCL low timeout condition t<sub>TIMEOUT</sub> when TIDLE = 0 t<sub>TIMEOUT</sub>= (TIMEOUTA + 1) x 2048 x t<sub>I2CCLK</sub> The bus idle condition (both SCL and SDA high) when TIDLE = 1 t<sub>IDLE</sub>= (TIMEOUTA + 1) x 4 x t<sub>I2CCLK</sub> Note: These bits can be written only when TIMOUTEN = 0..

TIDLE

Bit 12: Idle clock timeout detection Note: This bit can be written only when TIMOUTEN = 0..

Allowed values:
0: B_0x0: TIMEOUTA is used to detect SCL low timeout
1: B_0x1: TIMEOUTA is used to detect both SCL and SDA high timeout (bus idle condition)

TIMOUTEN

Bit 15: Clock timeout enable.

Allowed values:
0: B_0x0: SCL timeout detection is disabled
1: B_0x1: SCL timeout detection is enabled. hen SCL is low for more than t<sub>TIMEOUT</sub> (TIDLE = 0) or high for more than t<sub>IDLE </sub>(TIDLE = 1), a timeout error is detected (TIMEOUT = 1).

TIMEOUTB

Bits 16-27: Bus timeout B This field is used to configure the cumulative clock extension timeout: Master mode: the master cumulative clock low extend time (t<sub>LOW:MEXT</sub>) is detected Slave mode: the slave cumulative clock low extend time (t<sub>LOW:SEXT</sub>) is detected t<sub>LOW:EXT </sub>= (TIMEOUTB + TIDLE = 01) x 2048 x t<sub>I2CCLK</sub> Note: These bits can be written only when TEXTEN = 0..

TEXTEN

Bit 31: Extended clock timeout enable.

Allowed values:
0: B_0x0: Extended clock timeout detection is disabled
1: B_0x1: Extended clock timeout detection is enabled. When a cumulative SCL stretch for more than t<sub>LOW:EXT </sub>is done by the I2C interface, a timeout error is detected (TIMEOUT = 1).

I2C_ISR

I2C interrupt and status register

Offset: 0x18, size: 32, reset: 0x00000001, access: read-write

15/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ADDCODE
r
DIR
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BUSY
r
ALERT
r
TIMEOUT
r
PECERR
r
OVR
r
ARLO
r
BERR
r
TCR
r
TC
r
STOPF
r
NACKF
r
ADDR
r
RXNE
r
TXIS
rw
TXE
rw
Toggle fields

TXE

Bit 0: Transmit data register empty (transmitters) This bit is set by hardware when the I2C_TXDR register is empty. It is cleared when the next data to be sent is written in the I2C_TXDR register. This bit can be written to 1 by software in order to flush the transmit data register I2C_TXDR. Note: This bit is set by hardware when PE = 0..

TXIS

Bit 1: Transmit interrupt status (transmitters) This bit is set by hardware when the I2C_TXDR register is empty and the data to be transmitted must be written in the I2C_TXDR register. It is cleared when the next data to be sent is written in the I2C_TXDR register. This bit can be written to 1 by software only when NOSTRETCH = 1, to generate a TXIS event (interrupt if TXIE = 1 or DMA request if TXDMAEN = 1). Note: This bit is cleared by hardware when PE = 0..

RXNE

Bit 2: Receive data register not empty (receivers) This bit is set by hardware when the received data is copied into the I2C_RXDR register, and is ready to be read. It is cleared when I2C_RXDR is read. Note: This bit is cleared by hardware when PE = 0..

ADDR

Bit 3: Address matched (slave mode) This bit is set by hardware as soon as the received slave address matched with one of the enabled slave addresses. It is cleared by software by setting ADDRCF bit. Note: This bit is cleared by hardware when PE = 0..

NACKF

Bit 4: Not acknowledge received flag This flag is set by hardware when a NACK is received after a byte transmission. It is cleared by software by setting the NACKCF bit. Note: This bit is cleared by hardware when PE = 0..

STOPF

Bit 5: Stop detection flag This flag is set by hardware when a STOP condition is detected on the bus and the peripheral is involved in this transfer: as a master, provided that the STOP condition is generated by the peripheral. as a slave, provided that the peripheral has been addressed previously during this transfer. It is cleared by software by setting the STOPCF bit. Note: This bit is cleared by hardware when PE = 0..

TC

Bit 6: Transfer complete (master mode) This flag is set by hardware when RELOAD = 0, AUTOEND = 0 and NBYTES data have been transferred. It is cleared by software when START bit or STOP bit is set. Note: This bit is cleared by hardware when PE = 0..

TCR

Bit 7: Transfer complete reload This flag is set by hardware when RELOAD = 1 and NBYTES data have been transferred. It is cleared by software when NBYTES is written to a non-zero value. Note: This bit is cleared by hardware when PE = 0. Note: This flag is only for master mode, or for slave mode when the SBC bit is set..

BERR

Bit 8: Bus error This flag is set by hardware when a misplaced Start or STOP condition is detected whereas the peripheral is involved in the transfer. The flag is not set during the address phase in slave mode. It is cleared by software by setting the BERRCF bit. Note: This bit is cleared by hardware when PE = 0..

ARLO

Bit 9: Arbitration lost This flag is set by hardware in case of arbitration loss. It is cleared by software by setting the ARLOCF bit. Note: This bit is cleared by hardware when PE = 0..

OVR

Bit 10: Overrun/underrun (slave mode) This flag is set by hardware in slave mode with NOSTRETCH = 1, when an overrun/underrun error occurs. It is cleared by software by setting the OVRCF bit. Note: This bit is cleared by hardware when PE = 0..

PECERR

Bit 11: PEC error in reception This flag is set by hardware when the received PEC does not match with the PEC register content. A NACK is automatically sent after the wrong PEC reception. It is cleared by software by setting the PECCF bit. Note: This bit is cleared by hardware when PE = 0. Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to 0. Refer to Section 25.3..

TIMEOUT

Bit 12: Timeout or t<sub>LOW</sub> detection flag This flag is set by hardware when a timeout or extended clock timeout occurred. It is cleared by software by setting the TIMEOUTCF bit. Note: This bit is cleared by hardware when PE = 0. Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to 0. Refer to Section 25.3..

ALERT

Bit 13: SMBus alert This flag is set by hardware when SMBHEN = 1 (SMBus host configuration), ALERTEN = 1 and an SMBALERT event (falling edge) is detected on SMBA pin. It is cleared by software by setting the ALERTCF bit. Note: This bit is cleared by hardware when PE = 0. Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to 0. Refer to Section 25.3..

BUSY

Bit 15: Bus busy This flag indicates that a communication is in progress on the bus. It is set by hardware when a START condition is detected, and cleared by hardware when a STOP condition is detected, or when PE = 0..

DIR

Bit 16: Transfer direction (slave mode) This flag is updated when an address match event occurs (ADDR = 1)..

Allowed values:
0: B_0x0: Write transfer, slave enters receiver mode.
1: B_0x1: Read transfer, slave enters transmitter mode.

ADDCODE

Bits 17-23: Address match code (slave mode) These bits are updated with the received address when an address match event occurs (ADDR = 1). In the case of a 10-bit address, ADDCODE provides the 10-bit header followed by the two MSBs of the address..

I2C_ICR

I2C interrupt clear register

Offset: 0x1c, size: 32, reset: 0x00000000, access: write-only

0/9 fields covered.

Toggle fields

ADDRCF

Bit 3: Address matched flag clear Writing 1 to this bit clears the ADDR flag in the I2C_ISR register. Writing 1 to this bit also clears the START bit in the I2C_CR2 register..

NACKCF

Bit 4: Not acknowledge flag clear Writing 1 to this bit clears the NACKF flag in I2C_ISR register..

STOPCF

Bit 5: STOP detection flag clear Writing 1 to this bit clears the STOPF flag in the I2C_ISR register..

BERRCF

Bit 8: Bus error flag clear Writing 1 to this bit clears the BERRF flag in the I2C_ISR register..

ARLOCF

Bit 9: Arbitration lost flag clear Writing 1 to this bit clears the ARLO flag in the I2C_ISR register..

OVRCF

Bit 10: Overrun/underrun flag clear Writing 1 to this bit clears the OVR flag in the I2C_ISR register..

PECCF

Bit 11: PEC error flag clear Writing 1 to this bit clears the PECERR flag in the I2C_ISR register. Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to 0. Refer to Section 25.3..

TIMOUTCF

Bit 12: Timeout detection flag clear Writing 1 to this bit clears the TIMEOUT flag in the I2C_ISR register. Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to 0. Refer to Section 25.3..

ALERTCF

Bit 13: Alert flag clear Note: Writing 1 to this bit clears the ALERT flag in the I2C_ISR register. Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to 0. Refer to Section 25.3..

I2C_PECR

I2C PEC register

Offset: 0x20, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PEC
r
Toggle fields

PEC

Bits 0-7: Packet error checking register This field contains the internal PEC when PECEN=1. The PEC is cleared by hardware when PE = 0..

I2C_RXDR

I2C receive data register

Offset: 0x24, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RXDATA
r
Toggle fields

RXDATA

Bits 0-7: 8-bit receive data Data byte received from the I<sup>2</sup>C bus.

I2C_TXDR

I2C transmit data register

Offset: 0x28, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TXDATA
rw
Toggle fields

TXDATA

Bits 0-7: 8-bit transmit data Data byte to be transmitted to the I<sup>2</sup>C bus Note: These bits can be written only when TXE = 1..

IWDG

0x40003000: IWDG address block description

4/7 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 IWDG_KR
0x4 IWDG_PR
0x8 IWDG_RLR
0xc IWDG_SR
0x10 IWDG_WINR
Toggle registers

IWDG_KR

IWDG key register

Offset: 0x0, size: 32, reset: 0x00000000, access: write-only

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
KEY
w
Toggle fields

KEY

Bits 0-15: Key value (write only, read 0x0000) These bits must be written by software at regular intervals with the key value 0xAAAA, otherwise the watchdog generates a reset when the counter reaches 0. Writing the key value 0x5555 to enable access to the IWDG_PR, IWDG_RLR and IWDG_WINR registers (see Section 22.3.4: Register access protection) Writing the key value 0xCCCC starts the watchdog (except if the hardware watchdog option is selected).

IWDG_PR

IWDG prescaler register

Offset: 0x4, size: 32, reset: 0x00000000, access: read-write

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PR
rw
Toggle fields

PR

Bits 0-2: Prescaler divider These bits are write access protected see Section 22.3.4: Register access protection. They are written by software to select the prescaler divider feeding the counter clock. PVU bit of the IWDG status register (IWDG_SR) must be reset in order to be able to change the prescaler divider. Note: Reading this register returns the prescaler value from the V<sub>DD</sub> voltage domain. This value may not be up to date/valid if a write operation to this register is ongoing. For this reason the value read from this register is valid only when the PVU bit in the IWDG status register (IWDG_SR) is reset..

Allowed values:
0: B_0x0: divider /4
1: B_0x1: divider /8
2: B_0x2: divider /16
3: B_0x3: divider /32
4: B_0x4: divider /64
5: B_0x5: divider /128
6: B_0x6: divider /256
7: B_0x7: divider /256

IWDG_RLR

IWDG reload register

Offset: 0x8, size: 32, reset: 0x00000FFF, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RL
rw
Toggle fields

RL

Bits 0-11: Watchdog counter reload value These bits are write access protected see Register access protection. They are written by software to define the value to be loaded in the watchdog counter each time the value 0xAAAA is written in the IWDG key register (IWDG_KR). The watchdog counter counts down from this value. The timeout period is a function of this value and the clock prescaler. Refer to the datasheet for the timeout information. The RVU bit in the IWDG status register (IWDG_SR) must be reset to be able to change the reload value. Note: Reading this register returns the reload value from the V<sub>DD</sub> voltage domain. This value may not be up to date/valid if a write operation to this register is ongoing on it. For this reason the value read from this register is valid only when the RVU bit in the IWDG status register (IWDG_SR) is reset..

IWDG_SR

IWDG status register

Offset: 0xc, size: 32, reset: 0x00000000, access: read-only

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WVU
r
RVU
r
PVU
r
Toggle fields

PVU

Bit 0: Watchdog prescaler value update This bit is set by hardware to indicate that an update of the prescaler value is ongoing. It is reset by hardware when the prescaler update operation is completed in the V<sub>DD</sub> voltage domain (takes up to five LSI cycles). Prescaler value can be updated only when PVU bit is reset..

RVU

Bit 1: Watchdog counter reload value update This bit is set by hardware to indicate that an update of the reload value is ongoing. It is reset by hardware when the reload value update operation is completed in the V<sub>DD</sub> voltage domain (takes up to five LSI cycles). Reload value can be updated only when RVU bit is reset..

WVU

Bit 2: Watchdog counter window value update This bit is set by hardware to indicate that an update of the window value is ongoing. It is reset by hardware when the reload value update operation is completed in the V<sub>DD</sub> voltage domain (takes up to five LSI cycles). Window value can be updated only when WVU bit is reset..

IWDG_WINR

IWDG window register

Offset: 0x10, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WIN
rw
Toggle fields

WIN

Bits 0-11: Watchdog counter window value These bits are write access protected, see Section 22.3.4, they contain the high limit of the window value to be compared with the downcounter. To prevent a reset, the downcounter must be reloaded when its value is lower than the window register value and greater than 0x0 The WVU bit in the IWDG status register (IWDG_SR) must be reset in order to be able to change the reload value. Note: Reading this register returns the reload value from the V<sub>DD</sub> voltage domain. This value may not be valid if a write operation to this register is ongoing. For this reason the value read from this register is valid only when the WVU bit in the IWDG status register (IWDG_SR) is reset..

PWR

0x40007000: PWR address block description

22/161 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 PWR_CR1
0x4 PWR_CR2
0x8 PWR_CR3
0xc PWR_CR4
0x10 PWR_SR1
0x14 PWR_SR2
0x18 PWR_SCR
0x20 PWR_PUCRA
0x24 PWR_PDCRA
0x28 PWR_PUCRB
0x2c PWR_PDCRB
0x30 PWR_PUCRC
0x34 PWR_PDCRC
0x38 PWR_PUCRD
0x3c PWR_PDCRD
0x48 PWR_PUCRF
0x4c PWR_PDCRF
0x70 PWR_BKP0R
0x74 PWR_BKP1R
0x78 PWR_BKP2R
0x7c PWR_BKP3R
Toggle registers

PWR_CR1

PWR control register 1

Offset: 0x0, size: 32, reset: 0x00000208, access: read-write

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FPD_SLP
rw
FPD_STOP
rw
LPMS
rw
Toggle fields

LPMS

Bits 0-2: Low-power mode selection These bits select the low-power mode entered when CPU enters deepsleep mode. 1XX: Shutdown mode.

Allowed values:
0: B_0x0: Stop mode
3: B_0x3: Standby mode

FPD_STOP

Bit 3: Flash memory powered down during Stop mode This bit determines whether the Flash memory is put in power-down mode or remains in idle mode when the device enters Stop mode..

Allowed values:
0: B_0x0: Flash memory idle
1: B_0x1: Flash memory powered down

FPD_SLP

Bit 5: Flash memory powered down during Sleep mode This bit determines whether the Flash memory is put in power-down mode or remains in idle mode when the device enters Sleep mode..

Allowed values:
0: B_0x0: Flash memory idle
1: B_0x1: Flash memory powered down

PWR_CR2

PWR control register 1

Offset: 0x4, size: 32, reset: 0x00000100, access: read-write

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PVM_VDDIO2
rw
Toggle fields

PVM_VDDIO2

Bits 8-9: supply voltage monitoring.

Allowed values:
0: B_0x0: Monitoring disabled; IOs in isolation mode
1: B_0x1: Monitoring enabled; IOs enabled or in isolation mode according to V<sub>DDIO2</sub> level
2: B_0x2: Monitoring bypassed; IOs enabled

PWR_CR3

PWR control register 3

Offset: 0x8, size: 32, reset: 0x00008000, access: read-write

2/8 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EIWUL
rw
APC
rw
EWUP6
rw
EWUP5
rw
EWUP4
rw
EWUP3
rw
EWUP2
rw
EWUP1
rw
Toggle fields

EWUP1

Bit 0: Enable WKUP1 wakeup pin When this bit is set, the WKUP1 external wakeup pin is enabled and triggers a wakeup event when a rising or a falling edge occurs. The active edge is configured via the WP1 bit of the PWR_CR4 register..

EWUP2

Bit 1: Enable WKUP2 wakeup pin When this bit is set, the WKUP2 external wakeup pin is enabled and triggers a wakeup event when a rising or a falling edge occurs. The active edge is configured via the WP2 bit of the PWR_CR4 register..

EWUP3

Bit 2: Enable WKUP3 wakeup pin When this bit is set, the WKUP3 external wakeup pin is enabled and triggers a wakeup event when a rising or a falling edge occurs. The active edge is configured via the WP3 bit of the PWR_CR4 register..

EWUP4

Bit 3: Enable WKUP4 wakeup pin When this bit is set, the WKUP4 external wakeup pin is enabled and triggers a wakeup event when a rising or a falling edge occurs. The active edge is configured via the WP4 bit in the PWR_CR4 register..

EWUP5

Bit 4: Enable WKUP5 wakeup pin When this bit is set, the WKUP5 external wakeup pin is enabled and triggers a wakeup event when a rising or a falling edge occurs. The active edge is configured through WP5 bit in the PWR_CR4 register..

EWUP6

Bit 5: Enable WKUP6 wakeup pin When this bit is set, the WKUP6 external wakeup pin is enabled and triggers a wakeup event when a rising or a falling edge occurs. The active edge is configured through WP6 bit in the PWR_CR4 register..

APC

Bit 10: Apply pull-up and pull-down configuration This bit determines whether the I/O pull-up and pull-down configurations defined in the PWR_PUCRx and PWR_PDCRx registers are applied..

Allowed values:
0: B_0x0: Not applied
1: B_0x1: Applied

EIWUL

Bit 15: Enable internal wakeup line When set, a rising edge on the internal wakeup line triggers a wakeup event..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

PWR_CR4

PWR control register 4

Offset: 0xc, size: 32, reset: 0x00000000, access: read-write

6/6 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WP6
rw
WP5
rw
WP4
rw
WP3
rw
WP2
rw
WP1
rw
Toggle fields

WP1

Bit 0: WKUP1 wakeup pin polarity WKUP1 external wakeup signal polarity (level or edge) to generate wakeup condition:.

Allowed values:
0: B_0x0: High level or rising edge
1: B_0x1: Low level or falling edge

WP2

Bit 1: WKUP2 wakeup pin polarity WKUP2 external wakeup signal polarity (level or edge) to generate wakeup condition:.

Allowed values:
0: B_0x0: High level or rising edge
1: B_0x1: Low level or falling edge

WP3

Bit 2: WKUP3 wakeup pin polarity WKUP3 external wakeup signal polarity (level or edge) to generate wakeup condition:.

Allowed values:
0: B_0x0: High level or rising edge
1: B_0x1: Low level or falling edge

WP4

Bit 3: WKUP4 wakeup pin polarity WKUP4 external wakeup signal polarity (level or edge) to generate wakeup condition:.

Allowed values:
0: B_0x0: High level or rising edge
1: B_0x1: Low level or falling edge

WP5

Bit 4: WKUP5 wakeup pin polarity WKUP5 external wakeup signal polarity (level or edge) to generate wakeup condition:.

Allowed values:
0: B_0x0: High level or rising edge
1: B_0x1: Low level or falling edge

WP6

Bit 5: WKUP6 wakeup pin polarity WKUP6 external wakeup signal polarity (level or edge) to generate wakeup condition:.

Allowed values:
0: B_0x0: High level or rising edge
1: B_0x1: Low level or falling edge

PWR_SR1

PWR status register 1

Offset: 0x10, size: 32, reset: 0x00000000, access: read-only

8/8 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WUFI
r
SBF
r
WUF6
r
WUF5
r
WUF4
r
WUF3
r
WUF2
r
WUF1
r
Toggle fields

WUF1

Bit 0: Wakeup flag 1 This bit is set when a wakeup condition is detected on WKUP1 wakeup pin. It is cleared by setting the CWUF1 bit of the PWR_SCR register..

WUF2

Bit 1: Wakeup flag 2 This bit is set when a wakeup condition is detected on WKUP2 wakeup pin. It is cleared by setting the CWUF2 bit of the PWR_SCR register..

WUF3

Bit 2: Wakeup flag 3 This bit is set when a wakeup condition is detected on WKUP3 wakeup pin. It is cleared by setting the CWUF3 bit of the PWR_SCR register..

WUF4

Bit 3: Wakeup flag 4 This bit is set when a wakeup condition is detected on WKUP4 wakeup pin. It is cleared by setting the CWUF4 bit of the PWR_SCR register..

WUF5

Bit 4: Wakeup flag 5 This bit is set when a wakeup condition is detected on WKUP5 wakeup pin. It is cleared by setting the CWUF5 bit of the PWR_SCR register..

WUF6

Bit 5: Wakeup flag 6 This bit is set when a wakeup condition is detected on WKUP6 wakeup pin. It is cleared by setting the CWUF6 bit of the PWR_SCR register..

SBF

Bit 8: Standby flag This bit is set by hardware when the device enters Standby mode and is cleared by setting the CSBF bit in the PWR_SCR register, or by a power-on reset. It is not cleared by the system reset..

Allowed values:
0: B_0x0: The device did not enter Standby mode
1: B_0x1: The device entered Standby mode

WUFI

Bit 15: Wakeup flag internal This bit is set when a wakeup condition is detected on the internal wakeup line. It is cleared when all internal wakeup sources are cleared..

PWR_SR2

PWR status register 2

Offset: 0x14, size: 32, reset: 0x00000000, access: read-only

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PVM_VDDIO2_OUT
r
FLASH_RDY
r
Toggle fields

FLASH_RDY

Bit 7: Flash ready flag This bit is set by hardware to indicate when the Flash memory is ready to be accessed after wakeup from power-down. To place the Flash memory in power-down, set either FPD_SLP or FPD_STP bit. Note: If the system boots from SRAM, the user application must wait till FLASH_RDY bit is set, prior to jumping to Flash memory..

Allowed values:
0: B_0x0: Flash memory in power-down
1: B_0x1: Flash memory ready to be accessed

PVM_VDDIO2_OUT

Bit 13: V<sub>DDIO2</sub> supply voltage monitoring output flag This flag indicates the readiness of the V<sub>DDIO2</sub> supply voltage (excess of 1.2 V). The flag is cleared when the PVM of V<sub>DDIO2</sub> is disabled (PVM_VDDIO2[0] = 0). Note: Only applicable on STM32C071xx, reserved on the other products..

Allowed values:
0: B_0x0: Not ready
1: B_0x1: Ready

PWR_SCR

PWR status clear register

Offset: 0x18, size: 32, reset: 0x00000000, access: write-only

0/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CSBF
w
CWUF6
w
CWUF5
w
CWUF4
w
CWUF3
w
CWUF2
w
CWUF1
w
Toggle fields

CWUF1

Bit 0: Clear wakeup flag 1 Setting this bit clears the WUF1 flag in the PWR_SR1 register..

CWUF2

Bit 1: Clear wakeup flag 2 Setting this bit clears the WUF2 flag in the PWR_SR1 register..

CWUF3

Bit 2: Clear wakeup flag 3 Setting this bit clears the WUF3 flag in the PWR_SR1 register..

CWUF4

Bit 3: Clear wakeup flag 4 Setting this bit clears the WUF4 flag in the PWR_SR1 register..

CWUF5

Bit 4: Clear wakeup flag 5 Setting this bit clears the WUF5 flag in the PWR_SR1 register..

CWUF6

Bit 5: Clear wakeup flag 6 Setting this bit clears the WUF6 flag in the PWR_SR1 register..

CSBF

Bit 8: Clear standby flag Setting this bit clears the SBF flag in the PWR_SR1 register..

PWR_PUCRA

PWR Port A pull-up control register

Offset: 0x20, size: 32, reset: 0x00000000, access: read-write

0/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PU15
rw
PU14
rw
PU13
rw
PU12
rw
PU11
rw
PU10
rw
PU9
rw
PU8
rw
PU7
rw
PU6
rw
PU5
rw
PU4
rw
PU3
rw
PU2
rw
PU1
rw
PU0
rw
Toggle fields

PU0

Bit 0: Port A pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PA[i] I/O. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU1

Bit 1: Port A pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PA[i] I/O. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU2

Bit 2: Port A pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PA[i] I/O. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU3

Bit 3: Port A pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PA[i] I/O. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU4

Bit 4: Port A pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PA[i] I/O. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU5

Bit 5: Port A pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PA[i] I/O. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU6

Bit 6: Port A pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PA[i] I/O. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU7

Bit 7: Port A pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PA[i] I/O. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU8

Bit 8: Port A pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PA[i] I/O. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU9

Bit 9: Port A pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PA[i] I/O. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU10

Bit 10: Port A pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PA[i] I/O. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU11

Bit 11: Port A pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PA[i] I/O. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU12

Bit 12: Port A pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PA[i] I/O. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU13

Bit 13: Port A pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PA[i] I/O. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU14

Bit 14: Port A pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PA[i] I/O. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU15

Bit 15: Port A pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PA[i] I/O. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PWR_PDCRA

PWR Port A pull-down control register

Offset: 0x24, size: 32, reset: 0x00000000, access: read-write

0/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PD15
rw
PD14
rw
PD13
rw
PD12
rw
PD11
rw
PD10
rw
PD9
rw
PD8
rw
PD7
rw
PD6
rw
PD5
rw
PD4
rw
PD3
rw
PD2
rw
PD1
rw
PD0
rw
Toggle fields

PD0

Bit 0: Port A pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PA[i] I/O. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD1

Bit 1: Port A pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PA[i] I/O. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD2

Bit 2: Port A pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PA[i] I/O. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD3

Bit 3: Port A pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PA[i] I/O. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD4

Bit 4: Port A pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PA[i] I/O. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD5

Bit 5: Port A pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PA[i] I/O. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD6

Bit 6: Port A pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PA[i] I/O. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD7

Bit 7: Port A pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PA[i] I/O. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD8

Bit 8: Port A pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PA[i] I/O. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD9

Bit 9: Port A pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PA[i] I/O. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD10

Bit 10: Port A pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PA[i] I/O. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD11

Bit 11: Port A pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PA[i] I/O. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD12

Bit 12: Port A pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PA[i] I/O. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD13

Bit 13: Port A pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PA[i] I/O. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD14

Bit 14: Port A pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PA[i] I/O. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD15

Bit 15: Port A pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PA[i] I/O. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PWR_PUCRB

PWR Port B pull-up control register

Offset: 0x28, size: 32, reset: 0x00000000, access: read-write

0/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PU15
rw
PU14
rw
PU13
rw
PU12
rw
PU11
rw
PU10
rw
PU9
rw
PU8
rw
PU7
rw
PU6
rw
PU5
rw
PU4
rw
PU3
rw
PU2
rw
PU1
rw
PU0
rw
Toggle fields

PU0

Bit 0: Port B pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PB[i] I/O. On STM32C011xx, only PU7 and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU1

Bit 1: Port B pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PB[i] I/O. On STM32C011xx, only PU7 and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU2

Bit 2: Port B pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PB[i] I/O. On STM32C011xx, only PU7 and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU3

Bit 3: Port B pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PB[i] I/O. On STM32C011xx, only PU7 and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU4

Bit 4: Port B pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PB[i] I/O. On STM32C011xx, only PU7 and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU5

Bit 5: Port B pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PB[i] I/O. On STM32C011xx, only PU7 and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU6

Bit 6: Port B pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PB[i] I/O. On STM32C011xx, only PU7 and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU7

Bit 7: Port B pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PB[i] I/O. On STM32C011xx, only PU7 and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU8

Bit 8: Port B pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PB[i] I/O. On STM32C011xx, only PU7 and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU9

Bit 9: Port B pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PB[i] I/O. On STM32C011xx, only PU7 and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU10

Bit 10: Port B pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PB[i] I/O. On STM32C011xx, only PU7 and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU11

Bit 11: Port B pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PB[i] I/O. On STM32C011xx, only PU7 and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU12

Bit 12: Port B pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PB[i] I/O. On STM32C011xx, only PU7 and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU13

Bit 13: Port B pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PB[i] I/O. On STM32C011xx, only PU7 and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU14

Bit 14: Port B pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PB[i] I/O. On STM32C011xx, only PU7 and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU15

Bit 15: Port B pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PB[i] I/O. On STM32C011xx, only PU7 and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PWR_PDCRB

PWR Port B pull-down control register

Offset: 0x2c, size: 32, reset: 0x00000000, access: read-write

0/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PD15
rw
PD14
rw
PD13
rw
PD12
rw
PD11
rw
PD10
rw
PD9
rw
PD8
rw
PD7
rw
PD6
rw
PD5
rw
PD4
rw
PD3
rw
PD2
rw
PD1
rw
PD0
rw
Toggle fields

PD0

Bit 0: Port B pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PB[i] I/O. On STM32C011xx, only PD7 and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD1

Bit 1: Port B pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PB[i] I/O. On STM32C011xx, only PD7 and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD2

Bit 2: Port B pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PB[i] I/O. On STM32C011xx, only PD7 and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD3

Bit 3: Port B pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PB[i] I/O. On STM32C011xx, only PD7 and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD4

Bit 4: Port B pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PB[i] I/O. On STM32C011xx, only PD7 and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD5

Bit 5: Port B pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PB[i] I/O. On STM32C011xx, only PD7 and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD6

Bit 6: Port B pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PB[i] I/O. On STM32C011xx, only PD7 and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD7

Bit 7: Port B pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PB[i] I/O. On STM32C011xx, only PD7 and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD8

Bit 8: Port B pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PB[i] I/O. On STM32C011xx, only PD7 and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD9

Bit 9: Port B pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PB[i] I/O. On STM32C011xx, only PD7 and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD10

Bit 10: Port B pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PB[i] I/O. On STM32C011xx, only PD7 and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD11

Bit 11: Port B pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PB[i] I/O. On STM32C011xx, only PD7 and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD12

Bit 12: Port B pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PB[i] I/O. On STM32C011xx, only PD7 and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD13

Bit 13: Port B pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PB[i] I/O. On STM32C011xx, only PD7 and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD14

Bit 14: Port B pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PB[i] I/O. On STM32C011xx, only PD7 and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD15

Bit 15: Port B pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PB[i] I/O. On STM32C011xx, only PD7 and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PWR_PUCRC

PWR Port C pull-up control register

Offset: 0x30, size: 32, reset: 0x00000000, access: read-write

0/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PU15
rw
PU14
rw
PU13
rw
PU12
rw
PU11
rw
PU10
rw
PU9
rw
PU8
rw
PU7
rw
PU6
rw
PU5
rw
PU4
rw
PU3
rw
PU2
rw
PU1
rw
PU0
rw
Toggle fields

PU0

Bit 0: Port C pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PC[i] I/O. On STM32C011xx, only PU15 and PU14 are available. On STM32C031xx, only PU15 to PU13, PU7, and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU1

Bit 1: Port C pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PC[i] I/O. On STM32C011xx, only PU15 and PU14 are available. On STM32C031xx, only PU15 to PU13, PU7, and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU2

Bit 2: Port C pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PC[i] I/O. On STM32C011xx, only PU15 and PU14 are available. On STM32C031xx, only PU15 to PU13, PU7, and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU3

Bit 3: Port C pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PC[i] I/O. On STM32C011xx, only PU15 and PU14 are available. On STM32C031xx, only PU15 to PU13, PU7, and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU4

Bit 4: Port C pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PC[i] I/O. On STM32C011xx, only PU15 and PU14 are available. On STM32C031xx, only PU15 to PU13, PU7, and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU5

Bit 5: Port C pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PC[i] I/O. On STM32C011xx, only PU15 and PU14 are available. On STM32C031xx, only PU15 to PU13, PU7, and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU6

Bit 6: Port C pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PC[i] I/O. On STM32C011xx, only PU15 and PU14 are available. On STM32C031xx, only PU15 to PU13, PU7, and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU7

Bit 7: Port C pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PC[i] I/O. On STM32C011xx, only PU15 and PU14 are available. On STM32C031xx, only PU15 to PU13, PU7, and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU8

Bit 8: Port C pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PC[i] I/O. On STM32C011xx, only PU15 and PU14 are available. On STM32C031xx, only PU15 to PU13, PU7, and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU9

Bit 9: Port C pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PC[i] I/O. On STM32C011xx, only PU15 and PU14 are available. On STM32C031xx, only PU15 to PU13, PU7, and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU10

Bit 10: Port C pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PC[i] I/O. On STM32C011xx, only PU15 and PU14 are available. On STM32C031xx, only PU15 to PU13, PU7, and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU11

Bit 11: Port C pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PC[i] I/O. On STM32C011xx, only PU15 and PU14 are available. On STM32C031xx, only PU15 to PU13, PU7, and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU12

Bit 12: Port C pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PC[i] I/O. On STM32C011xx, only PU15 and PU14 are available. On STM32C031xx, only PU15 to PU13, PU7, and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU13

Bit 13: Port C pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PC[i] I/O. On STM32C011xx, only PU15 and PU14 are available. On STM32C031xx, only PU15 to PU13, PU7, and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU14

Bit 14: Port C pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PC[i] I/O. On STM32C011xx, only PU15 and PU14 are available. On STM32C031xx, only PU15 to PU13, PU7, and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU15

Bit 15: Port C pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PC[i] I/O. On STM32C011xx, only PU15 and PU14 are available. On STM32C031xx, only PU15 to PU13, PU7, and PU6 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PWR_PDCRC

PWR Port C pull-down control register

Offset: 0x34, size: 32, reset: 0x00000000, access: read-write

0/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PD15
rw
PD14
rw
PD13
rw
PD12
rw
PD11
rw
PD10
rw
PD9
rw
PD8
rw
PD7
rw
PD6
rw
PD5
rw
PD4
rw
PD3
rw
PD2
rw
PD1
rw
PD0
rw
Toggle fields

PD0

Bit 0: Port C pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PC[i] I/O. On STM32C011xx, only PD15 and PD14 are available. On STM32C031xx, only PD15 to PD13, PD7, and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD1

Bit 1: Port C pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PC[i] I/O. On STM32C011xx, only PD15 and PD14 are available. On STM32C031xx, only PD15 to PD13, PD7, and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD2

Bit 2: Port C pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PC[i] I/O. On STM32C011xx, only PD15 and PD14 are available. On STM32C031xx, only PD15 to PD13, PD7, and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD3

Bit 3: Port C pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PC[i] I/O. On STM32C011xx, only PD15 and PD14 are available. On STM32C031xx, only PD15 to PD13, PD7, and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD4

Bit 4: Port C pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PC[i] I/O. On STM32C011xx, only PD15 and PD14 are available. On STM32C031xx, only PD15 to PD13, PD7, and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD5

Bit 5: Port C pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PC[i] I/O. On STM32C011xx, only PD15 and PD14 are available. On STM32C031xx, only PD15 to PD13, PD7, and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD6

Bit 6: Port C pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PC[i] I/O. On STM32C011xx, only PD15 and PD14 are available. On STM32C031xx, only PD15 to PD13, PD7, and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD7

Bit 7: Port C pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PC[i] I/O. On STM32C011xx, only PD15 and PD14 are available. On STM32C031xx, only PD15 to PD13, PD7, and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD8

Bit 8: Port C pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PC[i] I/O. On STM32C011xx, only PD15 and PD14 are available. On STM32C031xx, only PD15 to PD13, PD7, and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD9

Bit 9: Port C pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PC[i] I/O. On STM32C011xx, only PD15 and PD14 are available. On STM32C031xx, only PD15 to PD13, PD7, and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD10

Bit 10: Port C pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PC[i] I/O. On STM32C011xx, only PD15 and PD14 are available. On STM32C031xx, only PD15 to PD13, PD7, and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD11

Bit 11: Port C pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PC[i] I/O. On STM32C011xx, only PD15 and PD14 are available. On STM32C031xx, only PD15 to PD13, PD7, and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD12

Bit 12: Port C pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PC[i] I/O. On STM32C011xx, only PD15 and PD14 are available. On STM32C031xx, only PD15 to PD13, PD7, and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD13

Bit 13: Port C pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PC[i] I/O. On STM32C011xx, only PD15 and PD14 are available. On STM32C031xx, only PD15 to PD13, PD7, and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD14

Bit 14: Port C pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PC[i] I/O. On STM32C011xx, only PD15 and PD14 are available. On STM32C031xx, only PD15 to PD13, PD7, and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD15

Bit 15: Port C pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PC[i] I/O. On STM32C011xx, only PD15 and PD14 are available. On STM32C031xx, only PD15 to PD13, PD7, and PD6 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PWR_PUCRD

PWR Port D pull-up control register

Offset: 0x38, size: 32, reset: 0x00000000, access: read-write

0/9 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PU9
rw
PU8
rw
PU6
rw
PU5
rw
PU4
rw
PU3
rw
PU2
rw
PU1
rw
PU0
rw
Toggle fields

PU0

Bit 0: Port D pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PD[i] I/O. Not available on STM32C011xx. On STM32C031xx, only PU3 to PU0 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU1

Bit 1: Port D pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PD[i] I/O. Not available on STM32C011xx. On STM32C031xx, only PU3 to PU0 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU2

Bit 2: Port D pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PD[i] I/O. Not available on STM32C011xx. On STM32C031xx, only PU3 to PU0 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU3

Bit 3: Port D pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PD[i] I/O. Not available on STM32C011xx. On STM32C031xx, only PU3 to PU0 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU4

Bit 4: Port D pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PD[i] I/O. Not available on STM32C011xx. On STM32C031xx, only PU3 to PU0 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU5

Bit 5: Port D pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PD[i] I/O. Not available on STM32C011xx. On STM32C031xx, only PU3 to PU0 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU6

Bit 6: Port D pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PD[i] I/O. Not available on STM32C011xx. On STM32C031xx, only PU3 to PU0 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU8

Bit 8: Port D pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PD[i] I/O. Only available on STM32C071xx. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU9

Bit 9: Port D pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PD[i] I/O. Only available on STM32C071xx. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PWR_PDCRD

PWR Port D pull-down control register

Offset: 0x3c, size: 32, reset: 0x00000000, access: read-write

0/9 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PD9
rw
PD8
rw
PD6
rw
PD5
rw
PD4
rw
PD3
rw
PD2
rw
PD1
rw
PD0
rw
Toggle fields

PD0

Bit 0: Port D pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PD[i] I/O. Not available on STM32C011xx. On STM32C031xx, only PD3 to PD0 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD1

Bit 1: Port D pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PD[i] I/O. Not available on STM32C011xx. On STM32C031xx, only PD3 to PD0 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD2

Bit 2: Port D pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PD[i] I/O. Not available on STM32C011xx. On STM32C031xx, only PD3 to PD0 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD3

Bit 3: Port D pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PD[i] I/O. Not available on STM32C011xx. On STM32C031xx, only PD3 to PD0 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD4

Bit 4: Port D pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PD[i] I/O. Not available on STM32C011xx. On STM32C031xx, only PD3 to PD0 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD5

Bit 5: Port D pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PD[i] I/O. Not available on STM32C011xx. On STM32C031xx, only PD3 to PD0 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD6

Bit 6: Port D pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PD[i] I/O. Not available on STM32C011xx. On STM32C031xx, only PD3 to PD0 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD8

Bit 8: Port D pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PD[i] I/O. Only available on STM32C071xx. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD9

Bit 9: Port D pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PD[i] I/O. Only available on STM32C071xx. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PWR_PUCRF

PWR Port F pull-up control register

Offset: 0x48, size: 32, reset: 0x00000000, access: read-write

0/4 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PU3
rw
PU2
rw
PU1
rw
PU0
rw
Toggle fields

PU0

Bit 0: Port F pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PF[i] I/O. On STM32C011xx, only PU2 is available. On STM32C031xx, only PU2 to PU0 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU1

Bit 1: Port F pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PF[i] I/O. On STM32C011xx, only PU2 is available. On STM32C031xx, only PU2 to PU0 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU2

Bit 2: Port F pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PF[i] I/O. On STM32C011xx, only PU2 is available. On STM32C031xx, only PU2 to PU0 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PU3

Bit 3: Port F pull-up bit i Setting PUi bit while the corresponding PDi bit is zero and the APC bit of the PWR_CR3 register is set activates a pull-up device on the PF[i] I/O. On STM32C011xx, only PU2 is available. On STM32C031xx, only PU2 to PU0 are available. Note: For the same pin, this pull-up device must not be activated when a pull-down device is set through the GPIOx_PUPDR register..

PWR_PDCRF

PWR Port F pull-down control register

Offset: 0x4c, size: 32, reset: 0x00000000, access: read-write

0/4 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PD3
rw
PD2
rw
PD1
rw
PD0
rw
Toggle fields

PD0

Bit 0: Port F pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PF[i] I/O. On STM32C011xx, only PD2 is available. On STM32C031xx, only PD2 to PD0 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD1

Bit 1: Port F pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PF[i] I/O. On STM32C011xx, only PD2 is available. On STM32C031xx, only PD2 to PD0 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD2

Bit 2: Port F pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PF[i] I/O. On STM32C011xx, only PD2 is available. On STM32C031xx, only PD2 to PD0 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PD3

Bit 3: Port F pull-down bit i Setting PDi bit while the APC bit of the PWR_CR3 register is set activates a pull-down device on the PF[i] I/O. On STM32C011xx, only PD2 is available. On STM32C031xx, only PD2 to PD0 are available. Note: For the same pin, this pull-down device must not be activated when a pull-up device is set through the GPIOx_PUPDR register..

PWR_BKP0R

PWR backup 0 register

Offset: 0x70, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-15: Backup bitfield This bitfield retains information when the device is in Standby..

PWR_BKP1R

PWR backup 1 register

Offset: 0x74, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-15: Backup bitfield This bitfield retains information when the device is in Standby..

PWR_BKP2R

PWR backup 2 register

Offset: 0x78, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-15: Backup bitfield This bitfield retains information when the device is in Standby..

PWR_BKP3R

PWR backup 3 register

Offset: 0x7c, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-15: Backup bitfield This bitfield retains information when the device is in Standby..

RCC

0x40021000: RCC address block description

150/151 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 RCC_CR
0x4 RCC_ICSCR
0x8 RCC_CFGR
0x14 RCC_CRRCR
0x18 RCC_CIER
0x1c RCC_CIFR
0x20 RCC_CICR
0x24 RCC_IOPRSTR
0x28 RCC_AHBRSTR
0x2c RCC_APBRSTR1
0x30 RCC_APBRSTR2
0x34 RCC_IOPENR
0x38 RCC_AHBENR
0x3c RCC_APBENR1
0x40 RCC_APBENR2
0x44 RCC_IOPSMENR
0x48 RCC_AHBSMENR
0x4c RCC_APBSMENR1
0x50 RCC_APBSMENR2
0x54 RCC_CCIPR1
0x58 RCC_CCIPR2
0x5c RCC_CSR1
0x60 RCC_CSR2
Toggle registers

RCC_CR

RCC clock control register

Offset: 0x0, size: 32, reset: 0x00001540, access: read-write

12/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
HSIUSB48RDY
rw
HSIUSB48ON
rw
CSSON
rw
HSEBYP
rw
HSERDY
r
HSEON
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
HSIDIV
rw
HSIRDY
r
HSIKERON
rw
HSION
rw
HSIKERDIV
rw
SYSDIV
rw
Toggle fields

SYSDIV

Bits 2-4: Clock division factor for system clock Set and cleared by software. SYSCLK is result of the division by: Note: This bitfield is only available on STM32C071xx..

Allowed values:
0: B_0x0: 1 (no division, reset value)
1: B_0x1: 2
2: B_0x2: 3
3: B_0x3: 4
4: B_0x4: 5
5: B_0x5: 6
6: B_0x6: 7
7: B_0x7: 8

HSIKERDIV

Bits 5-7: HSI48 kernel clock division factor This bitfield controlled by software sets the division factor of the kernel clock divider to produce HSIKER clock:.

Allowed values:
0: B_0x0: 1
1: B_0x1: 2
2: B_0x2: 3 (reset value)
3: B_0x3: 4
4: B_0x4: 5
5: B_0x5: 6
6: B_0x6: 7
7: B_0x7: 8

HSION

Bit 8: HSI48 clock enable Set and cleared by software and hardware, with hardware taking priority. Kept low by hardware as long as the device is in a low-power mode. Kept high by hardware as long as the system is clocked with a clock derived from HSI48. This includes the exit from low-power modes and the system clock fall-back to HSI48 upon failing HSE oscillator clock selected as system clock source..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

HSIKERON

Bit 9: HSI48 always-enable for peripheral kernels. Set and cleared by software. Setting the bit activates the HSI48 oscillator in Run and Stop modes, regardless of the HSION bit state. The HSI48 clock can only feed USART1, USART2, and I2C1 peripherals configured with HSI48 as kernel clock. Note: Keeping the HSI48 active in Stop mode allows speeding up the serial interface communication as the HSI48 clock is ready immediately upon exiting Stop mode..

Allowed values:
0: B_0x0: HSI48 oscillator enable depends on the HSION bit
1: B_0x1: HSI48 oscillator is active in Run and Stop modes

HSIRDY

Bit 10: HSI48 clock ready flag Set by hardware when the HSI48 oscillator is enabled through HSION and ready to use (stable). Note: Upon clearing HSION, HSIRDY goes low after six HSI48 clock cycles..

Allowed values:
0: B_0x0: Not ready
1: B_0x1: Ready

HSIDIV

Bits 11-13: HSI48 clock division factor This bitfield controlled by software sets the division factor of the HSI48 clock divider to produce HSISYS clock:.

Allowed values:
0: B_0x0: 1
1: B_0x1: 2
2: B_0x2: 4 (reset value)
3: B_0x3: 8
4: B_0x4: 16
5: B_0x5: 32
6: B_0x6: 64
7: B_0x7: 128

HSEON

Bit 16: HSE clock enable Set and cleared by software. Cleared by hardware to stop the HSE oscillator when entering Stop, or Standby, or Shutdown mode. This bit cannot be cleared if the HSE oscillator is used directly or indirectly as the system clock..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

HSERDY

Bit 17: HSE clock ready flag Set by hardware to indicate that the HSE oscillator is stable and ready for use. Note: Upon clearing HSEON, HSERDY goes low after six HSE clock cycles..

Allowed values:
0: B_0x0: Not ready
1: B_0x1: Ready

HSEBYP

Bit 18: HSE crystal oscillator bypass Set and cleared by software. When the bit is set, the internal HSE oscillator is bypassed for use of an external clock. The external clock must then be enabled with the HSEON bit set. Write access to the bit is only effective when the HSE oscillator is disabled..

Allowed values:
0: B_0x0: No bypass
1: B_0x1: Bypass

CSSON

Bit 19: Clock security system enable Set by software to enable the clock security system. When the bit is set, the clock detector is enabled by hardware when the HSE oscillator is ready, and disabled by hardware if a HSE clock failure is detected. The bit is cleared by hardware upon reset..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

HSIUSB48ON

Bit 22: HSIUSB48 clock enable Set and cleared by software and hardware, with hardware taking priority. Kept low by hardware as long as the device is in a low-power mode. Kept high by hardware as long as the system is clocked from HSIUSB48. Note: Only applicable on STM32C071xx, reserved on other devices..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

HSIUSB48RDY

Bit 23: HSIUSB48 clock ready flag Set by hardware when the HSIUSB48 oscillator is enabled through HSIUSB48ON and ready to use (stable). Note: Only applicable on STM32C071xx, reserved on other devices..

Allowed values:
0: B_0x0: Not ready
1: B_0x1: Ready

RCC_ICSCR

RCC internal clock source calibration register

Offset: 0x4, size: 32, reset: 0x00004000, access: read-write

1/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
HSITRIM
rw
HSICAL
r
Toggle fields

HSICAL

Bits 0-7: HSI48 clock calibration This bitfield directly acts on the HSI48 clock frequency. Its value is a sum of an internal factory-programmed number and the value of the HSITRIM[6:0] bitfield. In the factory, the internal number is set to calibrate the HSI48 clock frequency to 48 MHz (with HSITRIM[6:0] left at its reset value). Refer to the device datasheet for HSI48 calibration accuracy and for the frequency trimming granularity. Note: The trimming effect presents discontinuities at HSICAL[7:0] multiples of 64..

HSITRIM

Bits 8-14: HSI48 clock trimming The value of this bitfield contributes to the HSICAL[7:0] bitfield value. It allows HSI48 clock frequency user trimming. The HSI48 frequency accuracy as stated in the device datasheet applies when this bitfield is left at its reset value..

RCC_CFGR

RCC clock configuration register

Offset: 0x8, size: 32, reset: 0x00000000, access: read-write

8/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MCOPRE
rw
MCOSEL
rw
MCO2PRE
rw
MCO2SEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PPRE
rw
HPRE
rw
SWS
r
SW
rw
Toggle fields

SW

Bits 0-2: System clock switch This bitfield is controlled by software and hardware. The bitfield selects the clock for SYSCLK as follows: Others: Reserved The setting is forced by hardware to 000 (HSISYS selected) when the MCU exits Stop, or Standby, or Shutdown mode, or when the setting is 001 (HSE selected) and HSE oscillator failure is detected..

Allowed values:
0: B_0x0: HSISYS
1: B_0x1: HSE
3: B_0x3: LSI
4: B_0x4: LSE

SWS

Bits 3-5: System clock switch status This bitfield is controlled by hardware to indicate the clock source used as system clock: Others: Reserved.

Allowed values:
0: B_0x0: HSISYS
1: B_0x1: HSE
3: B_0x3: LSI
4: B_0x4: LSE

HPRE

Bits 8-11: AHB prescaler This bitfield is controlled by software. To produce HCLK clock, it sets the division factor of SYSCLK clock as follows: 0xxx: 1.

Allowed values:
8: B_0x8: 2
9: B_0x9: 4
10: B_0xA: 8
11: B_0xB: 16
12: B_0xC: 64
13: B_0xD: 128
14: B_0xE: 256
15: B_0xF: 512

PPRE

Bits 12-14: APB prescaler This bitfield is controlled by software. To produce PCLK clock, it sets the division factor of HCLK clock as follows: 0xx: 1.

Allowed values:
4: B_0x4: 2
5: B_0x5: 4
6: B_0x6: 8
7: B_0x7: 16

MCO2SEL

Bits 16-19: Microcontroller clock output 2 clock selector This bitfield is controlled by software. It sets the clock selector for MCO2 output as follows: Other: reserved, must not be used Note: This clock output may have some truncated cycles at startup or during MCO2 clock source switching. On STM32C011xx and STM32C031xx, MCOSEL[3] is reserved..

Allowed values:
0: B_0x0: no clock
1: B_0x1: SYSCLK
3: B_0x3: HSI48
4: B_0x4: HSE
6: B_0x6: LSI
7: B_0x7: LSE
8: B_0x8: HSIUSB48

MCO2PRE

Bits 20-23: Microcontroller clock output 2 prescaler This bitfield is controlled by software. It sets the division factor of the clock sent to the MCO2 output as follows: ... Other: Reserved It is highly recommended to set this field before the MCO2 output is enabled. Note: Values above 0111 are only significant for STM32C071xx. On STM32C011xx and STM32C031xx devices, MCOPRE[3] is reserved..

Allowed values:
0: B_0x0: 1
1: B_0x1: 2
2: B_0x2: 4
7: B_0x7: 128
8: B_0x8: 256
9: B_0x9: 512
10: B_0xA: 1024

MCOSEL

Bits 24-27: Microcontroller clock output clock selector This bitfield is controlled by software. It sets the clock selector for MCO output as follows: Other: reserved, must not be used Note: This clock output may have some truncated cycles at startup or during MCO clock source switching. On STM32C011xx and STM32C031xx, MCOSEL[3] is reserved..

Allowed values:
0: B_0x0: no clock
1: B_0x1: SYSCLK
3: B_0x3: HSI48
4: B_0x4: HSE
6: B_0x6: LSI
7: B_0x7: LSE
8: B_0x8: HSIUSB48

MCOPRE

Bits 28-31: Microcontroller clock output prescaler This bitfield is controlled by software. It sets the division factor of the clock sent to the MCO output as follows: ... Other: Reserved It is highly recommended to set this field before the MCO output is enabled. Note: Values above 0111 are only significant for STM32C071xx. On STM32C011xx and STM32C031xx devices, MCOPRE[3] is reserved..

Allowed values:
0: B_0x0: 1
1: B_0x1: 2
2: B_0x2: 4
7: B_0x7: 128
8: B_0x8: 256
9: B_0x9: 512
10: B_0xA: 1024

RCC_CRRCR

RCC clock recovery RC register

Offset: 0x14, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
HSIUSB48CAL
r
Toggle fields

HSIUSB48CAL

Bits 0-8: HSIUSB48 clock calibration These bits are initialized at startup with the factory-programmed HSIUSB48 calibration trim value..

RCC_CIER

RCC clock interrupt enable register

Offset: 0x18, size: 32, reset: 0x00000000, access: read-write

5/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
HSERDYIE
rw
HSIRDYIE
rw
HSIUSB48RDYIE
rw
LSERDYIE
rw
LSIRDYIE
rw
Toggle fields

LSIRDYIE

Bit 0: LSI ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the LSI oscillator stabilization:.

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

LSERDYIE

Bit 1: LSE ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the LSE oscillator stabilization:.

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

HSIUSB48RDYIE

Bit 2: HSIUSB48 ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the HSIUSB48 oscillator stabilization: Note: Only applicable on STM32C071xx, reserved on other devices..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

HSIRDYIE

Bit 3: HSI48 ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the HSI48 oscillator stabilization:.

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

HSERDYIE

Bit 4: HSE ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the HSE oscillator stabilization:.

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RCC_CIFR

RCC clock interrupt flag register

Offset: 0x1c, size: 32, reset: 0x00000000, access: read-only

7/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LSECSSF
r
CSSF
r
HSERDYF
r
HSIRDYF
r
HSIUSB48RDYF
r
LSERDYF
r
LSIRDYF
r
Toggle fields

LSIRDYF

Bit 0: LSI ready interrupt flag This flag indicates a pending interrupt upon LSE clock getting ready. Set by hardware when the LSI clock becomes stable and LSIRDYDIE is set. Cleared by software setting the LSIRDYC bit..

Allowed values:
0: B_0x0: Interrupt not pending
1: B_0x1: Interrupt pending

LSERDYF

Bit 1: LSE ready interrupt flag This flag indicates a pending interrupt upon LSE clock getting ready. Set by hardware when the LSE clock becomes stable and LSERDYDIE is set. Cleared by software setting the LSERDYC bit..

Allowed values:
0: B_0x0: Interrupt not pending
1: B_0x1: Interrupt pending

HSIUSB48RDYF

Bit 2: HSIUSB48 ready interrupt flag Set by hardware when the HSIUSB48 clock becomes stable and HSIUSB48RDYIE is set as a response to setting HSIUSB48ON (refer to RCC clock control register (RCC_CR)). When HSIUSB48ON is not set but the HSIUSB48 oscillator is enabled by the peripheral through a clock request, this bit is not set and no interrupt is generated. Cleared by software setting the HSIUSB48RDYC bit. Note: Only applicable on STM32C071xx, reserved on other devices..

Allowed values:
0: B_0x0: Interrupt not pending
1: B_0x1: Interrupt pending

HSIRDYF

Bit 3: HSI48 ready interrupt flag This flag indicates a pending interrupt upon HSI48 clock getting ready. Set by hardware when the HSI48 clock becomes stable and HSIRDYIE is set in response to setting the HSION (refer to RCC clock control register (RCC_CR)). When HSION is not set but the HSI48 oscillator is enabled by the peripheral through a clock request, this bit is not set and no interrupt is generated. Cleared by software setting the HSIRDYC bit..

Allowed values:
0: B_0x0: Interrupt not pending
1: B_0x1: Interrupt pending

HSERDYF

Bit 4: HSE ready interrupt flag This flag indicates a pending interrupt upon HSE clock getting ready. Set by hardware when the HSE clock becomes stable and HSERDYIE is set. Cleared by software setting the HSERDYC bit..

Allowed values:
0: B_0x0: Interrupt not pending
1: B_0x1: Interrupt pending

CSSF

Bit 8: HSE clock security system interrupt flag This flag indicates a pending interrupt upon HSE clock failure. Set by hardware when a failure is detected in the HSE oscillator. Cleared by software setting the CSSC bit..

Allowed values:
0: B_0x0: Interrupt not pending
1: B_0x1: Interrupt pending

LSECSSF

Bit 9: LSE clock security system interrupt flag This flag indicates a pending interrupt upon LSE clock failure. Set by hardware when a failure is detected in the LSE oscillator. Cleared by software by setting the LSECSSC bit..

Allowed values:
0: B_0x0: Interrupt not pending
1: B_0x1: Interrupt pending

RCC_CICR

RCC clock interrupt clear register

Offset: 0x20, size: 32, reset: 0x00000000, access: write-only

7/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LSECSSC
w
CSSC
w
HSERDYC
w
HSIRDYC
w
HSIUSB48RDYC
w
LSERDYC
w
LSIRDYC
w
Toggle fields

LSIRDYC

Bit 0: LSI ready interrupt clear This bit is set by software to clear the LSIRDYF flag..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Clear LSIRDYF flag

LSERDYC

Bit 1: LSE ready interrupt clear This bit is set by software to clear the LSERDYF flag..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Clear LSERDYF flag

HSIUSB48RDYC

Bit 2: HSIUSB48 ready interrupt clear This bit is set software to clear the HSIUSB48RDYF flag. Note: Only applicable on STM32C071xx, reserved on other devices..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Clear HSIUSB48RDYF flag

HSIRDYC

Bit 3: HSI48 ready interrupt clear This bit is set software to clear the HSIRDYF flag..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Clear HSIRDYF flag

HSERDYC

Bit 4: HSE ready interrupt clear This bit is set by software to clear the HSERDYF flag..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Clear HSERDYF flag

CSSC

Bit 8: Clock security system interrupt clear This bit is set by software to clear the HSECSSF flag..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Clear CSSF flag

LSECSSC

Bit 9: LSE Clock security system interrupt clear This bit is set by software to clear the LSECSSF flag..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Clear LSECSSF flag

RCC_IOPRSTR

RCC I/O port reset register

Offset: 0x24, size: 32, reset: 0x00000000, access: read-write

5/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
GPIOFRST
rw
GPIODRST
rw
GPIOCRST
rw
GPIOBRST
rw
GPIOARST
rw
Toggle fields

GPIOARST

Bit 0: I/O port A reset This bit is set and cleared by software..

Allowed values:
0: B_0x0: no effect
1: B_0x1: Reset I/O port A

GPIOBRST

Bit 1: I/O port B reset This bit is set and cleared by software..

Allowed values:
0: B_0x0: no effect
1: B_0x1: Reset I/O port B

GPIOCRST

Bit 2: I/O port C reset This bit is set and cleared by software..

Allowed values:
0: B_0x0: no effect
1: B_0x1: Reset I/O port C

GPIODRST

Bit 3: I/O port D reset This bit is set and cleared by software..

Allowed values:
0: B_0x0: no effect
1: B_0x1: Reset I/O port D

GPIOFRST

Bit 5: I/O port F reset This bit is set and cleared by software..

Allowed values:
0: B_0x0: no effect
1: B_0x1: Reset I/O port F

RCC_AHBRSTR

RCC AHB peripheral reset register

Offset: 0x28, size: 32, reset: 0x00000000, access: read-write

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CRCRST
rw
FLASHRST
rw
DMA1RST
rw
Toggle fields

DMA1RST

Bit 0: DMA1 and DMAMUX reset Set and cleared by software..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Reset DMA1 and DMAMUX

FLASHRST

Bit 8: Flash memory interface reset Set and cleared by software. This bit can only be set when the Flash memory is in power down mode..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Reset Flash memory interface

CRCRST

Bit 12: CRC reset Set and cleared by software..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Reset CRC

RCC_APBRSTR1

RCC APB peripheral reset register 1

Offset: 0x2c, size: 32, reset: 0x00000000, access: read-write

10/10 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PWRRST
rw
DBGRST
rw
I2C2RST
rw
I2C1RST
rw
USART2RST
rw
CRSRST
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SPI2RST
rw
USBRST
rw
TIM3RST
rw
TIM2RST
rw
Toggle fields

TIM2RST

Bit 0: TIM2 timer reset Set and cleared by software. Note: Only applicable on STM32C071xx, reserved on other devices..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Reset TIM2

TIM3RST

Bit 1: TIM3 timer reset Set and cleared by software..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Reset TIM3

USBRST

Bit 13: USB reset Set and cleared by software. Note: Only applicable on STM32C071xx, reserved on other devices..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Reset USB

SPI2RST

Bit 14: SPI2 reset Set and cleared by software. Note: Only applicable on STM32C071xx, reserved on other devices..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Reset SPI2

CRSRST

Bit 16: CRS reset Set and cleared by software. Note: Only applicable on STM32C071xx, reserved on other devices..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Reset CRS

USART2RST

Bit 17: USART2 reset Set and cleared by software..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Reset USART2

I2C1RST

Bit 21: I2C1 reset Set and cleared by software..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Reset I2C1

I2C2RST

Bit 22: I2C2 reset Set and cleared by software. Note: Only applicable on STM32C071xx, reserved on other devices..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Reset I2C2

DBGRST

Bit 27: Debug support reset Set and cleared by software..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Reset DBG

PWRRST

Bit 28: Power interface reset Set and cleared by software..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Reset PWR

RCC_APBRSTR2

RCC APB peripheral reset register 2

Offset: 0x30, size: 32, reset: 0x00000000, access: read-write

8/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ADCRST
rw
TIM17RST
rw
TIM16RST
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TIM14RST
rw
USART1RST
rw
SPI1RST
rw
TIM1RST
rw
SYSCFGRST
rw
Toggle fields

SYSCFGRST

Bit 0: SYSCFG reset Set and cleared by software..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Reset SYSCFG

TIM1RST

Bit 11: TIM1 timer reset Set and cleared by software..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Reset TIM1 timer

SPI1RST

Bit 12: SPI1 reset Set and cleared by software..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Reset SPI1

USART1RST

Bit 14: USART1 reset Set and cleared by software..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Reset USART1

TIM14RST

Bit 15: TIM14 timer reset Set and cleared by software..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Reset TIM14 timer

TIM16RST

Bit 17: TIM16 timer reset Set and cleared by software..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Reset TIM16 timer

TIM17RST

Bit 18: TIM16 timer reset Set and cleared by software..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Reset TIM17 timer

ADCRST

Bit 20: ADC reset Set and cleared by software..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Reset ADC

RCC_IOPENR

RCC I/O port clock enable register

Offset: 0x34, size: 32, reset: 0x00000000, access: read-write

5/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
GPIOFEN
rw
GPIODEN
rw
GPIOCEN
rw
GPIOBEN
rw
GPIOAEN
rw
Toggle fields

GPIOAEN

Bit 0: I/O port A clock enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

GPIOBEN

Bit 1: I/O port B clock enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

GPIOCEN

Bit 2: I/O port C clock enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

GPIODEN

Bit 3: I/O port D clock enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

GPIOFEN

Bit 5: I/O port F clock enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RCC_AHBENR

RCC AHB peripheral clock enable register

Offset: 0x38, size: 32, reset: 0x00000100, access: read-write

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CRCEN
rw
FLASHEN
rw
DMA1EN
rw
Toggle fields

DMA1EN

Bit 0: DMA1 and DMAMUX clock enable Set and cleared by software. DMAMUX is enabled as long as at least one DMA peripheral is enabled..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

FLASHEN

Bit 8: Flash memory interface clock enable Set and cleared by software. This bit can only be cleared when the Flash memory is in power down mode..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

CRCEN

Bit 12: CRC clock enable Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RCC_APBENR1

RCC APB peripheral clock enable register 1

Offset: 0x3c, size: 32, reset: 0x00000000, access: read-write

12/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PWREN
rw
DBGEN
rw
I2C2EN
rw
I2C1EN
rw
USART2EN
rw
CRSEN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SPI2EN
rw
USBEN
rw
WWDGEN
rw
RTCAPBEN
rw
TIM3EN
rw
TIM2EN
rw
Toggle fields

TIM2EN

Bit 0: TIM2 timer clock enable Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

TIM3EN

Bit 1: TIM3 timer clock enable Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RTCAPBEN

Bit 10: RTC APB clock enable Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

WWDGEN

Bit 11: WWDG clock enable Set by software to enable the window watchdog clock. Cleared by hardware system reset This bit can also be set by hardware if the WWDG_SW option bit is 0..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

USBEN

Bit 13: USB clock enable Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

SPI2EN

Bit 14: SPI2 clock enable Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

CRSEN

Bit 16: CRS clock enable Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

USART2EN

Bit 17: USART2 clock enable Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

I2C1EN

Bit 21: I2C1 clock enable Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

I2C2EN

Bit 22: I2C2 clock enable Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

DBGEN

Bit 27: Debug support clock enable Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

PWREN

Bit 28: Power interface clock enable Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RCC_APBENR2

RCC APB peripheral clock enable register 2

Offset: 0x40, size: 32, reset: 0x00000000, access: read-write

8/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ADCEN
rw
TIM17EN
rw
TIM16EN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TIM14EN
rw
USART1EN
rw
SPI1EN
rw
TIM1EN
rw
SYSCFGEN
rw
Toggle fields

SYSCFGEN

Bit 0: SYSCFG clock enable Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

TIM1EN

Bit 11: TIM1 timer clock enable Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

SPI1EN

Bit 12: SPI1 clock enable Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

USART1EN

Bit 14: USART1 clock enable Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

TIM14EN

Bit 15: TIM14 timer clock enable Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

TIM16EN

Bit 17: TIM16 timer clock enable Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

TIM17EN

Bit 18: TIM16 timer clock enable Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

ADCEN

Bit 20: ADC clock enable Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RCC_IOPSMENR

RCC I/O port in Sleep mode clock enable register

Offset: 0x44, size: 32, reset: 0x0000002F, access: read-write

5/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
GPIOFSMEN
rw
GPIODSMEN
rw
GPIOCSMEN
rw
GPIOBSMEN
rw
GPIOASMEN
rw
Toggle fields

GPIOASMEN

Bit 0: I/O port A clock enable during Sleep mode Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

GPIOBSMEN

Bit 1: I/O port B clock enable during Sleep mode Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

GPIOCSMEN

Bit 2: I/O port C clock enable during Sleep mode Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

GPIODSMEN

Bit 3: I/O port D clock enable during Sleep mode Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

GPIOFSMEN

Bit 5: I/O port F clock enable during Sleep mode Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RCC_AHBSMENR

RCC AHB peripheral clock enable in Sleep/Stop mode register

Offset: 0x48, size: 32, reset: 0x00001301, access: read-write

4/4 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CRCSMEN
rw
SRAMSMEN
rw
FLASHSMEN
rw
DMA1SMEN
rw
Toggle fields

DMA1SMEN

Bit 0: DMA1 and DMAMUX clock enable during Sleep mode Set and cleared by software. Clock to DMAMUX during Sleep mode is enabled as long as the clock in Sleep mode is enabled to at least one DMA peripheral..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

FLASHSMEN

Bit 8: Flash memory interface clock enable during Sleep mode Set and cleared by software. This bit can be activated only when the Flash memory is in power down mode..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

SRAMSMEN

Bit 9: SRAM clock enable during Sleep mode Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

CRCSMEN

Bit 12: CRC clock enable during Sleep mode Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RCC_APBSMENR1

RCC APB peripheral clock enable in Sleep/Stop mode register 1

Offset: 0x4c, size: 32, reset: 0x18636C03, access: read-write

12/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PWRSMEN
rw
DBGSMEN
rw
I2C2SMEN
rw
I2C1SMEN
rw
USART2SMEN
rw
CRSSMEN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SPI2SMEN
rw
USBSMEN
rw
WWDGSMEN
rw
RTCAPBSMEN
rw
TIM3SMEN
rw
TIM2SMEN
rw
Toggle fields

TIM2SMEN

Bit 0: TIM2 timer clock enable during Sleep mode Set and cleared by software. Note: Only applicable on STM32C071xx, reserved on other devices..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

TIM3SMEN

Bit 1: TIM3 timer clock enable during Sleep mode Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RTCAPBSMEN

Bit 10: RTC APB clock enable during Sleep mode Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

WWDGSMEN

Bit 11: WWDG clock enable during Sleep and Stop modes Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

USBSMEN

Bit 13: USB clock enable during Sleep and Stop modes Set and cleared by software. Note: Only applicable on STM32C071xx, reserved on other devices..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

SPI2SMEN

Bit 14: SPI2 clock enable during Sleep and Stop modes Set and cleared by software. Note: Only applicable on STM32C071xx, reserved on other devices..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

CRSSMEN

Bit 16: CRS clock enable during Sleep and Stop modes Set and cleared by software. Note: Only applicable on STM32C071xx, reserved on other devices..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

USART2SMEN

Bit 17: USART2 clock enable during Sleep and Stop modes Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

I2C1SMEN

Bit 21: I2C1 clock enable during Sleep and Stop modes Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

I2C2SMEN

Bit 22: I2C2 clock enable during Sleep and Stop modes Set and cleared by software. Note: Only applicable on STM32C071xx, reserved on other devices..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

DBGSMEN

Bit 27: Debug support clock enable during Sleep mode Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

PWRSMEN

Bit 28: Power interface clock enable during Sleep mode Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RCC_APBSMENR2

RCC APB peripheral clock enable in Sleep/Stop mode register 2

Offset: 0x50, size: 32, reset: 0x0016D801, access: read-write

8/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ADCSMEN
rw
TIM17SMEN
rw
TIM16SMEN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TIM14SMEN
rw
USART1SMEN
rw
SPI1SMEN
rw
TIM1SMEN
rw
SYSCFGSMEN
rw
Toggle fields

SYSCFGSMEN

Bit 0: SYSCFG clock enable during Sleep and Stop modes Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

TIM1SMEN

Bit 11: TIM1 timer clock enable during Sleep mode Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

SPI1SMEN

Bit 12: SPI1 clock enable during Sleep mode Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

USART1SMEN

Bit 14: USART1 clock enable during Sleep and Stop modes Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

TIM14SMEN

Bit 15: TIM14 timer clock enable during Sleep mode Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

TIM16SMEN

Bit 17: TIM16 timer clock enable during Sleep mode Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

TIM17SMEN

Bit 18: TIM16 timer clock enable during Sleep mode Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

ADCSMEN

Bit 20: ADC clock enable during Sleep mode Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RCC_CCIPR1

RCC peripherals independent clock configuration register 1

Offset: 0x54, size: 32, reset: 0x00000000, access: read-write

4/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ADCSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
I2S1SEL
rw
I2C1SEL
rw
USART1SEL
rw
Toggle fields

USART1SEL

Bits 0-1: USART1 clock source selection This bitfield is controlled by software to select USART1 clock source as follows:.

Allowed values:
0: B_0x0: PCLK
1: B_0x1: SYSCLK
2: B_0x2: HSIKER
3: B_0x3: LSE

I2C1SEL

Bits 12-13: I2C1 clock source selection This bitfield is controlled by software to select I2C1 clock source as follows:.

Allowed values:
0: B_0x0: PCLK
1: B_0x1: SYSCLK
2: B_0x2: HSIKER

I2S1SEL

Bits 14-15: I2S1 clock source selection This bitfield is controlled by software to select I2S1 clock source as follows:.

Allowed values:
0: B_0x0: SYSCLK
2: B_0x2: HSIKER
3: B_0x3: I2S_CKIN

ADCSEL

Bits 30-31: ADCs clock source selection This bitfield is controlled by software to select the asynchronous clock source for ADC:.

Allowed values:
0: B_0x0: System clock
2: B_0x2: HSIKER

RCC_CCIPR2

RCC peripherals independent clock configuration register 2

Offset: 0x58, size: 32, reset: 0x00000000, access: read-write

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
USBSEL
rw
Toggle fields

USBSEL

Bit 12: USB clock source selection Set and cleared by software..

Allowed values:
0: B_0x0: HSIUSB48
1: B_0x1: HSE

RCC_CSR1

RCC control/status register 1

Offset: 0x5c, size: 32, reset: 0x00000000, access: read-write

11/11 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LSCOSEL
rw
LSCOEN
rw
RTCRST
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RTCEN
rw
RTCSEL
rw
LSECSSD
r
LSECSSON
rw
LSEDRV
rw
LSEBYP
rw
LSERDY
r
LSEON
rw
Toggle fields

LSEON

Bit 0: LSE oscillator enable Set and cleared by software to enable LSE oscillator:.

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

LSERDY

Bit 1: LSE oscillator ready Set and cleared by hardware to indicate when the external 32 kHz oscillator is ready (stable): After the LSEON bit is cleared, LSERDY goes low after 6 external low-speed oscillator clock cycles..

Allowed values:
0: B_0x0: Not ready
1: B_0x1: Ready

LSEBYP

Bit 2: LSE oscillator bypass Set and cleared by software to bypass the LSE oscillator (in debug mode). This bit can be written only when the external 32 kHz oscillator is disabled (LSEON=0 and LSERDY=0)..

Allowed values:
0: B_0x0: Not bypassed
1: B_0x1: Bypassed

LSEDRV

Bit 3: LSE oscillator drive capability Set by software to select the LSE oscillator drive capability as follows: Applicable when the LSE oscillator is in Xtal mode, as opposed to bypass mode..

Allowed values:
0: B_0x0: medium-high driving capability
1: B_0x1: high driving capability

LSECSSON

Bit 5: CSS on LSE enable Set by software to enable the clock security system on LSE (32 kHz) oscillator as follows: LSECSSON must be enabled after the LSE oscillator is enabled (LSEON bit enabled) and ready (LSERDY flag set by hardware), and after the RTCSEL bit is selected. Once enabled, this bit cannot be disabled, except after a LSE failure detection (LSECSSD =1). In that case the software must disable the LSECSSON bit..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

LSECSSD

Bit 6: CSS on LSE failure Detection Set by hardware to indicate when a failure is detected by the clock security system on the external 32 kHz oscillator (LSE):.

Allowed values:
0: B_0x0: No failure detected
1: B_0x1: Failure detected

RTCSEL

Bits 8-9: RTC clock source selection Set by software to select the clock source for the RTC as follows: Once the RTC clock source is selected, it cannot be changed anymore unless the RTC domain is reset, or unless a failure is detected on LSE (LSECSSD is set). The RTCRST bit can be used to reset this bitfield to 00..

Allowed values:
0: B_0x0: No clock
1: B_0x1: LSE
2: B_0x2: LSI
3: B_0x3: HSE divided by 32

RTCEN

Bit 15: RTC clock enable Set and cleared by software. The bit enables clock to RTC and TAMP..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

RTCRST

Bit 16: RTC domain software reset Set and cleared by software to reset the RTC domain:.

Allowed values:
0: B_0x0: No effect
1: B_0x1: Reset

LSCOEN

Bit 24: Low-speed clock output (LSCO) enable Set and cleared by software..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

LSCOSEL

Bit 25: Low-speed clock output selection Set and cleared by software to select the low-speed output clock:.

Allowed values:
0: B_0x0: LSI
1: B_0x1: LSE

RCC_CSR2

RCC control/status register 2

Offset: 0x60, size: 32, reset: 0x00000000, access: read-write

10/10 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LPWRRSTF
r
WWDGRSTF
r
IWDGRSTF
r
SFTRSTF
r
PWRRSTF
r
PINRSTF
r
OBLRSTF
r
RMVF
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LSIRDY
r
LSION
rw
Toggle fields

LSION

Bit 0: LSI oscillator enable Set and cleared by software to enable/disable the LSI oscillator:.

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

LSIRDY

Bit 1: LSI oscillator ready Set and cleared by hardware to indicate when the LSI oscillator is ready (stable): After the LSION bit is cleared, LSIRDY goes low after 3 LSI oscillator clock cycles. This bit can be set even if LSION = 0 if the LSI is requested by the Clock Security System on LSE, by the Independent Watchdog or by the RTC..

Allowed values:
0: B_0x0: Not ready
1: B_0x1: Ready

RMVF

Bit 23: Remove reset flags Set by software to clear the reset flags..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Clear reset flags

OBLRSTF

Bit 25: Option byte loader reset flag Set by hardware when a reset from the Option byte loading occurs. Cleared by setting the RMVF bit..

Allowed values:
0: B_0x0: No reset from Option byte loading occurred
1: B_0x1: Reset from Option byte loading occurred

PINRSTF

Bit 26: Pin reset flag Set by hardware when a reset from the NRST pin occurs. Cleared by setting the RMVF bit..

Allowed values:
0: B_0x0: No reset from NRST pin occurred
1: B_0x1: Reset from NRST pin occurred

PWRRSTF

Bit 27: BOR or POR/PDR flag Set by hardware when a BOR or POR/PDR occurs. Cleared by setting the RMVF bit..

Allowed values:
0: B_0x0: No BOR or POR occurred
1: B_0x1: BOR or POR occurred

SFTRSTF

Bit 28: Software reset flag Set by hardware when a software reset occurs. Cleared by setting the RMVF bit..

Allowed values:
0: B_0x0: No software reset occurred
1: B_0x1: Software reset occurred

IWDGRSTF

Bit 29: Independent window watchdog reset flag Set by hardware when an independent watchdog reset domain occurs. Cleared by setting the RMVF bit..

Allowed values:
0: B_0x0: No independent watchdog reset occurred
1: B_0x1: Independent watchdog reset occurred

WWDGRSTF

Bit 30: Window watchdog reset flag Set by hardware when a window watchdog reset occurs. Cleared by setting the RMVF bit..

Allowed values:
0: B_0x0: No window watchdog reset occurred
1: B_0x1: Window watchdog reset occurred

LPWRRSTF

Bit 31: Low-power reset flag Set by hardware when a reset occurs due to illegal Stop, or Standby, or Shutdown mode entry. Cleared by setting the RMVF bit. This operates only if nRST_STOP, or nRST_STDBY or nRST_SHDW option bits are cleared..

Allowed values:
0: B_0x0: No illegal mode reset occurred
1: B_0x1: Illegal mode reset occurred

RTC

0x40002800: RTC address block description

54/87 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 RTC_TR
0x4 RTC_DR
0x8 RTC_SSR
0xc RTC_ICSR
0x10 RTC_PRER
0x18 RTC_CR
0x24 RTC_WPR
0x28 RTC_CALR
0x2c RTC_SHIFTR
0x30 RTC_TSTR
0x34 RTC_TSDR
0x38 RTC_TSSSR
0x40 RTC_ALRMAR
0x44 RTC_ALRMASSR
0x50 RTC_SR
0x54 RTC_MISR
0x5c RTC_SCR
Toggle registers

RTC_TR

RTC time register

Offset: 0x0, size: 32, reset: 0x00000000, access: read-write

1/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PM
rw
HT
rw
HU
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MNT
rw
MNU
rw
ST
rw
SU
rw
Toggle fields

SU

Bits 0-3: Second units in BCD format.

ST

Bits 4-6: Second tens in BCD format.

MNU

Bits 8-11: Minute units in BCD format.

MNT

Bits 12-14: Minute tens in BCD format.

HU

Bits 16-19: Hour units in BCD format.

HT

Bits 20-21: Hour tens in BCD format.

PM

Bit 22: AM/PM notation.

Allowed values:
0: B_0x0: AM or 24-hour format
1: B_0x1: PM

RTC_DR

RTC date register

Offset: 0x4, size: 32, reset: 0x00002101, access: read-write

1/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
YT
rw
YU
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WDU
rw
MT
rw
MU
rw
DT
rw
DU
rw
Toggle fields

DU

Bits 0-3: Date units in BCD format.

DT

Bits 4-5: Date tens in BCD format.

MU

Bits 8-11: Month units in BCD format.

MT

Bit 12: Month tens in BCD format.

WDU

Bits 13-15: Week day units ....

Allowed values:
0: B_0x0: forbidden
1: B_0x1: Monday
7: B_0x7: Sunday

YU

Bits 16-19: Year units in BCD format.

YT

Bits 20-23: Year tens in BCD format.

RTC_SSR

RTC sub second register

Offset: 0x8, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SS
r
Toggle fields

SS

Bits 0-15: Sub second value SS[15:0] is the value in the synchronous prescaler counter. The fraction of a second is given by the formula below: Second fraction = (PREDIV_S - SS) / (PREDIV_S + 1) Note: SS can be larger than PREDIV_S only after a shift operation. In that case, the correct time/date is one second less than as indicated by RTC_TR/RTC_DR..

RTC_ICSR

RTC initialization control and status register

Offset: 0xc, size: 32, reset: 0x00000007, access: read-write

7/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RECALPF
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
INIT
rw
INITF
r
RSF
rw
INITS
r
SHPF
r
ALRAWF
r
Toggle fields

ALRAWF

Bit 0: Alarm A write flag This bit is set by hardware when alarm A values can be changed, after the ALRAE bit has been set to 0 in RTC_CR. It is cleared by hardware in initialization mode..

Allowed values:
0: B_0x0: Alarm A update not allowed
1: B_0x1: Alarm A update allowed

SHPF

Bit 3: Shift operation pending This flag is set by hardware as soon as a shift operation is initiated by a write to the RTC_SHIFTR register. It is cleared by hardware when the corresponding shift operation has been executed. Writing to the SHPF bit has no effect..

Allowed values:
0: B_0x0: No shift operation is pending
1: B_0x1: A shift operation is pending

INITS

Bit 4: Initialization status flag This bit is set by hardware when the calendar year field is different from 0 (Power-on reset state)..

Allowed values:
0: B_0x0: Calendar has not been initialized
1: B_0x1: Calendar has been initialized

RSF

Bit 5: Registers synchronization flag This bit is set by hardware each time the calendar registers are copied into the shadow registers (RTC_SSR, RTC_TR and RTC_DR). This bit is cleared by hardware in initialization mode, while a shift operation is pending (SHPF = 1), or when in bypass shadow register mode (BYPSHAD = 1). This bit can also be cleared by software. It is cleared either by software or by hardware in initialization mode..

Allowed values:
0: B_0x0: Calendar shadow registers not yet synchronized
1: B_0x1: Calendar shadow registers synchronized

INITF

Bit 6: Initialization flag When this bit is set to 1, the RTC is in initialization state, and the time, date and prescaler registers can be updated..

Allowed values:
0: B_0x0: Calendar registers update is not allowed
1: B_0x1: Calendar registers update is allowed

INIT

Bit 7: Initialization mode.

Allowed values:
0: B_0x0: Free running mode
1: B_0x1: Initialization mode used to program time and date register (RTC_TR and RTC_DR), and prescaler register (RTC_PRER). Counters are stopped and start counting from the new value when INIT is reset.

RECALPF

Bit 16: Recalibration pending Flag The RECALPF status flag is automatically set to 1 when software writes to the RTC_CALR register, indicating that the RTC_CALR register is blocked. When the new calibration settings are taken into account, this bit returns to 0. Refer to Re-calibration on-the-fly..

RTC_PRER

RTC prescaler register

Offset: 0x10, size: 32, reset: 0x007F00FF, access: read-write

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PREDIV_A
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PREDIV_S
rw
Toggle fields

PREDIV_S

Bits 0-14: Synchronous prescaler factor This is the synchronous division factor: ck_spre frequency = ck_apre frequency/(PREDIV_S+1).

PREDIV_A

Bits 16-22: Asynchronous prescaler factor This is the asynchronous division factor: ck_apre frequency = RTCCLK frequency/(PREDIV_A+1).

RTC_CR

RTC control register

Offset: 0x18, size: 32, reset: 0x00000000, access: read-write

16/18 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OUT2EN
rw
TAMPALRM_TYPE
rw
TAMPALRM_PU
rw
COE
rw
OSEL
rw
POL
rw
COSEL
rw
BKP
rw
SUB1H
w
ADD1H
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TSIE
rw
ALRAIE
rw
TSE
rw
ALRAE
rw
FMT
rw
BYPSHAD
rw
REFCKON
rw
TSEDGE
rw
Toggle fields

TSEDGE

Bit 3: Timestamp event active edge TSE must be reset when TSEDGE is changed to avoid unwanted TSF setting..

Allowed values:
0: B_0x0: RTC_TS input rising edge generates a timestamp event
1: B_0x1: RTC_TS input falling edge generates a timestamp event

REFCKON

Bit 4: RTC_REFIN reference clock detection enable (50 or 60 Hz) Note: PREDIV_S must be 0x00FF..

Allowed values:
0: B_0x0: RTC_REFIN detection disabled
1: B_0x1: RTC_REFIN detection enabled

BYPSHAD

Bit 5: Bypass the shadow registers Note: If the frequency of the APB1 clock is less than seven times the frequency of RTCCLK, BYPSHAD must be set to 1..

Allowed values:
0: B_0x0: Calendar values (when reading from RTC_SSR, RTC_TR, and RTC_DR) are taken from the shadow registers, which are updated once every two RTCCLK cycles.
1: B_0x1: Calendar values (when reading from RTC_SSR, RTC_TR, and RTC_DR) are taken directly from the calendar counters.

FMT

Bit 6: Hour format.

Allowed values:
0: B_0x0: 24 hour/day format
1: B_0x1: AM/PM hour format

ALRAE

Bit 8: Alarm A enable.

Allowed values:
0: B_0x0: Alarm A disabled
1: B_0x1: Alarm A enabled

TSE

Bit 11: timestamp enable.

Allowed values:
0: B_0x0: timestamp disable
1: B_0x1: timestamp enable

ALRAIE

Bit 12: Alarm A interrupt enable.

Allowed values:
0: B_0x0: Alarm A interrupt disabled
1: B_0x1: Alarm A interrupt enabled

TSIE

Bit 15: Timestamp interrupt enable.

Allowed values:
0: B_0x0: Timestamp interrupt disable
1: B_0x1: Timestamp interrupt enable

ADD1H

Bit 16: Add 1 hour (summer time change) When this bit is set outside initialization mode, 1 hour is added to the calendar time. This bit is always read as 0..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Adds 1 hour to the current time. This can be used for summer time change

SUB1H

Bit 17: Subtract 1 hour (winter time change) When this bit is set outside initialization mode, 1 hour is subtracted to the calendar time if the current hour is not 0. This bit is always read as 0. Setting this bit has no effect when current hour is 0..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Subtracts 1 hour to the current time. This can be used for winter time change.

BKP

Bit 18: Backup This bit can be written by the user to memorize whether the daylight saving time change has been performed or not..

COSEL

Bit 19: Calibration output selection When COE = 1, this bit selects which signal is output on CALIB. These frequencies are valid for RTCCLK at 32.768 kHz and prescalers at their default values (PREDIV_A = 127 and PREDIV_S = 255). Refer to Section 24.3.14: Calibration clock output..

Allowed values:
0: B_0x0: Calibration output is 512 Hz
1: B_0x1: Calibration output is 1 Hz

POL

Bit 20: Output polarity This bit is used to configure the polarity of TAMPALRM output..

Allowed values:
0: B_0x0: The pin is high when ALRAF is asserted (depending on OSEL[1:0]).
1: B_0x1: The pin is low when ALRAF is asserted (depending on OSEL[1:0]).

OSEL

Bits 21-22: Output selection These bits are used to select the flag to be routed to TAMPALRM output..

Allowed values:
0: B_0x0: Output disabled
1: B_0x1: Alarm A output enabled

COE

Bit 23: Calibration output enable This bit enables the CALIB output.

Allowed values:
0: B_0x0: Calibration output disabled
1: B_0x1: Calibration output enabled

TAMPALRM_PU

Bit 29: TAMPALRM pull-up enable.

Allowed values:
0: B_0x0: No pull-up is applied on TAMPALRM output
1: B_0x1: A pull-up is applied on TAMPALRM output

TAMPALRM_TYPE

Bit 30: TAMPALRM output type.

Allowed values:
0: B_0x0: TAMPALRM is push-pull output
1: B_0x1: TAMPALRM is open-drain output

OUT2EN

Bit 31: RTC_OUT2 output enable.

RTC_WPR

RTC write protection register

Offset: 0x24, size: 32, reset: 0x00000000, access: write-only

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
KEY
w
Toggle fields

KEY

Bits 0-7: Write protection key This byte is written by software. Reading this byte always returns 0x00. Refer to RTC register write protection for a description of how to unlock RTC register write protection..

RTC_CALR

RTC calibration register

Offset: 0x28, size: 32, reset: 0x00000000, access: read-write

1/4 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CALP
rw
CALW8
rw
CALW16
rw
CALM
rw
Toggle fields

CALM

Bits 0-8: Calibration minus The frequency of the calendar is reduced by masking CALM out of 2<sup>20</sup> RTCCLK pulses (32 seconds if the input frequency is 32768 Hz). This decreases the frequency of the calendar with a resolution of 0.9537 ppm. To increase the frequency of the calendar, this feature should be used in conjunction with CALP. See Section 24.3.12: RTC smooth digital calibration on page 606..

CALW16

Bit 13: Use a 16-second calibration cycle period When CALW16 is set to 1, the 16-second calibration cycle period is selected. This bit must not be set to 1 if CALW8 = 1. Note: CALM[0] is stuck at 0 when CALW16 = 1. Refer to Section 24.3.12: RTC smooth digital calibration..

CALW8

Bit 14: Use an 8-second calibration cycle period When CALW8 is set to 1, the 8-second calibration cycle period is selected. Note: CALM[1:0] are stuck at 00 when CALW8 = 1. Refer to Section 24.3.12: RTC smooth digital calibration..

CALP

Bit 15: Increase frequency of RTC by 488.5 ppm This feature is intended to be used in conjunction with CALM, which lowers the frequency of the calendar with a fine resolution. if the input frequency is 32768 Hz, the number of RTCCLK pulses added during a 32-second window is calculated as follows: (512 CALP) - CALM. Refer to Section 24.3.12: RTC smooth digital calibration..

Allowed values:
0: B_0x0: No RTCCLK pulses are added.
1: B_0x1: One RTCCLK pulse is effectively inserted every 2<sup>11</sup> pulses (frequency increased by 488.5 ppm).

RTC_SHIFTR

RTC shift control register

Offset: 0x2c, size: 32, reset: 0x00000000, access: write-only

1/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ADD1S
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SUBFS
w
Toggle fields

SUBFS

Bits 0-14: Subtract a fraction of a second These bits are write only and is always read as zero. Writing to this bit has no effect when a shift operation is pending (when SHPF = 1, in RTC_ICSR). The value which is written to SUBFS is added to the synchronous prescaler counter. Since this counter counts down, this operation effectively subtracts from (delays) the clock by: Delay (seconds) = SUBFS / (PREDIV_S + 1) A fraction of a second can effectively be added to the clock (advancing the clock) when the ADD1S function is used in conjunction with SUBFS, effectively advancing the clock by: Advance (seconds) = (1 - (SUBFS / (PREDIV_S + 1))). Note: Writing to SUBFS causes RSF to be cleared. Software can then wait until RSF = 1 to be sure that the shadow registers have been updated with the shifted time..

ADD1S

Bit 31: Add one second This bit is write only and is always read as zero. Writing to this bit has no effect when a shift operation is pending (when SHPF = 1, in RTC_ICSR). This function is intended to be used with SUBFS (see description below) in order to effectively add a fraction of a second to the clock in an atomic operation..

Allowed values:
0: B_0x0: No effect
1: B_0x1: Add one second to the clock/calendar

RTC_TSTR

RTC timestamp time register

Offset: 0x30, size: 32, reset: 0x00000000, access: read-only

7/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PM
r
HT
r
HU
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MNT
r
MNU
r
ST
r
SU
r
Toggle fields

SU

Bits 0-3: Second units in BCD format..

ST

Bits 4-6: Second tens in BCD format..

MNU

Bits 8-11: Minute units in BCD format..

MNT

Bits 12-14: Minute tens in BCD format..

HU

Bits 16-19: Hour units in BCD format..

HT

Bits 20-21: Hour tens in BCD format..

PM

Bit 22: AM/PM notation.

Allowed values:
0: B_0x0: AM or 24-hour format
1: B_0x1: PM

RTC_TSDR

RTC timestamp date register

Offset: 0x34, size: 32, reset: 0x00000000, access: read-only

5/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WDU
r
MT
r
MU
r
DT
r
DU
r
Toggle fields

DU

Bits 0-3: Date units in BCD format.

DT

Bits 4-5: Date tens in BCD format.

MU

Bits 8-11: Month units in BCD format.

MT

Bit 12: Month tens in BCD format.

WDU

Bits 13-15: Week day units.

RTC_TSSSR

RTC timestamp sub second register

Offset: 0x38, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SS
r
Toggle fields

SS

Bits 0-15: Sub second value SS[15:0] is the value of the synchronous prescaler counter when the timestamp event occurred..

RTC_ALRMAR

RTC alarm A register

Offset: 0x40, size: 32, reset: 0x00000000, access: read-write

6/14 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MSK4
rw
WDSEL
rw
DT
rw
DU
rw
MSK3
rw
PM
rw
HT
rw
HU
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MSK2
rw
MNT
rw
MNU
rw
MSK1
rw
ST
rw
SU
rw
Toggle fields

SU

Bits 0-3: Second units in BCD format..

ST

Bits 4-6: Second tens in BCD format..

MSK1

Bit 7: Alarm A seconds mask.

Allowed values:
0: B_0x0: Alarm A set if the seconds match
1: B_0x1: Seconds don t care in alarm A comparison

MNU

Bits 8-11: Minute units in BCD format.

MNT

Bits 12-14: Minute tens in BCD format.

MSK2

Bit 15: Alarm A minutes mask.

Allowed values:
0: B_0x0: Alarm A set if the minutes match
1: B_0x1: Minutes don t care in alarm A comparison

HU

Bits 16-19: Hour units in BCD format.

HT

Bits 20-21: Hour tens in BCD format.

PM

Bit 22: AM/PM notation.

Allowed values:
0: B_0x0: AM or 24-hour format
1: B_0x1: PM

MSK3

Bit 23: Alarm A hours mask.

Allowed values:
0: B_0x0: Alarm A set if the hours match
1: B_0x1: Hours don t care in alarm A comparison

DU

Bits 24-27: Date units or day in BCD format.

DT

Bits 28-29: Date tens in BCD format.

WDSEL

Bit 30: Week day selection.

Allowed values:
0: B_0x0: DU[3:0] represents the date units
1: B_0x1: DU[3:0] represents the week day. DT[1:0] is don t care.

MSK4

Bit 31: Alarm A date mask.

Allowed values:
0: B_0x0: Alarm A set if the date/day match
1: B_0x1: Date/day don t care in alarm A comparison

RTC_ALRMASSR

RTC alarm A sub second register

Offset: 0x44, size: 32, reset: 0x00000000, access: read-write

1/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MASKSS
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SS
rw
Toggle fields

SS

Bits 0-14: Sub seconds value This value is compared with the contents of the synchronous prescaler counter to determine if alarm A is to be activated. Only bits 0 up MASKSS-1 are compared..

MASKSS

Bits 24-27: Mask the most-significant bits starting at this bit ... The overflow bits of the synchronous counter (bits 15) is never compared. This bit can be different from 0 only after a shift operation. Note: The overflow bits of the synchronous counter (bits 15) is never compared. This bit can be different from 0 only after a shift operation..

Allowed values:
0: B_0x0: No comparison on sub seconds for alarm A. The alarm is set when the seconds unit is incremented (assuming that the rest of the fields match).
1: B_0x1: SS[14:1] are don t care in alarm A comparison. Only SS[0] is compared.

RTC_SR

RTC status register

Offset: 0x50, size: 32, reset: 0x00000000, access: read-only

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TSOVF
r
TSF
r
ALRAF
r
Toggle fields

ALRAF

Bit 0: Alarm A flag This flag is set by hardware when the time/date registers (RTC_TR and RTC_DR) match the alarm A register (RTC_ALRMAR)..

TSF

Bit 3: Timestamp flag This flag is set by hardware when a timestamp event occurs..

TSOVF

Bit 4: Timestamp overflow flag This flag is set by hardware when a timestamp event occurs while TSF is already set. It is recommended to check and then clear TSOVF only after clearing the TSF bit. Otherwise, an overflow might not be noticed if a timestamp event occurs immediately before the TSF bit is cleared..

RTC_MISR

RTC masked interrupt status register

Offset: 0x54, size: 32, reset: 0x00000000, access: read-only

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TSOVMF
r
TSMF
r
ALRAMF
r
Toggle fields

ALRAMF

Bit 0: Alarm A masked flag This flag is set by hardware when the alarm A interrupt occurs..

TSMF

Bit 3: Timestamp masked flag This flag is set by hardware when a timestamp interrupt occurs..

TSOVMF

Bit 4: Timestamp overflow masked flag This flag is set by hardware when a timestamp interrupt occurs while TSMF is already set. It is recommended to check and then clear TSOVF only after clearing the TSF bit. Otherwise, an overflow might not be noticed if a timestamp event occurs immediately before the TSF bit is cleared..

RTC_SCR

RTC status clear register

Offset: 0x5c, size: 32, reset: 0x00000000, access: write-only

0/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CTSOVF
w
CTSF
w
CALRAF
w
Toggle fields

CALRAF

Bit 0: Clear alarm A flag Writing 1 in this bit clears the ALRAF bit in the RTC_SR register..

CTSF

Bit 3: Clear timestamp flag Writing 1 in this bit clears the TSOVF bit in the RTC_SR register..

CTSOVF

Bit 4: Clear timestamp overflow flag Writing 1 in this bit clears the TSOVF bit in the RTC_SR register. It is recommended to check and then clear TSOVF only after clearing the TSF bit. Otherwise, an overflow might not be noticed if a timestamp event occurs immediately before the TSF bit is cleared..

SPI1

0x40013000: SPI address block description

49/53 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 (16-bit) SPI_CR1
0x4 (16-bit) SPI_CR2
0x8 (16-bit) SPI_SR
0xc (16-bit) SPI_DR
0x10 (16-bit) SPI_CRCPR
0x14 (16-bit) SPI_RXCRCR
0x18 (16-bit) SPI_TXCRCR
0x1c (16-bit) SPI_I2SCFGR
0x20 (16-bit) SPI_I2SPR
Toggle registers

SPI_CR1

SPI control register 1

Offset: 0x0, size: 16, reset: 0x00000000, access: read-write

13/14 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BIDIMODE
rw
BIDIOE
rw
CRCEN
rw
CRCNEXT
rw
CRCL
rw
RXONLY
rw
SSM
rw
SSI
rw
LSBFIRST
rw
SPE
rw
BR
rw
MSTR
rw
CPOL
rw
CPHA
rw
Toggle fields

CPHA

Bit 0: Clock phase Note: This bit should not be changed when communication is ongoing. Note: This bit is not used in I<sup>2</sup>S mode and SPI TI mode except the case when CRC is applied at TI mode..

Allowed values:
0: B_0x0: The first clock transition is the first data capture edge
1: B_0x1: The second clock transition is the first data capture edge

CPOL

Bit 1: Clock polarity Note: This bit should not be changed when communication is ongoing. Note: This bit is not used in I<sup>2</sup>S mode and SPI TI mode except the case when CRC is applied at TI mode..

Allowed values:
0: B_0x0: CK to 0 when idle
1: B_0x1: CK to 1 when idle

MSTR

Bit 2: Master selection Note: This bit should not be changed when communication is ongoing. Note: This bit is not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: Slave configuration
1: B_0x1: Master configuration

BR

Bits 3-5: Baud rate control Note: These bits should not be changed when communication is ongoing. Note: These bits are not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: f<sub>PCLK</sub>/2
1: B_0x1: f<sub>PCLK</sub>/4
2: B_0x2: f<sub>PCLK</sub>/8
3: B_0x3: f<sub>PCLK</sub>/16
4: B_0x4: f<sub>PCLK</sub>/32
5: B_0x5: f<sub>PCLK</sub>/64
6: B_0x6: f<sub>PCLK</sub>/128
7: B_0x7: f<sub>PCLK</sub>/256

SPE

Bit 6: SPI enable Note: When disabling the SPI, follow the procedure described in Procedure for disabling the SPI on page 789. Note: This bit is not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: Peripheral disabled
1: B_0x1: Peripheral enabled

LSBFIRST

Bit 7: Frame format Note: 1. This bit should not be changed when communication is ongoing. Note: 2. This bit is not used in I<sup>2</sup>S mode and SPI TI mode..

Allowed values:
0: B_0x0: data is transmitted / received with the MSB first
1: B_0x1: data is transmitted / received with the LSB first

SSI

Bit 8: Internal slave select This bit has an effect only when the SSM bit is set. The value of this bit is forced onto the NSS pin and the I/O value of the NSS pin is ignored. Note: This bit is not used in I<sup>2</sup>S mode and SPI TI mode..

SSM

Bit 9: Software slave management When the SSM bit is set, the NSS pin input is replaced with the value from the SSI bit. Note: This bit is not used in I<sup>2</sup>S mode and SPI TI mode..

Allowed values:
0: B_0x0: Software slave management disabled
1: B_0x1: Software slave management enabled

RXONLY

Bit 10: Receive only mode enabled. This bit enables simplex communication using a single unidirectional line to receive data exclusively. Keep BIDIMODE bit clear when receive only mode is active.This bit is also useful in a multislave system in which this particular slave is not accessed, the output from the accessed slave is not corrupted. Note: This bit is not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: Full-duplex (Transmit and receive)
1: B_0x1: Output disabled (Receive-only mode)

CRCL

Bit 11: CRC length This bit is set and cleared by software to select the CRC length. Note: This bit should be written only when SPI is disabled (SPE = 0 ) for correct operation. Note: This bit is not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: 8-bit CRC length
1: B_0x1: 16-bit CRC length

CRCNEXT

Bit 12: Transmit CRC next Note: This bit has to be written as soon as the last data is written in the SPIx_DR register. Note: This bit is not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: Next transmit value is from Tx buffer.
1: B_0x1: Next transmit value is from Tx CRC register.

CRCEN

Bit 13: Hardware CRC calculation enable Note: This bit should be written only when SPI is disabled (SPE = 0 ) for correct operation. Note: This bit is not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: CRC calculation disabled
1: B_0x1: CRC calculation enabled

BIDIOE

Bit 14: Output enable in bidirectional mode This bit combined with the BIDIMODE bit selects the direction of transfer in bidirectional mode. Note: In master mode, the MOSI pin is used and in slave mode, the MISO pin is used. Note: This bit is not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: Output disabled (receive-only mode)
1: B_0x1: Output enabled (transmit-only mode)

BIDIMODE

Bit 15: Bidirectional data mode enable. This bit enables half-duplex communication using common single bidirectional data line. Keep RXONLY bit clear when bidirectional mode is active. Note: This bit is not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: 2-line unidirectional data mode selected
1: B_0x1: 1-line bidirectional data mode selected

SPI_CR2

SPI control register 2

Offset: 0x4, size: 16, reset: 0x00000700, access: read-write

12/12 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LDMA_TX
rw
LDMA_RX
rw
FRXTH
rw
DS
rw
TXEIE
rw
RXNEIE
rw
ERRIE
rw
FRF
rw
NSSP
rw
SSOE
rw
TXDMAEN
rw
RXDMAEN
rw
Toggle fields

RXDMAEN

Bit 0: Rx buffer DMA enable When this bit is set, a DMA request is generated whenever the RXNE flag is set..

Allowed values:
0: B_0x0: Rx buffer DMA disabled
1: B_0x1: Rx buffer DMA enabled

TXDMAEN

Bit 1: Tx buffer DMA enable When this bit is set, a DMA request is generated whenever the TXE flag is set..

Allowed values:
0: B_0x0: Tx buffer DMA disabled
1: B_0x1: Tx buffer DMA enabled

SSOE

Bit 2: SS output enable Note: This bit is not used in I<sup>2</sup>S mode and SPI TI mode..

Allowed values:
0: B_0x0: SS output is disabled in master mode and the SPI interface can work in multimaster configuration
1: B_0x1: SS output is enabled in master mode and when the SPI interface is enabled. The SPI interface cannot work in a multimaster environment.

NSSP

Bit 3: NSS pulse management This bit is used in master mode only. it allows the SPI to generate an NSS pulse between two consecutive data when doing continuous transfers. In the case of a single data transfer, it forces the NSS pin high level after the transfer. It has no meaning if CPHA = 1 , or FRF = 1 . Note: 1. This bit must be written only when the SPI is disabled (SPE=0). Note: 2. This bit is not used in I<sup>2</sup>S mode and SPI TI mode..

Allowed values:
0: B_0x0: No NSS pulse
1: B_0x1: NSS pulse generated

FRF

Bit 4: Frame format 1 SPI TI mode Note: This bit must be written only when the SPI is disabled (SPE=0). Note: This bit is not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: SPI Motorola mode

ERRIE

Bit 5: Error interrupt enable This bit controls the generation of an interrupt when an error condition occurs (CRCERR, OVR, MODF in SPI mode, FRE at TI mode and UDR, OVR, and FRE in I<sup>2</sup>S mode)..

Allowed values:
0: B_0x0: Error interrupt is masked
1: B_0x1: Error interrupt is enabled

RXNEIE

Bit 6: RX buffer not empty interrupt enable.

Allowed values:
0: B_0x0: RXNE interrupt masked
1: B_0x1: RXNE interrupt not masked. Used to generate an interrupt request when the RXNE flag is set.

TXEIE

Bit 7: Tx buffer empty interrupt enable.

Allowed values:
0: B_0x0: TXE interrupt masked
1: B_0x1: TXE interrupt not masked. Used to generate an interrupt request when the TXE flag is set.

DS

Bits 8-11: Data size These bits configure the data length for SPI transfers. If software attempts to write one of the Not used values, they are forced to the value 0111 (8-bit) Note: These bits are not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: Not used
1: B_0x1: Not used
2: B_0x2: Not used
3: B_0x3: 4-bit
4: B_0x4: 5-bit
5: B_0x5: 6-bit
6: B_0x6: 7-bit
7: B_0x7: 8-bit
8: B_0x8: 9-bit
9: B_0x9: 10-bit
10: B_0xA: 11-bit
11: B_0xB: 12-bit
12: B_0xC: 13-bit
13: B_0xD: 14-bit
14: B_0xE: 15-bit
15: B_0xF: 16-bit

FRXTH

Bit 12: FIFO reception threshold This bit is used to set the threshold of the RXFIFO that triggers an RXNE event Note: This bit is not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: RXNE event is generated if the FIFO level is greater than or equal to 1/2 (16-bit)
1: B_0x1: RXNE event is generated if the FIFO level is greater than or equal to 1/4 (8-bit)

LDMA_RX

Bit 13: Last DMA transfer for reception This bit is used in data packing mode, to define if the total number of data to receive by DMA is odd or even. It has significance only if the RXDMAEN bit in the SPIx_CR2 register is set and if packing mode is used (data length =< 8-bit and write access to SPIx_DR is 16-bit wide). It has to be written when the SPI is disabled (SPE = 0 in the SPIx_CR1 register). Note: Refer to Procedure for disabling the SPI on page 789 if the CRCEN bit is set. Note: This bit is not used in I S mode..

Allowed values:
0: B_0x0: Number of data to transfer is even
1: B_0x1: Number of data to transfer is odd

LDMA_TX

Bit 14: Last DMA transfer for transmission This bit is used in data packing mode, to define if the total number of data to transmit by DMA is odd or even. It has significance only if the TXDMAEN bit in the SPIx_CR2 register is set and if packing mode is used (data length =< 8-bit and write access to SPIx_DR is 16-bit wide). It has to be written when the SPI is disabled (SPE = 0 in the SPIx_CR1 register). Note: Refer to Procedure for disabling the SPI on page 789 if the CRCEN bit is set. Note: This bit is not used in I S mode..

Allowed values:
0: B_0x0: Number of data to transfer is even
1: B_0x1: Number of data to transfer is odd

SPI_SR

SPI status register

Offset: 0x8, size: 16, reset: 0x00000002, access: read-write

11/11 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FTLVL
r
FRLVL
r
FRE
r
BSY
r
OVR
r
MODF
r
CRCERR
rw
UDR
r
CHSIDE
r
TXE
r
RXNE
r
Toggle fields

RXNE

Bit 0: Receive buffer not empty.

Allowed values:
0: B_0x0: Rx buffer empty
1: B_0x1: Rx buffer not empty

TXE

Bit 1: Transmit buffer empty.

Allowed values:
0: B_0x0: Tx buffer not empty
1: B_0x1: Tx buffer empty

CHSIDE

Bit 2: Channel side Note: This bit is not used in SPI mode. It has no significance in PCM mode..

Allowed values:
0: B_0x0: Channel Left has to be transmitted or has been received
1: B_0x1: Channel Right has to be transmitted or has been received

UDR

Bit 3: Underrun flag This flag is set by hardware and reset by a software sequence. Refer to I2S error flags on page 821 for the software sequence. Note: This bit is not used in SPI mode..

Allowed values:
0: B_0x0: No underrun occurred
1: B_0x1: Underrun occurred

CRCERR

Bit 4: CRC error flag Note: This flag is set by hardware and cleared by software writing 0. Note: This bit is not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: CRC value received matches the SPIx_RXCRCR value
1: B_0x1: CRC value received does not match the SPIx_RXCRCR value

MODF

Bit 5: Mode fault This flag is set by hardware and reset by a software sequence. Refer to Section : Mode fault (MODF) on page 799 for the software sequence. Note: This bit is not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: No mode fault occurred
1: B_0x1: Mode fault occurred

OVR

Bit 6: Overrun flag This flag is set by hardware and reset by a software sequence. Refer to I2S error flags on page 821 for the software sequence..

Allowed values:
0: B_0x0: No overrun occurred
1: B_0x1: Overrun occurred

BSY

Bit 7: Busy flag This flag is set and cleared by hardware. Note: The BSY flag must be used with caution: refer to Section 27.5.10: SPI status flags and Procedure for disabling the SPI on page 789..

Allowed values:
0: B_0x0: SPI (or I2S) not busy
1: B_0x1: SPI (or I2S) is busy in communication or Tx buffer is not empty

FRE

Bit 8: Frame format error This flag is used for SPI in TI slave mode and I<sup>2</sup>S slave mode. Refer to Section 27.5.11: SPI error flags and Section 27.7.8: I2S error flags. This flag is set by hardware and reset when SPIx_SR is read by software..

Allowed values:
0: B_0x0: No frame format error
1: B_0x1: A frame format error occurred

FRLVL

Bits 9-10: FIFO reception level These bits are set and cleared by hardware. Note: These bits are not used in I S mode and in SPI receive-only mode while CRC calculation is enabled..

Allowed values:
0: B_0x0: FIFO empty
1: B_0x1: 1/4 FIFO
2: B_0x2: 1/2 FIFO
3: B_0x3: FIFO full

FTLVL

Bits 11-12: FIFO transmission level These bits are set and cleared by hardware. Note: This bit is not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: FIFO empty
1: B_0x1: 1/4 FIFO
2: B_0x2: 1/2 FIFO
3: B_0x3: FIFO full (considered as FULL when the FIFO threshold is greater than 1/2)

SPI_DR

SPI data register

Offset: 0xc, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DR
rw
Toggle fields

DR

Bits 0-15: Data register Data received or to be transmitted The data register serves as an interface between the Rx and Tx FIFOs. When the data register is read, RxFIFO is accessed while the write to data register accesses TxFIFO (See Section 27.5.9: Data transmission and reception procedures). Note: Data is always right-aligned. Unused bits are ignored when writing to the register, and read as zero when the register is read. The Rx threshold setting must always correspond with the read access currently used..

SPI_CRCPR

SPI CRC polynomial register

Offset: 0x10, size: 16, reset: 0x00000007, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CRCPOLY
rw
Toggle fields

CRCPOLY

Bits 0-15: CRC polynomial register This register contains the polynomial for the CRC calculation. The CRC polynomial (0x0007) is the reset value of this register. Another polynomial can be configured as required..

SPI_RXCRCR

SPI Rx CRC register

Offset: 0x14, size: 16, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RXCRC
r
Toggle fields

RXCRC

Bits 0-15: Rx CRC register When CRC calculation is enabled, the RXCRC[15:0] bits contain the computed CRC value of the subsequently received bytes. This register is reset when the CRCEN bit in SPIx_CR1 register is written to 1. The CRC is calculated serially using the polynomial programmed in the SPIx_CRCPR register. Only the 8 LSB bits are considered when the CRC frame format is set to be 8-bit length (CRCL bit in the SPIx_CR1 is cleared). CRC calculation is done based on any CRC8 standard. The entire 16-bits of this register are considered when a 16-bit CRC frame format is selected (CRCL bit in the SPIx_CR1 register is set). CRC calculation is done based on any CRC16 standard. Note: A read to this register when the BSY Flag is set could return an incorrect value. Note: These bits are not used in I<sup>2</sup>S mode..

SPI_TXCRCR

SPI Tx CRC register

Offset: 0x18, size: 16, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TXCRC
r
Toggle fields

TXCRC

Bits 0-15: Tx CRC register When CRC calculation is enabled, the TXCRC[7:0] bits contain the computed CRC value of the subsequently transmitted bytes. This register is reset when the CRCEN bit of SPIx_CR1 is written to 1. The CRC is calculated serially using the polynomial programmed in the SPIx_CRCPR register. Only the 8 LSB bits are considered when the CRC frame format is set to be 8-bit length (CRCL bit in the SPIx_CR1 is cleared). CRC calculation is done based on any CRC8 standard. The entire 16-bits of this register are considered when a 16-bit CRC frame format is selected (CRCL bit in the SPIx_CR1 register is set). CRC calculation is done based on any CRC16 standard. Note: A read to this register when the BSY flag is set could return an incorrect value. Note: These bits are not used in I<sup>2</sup>S mode..

SPI_I2SCFGR

SPIx_I2S configuration register

Offset: 0x1c, size: 16, reset: 0x00000000, access: read-write

9/9 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ASTRTEN
rw
I2SMOD
rw
I2SE
rw
I2SCFG
rw
PCMSYNC
rw
I2SSTD
rw
CKPOL
rw
DATLEN
rw
CHLEN
rw
Toggle fields

CHLEN

Bit 0: Channel length (number of bits per audio channel) The bit write operation has a meaning only if DATLEN = 00 otherwise the channel length is fixed to 32-bit by hardware whatever the value filled in. Note: For correct operation, this bit should be configured when the I2S is disabled. Note: It is not used in SPI mode..

Allowed values:
0: B_0x0: 16-bit wide
1: B_0x1: 32-bit wide

DATLEN

Bits 1-2: Data length to be transferred Note: For correct operation, these bits should be configured when the I2S is disabled. Note: They are not used in SPI mode..

Allowed values:
0: B_0x0: 16-bit data length
1: B_0x1: 24-bit data length
2: B_0x2: 32-bit data length
3: B_0x3: Not allowed

CKPOL

Bit 3: Inactive state clock polarity Note: For correct operation, this bit should be configured when the I2S is disabled. Note: It is not used in SPI mode. Note: The bit CKPOL does not affect the CK edge sensitivity used to receive or transmit the SD and WS signals..

Allowed values:
0: B_0x0: I2S clock inactive state is low level
1: B_0x1: I2S clock inactive state is high level

I2SSTD

Bits 4-5: I2S standard selection For more details on I<sup>2</sup>S standards, refer to Section 27.7.2 on page 805 Note: For correct operation, these bits should be configured when the I2S is disabled. Note: They are not used in SPI mode..

Allowed values:
0: B_0x0: I<sup>2</sup>S Philips standard
1: B_0x1: MSB justified standard (left justified)
2: B_0x2: LSB justified standard (right justified)
3: B_0x3: PCM standard

PCMSYNC

Bit 7: PCM frame synchronization Note: This bit has a meaning only if I2SSTD = 11 (PCM standard is used). Note: It is not used in SPI mode..

Allowed values:
0: B_0x0: Short frame synchronization
1: B_0x1: Long frame synchronization

I2SCFG

Bits 8-9: I2S configuration mode Note: These bits should be configured when the I2S is disabled. Note: They are not used in SPI mode..

Allowed values:
0: B_0x0: Slave - transmit
1: B_0x1: Slave - receive
2: B_0x2: Master - transmit
3: B_0x3: Master - receive

I2SE

Bit 10: I2S enable Note: This bit is not used in SPI mode..

Allowed values:
0: B_0x0: I2S peripheral is disabled
1: B_0x1: I2S peripheral is enabled

I2SMOD

Bit 11: I2S mode selection Note: This bit should be configured when the SPI is disabled..

Allowed values:
0: B_0x0: SPI mode is selected
1: B_0x1: I2S mode is selected

ASTRTEN

Bit 12: Asynchronous start enable. When the I2S is enabled in slave mode, the hardware starts the transfer when the I2S clock is received and an appropriate transition is detected on the WS signal. When the I2S is enabled in slave mode, the hardware starts the transfer when the I2S clock is received and the appropriate level is detected on the WS signal. Note: The appropriate transition is a falling edge on WS signal when I<sup>2</sup>S Philips Standard is used, or a rising edge for other standards. Note: The appropriate level is a low level on WS signal when I<sup>2</sup>S Philips Standard is used, or a high level for other standards. Note: Please refer to Section 27.7.3: Start-up description for additional information..

Allowed values:
0: B_0x0: The Asynchronous start is disabled.
1: B_0x1: The Asynchronous start is enabled.

SPI_I2SPR

SPIx_I2S prescaler register

Offset: 0x20, size: 16, reset: 0x00000000, access: read-write

2/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MCKOE
rw
ODD
rw
I2SDIV
rw
Toggle fields

I2SDIV

Bits 0-7: I2S linear prescaler I2SDIV [7:0] = 0 or I2SDIV [7:0] = 1 are forbidden values. Refer to Section 27.7.3 on page 812. Note: These bits should be configured when the I2S is disabled. They are used only when the I2S is in master mode. Note: They are not used in SPI mode..

ODD

Bit 8: Odd factor for the prescaler Refer to Section 27.7.3 on page 812. Note: This bit should be configured when the I2S is disabled. It is used only when the I2S is in master mode. Note: It is not used in SPI mode..

Allowed values:
0: B_0x0: Real divider value is = I2SDIV *2
1: B_0x1: Real divider value is = (I2SDIV * 2) + 1

MCKOE

Bit 9: Master clock output enable Note: This bit should be configured when the I2S is disabled. It is used only when the I2S is in master mode. Note: It is not used in SPI mode..

Allowed values:
0: B_0x0: Master clock output is disabled
1: B_0x1: Master clock output is enabled

SPI2

0x40003800: SPI address block description

49/53 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 (16-bit) SPI_CR1
0x4 (16-bit) SPI_CR2
0x8 (16-bit) SPI_SR
0xc (16-bit) SPI_DR
0x10 (16-bit) SPI_CRCPR
0x14 (16-bit) SPI_RXCRCR
0x18 (16-bit) SPI_TXCRCR
0x1c (16-bit) SPI_I2SCFGR
0x20 (16-bit) SPI_I2SPR
Toggle registers

SPI_CR1

SPI control register 1

Offset: 0x0, size: 16, reset: 0x00000000, access: read-write

13/14 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BIDIMODE
rw
BIDIOE
rw
CRCEN
rw
CRCNEXT
rw
CRCL
rw
RXONLY
rw
SSM
rw
SSI
rw
LSBFIRST
rw
SPE
rw
BR
rw
MSTR
rw
CPOL
rw
CPHA
rw
Toggle fields

CPHA

Bit 0: Clock phase Note: This bit should not be changed when communication is ongoing. Note: This bit is not used in I<sup>2</sup>S mode and SPI TI mode except the case when CRC is applied at TI mode..

Allowed values:
0: B_0x0: The first clock transition is the first data capture edge
1: B_0x1: The second clock transition is the first data capture edge

CPOL

Bit 1: Clock polarity Note: This bit should not be changed when communication is ongoing. Note: This bit is not used in I<sup>2</sup>S mode and SPI TI mode except the case when CRC is applied at TI mode..

Allowed values:
0: B_0x0: CK to 0 when idle
1: B_0x1: CK to 1 when idle

MSTR

Bit 2: Master selection Note: This bit should not be changed when communication is ongoing. Note: This bit is not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: Slave configuration
1: B_0x1: Master configuration

BR

Bits 3-5: Baud rate control Note: These bits should not be changed when communication is ongoing. Note: These bits are not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: f<sub>PCLK</sub>/2
1: B_0x1: f<sub>PCLK</sub>/4
2: B_0x2: f<sub>PCLK</sub>/8
3: B_0x3: f<sub>PCLK</sub>/16
4: B_0x4: f<sub>PCLK</sub>/32
5: B_0x5: f<sub>PCLK</sub>/64
6: B_0x6: f<sub>PCLK</sub>/128
7: B_0x7: f<sub>PCLK</sub>/256

SPE

Bit 6: SPI enable Note: When disabling the SPI, follow the procedure described in Procedure for disabling the SPI on page 789. Note: This bit is not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: Peripheral disabled
1: B_0x1: Peripheral enabled

LSBFIRST

Bit 7: Frame format Note: 1. This bit should not be changed when communication is ongoing. Note: 2. This bit is not used in I<sup>2</sup>S mode and SPI TI mode..

Allowed values:
0: B_0x0: data is transmitted / received with the MSB first
1: B_0x1: data is transmitted / received with the LSB first

SSI

Bit 8: Internal slave select This bit has an effect only when the SSM bit is set. The value of this bit is forced onto the NSS pin and the I/O value of the NSS pin is ignored. Note: This bit is not used in I<sup>2</sup>S mode and SPI TI mode..

SSM

Bit 9: Software slave management When the SSM bit is set, the NSS pin input is replaced with the value from the SSI bit. Note: This bit is not used in I<sup>2</sup>S mode and SPI TI mode..

Allowed values:
0: B_0x0: Software slave management disabled
1: B_0x1: Software slave management enabled

RXONLY

Bit 10: Receive only mode enabled. This bit enables simplex communication using a single unidirectional line to receive data exclusively. Keep BIDIMODE bit clear when receive only mode is active.This bit is also useful in a multislave system in which this particular slave is not accessed, the output from the accessed slave is not corrupted. Note: This bit is not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: Full-duplex (Transmit and receive)
1: B_0x1: Output disabled (Receive-only mode)

CRCL

Bit 11: CRC length This bit is set and cleared by software to select the CRC length. Note: This bit should be written only when SPI is disabled (SPE = 0 ) for correct operation. Note: This bit is not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: 8-bit CRC length
1: B_0x1: 16-bit CRC length

CRCNEXT

Bit 12: Transmit CRC next Note: This bit has to be written as soon as the last data is written in the SPIx_DR register. Note: This bit is not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: Next transmit value is from Tx buffer.
1: B_0x1: Next transmit value is from Tx CRC register.

CRCEN

Bit 13: Hardware CRC calculation enable Note: This bit should be written only when SPI is disabled (SPE = 0 ) for correct operation. Note: This bit is not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: CRC calculation disabled
1: B_0x1: CRC calculation enabled

BIDIOE

Bit 14: Output enable in bidirectional mode This bit combined with the BIDIMODE bit selects the direction of transfer in bidirectional mode. Note: In master mode, the MOSI pin is used and in slave mode, the MISO pin is used. Note: This bit is not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: Output disabled (receive-only mode)
1: B_0x1: Output enabled (transmit-only mode)

BIDIMODE

Bit 15: Bidirectional data mode enable. This bit enables half-duplex communication using common single bidirectional data line. Keep RXONLY bit clear when bidirectional mode is active. Note: This bit is not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: 2-line unidirectional data mode selected
1: B_0x1: 1-line bidirectional data mode selected

SPI_CR2

SPI control register 2

Offset: 0x4, size: 16, reset: 0x00000700, access: read-write

12/12 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LDMA_TX
rw
LDMA_RX
rw
FRXTH
rw
DS
rw
TXEIE
rw
RXNEIE
rw
ERRIE
rw
FRF
rw
NSSP
rw
SSOE
rw
TXDMAEN
rw
RXDMAEN
rw
Toggle fields

RXDMAEN

Bit 0: Rx buffer DMA enable When this bit is set, a DMA request is generated whenever the RXNE flag is set..

Allowed values:
0: B_0x0: Rx buffer DMA disabled
1: B_0x1: Rx buffer DMA enabled

TXDMAEN

Bit 1: Tx buffer DMA enable When this bit is set, a DMA request is generated whenever the TXE flag is set..

Allowed values:
0: B_0x0: Tx buffer DMA disabled
1: B_0x1: Tx buffer DMA enabled

SSOE

Bit 2: SS output enable Note: This bit is not used in I<sup>2</sup>S mode and SPI TI mode..

Allowed values:
0: B_0x0: SS output is disabled in master mode and the SPI interface can work in multimaster configuration
1: B_0x1: SS output is enabled in master mode and when the SPI interface is enabled. The SPI interface cannot work in a multimaster environment.

NSSP

Bit 3: NSS pulse management This bit is used in master mode only. it allows the SPI to generate an NSS pulse between two consecutive data when doing continuous transfers. In the case of a single data transfer, it forces the NSS pin high level after the transfer. It has no meaning if CPHA = 1 , or FRF = 1 . Note: 1. This bit must be written only when the SPI is disabled (SPE=0). Note: 2. This bit is not used in I<sup>2</sup>S mode and SPI TI mode..

Allowed values:
0: B_0x0: No NSS pulse
1: B_0x1: NSS pulse generated

FRF

Bit 4: Frame format 1 SPI TI mode Note: This bit must be written only when the SPI is disabled (SPE=0). Note: This bit is not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: SPI Motorola mode

ERRIE

Bit 5: Error interrupt enable This bit controls the generation of an interrupt when an error condition occurs (CRCERR, OVR, MODF in SPI mode, FRE at TI mode and UDR, OVR, and FRE in I<sup>2</sup>S mode)..

Allowed values:
0: B_0x0: Error interrupt is masked
1: B_0x1: Error interrupt is enabled

RXNEIE

Bit 6: RX buffer not empty interrupt enable.

Allowed values:
0: B_0x0: RXNE interrupt masked
1: B_0x1: RXNE interrupt not masked. Used to generate an interrupt request when the RXNE flag is set.

TXEIE

Bit 7: Tx buffer empty interrupt enable.

Allowed values:
0: B_0x0: TXE interrupt masked
1: B_0x1: TXE interrupt not masked. Used to generate an interrupt request when the TXE flag is set.

DS

Bits 8-11: Data size These bits configure the data length for SPI transfers. If software attempts to write one of the Not used values, they are forced to the value 0111 (8-bit) Note: These bits are not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: Not used
1: B_0x1: Not used
2: B_0x2: Not used
3: B_0x3: 4-bit
4: B_0x4: 5-bit
5: B_0x5: 6-bit
6: B_0x6: 7-bit
7: B_0x7: 8-bit
8: B_0x8: 9-bit
9: B_0x9: 10-bit
10: B_0xA: 11-bit
11: B_0xB: 12-bit
12: B_0xC: 13-bit
13: B_0xD: 14-bit
14: B_0xE: 15-bit
15: B_0xF: 16-bit

FRXTH

Bit 12: FIFO reception threshold This bit is used to set the threshold of the RXFIFO that triggers an RXNE event Note: This bit is not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: RXNE event is generated if the FIFO level is greater than or equal to 1/2 (16-bit)
1: B_0x1: RXNE event is generated if the FIFO level is greater than or equal to 1/4 (8-bit)

LDMA_RX

Bit 13: Last DMA transfer for reception This bit is used in data packing mode, to define if the total number of data to receive by DMA is odd or even. It has significance only if the RXDMAEN bit in the SPIx_CR2 register is set and if packing mode is used (data length =< 8-bit and write access to SPIx_DR is 16-bit wide). It has to be written when the SPI is disabled (SPE = 0 in the SPIx_CR1 register). Note: Refer to Procedure for disabling the SPI on page 789 if the CRCEN bit is set. Note: This bit is not used in I S mode..

Allowed values:
0: B_0x0: Number of data to transfer is even
1: B_0x1: Number of data to transfer is odd

LDMA_TX

Bit 14: Last DMA transfer for transmission This bit is used in data packing mode, to define if the total number of data to transmit by DMA is odd or even. It has significance only if the TXDMAEN bit in the SPIx_CR2 register is set and if packing mode is used (data length =< 8-bit and write access to SPIx_DR is 16-bit wide). It has to be written when the SPI is disabled (SPE = 0 in the SPIx_CR1 register). Note: Refer to Procedure for disabling the SPI on page 789 if the CRCEN bit is set. Note: This bit is not used in I S mode..

Allowed values:
0: B_0x0: Number of data to transfer is even
1: B_0x1: Number of data to transfer is odd

SPI_SR

SPI status register

Offset: 0x8, size: 16, reset: 0x00000002, access: read-write

11/11 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FTLVL
r
FRLVL
r
FRE
r
BSY
r
OVR
r
MODF
r
CRCERR
rw
UDR
r
CHSIDE
r
TXE
r
RXNE
r
Toggle fields

RXNE

Bit 0: Receive buffer not empty.

Allowed values:
0: B_0x0: Rx buffer empty
1: B_0x1: Rx buffer not empty

TXE

Bit 1: Transmit buffer empty.

Allowed values:
0: B_0x0: Tx buffer not empty
1: B_0x1: Tx buffer empty

CHSIDE

Bit 2: Channel side Note: This bit is not used in SPI mode. It has no significance in PCM mode..

Allowed values:
0: B_0x0: Channel Left has to be transmitted or has been received
1: B_0x1: Channel Right has to be transmitted or has been received

UDR

Bit 3: Underrun flag This flag is set by hardware and reset by a software sequence. Refer to I2S error flags on page 821 for the software sequence. Note: This bit is not used in SPI mode..

Allowed values:
0: B_0x0: No underrun occurred
1: B_0x1: Underrun occurred

CRCERR

Bit 4: CRC error flag Note: This flag is set by hardware and cleared by software writing 0. Note: This bit is not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: CRC value received matches the SPIx_RXCRCR value
1: B_0x1: CRC value received does not match the SPIx_RXCRCR value

MODF

Bit 5: Mode fault This flag is set by hardware and reset by a software sequence. Refer to Section : Mode fault (MODF) on page 799 for the software sequence. Note: This bit is not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: No mode fault occurred
1: B_0x1: Mode fault occurred

OVR

Bit 6: Overrun flag This flag is set by hardware and reset by a software sequence. Refer to I2S error flags on page 821 for the software sequence..

Allowed values:
0: B_0x0: No overrun occurred
1: B_0x1: Overrun occurred

BSY

Bit 7: Busy flag This flag is set and cleared by hardware. Note: The BSY flag must be used with caution: refer to Section 27.5.10: SPI status flags and Procedure for disabling the SPI on page 789..

Allowed values:
0: B_0x0: SPI (or I2S) not busy
1: B_0x1: SPI (or I2S) is busy in communication or Tx buffer is not empty

FRE

Bit 8: Frame format error This flag is used for SPI in TI slave mode and I<sup>2</sup>S slave mode. Refer to Section 27.5.11: SPI error flags and Section 27.7.8: I2S error flags. This flag is set by hardware and reset when SPIx_SR is read by software..

Allowed values:
0: B_0x0: No frame format error
1: B_0x1: A frame format error occurred

FRLVL

Bits 9-10: FIFO reception level These bits are set and cleared by hardware. Note: These bits are not used in I S mode and in SPI receive-only mode while CRC calculation is enabled..

Allowed values:
0: B_0x0: FIFO empty
1: B_0x1: 1/4 FIFO
2: B_0x2: 1/2 FIFO
3: B_0x3: FIFO full

FTLVL

Bits 11-12: FIFO transmission level These bits are set and cleared by hardware. Note: This bit is not used in I<sup>2</sup>S mode..

Allowed values:
0: B_0x0: FIFO empty
1: B_0x1: 1/4 FIFO
2: B_0x2: 1/2 FIFO
3: B_0x3: FIFO full (considered as FULL when the FIFO threshold is greater than 1/2)

SPI_DR

SPI data register

Offset: 0xc, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DR
rw
Toggle fields

DR

Bits 0-15: Data register Data received or to be transmitted The data register serves as an interface between the Rx and Tx FIFOs. When the data register is read, RxFIFO is accessed while the write to data register accesses TxFIFO (See Section 27.5.9: Data transmission and reception procedures). Note: Data is always right-aligned. Unused bits are ignored when writing to the register, and read as zero when the register is read. The Rx threshold setting must always correspond with the read access currently used..

SPI_CRCPR

SPI CRC polynomial register

Offset: 0x10, size: 16, reset: 0x00000007, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CRCPOLY
rw
Toggle fields

CRCPOLY

Bits 0-15: CRC polynomial register This register contains the polynomial for the CRC calculation. The CRC polynomial (0x0007) is the reset value of this register. Another polynomial can be configured as required..

SPI_RXCRCR

SPI Rx CRC register

Offset: 0x14, size: 16, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RXCRC
r
Toggle fields

RXCRC

Bits 0-15: Rx CRC register When CRC calculation is enabled, the RXCRC[15:0] bits contain the computed CRC value of the subsequently received bytes. This register is reset when the CRCEN bit in SPIx_CR1 register is written to 1. The CRC is calculated serially using the polynomial programmed in the SPIx_CRCPR register. Only the 8 LSB bits are considered when the CRC frame format is set to be 8-bit length (CRCL bit in the SPIx_CR1 is cleared). CRC calculation is done based on any CRC8 standard. The entire 16-bits of this register are considered when a 16-bit CRC frame format is selected (CRCL bit in the SPIx_CR1 register is set). CRC calculation is done based on any CRC16 standard. Note: A read to this register when the BSY Flag is set could return an incorrect value. Note: These bits are not used in I<sup>2</sup>S mode..

SPI_TXCRCR

SPI Tx CRC register

Offset: 0x18, size: 16, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TXCRC
r
Toggle fields

TXCRC

Bits 0-15: Tx CRC register When CRC calculation is enabled, the TXCRC[7:0] bits contain the computed CRC value of the subsequently transmitted bytes. This register is reset when the CRCEN bit of SPIx_CR1 is written to 1. The CRC is calculated serially using the polynomial programmed in the SPIx_CRCPR register. Only the 8 LSB bits are considered when the CRC frame format is set to be 8-bit length (CRCL bit in the SPIx_CR1 is cleared). CRC calculation is done based on any CRC8 standard. The entire 16-bits of this register are considered when a 16-bit CRC frame format is selected (CRCL bit in the SPIx_CR1 register is set). CRC calculation is done based on any CRC16 standard. Note: A read to this register when the BSY flag is set could return an incorrect value. Note: These bits are not used in I<sup>2</sup>S mode..

SPI_I2SCFGR

SPIx_I2S configuration register

Offset: 0x1c, size: 16, reset: 0x00000000, access: read-write

9/9 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ASTRTEN
rw
I2SMOD
rw
I2SE
rw
I2SCFG
rw
PCMSYNC
rw
I2SSTD
rw
CKPOL
rw
DATLEN
rw
CHLEN
rw
Toggle fields

CHLEN

Bit 0: Channel length (number of bits per audio channel) The bit write operation has a meaning only if DATLEN = 00 otherwise the channel length is fixed to 32-bit by hardware whatever the value filled in. Note: For correct operation, this bit should be configured when the I2S is disabled. Note: It is not used in SPI mode..

Allowed values:
0: B_0x0: 16-bit wide
1: B_0x1: 32-bit wide

DATLEN

Bits 1-2: Data length to be transferred Note: For correct operation, these bits should be configured when the I2S is disabled. Note: They are not used in SPI mode..

Allowed values:
0: B_0x0: 16-bit data length
1: B_0x1: 24-bit data length
2: B_0x2: 32-bit data length
3: B_0x3: Not allowed

CKPOL

Bit 3: Inactive state clock polarity Note: For correct operation, this bit should be configured when the I2S is disabled. Note: It is not used in SPI mode. Note: The bit CKPOL does not affect the CK edge sensitivity used to receive or transmit the SD and WS signals..

Allowed values:
0: B_0x0: I2S clock inactive state is low level
1: B_0x1: I2S clock inactive state is high level

I2SSTD

Bits 4-5: I2S standard selection For more details on I<sup>2</sup>S standards, refer to Section 27.7.2 on page 805 Note: For correct operation, these bits should be configured when the I2S is disabled. Note: They are not used in SPI mode..

Allowed values:
0: B_0x0: I<sup>2</sup>S Philips standard
1: B_0x1: MSB justified standard (left justified)
2: B_0x2: LSB justified standard (right justified)
3: B_0x3: PCM standard

PCMSYNC

Bit 7: PCM frame synchronization Note: This bit has a meaning only if I2SSTD = 11 (PCM standard is used). Note: It is not used in SPI mode..

Allowed values:
0: B_0x0: Short frame synchronization
1: B_0x1: Long frame synchronization

I2SCFG

Bits 8-9: I2S configuration mode Note: These bits should be configured when the I2S is disabled. Note: They are not used in SPI mode..

Allowed values:
0: B_0x0: Slave - transmit
1: B_0x1: Slave - receive
2: B_0x2: Master - transmit
3: B_0x3: Master - receive

I2SE

Bit 10: I2S enable Note: This bit is not used in SPI mode..

Allowed values:
0: B_0x0: I2S peripheral is disabled
1: B_0x1: I2S peripheral is enabled

I2SMOD

Bit 11: I2S mode selection Note: This bit should be configured when the SPI is disabled..

Allowed values:
0: B_0x0: SPI mode is selected
1: B_0x1: I2S mode is selected

ASTRTEN

Bit 12: Asynchronous start enable. When the I2S is enabled in slave mode, the hardware starts the transfer when the I2S clock is received and an appropriate transition is detected on the WS signal. When the I2S is enabled in slave mode, the hardware starts the transfer when the I2S clock is received and the appropriate level is detected on the WS signal. Note: The appropriate transition is a falling edge on WS signal when I<sup>2</sup>S Philips Standard is used, or a rising edge for other standards. Note: The appropriate level is a low level on WS signal when I<sup>2</sup>S Philips Standard is used, or a high level for other standards. Note: Please refer to Section 27.7.3: Start-up description for additional information..

Allowed values:
0: B_0x0: The Asynchronous start is disabled.
1: B_0x1: The Asynchronous start is enabled.

SPI_I2SPR

SPIx_I2S prescaler register

Offset: 0x20, size: 16, reset: 0x00000000, access: read-write

2/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MCKOE
rw
ODD
rw
I2SDIV
rw
Toggle fields

I2SDIV

Bits 0-7: I2S linear prescaler I2SDIV [7:0] = 0 or I2SDIV [7:0] = 1 are forbidden values. Refer to Section 27.7.3 on page 812. Note: These bits should be configured when the I2S is disabled. They are used only when the I2S is in master mode. Note: They are not used in SPI mode..

ODD

Bit 8: Odd factor for the prescaler Refer to Section 27.7.3 on page 812. Note: This bit should be configured when the I2S is disabled. It is used only when the I2S is in master mode. Note: It is not used in SPI mode..

Allowed values:
0: B_0x0: Real divider value is = I2SDIV *2
1: B_0x1: Real divider value is = (I2SDIV * 2) + 1

MCKOE

Bit 9: Master clock output enable Note: This bit should be configured when the I2S is disabled. It is used only when the I2S is in master mode. Note: It is not used in SPI mode..

Allowed values:
0: B_0x0: Master clock output is disabled
1: B_0x1: Master clock output is enabled

SYSCFG

0x40010000: Spider_SYSCFG register block

67/67 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 SYSCFG_CFGR1
0x18 SYSCFG_CFGR2
0x3c SYSCFG_CFGR3
0x80 SYSCFG_ITLINE0
0x84 SYSCFG_ITLINE1
0x88 SYSCFG_ITLINE2
0x8c SYSCFG_ITLINE3
0x90 SYSCFG_ITLINE4
0x94 SYSCFG_ITLINE5
0x98 SYSCFG_ITLINE6
0x9c SYSCFG_ITLINE7
0xa0 SYSCFG_ITLINE8
0xa4 SYSCFG_ITLINE9
0xa8 SYSCFG_ITLINE10
0xac SYSCFG_ITLINE11
0xb0 SYSCFG_ITLINE12
0xb4 SYSCFG_ITLINE13
0xb8 SYSCFG_ITLINE14
0xbc SYSCFG_ITLINE15
0xc0 SYSCFG_ITLINE16
0xcc SYSCFG_ITLINE19
0xd4 SYSCFG_ITLINE21
0xd8 SYSCFG_ITLINE22
0xdc SYSCFG_ITLINE23
0xe0 SYSCFG_ITLINE24
0xe4 SYSCFG_ITLINE25
0xe8 SYSCFG_ITLINE26
0xec SYSCFG_ITLINE27
0xf0 SYSCFG_ITLINE28
Toggle registers

SYSCFG_CFGR1

SYSCFG configuration register 1

Offset: 0x0, size: 32, reset: 0x00000000, access: read-write

14/14 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
I2C_PC14_FMP
rw
I2C_PA10_FMP
rw
I2C_PA9_FMP
rw
I2C2_FMP
rw
I2C1_FMP
rw
I2C_PB9_FMP
rw
I2C_PB8_FMP
rw
I2C_PB7_FMP
rw
I2C_PB6_FMP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IR_MOD
rw
IR_POL
rw
PA12_RMP
rw
PA11_RMP
rw
MEM_MODE
rw
Toggle fields

MEM_MODE

Bits 0-1: Memory mapping selection bits This bitfield controlled by software selects the memory internally mapped at the address 0x0000 0000. Its reset value is determined by the boot mode configuration. Refer to Section 3: Boot configuration for more details. x0: Main Flash memory.

Allowed values:
1: B_0x1: System Flash memory
3: B_0x3: Embedded SRAM

PA11_RMP

Bit 3: PA11 pin remapping This bit is set and cleared by software. When set, it remaps the PA11 pin to operate as PA9 GPIO port, instead as PA11 GPIO port. Note: If the PINMUX2[1:0] bitfield of the SYSCFG_CFGR3 register is at 00, PA11_RMP must be kept at 0 to prevent conflict due to two GPIO outputs with different output levels connected to the same pin..

Allowed values:
0: B_0x0: No remap (PA11)
1: B_0x1: Remap (PA9)

PA12_RMP

Bit 4: PA12 pin remapping This bit is set and cleared by software. When set, it remaps the PA12 pin to operate as PA10 GPIO port, instead as PA12 GPIO port. Note: If the PINMUX4[1:0] bitfield of the SYSCFG_CFGR3 register is at 00, PA12_RMP must be kept at 0 to prevent conflict due to two GPIO outputs with different output levels connected to the same pin..

Allowed values:
0: B_0x0: No remap (PA12)
1: B_0x1: Remap (PA10)

IR_POL

Bit 5: IR output polarity selection.

Allowed values:
0: B_0x0: Output of IRTIM (IR_OUT) is not inverted
1: B_0x1: Output of IRTIM (IR_OUT) is inverted

IR_MOD

Bits 6-7: IR Modulation Envelope signal selection This bitfield selects the signal for IR modulation envelope:.

Allowed values:
0: B_0x0: TIM16
1: B_0x1: USART1
2: B_0x2: USART2

I2C_PB6_FMP

Bit 16: Fast Mode Plus (FM+) enable for PB6 This bit is set and cleared by software. It enables I<sup>2</sup>C FM+ driving capability on PB6 I/O port..

Allowed values:
0: B_0x0: Disable disabled if not enabled through I2Cx_FMP
1: B_0x1: Enable

I2C_PB7_FMP

Bit 17: Fast Mode Plus (FM+) enable for PB7 This bit is set and cleared by software. It enables I<sup>2</sup>C FM+ driving capability on PB7 I/O port..

Allowed values:
0: B_0x0: Disable disabled if not enabled through I2Cx_FMP
1: B_0x1: Enable

I2C_PB8_FMP

Bit 18: Fast Mode Plus (FM+) enable for PB8 This bit is set and cleared by software. It enables I<sup>2</sup>C FM+ driving capability on PB8 I/O port. Note: Not available on STM32C011xx..

Allowed values:
0: B_0x0: Disable disabled if not enabled through I2Cx_FMP
1: B_0x1: Enable

I2C_PB9_FMP

Bit 19: Fast Mode Plus (FM+) enable for PB9 This bit is set and cleared by software. It enables I<sup>2</sup>C FM+ driving capability on PB9 I/O port. Note: Not available on STM32C011xx..

Allowed values:
0: B_0x0: Disable disabled if not enabled through I2Cx_FMP
1: B_0x1: Enable

I2C1_FMP

Bit 20: Fast Mode Plus (FM+) enable for I2C1 This bit is set and cleared by software. It enables I<sup>2</sup>C FM+ driving capability on I/O ports configured as I2C1 through GPIOx_AFR registers..

Allowed values:
0: B_0x0: Disable disabled if not enabled through I2C_y_FMP
1: B_0x1: Enable

I2C2_FMP

Bit 21: Fast Mode Plus (FM+) enable for I2C2 This bit is set and cleared by software. It enables I<sup>2</sup>C FM+ driving capability on I/O ports configured as I2C2 through GPIOx_AFR registers. Note: Only applicable to STM32C071xx. Reserved on the other products..

Allowed values:
0: B_0x0: Disable disabled if not enabled through I2C_y_FMP
1: B_0x1: Enable

I2C_PA9_FMP

Bit 22: Fast Mode Plus (FM+) enable for PA9 This bit is set and cleared by software. It enables I<sup>2</sup>C FM+ driving capability on PA9 I/O port..

Allowed values:
0: B_0x0: Disable disabled if not enabled through I2Cx_FMP
1: B_0x1: Enable

I2C_PA10_FMP

Bit 23: Fast Mode Plus (FM+) enable for PA10 This bit is set and cleared by software. It enables I<sup>2</sup>C FM+ driving capability on PA10 I/O port..

Allowed values:
0: B_0x0: Disable disabled if not enabled through I2Cx_FMP
1: B_0x1: Enable

I2C_PC14_FMP

Bit 24: Fast Mode Plus (FM+) enable for PC14 This bit is set and cleared by software. It enables I<sup>2</sup>C FM+ driving capability on PC14 I/O port. Note: Not available on STM32C011xx..

Allowed values:
0: B_0x0: Disable if not enabled through I2Cx_FMP
1: B_0x1: Enable

SYSCFG_CFGR2

SYSCFG configuration register 2

Offset: 0x18, size: 32, reset: 0x00000000, access: read-write

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LOCKUP_LOCK
rw
Toggle fields

LOCKUP_LOCK

Bit 0: Cortex<Superscript> <Default Font>-M0+ LOCKUP enable This bit is set by software and cleared by system reset. When set, it enables the connection of Cortex<Superscript> <Default Font>-M0+ LOCKUP (HardFault) output to the TIM1/16/17 Break input..

Allowed values:
0: B_0x0: Disable
1: B_0x1: Enable

SYSCFG_CFGR3

SYSCFG configuration register 3

Offset: 0x3c, size: 32, reset: 0x00000000, access: read-write

6/6 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PINMUX5
rw
PINMUX4
rw
PINMUX3
rw
PINMUX2
rw
PINMUX1
rw
PINMUX0
rw
Toggle fields

PINMUX0

Bits 0-1: Pin GPIO multiplexer 0 This bit is set by software and cleared by system reset. It assigns a GPIO to a pin. 1x: Reserved 1x: Reserved.

Allowed values:
0: B_0x0_STM32C011X___GPIO_ASSIGNED_TO_SO8_PIN_1: PB7

PINMUX1

Bits 2-3: Pin GPIO multiplexer 1 This bit is set by software and cleared by system reset. It assigns a GPIO to a pin. 1x: Reserved.

Allowed values:
0: B_0x0_STM32C011X___GPIO_ASSIGNED_TO_SO8_PIN_4: PF2
1: B_0x1_STM32C011X___GPIO_ASSIGNED_TO_SO8_PIN_4: PA0
2: B_0x2_STM32C011X___GPIO_ASSIGNED_TO_SO8_PIN_4: PA1
3: B_0x3_STM32C011X___GPIO_ASSIGNED_TO_SO8_PIN_4: PA2

PINMUX2

Bits 4-5: Pin GPIO multiplexer 2 This bit is set by software and cleared by system reset. It assigns a GPIO to a pin. 1x: Reserved Note: The PA11_RMP bit of the SYSCFG_CFGR1 takes priority over the selection through this bitfield. Refer to the description of the SYSCFG_CFGR1 register for more details..

Allowed values:
0: B_0x0_STM32C011X___GPIO_ASSIGNED_TO_SO8_PIN_5: PA8
1: B_0x1_STM32C011X___GPIO_ASSIGNED_TO_SO8_PIN_5: PA11

PINMUX3

Bits 6-7: Pin GPIO multiplexer 3 This bit is set by software and cleared by system reset. It assigns a GPIO to a pin. 1x: Reserved.

Allowed values:
0: B_0x0_STM32C011X___GPIO_ASSIGNED_TO_SO8_PIN_8: PA14
1: B_0x1_STM32C011X___GPIO_ASSIGNED_TO_SO8_PIN_8: PB6
2: B_0x2_STM32C011X___GPIO_ASSIGNED_TO_SO8_PIN_8: PC15

PINMUX4

Bits 8-9: Pin GPIO multiplexer 4 This bit is set by software and cleared by system reset. It assigns a GPIO to a pin. 1x: Reserved Note: The PA12_RMP bit of the SYSCFG_CFGR1 takes priority over the selection through this bitfield. Refer to the description of the SYSCFG_CFGR1 register for more details..

Allowed values:
0: B_0x0_STM32C011X___GPIO_ASSIGNED_TO_WLCSP12_PIN_E2: PA7
1: B_0x1_STM32C011X___GPIO_ASSIGNED_TO_WLCSP12_PIN_E2: PA12

PINMUX5

Bits 10-11: Pin GPIO multiplexer 5 This bit is set by software and cleared by system reset. It assigns a GPIO to a pin..

Allowed values:
0: B_0x0_STM32C011X___GPIO_ASSIGNED_TO_WLCSP12_PIN_F1: PA3
1: B_0x1_STM32C011X___GPIO_ASSIGNED_TO_WLCSP12_PIN_F1: PA4
2: B_0x2_STM32C011X___GPIO_ASSIGNED_TO_WLCSP12_PIN_F1: PA5
3: B_0x3_STM32C011X___GPIO_ASSIGNED_TO_WLCSP12_PIN_F1: PA6

SYSCFG_ITLINE0

SYSCFG interrupt line 0 status register

Offset: 0x80, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WWDG
r
Toggle fields

WWDG

Bit 0: Window watchdog interrupt pending flag.

SYSCFG_ITLINE1

SYSCFG interrupt line 1 status register

Offset: 0x84, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PVM_VDDIO2_OUT
r
Toggle fields

PVM_VDDIO2_OUT

Bit 1: V<sub>DDIO2</sub> supply monitoring interrupt request pending (EXTI line 34).

SYSCFG_ITLINE2

SYSCFG interrupt line 2 status register

Offset: 0x88, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RTC
r
Toggle fields

RTC

Bit 1: RTC interrupt request pending (EXTI line 19).

SYSCFG_ITLINE3

SYSCFG interrupt line 3 status register

Offset: 0x8c, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FLASH_ITF
r
Toggle fields

FLASH_ITF

Bit 1: Flash interface interrupt request pending.

SYSCFG_ITLINE4

SYSCFG interrupt line 4 status register

Offset: 0x90, size: 32, reset: 0x00000000, access: read-only

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CRS
r
RCC
r
Toggle fields

RCC

Bit 0: Reset and clock control interrupt request pending.

CRS

Bit 1: CRS interrupt request pending Note: Only applicable on STM32C071xx, reserved on other products..

SYSCFG_ITLINE5

SYSCFG interrupt line 5 status register

Offset: 0x94, size: 32, reset: 0x00000000, access: read-only

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EXTI1
r
EXTI0
r
Toggle fields

EXTI0

Bit 0: EXTI line 0 interrupt request pending.

EXTI1

Bit 1: EXTI line 1 interrupt request pending.

SYSCFG_ITLINE6

SYSCFG interrupt line 6 status register

Offset: 0x98, size: 32, reset: 0x00000000, access: read-only

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EXTI3
r
EXTI2
r
Toggle fields

EXTI2

Bit 0: EXTI line 2 interrupt request pending.

EXTI3

Bit 1: EXTI line 3 interrupt request pending.

SYSCFG_ITLINE7

SYSCFG interrupt line 7 status register

Offset: 0x9c, size: 32, reset: 0x00000000, access: read-only

12/12 fields covered.

Toggle fields

EXTI4

Bit 0: EXTI line 4 interrupt request pending.

EXTI5

Bit 1: EXTI line 5 interrupt request pending.

EXTI6

Bit 2: EXTI line 6 interrupt request pending.

EXTI7

Bit 3: EXTI line 7 interrupt request pending.

EXTI8

Bit 4: EXTI line 8 interrupt request pending.

EXTI9

Bit 5: EXTI line 9 interrupt request pending.

EXTI10

Bit 6: EXTI line 10 interrupt request pending.

EXTI11

Bit 7: EXTI line 11 interrupt request pending.

EXTI12

Bit 8: EXTI line 12 interrupt request pending.

EXTI13

Bit 9: EXTI line 13 interrupt request pending.

EXTI14

Bit 10: EXTI line 14 interrupt request pending.

EXTI15

Bit 11: EXTI line 15 interrupt request pending.

SYSCFG_ITLINE8

SYSCFG interrupt line 8 status register

Offset: 0xa0, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
USB
r
Toggle fields

USB

Bit 0: USB interrupt request pending.

SYSCFG_ITLINE9

SYSCFG interrupt line 9 status register

Offset: 0xa4, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DMA1_CH1
r
Toggle fields

DMA1_CH1

Bit 0: DMA1 channel 1interrupt request pending.

SYSCFG_ITLINE10

SYSCFG interrupt line 10 status register

Offset: 0xa8, size: 32, reset: 0x00000000, access: read-only

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DMA1_CH3
r
DMA1_CH2
r
Toggle fields

DMA1_CH2

Bit 0: DMA1 channel 2 interrupt request pending.

DMA1_CH3

Bit 1: DMA1 channel 3 interrupt request pending.

SYSCFG_ITLINE11

SYSCFG interrupt line 11 status register

Offset: 0xac, size: 32, reset: 0x00000000, access: read-only

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DMA_CH5
r
DMA_CH4
r
DMAMUX
r
Toggle fields

DMAMUX

Bit 0: DMAMUX interrupt request pending.

DMA_CH4

Bit 1: DMA channel 5 interrupt request pending Note: Only applicable on STM32C071xx, reserved on the other products..

DMA_CH5

Bit 2: DMA channel 5 interrupt request pending Note: Only applicable on STM32C071xx, reserved on the other products..

SYSCFG_ITLINE12

SYSCFG interrupt line 12 status register

Offset: 0xb0, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ADC
r
Toggle fields

ADC

Bit 0: ADC interrupt request pending.

SYSCFG_ITLINE13

SYSCFG interrupt line 13 status register

Offset: 0xb4, size: 32, reset: 0x00000000, access: read-only

4/4 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TIM1_BRK
r
TIM1_UPD
r
TIM1_TRG
r
TIM1_CCU
r
Toggle fields

TIM1_CCU

Bit 0: Timer 1 commutation interrupt request pending.

TIM1_TRG

Bit 1: Timer 1 trigger interrupt request pending.

TIM1_UPD

Bit 2: Timer 1 update interrupt request pending.

TIM1_BRK

Bit 3: Timer 1 break interrupt request pending.

SYSCFG_ITLINE14

SYSCFG interrupt line 14 status register

Offset: 0xb8, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TIM1_CC
r
Toggle fields

TIM1_CC

Bit 0: Timer 1 capture compare interrupt request pending.

SYSCFG_ITLINE15

SYSCFG interrupt line 15 status register

Offset: 0xbc, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TIM2
r
Toggle fields

TIM2

Bit 0: TIM2 interrupt request pending.

SYSCFG_ITLINE16

SYSCFG interrupt line 16 status register

Offset: 0xc0, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TIM3
r
Toggle fields

TIM3

Bit 0: Timer 3 interrupt request pending.

SYSCFG_ITLINE19

SYSCFG interrupt line 19 status register

Offset: 0xcc, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TIM14
r
Toggle fields

TIM14

Bit 0: Timer 14 interrupt request pending.

SYSCFG_ITLINE21

SYSCFG interrupt line 21 status register

Offset: 0xd4, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TIM16
r
Toggle fields

TIM16

Bit 0: Timer 16 interrupt request pending.

SYSCFG_ITLINE22

SYSCFG interrupt line 22 status register

Offset: 0xd8, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TIM17
r
Toggle fields

TIM17

Bit 0: Timer 17 interrupt request pending.

SYSCFG_ITLINE23

SYSCFG interrupt line 23 status register

Offset: 0xdc, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
I2C1
r
Toggle fields

I2C1

Bit 0: I2C1 interrupt request pending, combined with EXTI line 23.

SYSCFG_ITLINE24

SYSCFG interrupt line 24 status register

Offset: 0xe0, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
I2C2
r
Toggle fields

I2C2

Bit 0: I2C2 interrupt request pending.

SYSCFG_ITLINE25

SYSCFG interrupt line 25 status register

Offset: 0xe4, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SPI1
r
Toggle fields

SPI1

Bit 0: SPI1 interrupt request pending.

SYSCFG_ITLINE26

SYSCFG interrupt line 26 status register

Offset: 0xe8, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SPI2
r
Toggle fields

SPI2

Bit 0: SPI2 interrupt request pending.

SYSCFG_ITLINE27

SYSCFG interrupt line 27 status register

Offset: 0xec, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
USART1
r
Toggle fields

USART1

Bit 0: USART1 interrupt request pending, combined with EXTI line 25.

SYSCFG_ITLINE28

SYSCFG interrupt line 28 status register

Offset: 0xf0, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
USART2
r
Toggle fields

USART2

Bit 0: USART2 interrupt request pending (EXTI line 26).

TIM1

0x40012c00: TIM1 address block description

100/181 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 (16-bit) TIM1_CR1
0x4 TIM1_CR2
0x8 TIM1_SMCR
0xc (16-bit) TIM1_DIER
0x10 TIM1_SR
0x14 (16-bit) TIM1_EGR
0x18 TIM1_CCMR1
0x18 TIM1_CCMR1_ALTERNATE1
0x1c TIM1_CCMR2
0x1c TIM1_CCMR2_ALTERNATE1
0x20 TIM1_CCER
0x24 TIM1_CNT
0x28 (16-bit) TIM1_PSC
0x2c (16-bit) TIM1_ARR
0x30 (16-bit) TIM1_RCR
0x34 (16-bit) TIM1_CCR1
0x38 (16-bit) TIM1_CCR2
0x3c (16-bit) TIM1_CCR3
0x40 (16-bit) TIM1_CCR4
0x44 TIM1_BDTR
0x48 (16-bit) TIM1_DCR
0x4c TIM1_DMAR
0x54 TIM1_CCMR3
0x58 TIM1_CCR5
0x5c (16-bit) TIM1_CCR6
0x60 TIM1_AF1
0x64 TIM1_AF2
0x68 TIM1_TISEL
Toggle registers

TIM1_CR1

TIM1 control register 1

Offset: 0x0, size: 16, reset: 0x00000000, access: read-write

9/9 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
UIFREMAP
rw
CKD
rw
ARPE
rw
CMS
rw
DIR
rw
OPM
rw
URS
rw
UDIS
rw
CEN
rw
Toggle fields

CEN

Bit 0: Counter enable Note: External clock, gated mode and encoder mode can work only if the CEN bit has been previously set by software. However trigger mode can set the CEN bit automatically by hardware..

Allowed values:
0: B_0x0: Counter disabled
1: B_0x1: Counter enabled

UDIS

Bit 1: Update disable This bit is set and cleared by software to enable/disable UEV event generation. Counter overflow/underflow Setting the UG bit Update generation through the slave mode controller Buffered registers are then loaded with their preload values..

Allowed values:
0: B_0x0: UEV enabled. The Update (UEV) event is generated by one of the following events:
1: B_0x1: UEV disabled. The Update event is not generated, shadow registers keep their value (ARR, PSC, CCRx). However the counter and the prescaler are reinitialized if the UG bit is set or if a hardware reset is received from the slave mode controller.

URS

Bit 2: Update request source This bit is set and cleared by software to select the UEV event sources. Counter overflow/underflow Setting the UG bit Update generation through the slave mode controller.

Allowed values:
0: B_0x0: Any of the following events generate an update interrupt or DMA request if enabled. These events can be:
1: B_0x1: Only counter overflow/underflow generates an update interrupt or DMA request if enabled.

OPM

Bit 3: One pulse mode.

Allowed values:
0: B_0x0: Counter is not stopped at update event
1: B_0x1: Counter stops counting at the next update event (clearing the bit CEN)

DIR

Bit 4: Direction Note: This bit is read only when the timer is configured in Center-aligned mode or Encoder mode..

Allowed values:
0: B_0x0: Counter used as upcounter
1: B_0x1: Counter used as downcounter

CMS

Bits 5-6: Center-aligned mode selection Note: Switch from edge-aligned mode to center-aligned mode as long as the counter is enabled (CEN=1) is not allowed.

Allowed values:
0: B_0x0: Edge-aligned mode. The counter counts up or down depending on the direction bit (DIR).
1: B_0x1: Center-aligned mode 1. The counter counts up and down alternatively. Output compare interrupt flags of channels configured in output (CCxS=00 in TIMx_CCMRx register) are set only when the counter is counting down.
2: B_0x2: Center-aligned mode 2. The counter counts up and down alternatively. Output compare interrupt flags of channels configured in output (CCxS=00 in TIMx_CCMRx register) are set only when the counter is counting up.
3: B_0x3: Center-aligned mode 3. The counter counts up and down alternatively. Output compare interrupt flags of channels configured in output (CCxS=00 in TIMx_CCMRx register) are set both when the counter is counting up or down.

ARPE

Bit 7: Auto-reload preload enable.

Allowed values:
0: B_0x0: TIMx_ARR register is not buffered
1: B_0x1: TIMx_ARR register is buffered

CKD

Bits 8-9: Clock division This bit-field indicates the division ratio between the timer clock (CK_INT) frequency and the dead-time and sampling clock (t<sub>DTS</sub>)used by the dead-time generators and the digital filters (ETR, TIx): Note: t<sub>DTS</sub> = 1/f<sub>DTS</sub>, t<sub>CK_INT</sub> = 1/f<sub>CK_INT</sub>..

Allowed values:
0: B_0x0: t<sub>DTS</sub>=t<sub>CK_INT</sub>
1: B_0x1: t<sub>DTS</sub>=2*t<sub>CK_INT</sub>
2: B_0x2: t<sub>DTS</sub>=4*t<sub>CK_INT</sub>
3: B_0x3: Reserved, do not program this value

UIFREMAP

Bit 11: UIF status bit remapping.

Allowed values:
0: B_0x0: No remapping. UIF status bit is not copied to TIMx_CNT register bit 31.
1: B_0x1: Remapping enabled. UIF status bit is copied to TIMx_CNT register bit 31.

TIM1_CR2

TIM1 control register 2

Offset: 0x4, size: 32, reset: 0x00000000, access: read-write

8/15 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MMS2
rw
OIS6
rw
OIS5
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OIS4
rw
OIS3N
rw
OIS3
rw
OIS2N
rw
OIS2
rw
OIS1N
rw
OIS1
rw
TI1S
rw
MMS
rw
CCDS
rw
CCUS
rw
CCPC
rw
Toggle fields

CCPC

Bit 0: Capture/compare preloaded control Note: This bit acts only on channels that have a complementary output..

Allowed values:
0: B_0x0: CCxE, CCxNE and OCxM bits are not preloaded
1: B_0x1: CCxE, CCxNE and OCxM bits are preloaded, after having been written, they are updated only when a commutation event (COM) occurs (COMG bit set or rising edge detected on TRGI, depending on the CCUS bit).

CCUS

Bit 2: Capture/compare control update selection Note: This bit acts only on channels that have a complementary output..

Allowed values:
0: B_0x0: When capture/compare control bits are preloaded (CCPC=1), they are updated by setting the COMG bit only
1: B_0x1: When capture/compare control bits are preloaded (CCPC=1), they are updated by setting the COMG bit or when an rising edge occurs on TRGI

CCDS

Bit 3: Capture/compare DMA selection.

Allowed values:
0: B_0x0: CCx DMA request sent when CCx event occurs
1: B_0x1: CCx DMA requests sent when update event occurs

MMS

Bits 4-6: Master mode selection These bits allow selected information to be sent in master mode to slave timers for synchronization (TRGO). The combination is as follows: Note: The clock of the slave timer or ADC must be enabled prior to receive events from the master timer, and must not be changed on-the-fly while triggers are received from the master timer..

Allowed values:
0: B_0x0: Reset - the UG bit from the TIMx_EGR register is used as trigger output (TRGO). If the reset is generated by the trigger input (slave mode controller configured in reset mode) then the signal on TRGO is delayed compared to the actual reset.
1: B_0x1: Enable - the Counter Enable signal CNT_EN is used as trigger output (TRGO). It is useful to start several timers at the same time or to control a window in which a slave timer is enable. The Counter Enable signal is generated by a logic AND between CEN control bit and the trigger input when configured in gated mode. When the Counter Enable signal is controlled by the trigger input, there is a delay on TRGO, except if the master/slave mode is selected (see the MSM bit description in TIMx_SMCR register).
2: B_0x2: Update - The update event is selected as trigger output (TRGO). For instance a master timer can then be used as a prescaler for a slave timer.
3: B_0x3: Compare Pulse - The trigger output send a positive pulse when the CC1IF flag is to be set (even if it was already high), as soon as a capture or a compare match occurred. (TRGO).
4: B_0x4: Compare - OC1REFC signal is used as trigger output (TRGO)
5: B_0x5: Compare - OC2REFC signal is used as trigger output (TRGO)
6: B_0x6: Compare - OC3REFC signal is used as trigger output (TRGO)
7: B_0x7: Compare - OC4REFC signal is used as trigger output (TRGO)

TI1S

Bit 7: TI1 selection.

Allowed values:
0: B_0x0: The TIMx_CH1 pin is connected to TI1 input
1: B_0x1: The TIMx_CH1, CH2 and CH3 pins are connected to the TI1 input (XOR combination)

OIS1

Bit 8: Output Idle state 1 (OC1 output) Note: This bit can not be modified as long as LOCK level 1, 2 or 3 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: OC1=0 (after a dead-time if OC1N is implemented) when MOE=0
1: B_0x1: OC1=1 (after a dead-time if OC1N is implemented) when MOE=0

OIS1N

Bit 9: Output Idle state 1 (OC1N output) Note: This bit can not be modified as long as LOCK level 1, 2 or 3 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: OC1N=0 after a dead-time when MOE=0
1: B_0x1: OC1N=1 after a dead-time when MOE=0

OIS2

Bit 10: Output Idle state 2 (OC2 output) Refer to OIS1 bit.

OIS2N

Bit 11: Output Idle state 2 (OC2N output) Refer to OIS1N bit.

OIS3

Bit 12: Output Idle state 3 (OC3 output) Refer to OIS1 bit.

OIS3N

Bit 13: Output Idle state 3 (OC3N output) Refer to OIS1N bit.

OIS4

Bit 14: Output Idle state 4 (OC4 output) Refer to OIS1 bit.

OIS5

Bit 16: Output Idle state 5 (OC5 output) Refer to OIS1 bit.

OIS6

Bit 18: Output Idle state 6 (OC6 output) Refer to OIS1 bit.

MMS2

Bits 20-23: Master mode selection 2 These bits allow the information to be sent to ADC for synchronization (TRGO2) to be selected. The combination is as follows: Note: The clock of the slave timer or ADC must be enabled prior to receive events from the master timer, and must not be changed on-the-fly while triggers are received from the master timer..

Allowed values:
0: B_0x0: Reset - the UG bit from the TIMx_EGR register is used as trigger output (TRGO2). If the reset is generated by the trigger input (slave mode controller configured in reset mode), the signal on TRGO2 is delayed compared to the actual reset.
1: B_0x1: Enable - the Counter Enable signal CNT_EN is used as trigger output (TRGO2). It is useful to start several timers at the same time or to control a window in which a slave timer is enabled. The Counter Enable signal is generated by a logic AND between the CEN control bit and the trigger input when configured in Gated mode. When the Counter Enable signal is controlled by the trigger input, there is a delay on TRGO2, except if the Master/Slave mode is selected (see the MSM bit description in TIMx_SMCR register).
2: B_0x2: Update - the update event is selected as trigger output (TRGO2). For instance, a master timer can then be used as a prescaler for a slave timer.
3: B_0x3: Compare pulse - the trigger output sends a positive pulse when the CC1IF flag is to be set (even if it was already high), as soon as a capture or compare match occurs (TRGO2).
4: B_0x4: Compare - OC1REFC signal is used as trigger output (TRGO2)
5: B_0x5: Compare - OC2REFC signal is used as trigger output (TRGO2)
6: B_0x6: Compare - OC3REFC signal is used as trigger output (TRGO2)
7: B_0x7: Compare - OC4REFC signal is used as trigger output (TRGO2)
8: B_0x8: Compare - OC5REFC signal is used as trigger output (TRGO2)
9: B_0x9: Compare - OC6REFC signal is used as trigger output (TRGO2)
10: B_0xA: Compare Pulse - OC4REFC rising or falling edges generate pulses on TRGO2
11: B_0xB: Compare Pulse - OC6REFC rising or falling edges generate pulses on TRGO2
12: B_0xC: Compare Pulse - OC4REFC or OC6REFC rising edges generate pulses on TRGO2
13: B_0xD: Compare Pulse - OC4REFC rising or OC6REFC falling edges generate pulses on TRGO2
14: B_0xE: Compare Pulse - OC5REFC or OC6REFC rising edges generate pulses on TRGO2
15: B_0xF: Compare Pulse - OC5REFC rising or OC6REFC falling edges generate pulses on TRGO2

TIM1_SMCR

TIM1 slave mode control register

Offset: 0x8, size: 32, reset: 0x00000000, access: read-write

8/10 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TS_1
rw
SMS_1
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ETP
rw
ECE
rw
ETPS
rw
ETF
rw
MSM
rw
TS
rw
OCCS
rw
SMS
rw
Toggle fields

SMS

Bits 0-2: SMS[2:0]: Slave mode selection When external signals are selected the active edge of the trigger signal (TRGI) is linked to the polarity selected on the external input (see Input Control register and Control Register description. Codes above 1000: Reserved. Note: The gated mode must not be used if TI1F_ED is selected as the trigger input (TS=00100). Indeed, TI1F_ED outputs 1 pulse for each transition on TI1F, whereas the gated mode checks the level of the trigger signal. Note: The clock of the slave peripherals (timer, ADC, ...) receiving the TRGO or the TRGO2 signals must be enabled prior to receive events from the master timer, and the clock frequency (prescaler) must not be changed on-the-fly while triggers are received from the master timer..

Allowed values:
0: B_0x0: Slave mode disabled - if CEN = 1 then the prescaler is clocked directly by the internal clock.
1: B_0x1: Encoder mode 1 - Counter counts up/down on TI1FP1 edge depending on TI2FP2 level.
2: B_0x2: Encoder mode 2 - Counter counts up/down on TI2FP2 edge depending on TI1FP1 level.
3: B_0x3: Encoder mode 3 - Counter counts up/down on both TI1FP1 and TI2FP2 edges depending on the level of the other input.
4: B_0x4: Reset Mode - Rising edge of the selected trigger input (TRGI) reinitializes the counter and generates an update of the registers.
5: B_0x5: Gated Mode - The counter clock is enabled when the trigger input (TRGI) is high. The counter stops (but is not reset) as soon as the trigger becomes low. Both start and stop of the counter are controlled.
6: B_0x6: Trigger Mode - The counter starts at a rising edge of the trigger TRGI (but it is not reset). Only the start of the counter is controlled.
7: B_0x7: External Clock Mode 1 - Rising edges of the selected trigger (TRGI) clock the counter.

OCCS

Bit 3: OCREF clear selection This bit is used to select the OCREF clear source..

Allowed values:
0: B_0x0: OCREF_CLR_INT is not connected (reserved configuration)
1: B_0x1: OCREF_CLR_INT is connected to ETRF

TS

Bits 4-6: TS[2:0]: Trigger selection This bit-field selects the trigger input to be used to synchronize the counter. Others: Reserved See Table 73: TIM1 internal trigger connection on page 395 for more details on ITRx meaning for each Timer. Note: These bits must be changed only when they are not used (e.g. when SMS=000) to avoid wrong edge detections at the transition..

Allowed values:
0: B_0x0: Internal Trigger 0 (ITR0)
1: B_0x1: Internal Trigger 1 (ITR1)
2: B_0x2: Internal Trigger 2 (ITR2)
3: B_0x3: Internal Trigger 3 (ITR3)
4: B_0x4: TI1 Edge Detector (TI1F_ED)
5: B_0x5: Filtered Timer Input 1 (TI1FP1)
6: B_0x6: Filtered Timer Input 2 (TI2FP2)
7: B_0x7: External Trigger input (ETRF)

MSM

Bit 7: Master/slave mode.

Allowed values:
0: B_0x0: No action
1: B_0x1: The effect of an event on the trigger input (TRGI) is delayed to allow a perfect synchronization between the current timer and its slaves (through TRGO). It is useful if we want to synchronize several timers on a single external event.

ETF

Bits 8-11: External trigger filter This bit-field then defines the frequency used to sample ETRP signal and the length of the digital filter applied to ETRP. The digital filter is made of an event counter in which N consecutive events are needed to validate a transition on the output:.

Allowed values:
0: B_0x0: No filter, sampling is done at f<sub>DTS</sub>
1: B_0x1: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=2
2: B_0x2: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=4
3: B_0x3: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=8
4: B_0x4: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/2, N=6
5: B_0x5: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/2, N=8
6: B_0x6: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/4, N=6
7: B_0x7: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/4, N=8
8: B_0x8: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/8, N=6
9: B_0x9: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/8, N=8
10: B_0xA: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=5
11: B_0xB: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=6
12: B_0xC: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=8
13: B_0xD: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=5
14: B_0xE: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=6
15: B_0xF: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=8

ETPS

Bits 12-13: External trigger prescaler External trigger signal ETRP frequency must be at most 1/4 of f<sub>CK_INT</sub> frequency. A prescaler can be enabled to reduce ETRP frequency. It is useful when inputting fast external clocks..

Allowed values:
0: B_0x0: Prescaler OFF
1: B_0x1: ETRP frequency divided by 2
2: B_0x2: ETRP frequency divided by 4
3: B_0x3: ETRP frequency divided by 8

ECE

Bit 14: External clock enable This bit enables External clock mode 2. Note: Setting the ECE bit has the same effect as selecting external clock mode 1 with TRGI connected to ETRF (SMS=111 and TS=00111). It is possible to simultaneously use external clock mode 2 with the following slave modes: reset mode, gated mode and trigger mode. Nevertheless, TRGI must not be connected to ETRF in this case (TS bits must not be 00111). Note: If external clock mode 1 and external clock mode 2 are enabled at the same time, the external clock input is ETRF..

Allowed values:
0: B_0x0: External clock mode 2 disabled
1: B_0x1: External clock mode 2 enabled. The counter is clocked by any active edge on the ETRF signal.

ETP

Bit 15: External trigger polarity This bit selects whether ETR or ETR is used for trigger operations.

Allowed values:
0: B_0x0: ETR is non-inverted, active at high level or rising edge.
1: B_0x1: ETR is inverted, active at low level or falling edge.

SMS_1

Bit 16: SMS[3].

TS_1

Bits 20-21: TS[4:3].

TIM1_DIER

TIM1 DMA/interrupt enable register

Offset: 0xc, size: 16, reset: 0x00000000, access: read-write

15/15 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TDE
rw
COMDE
rw
CC4DE
rw
CC3DE
rw
CC2DE
rw
CC1DE
rw
UDE
rw
BIE
rw
TIE
rw
COMIE
rw
CC4IE
rw
CC3IE
rw
CC2IE
rw
CC1IE
rw
UIE
rw
Toggle fields

UIE

Bit 0: Update interrupt enable.

Allowed values:
0: B_0x0: Update interrupt disabled
1: B_0x1: Update interrupt enabled

CC1IE

Bit 1: Capture/Compare 1 interrupt enable.

Allowed values:
0: B_0x0: CC1 interrupt disabled
1: B_0x1: CC1 interrupt enabled

CC2IE

Bit 2: Capture/Compare 2 interrupt enable.

Allowed values:
0: B_0x0: CC2 interrupt disabled
1: B_0x1: CC2 interrupt enabled

CC3IE

Bit 3: Capture/Compare 3 interrupt enable.

Allowed values:
0: B_0x0: CC3 interrupt disabled
1: B_0x1: CC3 interrupt enabled

CC4IE

Bit 4: Capture/Compare 4 interrupt enable.

Allowed values:
0: B_0x0: CC4 interrupt disabled
1: B_0x1: CC4 interrupt enabled

COMIE

Bit 5: COM interrupt enable.

Allowed values:
0: B_0x0: COM interrupt disabled
1: B_0x1: COM interrupt enabled

TIE

Bit 6: Trigger interrupt enable.

Allowed values:
0: B_0x0: Trigger interrupt disabled
1: B_0x1: Trigger interrupt enabled

BIE

Bit 7: Break interrupt enable.

Allowed values:
0: B_0x0: Break interrupt disabled
1: B_0x1: Break interrupt enabled

UDE

Bit 8: Update DMA request enable.

Allowed values:
0: B_0x0: Update DMA request disabled
1: B_0x1: Update DMA request enabled

CC1DE

Bit 9: Capture/Compare 1 DMA request enable.

Allowed values:
0: B_0x0: CC1 DMA request disabled
1: B_0x1: CC1 DMA request enabled

CC2DE

Bit 10: Capture/Compare 2 DMA request enable.

Allowed values:
0: B_0x0: CC2 DMA request disabled
1: B_0x1: CC2 DMA request enabled

CC3DE

Bit 11: Capture/Compare 3 DMA request enable.

Allowed values:
0: B_0x0: CC3 DMA request disabled
1: B_0x1: CC3 DMA request enabled

CC4DE

Bit 12: Capture/Compare 4 DMA request enable.

Allowed values:
0: B_0x0: CC4 DMA request disabled
1: B_0x1: CC4 DMA request enabled

COMDE

Bit 13: COM DMA request enable.

Allowed values:
0: B_0x0: COM DMA request disabled
1: B_0x1: COM DMA request enabled

TDE

Bit 14: Trigger DMA request enable.

Allowed values:
0: B_0x0: Trigger DMA request disabled
1: B_0x1: Trigger DMA request enabled

TIM1_SR

TIM1 status register

Offset: 0x10, size: 32, reset: 0x00000000, access: read-write

8/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CC6IF
rw
CC5IF
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SBIF
rw
CC4OF
rw
CC3OF
rw
CC2OF
rw
CC1OF
rw
B2IF
rw
BIF
rw
TIF
rw
COMIF
rw
CC4IF
rw
CC3IF
rw
CC2IF
rw
CC1IF
rw
UIF
rw
Toggle fields

UIF

Bit 0: Update interrupt flag This bit is set by hardware on an update event. It is cleared by software. At overflow or underflow regarding the repetition counter value (update if repetition counter = 0) and if the UDIS=0 in the TIMx_CR1 register. When CNT is reinitialized by software using the UG bit in TIMx_EGR register, if URS=0 and UDIS=0 in the TIMx_CR1 register. When CNT is reinitialized by a trigger event (refer to Section 17.4.3: TIM1 slave mode control register (TIM1_SMCR)), if URS=0 and UDIS=0 in the TIMx_CR1 register..

Allowed values:
0: B_0x0: No update occurred.
1: B_0x1: Update interrupt pending. This bit is set by hardware when the registers are updated:

CC1IF

Bit 1: Capture/Compare 1 interrupt flag This flag is set by hardware. It is cleared by software (input capture or output compare mode) or by reading the TIMx_CCR1 register (input capture mode only). If channel CC1 is configured as output: this flag is set when the content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. When the content of TIMx_CCR1 is greater than the content of TIMx_ARR, the CC1IF bit goes high on the counter overflow (in up-counting and up/down-counting modes) or underflow (in down-counting mode). There are 3 possible options for flag setting in center-aligned mode, refer to the CMS bits in the TIMx_CR1 register for the full description. If channel CC1 is configured as input: this bit is set when counter value has been captured in TIMx_CCR1 register (an edge has been detected on IC1, as per the edge sensitivity defined with the CC1P and CC1NP bits setting, in TIMx_CCER)..

Allowed values:
0: B_0x0: No compare match / No input capture occurred
1: B_0x1: A compare match or an input capture occurred.

CC2IF

Bit 2: Capture/Compare 2 interrupt flag Refer to CC1IF description.

CC3IF

Bit 3: Capture/Compare 3 interrupt flag Refer to CC1IF description.

CC4IF

Bit 4: Capture/Compare 4 interrupt flag Refer to CC1IF description.

COMIF

Bit 5: COM interrupt flag This flag is set by hardware on COM event (when Capture/compare Control bits - CCxE, CCxNE, OCxM - have been updated). It is cleared by software..

Allowed values:
0: B_0x0: No COM event occurred.
1: B_0x1: COM interrupt pending.

TIF

Bit 6: Trigger interrupt flag This flag is set by hardware on the TRG trigger event (active edge detected on TRGI input when the slave mode controller is enabled in all modes but gated mode. It is set when the counter starts or stops when gated mode is selected. It is cleared by software..

Allowed values:
0: B_0x0: No trigger event occurred.
1: B_0x1: Trigger interrupt pending.

BIF

Bit 7: Break interrupt flag This flag is set by hardware as soon as the break input goes active. It can be cleared by software if the break input is not active..

Allowed values:
0: B_0x0: No break event occurred.
1: B_0x1: An active level has been detected on the break input. An interrupt is generated if BIE=1 in the TIMx_DIER register.

B2IF

Bit 8: Break 2 interrupt flag This flag is set by hardware as soon as the break 2 input goes active. It can be cleared by software if the break 2 input is not active..

Allowed values:
0: B_0x0: No break event occurred.
1: B_0x1: An active level has been detected on the break 2 input. An interrupt is generated if BIE=1 in the TIMx_DIER register.

CC1OF

Bit 9: Capture/Compare 1 overcapture flag This flag is set by hardware only when the corresponding channel is configured in input capture mode. It is cleared by software by writing it to 0 ..

Allowed values:
0: B_0x0: No overcapture has been detected.
1: B_0x1: The counter value has been captured in TIMx_CCR1 register while CC1IF flag was already set

CC2OF

Bit 10: Capture/Compare 2 overcapture flag Refer to CC1OF description.

CC3OF

Bit 11: Capture/Compare 3 overcapture flag Refer to CC1OF description.

CC4OF

Bit 12: Capture/Compare 4 overcapture flag Refer to CC1OF description.

SBIF

Bit 13: System Break interrupt flag This flag is set by hardware as soon as the system break input goes active. It can be cleared by software if the system break input is not active. This flag must be reset to re-start PWM operation..

Allowed values:
0: B_0x0: No break event occurred.
1: B_0x1: An active level has been detected on the system break input. An interrupt is generated if BIE=1 in the TIMx_DIER register.

CC5IF

Bit 16: Compare 5 interrupt flag Refer to CC1IF description (Note: Channel 5 can only be configured as output).

CC6IF

Bit 17: Compare 6 interrupt flag Refer to CC1IF description (Note: Channel 6 can only be configured as output).

TIM1_EGR

TIM1 event generation register

Offset: 0x14, size: 16, reset: 0x00000000, access: write-only

6/9 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B2G
w
BG
w
TG
w
COMG
w
CC4G
w
CC3G
w
CC2G
w
CC1G
w
UG
w
Toggle fields

UG

Bit 0: Update generation This bit can be set by software, it is automatically cleared by hardware..

Allowed values:
0: B_0x0: No action
1: B_0x1: Reinitialize the counter and generates an update of the registers. The prescaler internal counter is also cleared (the prescaler ratio is not affected). The counter is cleared if the center-aligned mode is selected or if DIR=0 (upcounting), else it takes the auto-reload value (TIMx_ARR) if DIR=1 (downcounting).

CC1G

Bit 1: Capture/Compare 1 generation This bit is set by software in order to generate an event, it is automatically cleared by hardware. If channel CC1 is configured as output: CC1IF flag is set, Corresponding interrupt or DMA request is sent if enabled. If channel CC1 is configured as input: The current value of the counter is captured in TIMx_CCR1 register. The CC1IF flag is set, the corresponding interrupt or DMA request is sent if enabled. The CC1OF flag is set if the CC1IF flag was already high..

Allowed values:
0: B_0x0: No action
1: B_0x1: A capture/compare event is generated on channel 1:

CC2G

Bit 2: Capture/Compare 2 generation Refer to CC1G description.

CC3G

Bit 3: Capture/Compare 3 generation Refer to CC1G description.

CC4G

Bit 4: Capture/Compare 4 generation Refer to CC1G description.

COMG

Bit 5: Capture/Compare control update generation This bit can be set by software, it is automatically cleared by hardware Note: This bit acts only on channels having a complementary output..

Allowed values:
0: B_0x0: No action
1: B_0x1: When CCPC bit is set, it allows CCxE, CCxNE and OCxM bits to be updated.

TG

Bit 6: Trigger generation This bit is set by software in order to generate an event, it is automatically cleared by hardware..

Allowed values:
0: B_0x0: No action
1: B_0x1: The TIF flag is set in TIMx_SR register. Related interrupt or DMA transfer can occur if enabled.

BG

Bit 7: Break generation This bit is set by software in order to generate an event, it is automatically cleared by hardware..

Allowed values:
0: B_0x0: No action
1: B_0x1: A break event is generated. MOE bit is cleared and BIF flag is set. Related interrupt or DMA transfer can occur if enabled.

B2G

Bit 8: Break 2 generation This bit is set by software in order to generate an event, it is automatically cleared by hardware..

Allowed values:
0: B_0x0: No action
1: B_0x1: A break 2 event is generated. MOE bit is cleared and B2IF flag is set. Related interrupt can occur if enabled.

TIM1_CCMR1

TIM1 capture/compare mode register 1

Offset: 0x18, size: 32, reset: 0x00000000, access: read-write

4/6 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IC2F
rw
IC2PSC
rw
CC2S
rw
IC1F
rw
IC1PSC
rw
CC1S
rw
Toggle fields

CC1S

Bits 0-1: Capture/Compare 1 Selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC1S bits are writable only when the channel is OFF (CC1E = 0 in TIMx_CCER)..

Allowed values:
0: B_0x0: CC1 channel is configured as output
1: B_0x1: CC1 channel is configured as input, IC1 is mapped on TI1
2: B_0x2: CC1 channel is configured as input, IC1 is mapped on TI2
3: B_0x3: CC1 channel is configured as input, IC1 is mapped on TRC. This mode is working only if an internal trigger input is selected through TS bit (TIMx_SMCR register)

IC1PSC

Bits 2-3: Input capture 1 prescaler This bit-field defines the ratio of the prescaler acting on CC1 input (IC1). The prescaler is reset as soon as CC1E= 0 (TIMx_CCER register)..

Allowed values:
0: B_0x0: no prescaler, capture is done each time an edge is detected on the capture input
1: B_0x1: capture is done once every 2 events
2: B_0x2: capture is done once every 4 events
3: B_0x3: capture is done once every 8 events

IC1F

Bits 4-7: Input capture 1 filter This bit-field defines the frequency used to sample TI1 input and the length of the digital filter applied to TI1. The digital filter is made of an event counter in which N consecutive events are needed to validate a transition on the output:.

Allowed values:
0: B_0x0: No filter, sampling is done at f<sub>DTS</sub>
1: B_0x1: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=2
2: B_0x2: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=4
3: B_0x3: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=8
4: B_0x4: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/2, N=6
5: B_0x5: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/2, N=8
6: B_0x6: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/4, N=6
7: B_0x7: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/4, N=8
8: B_0x8: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/8, N=6
9: B_0x9: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/8, N=8
10: B_0xA: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=5
11: B_0xB: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=6
12: B_0xC: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=8
13: B_0xD: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=5
14: B_0xE: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=6
15: B_0xF: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=8

CC2S

Bits 8-9: Capture/Compare 2 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC2S bits are writable only when the channel is OFF (CC2E = 0 in TIMx_CCER)..

Allowed values:
0: B_0x0: CC2 channel is configured as output
1: B_0x1: CC2 channel is configured as input, IC2 is mapped on TI2
2: B_0x2: CC2 channel is configured as input, IC2 is mapped on TI1
3: B_0x3: CC2 channel is configured as input, IC2 is mapped on TRC. This mode is working only if an internal trigger input is selected through TS bit (TIMx_SMCR register)

IC2PSC

Bits 10-11: Input capture 2 prescaler Refer to IC1PSC[1:0] description..

IC2F

Bits 12-15: Input capture 2 filter Refer to IC1F[3:0] description..

TIM1_CCMR1_ALTERNATE1

TIM1 capture/compare mode register 1

Offset: 0x18, size: 32, reset: 0x00000000, access: read-write

6/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OC2M_1
rw
OC1M_1
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OC2CE
rw
OC2M
rw
OC2PE
rw
OC2FE
rw
CC2S
rw
OC1CE
rw
OC1M
rw
OC1PE
rw
OC1FE
rw
CC1S
rw
Toggle fields

CC1S

Bits 0-1: Capture/Compare 1 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC1S bits are writable only when the channel is OFF (CC1E = 0 in TIMx_CCER)..

Allowed values:
0: B_0x0: CC1 channel is configured as output
1: B_0x1: CC1 channel is configured as input, IC1 is mapped on TI1
2: B_0x2: CC1 channel is configured as input, IC1 is mapped on TI2
3: B_0x3: CC1 channel is configured as input, IC1 is mapped on TRC. This mode is working only if an internal trigger input is selected through TS bit (TIMx_SMCR register)

OC1FE

Bit 2: Output Compare 1 fast enable This bit decreases the latency between a trigger event and a transition on the timer output. It must be used in one-pulse mode (OPM bit set in TIMx_CR1 register), to have the output pulse starting as soon as possible after the starting trigger..

Allowed values:
0: B_0x0: CC1 behaves normally depending on counter and CCR1 values even when the trigger is ON. The minimum delay to activate CC1 output when an edge occurs on the trigger input is 5 clock cycles.
1: B_0x1: An active edge on the trigger input acts like a compare match on CC1 output. Then, OC is set to the compare level independently from the result of the comparison. Delay to sample the trigger input and to activate CC1 output is reduced to 3 clock cycles. OCFE acts only if the channel is configured in PWM1 or PWM2 mode.

OC1PE

Bit 3: Output Compare 1 preload enable Note: These bits can not be modified as long as LOCK level 3 has been programmed (LOCK bits in TIMx_BDTR register) and CC1S= 00 (the channel is configured in output)..

Allowed values:
0: B_0x0: Preload register on TIMx_CCR1 disabled. TIMx_CCR1 can be written at anytime, the new value is taken in account immediately.
1: B_0x1: Preload register on TIMx_CCR1 enabled. Read/Write operations access the preload register. TIMx_CCR1 preload value is loaded in the active register at each update event.

OC1M

Bits 4-6: OC1M[2:0]: Output Compare 1 mode These bits define the behavior of the output reference signal OC1REF from which OC1 and OC1N are derived. OC1REF is active high whereas OC1 and OC1N active level depends on CC1P and CC1NP bits. Note: These bits can not be modified as long as LOCK level 3 has been programmed (LOCK bits in TIMx_BDTR register) and CC1S= 00 (the channel is configured in output). Note: In PWM mode, the OCREF level changes only when the result of the comparison changes or when the output compare mode switches from frozen mode to PWM mode. Note: On channels having a complementary output, this bit field is preloaded. If the CCPC bit is set in the TIMx_CR2 register then the OC1M active bits take the new value from the preloaded bits only when a COM event is generated. Note: The OC1M[3] bit is not contiguous, located in bit 16..

Allowed values:
0: B_0x0: Frozen - The comparison between the output compare register TIMx_CCR1 and the counter TIMx_CNT has no effect on the outputs.This mode can be used when the timer serves as a software timebase. When the frozen mode is enabled during timer operation, the output keeps the state (active or inactive) it had before entering the frozen state.
1: B_0x1: Set channel 1 to active level on match. OC1REF signal is forced high when the counter TIMx_CNT matches the capture/compare register 1 (TIMx_CCR1).
2: B_0x2: Set channel 1 to inactive level on match. OC1REF signal is forced low when the counter TIMx_CNT matches the capture/compare register 1 (TIMx_CCR1).
3: B_0x3: Toggle - OC1REF toggles when TIMx_CNT=TIMx_CCR1.
4: B_0x4: Force inactive level - OC1REF is forced low.
5: B_0x5: Force active level - OC1REF is forced high.
6: B_0x6: PWM mode 1 - In upcounting, channel 1 is active as long as TIMx_CNT<TIMx_CCR1 else inactive. In downcounting, channel 1 is inactive (OC1REF= 0 ) as long as TIMx_CNT>TIMx_CCR1 else active (OC1REF= 1 ).
7: B_0x7: PWM mode 2 - In upcounting, channel 1 is inactive as long as TIMx_CNT<TIMx_CCR1 else active. In downcounting, channel 1 is active as long as TIMx_CNT>TIMx_CCR1 else inactive.

OC1CE

Bit 7: Output Compare 1 clear enable.

Allowed values:
0: B_0x0: OC1Ref is not affected by the ocref_clr_int signal
1: B_0x1: OC1Ref is cleared as soon as a High level is detected on ocref_clr_int signal (OCREF_CLR input or ETRF input)

CC2S

Bits 8-9: Capture/Compare 2 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC2S bits are writable only when the channel is OFF (CC2E = 0 in TIMx_CCER)..

Allowed values:
0: B_0x0: CC2 channel is configured as output
1: B_0x1: CC2 channel is configured as input, IC2 is mapped on TI2
2: B_0x2: CC2 channel is configured as input, IC2 is mapped on TI1
3: B_0x3: CC2 channel is configured as input, IC2 is mapped on TRC. This mode is working only if an internal trigger input is selected through the TS bit (TIMx_SMCR register)

OC2FE

Bit 10: Output Compare 2 fast enable Refer to OC1FE description..

OC2PE

Bit 11: Output Compare 2 preload enable Refer to OC1PE description..

OC2M

Bits 12-14: OC2M[2:0]: Output Compare 2 mode Refer to OC1M[3:0] description..

OC2CE

Bit 15: Output Compare 2 clear enable Refer to OC1CE description..

OC1M_1

Bit 16: OC1M[3].

OC2M_1

Bit 24: OC2M[3].

TIM1_CCMR2

TIM1 capture/compare mode register 2

Offset: 0x1c, size: 32, reset: 0x00000000, access: read-write

2/6 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IC4F
rw
IC4PSC
rw
CC4S
rw
IC3F
rw
IC3PSC
rw
CC3S
rw
Toggle fields

CC3S

Bits 0-1: Capture/compare 3 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC3S bits are writable only when the channel is OFF (CC3E = 0 in TIMx_CCER)..

Allowed values:
0: B_0x0: CC3 channel is configured as output
1: B_0x1: CC3 channel is configured as input, IC3 is mapped on TI3
2: B_0x2: CC3 channel is configured as input, IC3 is mapped on TI4
3: B_0x3: CC3 channel is configured as input, IC3 is mapped on TRC. This mode is working only if an internal trigger input is selected through TS bit (TIMx_SMCR register)

IC3PSC

Bits 2-3: Input capture 3 prescaler Refer to IC1PSC[1:0] description..

IC3F

Bits 4-7: Input capture 3 filter Refer to IC1F[3:0] description..

CC4S

Bits 8-9: Capture/Compare 4 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC4S bits are writable only when the channel is OFF (CC4E = 0 in TIMx_CCER)..

Allowed values:
0: B_0x0: CC4 channel is configured as output
1: B_0x1: CC4 channel is configured as input, IC4 is mapped on TI4
2: B_0x2: CC4 channel is configured as input, IC4 is mapped on TI3
3: B_0x3: CC4 channel is configured as input, IC4 is mapped on TRC. This mode is working only if an internal trigger input is selected through TS bit (TIMx_SMCR register)

IC4PSC

Bits 10-11: Input capture 4 prescaler Refer to IC1PSC[1:0] description..

IC4F

Bits 12-15: Input capture 4 filter Refer to IC1F[3:0] description..

TIM1_CCMR2_ALTERNATE1

TIM1 capture/compare mode register 2

Offset: 0x1c, size: 32, reset: 0x00000000, access: read-write

2/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OC4M_1
rw
OC3M_1
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OC4CE
rw
OC4M
rw
OC4PE
rw
OC4FE
rw
CC4S
rw
OC3CE
rw
OC3M
rw
OC3PE
rw
OC3FE
rw
CC3S
rw
Toggle fields

CC3S

Bits 0-1: Capture/Compare 3 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC3S bits are writable only when the channel is OFF (CC3E = 0 in TIMx_CCER)..

Allowed values:
0: B_0x0: CC3 channel is configured as output
1: B_0x1: CC3 channel is configured as input, IC3 is mapped on TI3
2: B_0x2: CC3 channel is configured as input, IC3 is mapped on TI4
3: B_0x3: CC3 channel is configured as input, IC3 is mapped on TRC. This mode is working only if an internal trigger input is selected through TS bit (TIMx_SMCR register)

OC3FE

Bit 2: Output compare 3 fast enable Refer to OC1FE description..

OC3PE

Bit 3: Output compare 3 preload enable Refer to OC1PE description..

OC3M

Bits 4-6: OC3M[2:0]: Output compare 3 mode Refer to OC1M[3:0] description..

OC3CE

Bit 7: Output compare 3 clear enable Refer to OC1CE description..

CC4S

Bits 8-9: Capture/Compare 4 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC4S bits are writable only when the channel is OFF (CC4E = 0 in TIMx_CCER)..

Allowed values:
0: B_0x0: CC4 channel is configured as output
1: B_0x1: CC4 channel is configured as input, IC4 is mapped on TI4
2: B_0x2: CC4 channel is configured as input, IC4 is mapped on TI3
3: B_0x3: CC4 channel is configured as input, IC4 is mapped on TRC. This mode is working only if an internal trigger input is selected through TS bit (TIMx_SMCR register)

OC4FE

Bit 10: Output compare 4 fast enable Refer to OC1FE description..

OC4PE

Bit 11: Output compare 4 preload enable Refer to OC1PE description..

OC4M

Bits 12-14: OC4M[2:0]: Output compare 4 mode Refer to OC3M[3:0] description..

OC4CE

Bit 15: Output compare 4 clear enable Refer to OC1CE description..

OC3M_1

Bit 16: OC3M[3].

OC4M_1

Bit 24: OC4M[3].

TIM1_CCER

TIM1 capture/compare enable register

Offset: 0x20, size: 32, reset: 0x00000000, access: read-write

4/19 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CC6P
rw
CC6E
rw
CC5P
rw
CC5E
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC4NP
rw
CC4P
rw
CC4E
rw
CC3NP
rw
CC3NE
rw
CC3P
rw
CC3E
rw
CC2NP
rw
CC2NE
rw
CC2P
rw
CC2E
rw
CC1NP
rw
CC1NE
rw
CC1P
rw
CC1E
rw
Toggle fields

CC1E

Bit 0: Capture/Compare 1 output enable When CC1 channel is configured as output, the OC1 level depends on MOE, OSSI, OSSR, OIS1, OIS1N and CC1NE bits, regardless of the CC1E bits state. Refer to Table 74 for details. Note: On channels having a complementary output, this bit is preloaded. If the CCPC bit is set in the TIMx_CR2 register then the CC1E active bit takes the new value from the preloaded bit only when a Commutation event is generated..

Allowed values:
0: B_0x0: Capture mode disabled / OC1 is not active (see below)
1: B_0x1: Capture mode enabled / OC1 signal is output on the corresponding output pin

CC1P

Bit 1: Capture/Compare 1 output polarity When CC1 channel is configured as input, both CC1NP/CC1P bits select the active polarity of TI1FP1 and TI2FP1 for trigger or capture operations. CC1NP=0, CC1P=0: non-inverted/rising edge. The circuit is sensitive to TIxFP1 rising edge (capture or trigger operations in reset, external clock or trigger mode), TIxFP1 is not inverted (trigger operation in gated mode or encoder mode). CC1NP=0, CC1P=1: inverted/falling edge. The circuit is sensitive to TIxFP1 falling edge (capture or trigger operations in reset, external clock or trigger mode), TIxFP1 is inverted (trigger operation in gated mode or encoder mode). CC1NP=1, CC1P=1: non-inverted/both edges/ The circuit is sensitive to both TIxFP1 rising and falling edges (capture or trigger operations in reset, external clock or trigger mode), TIxFP1is not inverted (trigger operation in gated mode). This configuration must not be used in encoder mode. CC1NP=1, CC1P=0: The configuration is reserved, it must not be used. Note: This bit is not writable as soon as LOCK level 2 or 3 has been programmed (LOCK bits in TIMx_BDTR register). Note: On channels having a complementary output, this bit is preloaded. If the CCPC bit is set in the TIMx_CR2 register then the CC1P active bit takes the new value from the preloaded bit only when a Commutation event is generated..

Allowed values:
0: B_0x0: OC1 active high (output mode) / Edge sensitivity selection (input mode, see below)
1: B_0x1: OC1 active low (output mode) / Edge sensitivity selection (input mode, see below)

CC1NE

Bit 2: Capture/Compare 1 complementary output enable On channels having a complementary output, this bit is preloaded. If the CCPC bit is set in the TIMx_CR2 register then the CC1NE active bit takes the new value from the preloaded bit only when a Commutation event is generated..

Allowed values:
0: B_0x0: Off - OC1N is not active. OC1N level is then function of MOE, OSSI, OSSR, OIS1, OIS1N and CC1E bits.
1: B_0x1: On - OC1N signal is output on the corresponding output pin depending on MOE, OSSI, OSSR, OIS1, OIS1N and CC1E bits.

CC1NP

Bit 3: Capture/Compare 1 complementary output polarity CC1 channel configured as output: CC1 channel configured as input: This bit is used in conjunction with CC1P to define the polarity of TI1FP1 and TI2FP1. Refer to CC1P description. Note: This bit is not writable as soon as LOCK level 2 or 3 has been programmed (LOCK bits in TIMx_BDTR register) and CC1S= 00 (channel configured as output). On channels having a complementary output, this bit is preloaded. If the CCPC bit is set in the TIMx_CR2 register then the CC1NP active bit takes the new value from the preloaded bit only when a Commutation event is generated..

Allowed values:
0: B_0x0: OC1N active high.
1: B_0x1: OC1N active low.

CC2E

Bit 4: Capture/Compare 2 output enable Refer to CC1E description.

CC2P

Bit 5: Capture/Compare 2 output polarity Refer to CC1P description.

CC2NE

Bit 6: Capture/Compare 2 complementary output enable Refer to CC1NE description.

CC2NP

Bit 7: Capture/Compare 2 complementary output polarity Refer to CC1NP description.

CC3E

Bit 8: Capture/Compare 3 output enable Refer to CC1E description.

CC3P

Bit 9: Capture/Compare 3 output polarity Refer to CC1P description.

CC3NE

Bit 10: Capture/Compare 3 complementary output enable Refer to CC1NE description.

CC3NP

Bit 11: Capture/Compare 3 complementary output polarity Refer to CC1NP description.

CC4E

Bit 12: Capture/Compare 4 output enable Refer to CC1E description.

CC4P

Bit 13: Capture/Compare 4 output polarity Refer to CC1P description.

CC4NP

Bit 15: Capture/Compare 4 complementary output polarity Refer to CC1NP description.

CC5E

Bit 16: Capture/Compare 5 output enable Refer to CC1E description.

CC5P

Bit 17: Capture/Compare 5 output polarity Refer to CC1P description.

CC6E

Bit 20: Capture/Compare 6 output enable Refer to CC1E description.

CC6P

Bit 21: Capture/Compare 6 output polarity Refer to CC1P description.

TIM1_CNT

TIM1 counter

Offset: 0x24, size: 32, reset: 0x00000000, access: read-write

1/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UIFCPY
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CNT
rw
Toggle fields

CNT

Bits 0-15: Counter value.

UIFCPY

Bit 31: UIF copy This bit is a read-only copy of the UIF bit of the TIMx_ISR register. If the UIFREMAP bit in the TIMxCR1 is reset, bit 31 is reserved and read at 0..

TIM1_PSC

TIM1 prescaler

Offset: 0x28, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PSC
rw
Toggle fields

PSC

Bits 0-15: Prescaler value The counter clock frequency (CK_CNT) is equal to f<sub>CK_PSC</sub> / (PSC[15:0] + 1). PSC contains the value to be loaded in the active prescaler register at each update event (including when the counter is cleared through UG bit of TIMx_EGR register or through trigger controller when configured in reset mode )..

TIM1_ARR

TIM1 auto-reload register

Offset: 0x2c, size: 16, reset: 0x0000FFFF, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ARR
rw
Toggle fields

ARR

Bits 0-15: Auto-reload value ARR is the value to be loaded in the actual auto-reload register. Refer to the Section 17.3.1: Time-base unit on page 331 for more details about ARR update and behavior. The counter is blocked while the auto-reload value is null..

TIM1_RCR

TIM1 repetition counter register

Offset: 0x30, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
REP
rw
Toggle fields

REP

Bits 0-15: Repetition counter value These bits allow the user to set-up the update rate of the compare registers (i.e. periodic transfers from preload to active registers) when preload registers are enable, as well as the update interrupt generation rate, if this interrupt is enable. Each time the REP_CNT related downcounter reaches zero, an update event is generated and it restarts counting from REP value. As REP_CNT is reloaded with REP value only at the repetition update event U_RC, any write to the TIMx_RCR register is not taken in account until the next repetition update event. It means in PWM mode (REP+1) corresponds to: the number of PWM periods in edge-aligned mode the number of half PWM period in center-aligned mode..

TIM1_CCR1

TIM1 capture/compare register 1

Offset: 0x34, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR1
rw
Toggle fields

CCR1

Bits 0-15: Capture/Compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the actual capture/compare 1 register (preload value). It is loaded permanently if the preload feature is not selected in the TIMx_CCMR1 register (bit OC1PE). Else the preload value is copied in the active capture/compare 1 register when an update event occurs. The active capture/compare register contains the value to be compared to the counter TIMx_CNT and signaled on OC1 output. If channel CC1 is configured as input: CR1 is the counter value transferred by the last input capture 1 event (IC1). The TIMx_CCR1 register is read-only and cannot be programmed..

TIM1_CCR2

TIM1 capture/compare register 2

Offset: 0x38, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR2
rw
Toggle fields

CCR2

Bits 0-15: Capture/Compare 2 value If channel CC2 is configured as output: CCR2 is the value to be loaded in the actual capture/compare 2 register (preload value). It is loaded permanently if the preload feature is not selected in the TIMx_CCMR1 register (bit OC2PE). Else the preload value is copied in the active capture/compare 2 register when an update event occurs. The active capture/compare register contains the value to be compared to the counter TIMx_CNT and signaled on OC2 output. If channel CC2 is configured as input: CCR2 is the counter value transferred by the last input capture 2 event (IC2). The TIMx_CCR2 register is read-only and cannot be programmed..

TIM1_CCR3

TIM1 capture/compare register 3

Offset: 0x3c, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR3
rw
Toggle fields

CCR3

Bits 0-15: Capture/Compare value If channel CC3 is configured as output: CCR3 is the value to be loaded in the actual capture/compare 3 register (preload value). It is loaded permanently if the preload feature is not selected in the TIMx_CCMR2 register (bit OC3PE). Else the preload value is copied in the active capture/compare 3 register when an update event occurs. The active capture/compare register contains the value to be compared to the counter TIMx_CNT and signalled on OC3 output. If channel CC3 is configured as input: CCR3 is the counter value transferred by the last input capture 3 event (IC3). The TIMx_CCR3 register is read-only and cannot be programmed..

TIM1_CCR4

TIM1 capture/compare register 4

Offset: 0x40, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR4
rw
Toggle fields

CCR4

Bits 0-15: Capture/Compare value If channel CC4 is configured as output: CCR4 is the value to be loaded in the actual capture/compare 4 register (preload value). It is loaded permanently if the preload feature is not selected in the TIMx_CCMR2 register (bit OC4PE). Else the preload value is copied in the active capture/compare 4 register when an update event occurs. The active capture/compare register contains the value to be compared to the counter TIMx_CNT and signalled on OC4 output. If channel CC4 is configured as input: CCR4 is the counter value transferred by the last input capture 4 event (IC4). The TIMx_CCR4 register is read-only and cannot be programmed..

TIM1_BDTR

TIM1 break and dead-time register

Offset: 0x44, size: 32, reset: 0x00000000, access: read-write

13/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BK2BID
rw
BKBID
rw
BK2DSRM
rw
BKDSRM
rw
BK2P
rw
BK2E
rw
BK2F
rw
BKF
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MOE
rw
AOE
rw
BKP
rw
BKE
rw
OSSR
rw
OSSI
rw
LOCK
rw
DTG
rw
Toggle fields

DTG

Bits 0-7: Dead-time generator setup.

LOCK

Bits 8-9: Lock configuration These bits offer a write protection against software errors. Note: The LOCK bits can be written only once after the reset. Once the TIMx_BDTR register has been written, their content is frozen until the next reset..

Allowed values:
0: B_0x0: LOCK OFF - No bit is write protected.
1: B_0x1: LOCK Level 1 = DTG bits in TIMx_BDTR register, OISx and OISxN bits in TIMx_CR2 register and BK2BID, BKBID, BK2DSRM, BKDSRM, BK2P, BK2E, BK2F[3:0], BKF[3:0], AOE, BKP, BKE, OSSI, OSSR and DTG[7:0] bits in TIMx_BDTR register can no longer be written.
2: B_0x2: LOCK Level 2 = LOCK Level 1 + CC Polarity bits (CCxP/CCxNP bits in TIMx_CCER register, as long as the related channel is configured in output through the CCxS bits) as well as OSSR and OSSI bits can no longer be written.
3: B_0x3: LOCK Level 3 = LOCK Level 2 + CC Control bits (OCxM and OCxPE bits in TIMx_CCMRx registers, as long as the related channel is configured in output through the CCxS bits) can no longer be written.

OSSI

Bit 10: Off-state selection for Idle mode This bit is used when MOE=0 due to a break event or by a software write, on channels configured as outputs. See OC/OCN enable description for more details (Section 17.4.11: TIM1 capture/compare enable register (TIM1_CCER)). Note: This bit can not be modified as soon as the LOCK level 2 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: When inactive, OC/OCN outputs are disabled (the timer releases the output control which is taken over by the GPIO logic and which imposes a Hi-Z state).
1: B_0x1: When inactive, OC/OCN outputs are first forced with their inactive level then forced to their idle level after the deadtime. The timer maintains its control over the output.

OSSR

Bit 11: Off-state selection for Run mode This bit is used when MOE=1 on channels having a complementary output which are configured as outputs. OSSR is not implemented if no complementary output is implemented in the timer. See OC/OCN enable description for more details (Section 17.4.11: TIM1 capture/compare enable register (TIM1_CCER)). Note: This bit can not be modified as soon as the LOCK level 2 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: When inactive, OC/OCN outputs are disabled (the timer releases the output control which is taken over by the GPIO logic, which forces a Hi-Z state).
1: B_0x1: When inactive, OC/OCN outputs are enabled with their inactive level as soon as CCxE=1 or CCxNE=1 (the output is still controlled by the timer).

BKE

Bit 12: Break enable This bit enables the complete break protection (including all sources connected to bk_acth and BRK sources, as per Figure 100: Break and Break2 circuitry overview). Note: This bit cannot be modified when LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register). Note: Any write operation to this bit takes a delay of 1 APB clock cycle to become effective..

Allowed values:
0: B_0x0: Break function disabled
1: B_0x1: Break function enabled

BKP

Bit 13: Break polarity Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register). Note: Any write operation to this bit takes a delay of 1 APB clock cycle to become effective..

Allowed values:
0: B_0x0: Break input BRK is active low
1: B_0x1: Break input BRK is active high

AOE

Bit 14: Automatic output enable Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: MOE can be set only by software
1: B_0x1: MOE can be set by software or automatically at the next update event (if none of the break inputs BRK and BRK2 is active)

MOE

Bit 15: Main output enable This bit is cleared asynchronously by hardware as soon as one of the break inputs is active (BRK or BRK2). It is set by software or automatically depending on the AOE bit. It is acting only on the channels which are configured in output. In response to a break event or if MOE is written to 0: OC and OCN outputs are disabled or forced to idle state depending on the OSSI bit. See OC/OCN enable description for more details (Section 17.4.11: TIM1 capture/compare enable register (TIM1_CCER))..

Allowed values:
0: B_0x0: In response to a break 2 event. OC and OCN outputs are disabled
1: B_0x1: OC and OCN outputs are enabled if their respective enable bits are set (CCxE, CCxNE in TIMx_CCER register).

BKF

Bits 16-19: Break filter This bit-field defines the frequency used to sample BRK input and the length of the digital filter applied to BRK. The digital filter is made of an event counter in which N consecutive events are needed to validate a transition on the output: Note: This bit cannot be modified when LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: No filter, BRK acts asynchronously
1: B_0x1: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=2
2: B_0x2: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=4
3: B_0x3: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=8
4: B_0x4: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/2, N=6
5: B_0x5: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/2, N=8
6: B_0x6: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/4, N=6
7: B_0x7: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/4, N=8
8: B_0x8: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/8, N=6
9: B_0x9: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/8, N=8
10: B_0xA: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=5
11: B_0xB: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=6
12: B_0xC: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=8
13: B_0xD: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=5
14: B_0xE: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=6
15: B_0xF: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=8

BK2F

Bits 20-23: Break 2 filter This bit-field defines the frequency used to sample BRK2 input and the length of the digital filter applied to BRK2. The digital filter is made of an event counter in which N consecutive events are needed to validate a transition on the output: Note: This bit cannot be modified when LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: No filter, BRK2 acts asynchronously
1: B_0x1: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=2
2: B_0x2: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=4
3: B_0x3: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=8
4: B_0x4: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/2, N=6
5: B_0x5: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/2, N=8
6: B_0x6: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/4, N=6
7: B_0x7: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/4, N=8
8: B_0x8: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/8, N=6
9: B_0x9: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/8, N=8
10: B_0xA: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=5
11: B_0xB: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=6
12: B_0xC: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=8
13: B_0xD: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=5
14: B_0xE: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=6
15: B_0xF: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=8

BK2E

Bit 24: Break 2 enable Note: The BRK2 must only be used with OSSR = OSSI = 1. Note: This bit cannot be modified when LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register). Note: Any write operation to this bit takes a delay of 1 APB clock cycle to become effective..

Allowed values:
0: B_0x0: Break input BRK2 disabled
1: B_0x1: Break input BRK2 enabled

BK2P

Bit 25: Break 2 polarity Note: This bit cannot be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register). Note: Any write operation to this bit takes a delay of 1 APB clock cycle to become effective..

Allowed values:
0: B_0x0: Break input BRK2 is active low
1: B_0x1: Break input BRK2 is active high

BKDSRM

Bit 26: Break Disarm This bit is cleared by hardware when no break source is active. The BKDSRM bit must be set by software to release the bidirectional output control (open-drain output in Hi-Z state) and then be polled it until it is reset by hardware, indicating that the fault condition has disappeared. Note: Any write operation to this bit takes a delay of 1 APB clock cycle to become effective..

Allowed values:
0: B_0x0: Break input BRK is armed
1: B_0x1: Break input BRK is disarmed

BK2DSRM

Bit 27: Break2 Disarm Refer to BKDSRM description.

BKBID

Bit 28: Break Bidirectional In the bidirectional mode (BKBID bit set to 1), the break input is configured both in input mode and in open drain output mode. Any active break event asserts a low logic level on the Break input to indicate an internal break event to external devices. Note: This bit cannot be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register). Note: Any write operation to this bit takes a delay of 1 APB clock cycle to become effective..

Allowed values:
0: B_0x0: Break input BRK in input mode
1: B_0x1: Break input BRK in bidirectional mode

BK2BID

Bit 29: Break2 bidirectional Refer to BKBID description.

TIM1_DCR

TIM1 DMA control register

Offset: 0x48, size: 16, reset: 0x00000000, access: read-write

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DBL
rw
DBA
rw
Toggle fields

DBA

Bits 0-4: DMA base address This 5-bits vector defines the base-address for DMA transfers (when read/write access are done through the TIMx_DMAR address). DBA is defined as an offset starting from the address of the TIMx_CR1 register. Example: ....

Allowed values:
0: B_0x0: TIMx_CR1,
1: B_0x1: TIMx_CR2,
2: B_0x2: TIMx_SMCR,

DBL

Bits 8-12: DMA burst length This 5-bit vector defines the length of DMA transfers (the timer recognizes a burst transfer when a read or a write access is done to the TIMx_DMAR address), i.e. the number of transfers. Transfers can be in half-words or in bytes (see example below). ... Example: Let us consider the following transfer: DBL = 7 bytes & DBA = TIMx_CR1. If DBL = 7 bytes and DBA = TIMx_CR1 represents the address of the byte to be transferred, the address of the transfer should be given by the following equation: (TIMx_CR1 address) + DBA + (DMA index), where DMA index = DBL In this example, 7 bytes are added to (TIMx_CR1 address) + DBA, which gives us the address from/to which the data is copied. In this case, the transfer is done to 7 registers starting from the following address: (TIMx_CR1 address) + DBA According to the configuration of the DMA Data Size, several cases may occur: If the DMA Data Size is configured in half-words, 16-bit data is transferred to each of the 7 registers. If the DMA Data Size is configured in bytes, the data is also transferred to 7 registers: the first register contains the first MSB byte, the second register, the first LSB byte and so on. So with the transfer Timer, one also has to specify the size of data transferred by DMA..

Allowed values:
0: B_0x0: 1 transfer
1: B_0x1: 2 transfers
2: B_0x2: 3 transfers
17: B_0x11: 18 transfers

TIM1_DMAR

TIM1 DMA address for full transfer

Offset: 0x4c, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DMAB
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DMAB
rw
Toggle fields

DMAB

Bits 0-31: DMA register for burst accesses A read or write operation to the DMAR register accesses the register located at the address (TIMx_CR1 address) + (DBA + DMA index) x 4 where TIMx_CR1 address is the address of the control register 1, DBA is the DMA base address configured in TIMx_DCR register, DMA index is automatically controlled by the DMA transfer, and ranges from 0 to DBL (DBL configured in TIMx_DCR)..

TIM1_CCMR3

TIM1 capture/compare mode register 3

Offset: 0x54, size: 32, reset: 0x00000000, access: read-write

0/10 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OC6M_1
rw
OC5M_1
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OC6CE
rw
OC6M
rw
OC6PE
rw
OC6FE
rw
OC5CE
rw
OC5M
rw
OC5PE
rw
OC5FE
rw
Toggle fields

OC5FE

Bit 2: Output compare 5 fast enable Refer to OC1FE description..

OC5PE

Bit 3: Output compare 5 preload enable Refer to OC1PE description..

OC5M

Bits 4-6: OC5M[2:0]: Output compare 5 mode Refer to OC1M description..

OC5CE

Bit 7: Output compare 5 clear enable Refer to OC1CE description..

OC6FE

Bit 10: Output compare 6 fast enable Refer to OC1FE description..

OC6PE

Bit 11: Output compare 6 preload enable Refer to OC1PE description..

OC6M

Bits 12-14: OC6M[2:0]: Output compare 6 mode Refer to OC1M description..

OC6CE

Bit 15: Output compare 6 clear enable Refer to OC1CE description..

OC5M_1

Bit 16: OC5M[3].

OC6M_1

Bit 24: OC6M[3].

TIM1_CCR5

TIM1 capture/compare register 5

Offset: 0x58, size: 32, reset: 0x00000000, access: read-write

3/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
GC5C3
rw
GC5C2
rw
GC5C1
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR5
rw
Toggle fields

CCR5

Bits 0-15: Capture/Compare 5 value CCR5 is the value to be loaded in the actual capture/compare 5 register (preload value). It is loaded permanently if the preload feature is not selected in the TIMx_CCMR3 register (bit OC5PE). Else the preload value is copied in the active capture/compare 5 register when an update event occurs. The active capture/compare register contains the value to be compared to the counter TIMx_CNT and signaled on OC5 output..

GC5C1

Bit 29: Group Channel 5 and Channel 1 Distortion on Channel 1 output: This bit can either have immediate effect or be preloaded and taken into account after an update event (if preload feature is selected in TIMxCCMR1). Note: it is also possible to apply this distortion on combined PWM signals..

Allowed values:
0: B_0x0: No effect of OC5REF on OC1REFC5
1: B_0x1: OC1REFC is the logical AND of OC1REFC and OC5REF

GC5C2

Bit 30: Group Channel 5 and Channel 2 Distortion on Channel 2 output: This bit can either have immediate effect or be preloaded and taken into account after an update event (if preload feature is selected in TIMxCCMR1). Note: it is also possible to apply this distortion on combined PWM signals..

Allowed values:
0: B_0x0: No effect of OC5REF on OC2REFC
1: B_0x1: OC2REFC is the logical AND of OC2REFC and OC5REF

GC5C3

Bit 31: Group Channel 5 and Channel 3 Distortion on Channel 3 output: This bit can either have immediate effect or be preloaded and taken into account after an update event (if preload feature is selected in TIMxCCMR2). Note: it is also possible to apply this distortion on combined PWM signals..

Allowed values:
0: B_0x0: No effect of OC5REF on OC3REFC
1: B_0x1: OC3REFC is the logical AND of OC3REFC and OC5REF

TIM1_CCR6

TIM1 capture/compare register 6

Offset: 0x5c, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR6
rw
Toggle fields

CCR6

Bits 0-15: Capture/Compare 6 value CCR6 is the value to be loaded in the actual capture/compare 6 register (preload value). It is loaded permanently if the preload feature is not selected in the TIMx_CCMR3 register (bit OC6PE). Else the preload value is copied in the active capture/compare 6 register when an update event occurs. The active capture/compare register contains the value to be compared to the counter TIMx_CNT and signaled on OC6 output..

TIM1_AF1

TIM1 alternate function option register 1

Offset: 0x60, size: 32, reset: 0x00000001, access: read-write

3/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ETRSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ETRSEL
rw
BKINP
rw
BKINE
rw
Toggle fields

BKINE

Bit 0: BRK BKIN input enable This bit enables the BKIN alternate function input for the timer s BRK input. BKIN input is ORed with the other BRK sources. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: BKIN input disabled
1: B_0x1: BKIN input enabled

BKINP

Bit 9: BRK BKIN input polarity This bit selects the BKIN alternate function input sensitivity. It must be programmed together with the BKP polarity bit. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: BKIN input polarity is not inverted (active low if BKP=0, active high if BKP=1)
1: B_0x1: BKIN input polarity is inverted (active high if BKP=0, active low if BKP=1)

ETRSEL

Bits 14-17: ETR source selection These bits select the ETR input source. Others: Reserved Note: These bits can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: ETR legacy mode
3: B_0x3: ADC1 AWD1
4: B_0x4: ADC1 AWD2
5: B_0x5: ADC1 AWD3

TIM1_AF2

TIM1 Alternate function register 2

Offset: 0x64, size: 32, reset: 0x00000001, access: read-write

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BK2INP
rw
BK2INE
rw
Toggle fields

BK2INE

Bit 0: BRK2 BKIN input enable This bit enables the BKIN2 alternate function input for the timer s BRK2 input. BKIN2 input is ORed with the other BRK2 sources. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: BKIN2 input disabled
1: B_0x1: BKIN2 input enabled

BK2INP

Bit 9: BRK2 BKIN2 input polarity This bit selects the BKIN2 alternate function input sensitivity. It must be programmed together with the BK2P polarity bit. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: BKIN2 input polarity is not inverted (active low if BK2P=0, active high if BK2P=1)
1: B_0x1: BKIN2 input polarity is inverted (active high if BK2P=0, active low if BK2P=1)

TIM1_TISEL

TIM1 timer input selection register

Offset: 0x68, size: 32, reset: 0x00000000, access: read-write

4/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TI4SEL
rw
TI3SEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TI2SEL
rw
TI1SEL
rw
Toggle fields

TI1SEL

Bits 0-3: selects TI1[0] to TI1[15] input Others: Reserved.

Allowed values:
0: B_0x0: TIM1_CH1 input

TI2SEL

Bits 8-11: selects TI2[0] to TI2[15] input Others: Reserved.

Allowed values:
0: B_0x0: TIM1_CH2 input

TI3SEL

Bits 16-19: selects TI3[0] to TI3[15] input Others: Reserved.

Allowed values:
0: B_0x0: TIM1_CH3 input

TI4SEL

Bits 24-27: selects TI4[0] to TI4[15] input Others: Reserved.

Allowed values:
0: B_0x0: TIM1_CH4 input

TIM14

0x40002000: TIM14 address block description

24/31 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 (16-bit) TIM14_CR1
0xc (16-bit) TIM14_DIER
0x10 (16-bit) TIM14_SR
0x14 (16-bit) TIM14_EGR
0x18 TIM14_CCMR1
0x18 TIM14_CCMR1_ALTERNATE1
0x20 (16-bit) TIM14_CCER
0x24 TIM14_CNT
0x28 (16-bit) TIM14_PSC
0x2c (16-bit) TIM14_ARR
0x34 (16-bit) TIM14_CCR1
0x68 (16-bit) TIM14_TISEL
Toggle registers

TIM14_CR1

TIM14 control register 1

Offset: 0x0, size: 16, reset: 0x00000000, access: read-write

7/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
UIFREMAP
rw
CKD
rw
ARPE
rw
OPM
rw
URS
rw
UDIS
rw
CEN
rw
Toggle fields

CEN

Bit 0: Counter enable Note: External clock and gated mode can work only if the CEN bit has been previously set by software. However trigger mode can set the CEN bit automatically by hardware..

Allowed values:
0: B_0x0: Counter disabled
1: B_0x1: Counter enabled

UDIS

Bit 1: Update disable This bit is set and cleared by software to enable/disable update interrupt (UEV) event generation. Counter overflow Setting the UG bit. Buffered registers are then loaded with their preload values..

Allowed values:
0: B_0x0: UEV enabled. An UEV is generated by one of the following events:
1: B_0x1: UEV disabled. No UEV is generated, shadow registers keep their value (ARR, PSC, CCRx). The counter and the prescaler are reinitialized if the UG bit is set.

URS

Bit 2: Update request source This bit is set and cleared by software to select the update interrupt (UEV) sources. Counter overflow Setting the UG bit.

Allowed values:
0: B_0x0: Any of the following events generate an UEV if enabled:
1: B_0x1: Only counter overflow generates an UEV if enabled.

OPM

Bit 3: One-pulse mode.

Allowed values:
0: B_0x0: Counter is not stopped on the update event
1: B_0x1: Counter stops counting on the next update event (clearing the CEN bit).

ARPE

Bit 7: Auto-reload preload enable.

Allowed values:
0: B_0x0: TIMx_ARR register is not buffered
1: B_0x1: TIMx_ARR register is buffered

CKD

Bits 8-9: Clock division This bit-field indicates the division ratio between the timer clock (CK_INT) frequency and sampling clock used by the digital filters (TIx),.

Allowed values:
0: B_0x0: t<sub>DTS</sub> = t<sub>CK_INT</sub>
1: B_0x1: t<sub>DTS</sub> = 2 t<sub>CK_INT</sub>
2: B_0x2: t<sub>DTS</sub> = 4 t<sub>CK_INT</sub>

UIFREMAP

Bit 11: UIF status bit remapping.

Allowed values:
0: B_0x0: No remapping. UIF status bit is not copied to TIMx_CNT register bit 31.
1: B_0x1: Remapping enabled. UIF status bit is copied to TIMx_CNT register bit 31.

TIM14_DIER

TIM14 Interrupt enable register

Offset: 0xc, size: 16, reset: 0x00000000, access: read-write

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC1IE
rw
UIE
rw
Toggle fields

UIE

Bit 0: Update interrupt enable.

Allowed values:
0: B_0x0: Update interrupt disabled
1: B_0x1: Update interrupt enabled

CC1IE

Bit 1: Capture/Compare 1 interrupt enable.

Allowed values:
0: B_0x0: CC1 interrupt disabled
1: B_0x1: CC1 interrupt enabled

TIM14_SR

TIM14 status register

Offset: 0x10, size: 16, reset: 0x00000000, access: read-write

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC1OF
rw
CC1IF
rw
UIF
rw
Toggle fields

UIF

Bit 0: Update interrupt flag This bit is set by hardware on an update event. It is cleared by software. At overflow and if UDIS= 0 in the TIMx_CR1 register. When CNT is reinitialized by software using the UG bit in TIMx_EGR register, if URS= 0 and UDIS= 0 in the TIMx_CR1 register..

Allowed values:
0: B_0x0: No update occurred.
1: B_0x1: Update interrupt pending. This bit is set by hardware when the registers are updated:

CC1IF

Bit 1: Capture/compare 1 interrupt flag This flag is set by hardware. It is cleared by software (input capture or output compare mode) or by reading the TIMx_CCR1 register (input capture mode only). If channel CC1 is configured as output: this flag is set when the content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. When the content of TIMx_CCR1 is greater than the content of TIMx_ARR, the CC1IF bit goes high on the counter overflow (in up-counting and up/down-counting modes) or underflow (in down-counting mode). There are 3 possible options for flag setting in center-aligned mode, refer to the CMS bits in the TIMx_CR1 register for the full description. If channel CC1 is configured as input: this bit is set when counter value has been captured in TIMx_CCR1 register (an edge has been detected on IC1, as per the edge sensitivity defined with the CC1P and CC1NP bits setting, in TIMx_CCER)..

Allowed values:
0: B_0x0: No compare match / No input capture occurred
1: B_0x1: A compare match or an input capture occurred.

CC1OF

Bit 9: Capture/Compare 1 overcapture flag This flag is set by hardware only when the corresponding channel is configured in input capture mode. It is cleared by software by writing it to 0 ..

Allowed values:
0: B_0x0: No overcapture has been detected.
1: B_0x1: The counter value has been captured in TIMx_CCR1 register while CC1IF flag was already set

TIM14_EGR

TIM14 event generation register

Offset: 0x14, size: 16, reset: 0x00000000, access: write-only

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC1G
w
UG
w
Toggle fields

UG

Bit 0: Update generation This bit can be set by software, it is automatically cleared by hardware..

Allowed values:
0: B_0x0: No action
1: B_0x1: Re-initialize the counter and generates an update of the registers. Note that the prescaler counter is cleared too (anyway the prescaler ratio is not affected). The counter is cleared.

CC1G

Bit 1: Capture/compare 1 generation This bit is set by software in order to generate an event, it is automatically cleared by hardware. If channel CC1 is configured as output: CC1IF flag is set, Corresponding interrupt or is sent if enabled. If channel CC1 is configured as input: The current value of the counter is captured in TIMx_CCR1 register. The CC1IF flag is set, the corresponding interrupt is sent if enabled. The CC1OF flag is set if the CC1IF flag was already high..

Allowed values:
0: B_0x0: No action
1: B_0x1: A capture/compare event is generated on channel 1:

TIM14_CCMR1

TIM14 capture/compare mode register 1

Offset: 0x18, size: 32, reset: 0x00000000, access: read-write

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IC1F
rw
IC1PSC
rw
CC1S
rw
Toggle fields

CC1S

Bits 0-1: Capture/Compare 1 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC1S bits are writable only when the channel is OFF (CC1E = 0 in TIMx_CCER)..

Allowed values:
0: B_0x0: CC1 channel is configured as output
1: B_0x1: CC1 channel is configured as input, IC1 is mapped on TI1

IC1PSC

Bits 2-3: Input capture 1 prescaler This bit-field defines the ratio of the prescaler acting on CC1 input (IC1). The prescaler is reset as soon as CC1E= 0 (TIMx_CCER register)..

Allowed values:
0: B_0x0: no prescaler, capture is done each time an edge is detected on the capture input
1: B_0x1: capture is done once every 2 events
2: B_0x2: capture is done once every 4 events
3: B_0x3: capture is done once every 8 events

IC1F

Bits 4-7: Input capture 1 filter This bit-field defines the frequency used to sample TI1 input and the length of the digital filter applied to TI1. The digital filter is made of an event counter in which N consecutive events are needed to validate a transition on the output:.

Allowed values:
0: B_0x0: No filter, sampling is done at f <sub>DTS</sub>
1: B_0x1: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=2
2: B_0x2: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=4
3: B_0x3: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=8
4: B_0x4: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/2, N=6
5: B_0x5: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/2, N=8
6: B_0x6: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/4, N=6
7: B_0x7: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/4, N=8
8: B_0x8: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/8, N=6
9: B_0x9: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/8, N=8
10: B_0xA: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=5
11: B_0xB: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=6
12: B_0xC: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=8
13: B_0xD: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=5
14: B_0xE: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=6
15: B_0xF: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=8

TIM14_CCMR1_ALTERNATE1

TIM14 capture/compare mode register 1

Offset: 0x18, size: 32, reset: 0x00000000, access: read-write

4/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OC1M_1
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OC1M
rw
OC1PE
rw
OC1FE
rw
CC1S
rw
Toggle fields

CC1S

Bits 0-1: Capture/Compare 1 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC1S bits are writable only when the channel is OFF (CC1E = 0 in TIMx_CCER)..

Allowed values:
0: B_0x0: CC1 channel is configured as output.
1: B_0x1: CC1 channel is configured as input, IC1 is mapped on TI1.
2: B_0x2: Reserved.
3: B_0x3: Reserved.

OC1FE

Bit 2: Output compare 1 fast enable This bit decreases the latency between a trigger event and a transition on the timer output. It must be used in one-pulse mode (OPM bit set in TIMx_CR1 register), to have the output pulse starting as soon as possible after the starting trigger..

Allowed values:
0: B_0x0: CC1 behaves normally depending on counter and CCR1 values even when the trigger is ON. The minimum delay to activate CC1 output when an edge occurs on the trigger input is 5 clock cycles.
1: B_0x1: An active edge on the trigger input acts like a compare match on CC1 output. OC is then set to the compare level independently of the result of the comparison. Delay to sample the trigger input and to activate CC1 output is reduced to 3 clock cycles. OC1FE acts only if the channel is configured in PWM1 or PWM2 mode.

OC1PE

Bit 3: Output compare 1 preload enable.

Allowed values:
0: B_0x0: Preload register on TIMx_CCR1 disabled. TIMx_CCR1 can be written at anytime, the new value is taken in account immediately.
1: B_0x1: Preload register on TIMx_CCR1 enabled. Read/Write operations access the preload register. TIMx_CCR1 preload value is loaded in the active register at each update event.

OC1M

Bits 4-6: OC1M[2:0]: Output compare 1 mode (refer to bit 16 for OC1M[3]) These bits define the behavior of the output reference signal OC1REF from which OC1 is derived. OC1REF is active high whereas OC1 active level depends on CC1P bit. Others: Reserved Note: In PWM mode 1 or 2, the OCREF level changes when the result of the comparison changes or when the output compare mode switches from frozen to PWM mode. Note: The OC1M[3] bit is not contiguous, located in bit 16..

Allowed values:
0: B_0x0: Frozen. The comparison between the output compare register TIMx_CCR1 and the counter TIMx_CNT has no effect on the outputs. This mode can be used when the timer serves as a software timebase. When the frozen mode is enabled during timer operation, the output keeps the state (active or inactive) it had before entering the frozen state.
1: B_0x1: Set channel 1 to active level on match. OC1REF signal is forced high when the counter TIMx_CNT matches the capture/compare register 1 (TIMx_CCR1).
2: B_0x2: Set channel 1 to inactive level on match. OC1REF signal is forced low when the counter TIMx_CNT matches the capture/compare register 1 (TIMx_CCR1).
3: B_0x3: Toggle - OC1REF toggles when TIMx_CNT = TIMx_CCR1.
4: B_0x4: Force inactive level - OC1REF is forced low.
5: B_0x5: Force active level - OC1REF is forced high.
6: B_0x6: PWM mode 1 - Channel 1 is active as long as TIMx_CNT < TIMx_CCR1 else inactive.
7: B_0x7: PWM mode 2 - Channel 1 is inactive as long as TIMx_CNT < TIMx_CCR1 else active

OC1M_1

Bit 16: OC1M[3].

TIM14_CCER

TIM14 capture/compare enable register

Offset: 0x20, size: 16, reset: 0x00000000, access: read-write

2/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC1NP
rw
CC1P
rw
CC1E
rw
Toggle fields

CC1E

Bit 0: Capture/Compare 1 output enable..

Allowed values:
0: B_0x0: Capture mode disabled / OC1 is not active
1: B_0x1: Capture mode enabled / OC1 signal is output on the corresponding output pin

CC1P

Bit 1: Capture/Compare 1 output Polarity. When CC1 channel is configured as input, both CC1NP/CC1P bits select the active polarity of TI1FP1 and TI2FP1 for trigger or capture operations. CC1NP=0, CC1P=0: non-inverted/rising edge. The circuit is sensitive to TIxFP1 rising edge (capture or trigger operations in reset, external clock or trigger mode), TIxFP1 is not inverted (trigger operation in gated mode or encoder mode). CC1NP=0, CC1P=1: inverted/falling edge. The circuit is sensitive to TIxFP1 falling edge (capture or trigger operations in reset, external clock or trigger mode), TIxFP1 is inverted (trigger operation in gated mode or encoder mode). CC1NP=1, CC1P=1: non-inverted/both edges/ The circuit is sensitive to both TIxFP1 rising and falling edges (capture or trigger operations in reset, external clock or trigger mode), TIxFP1is not inverted (trigger operation in gated mode). This configuration must not be used in encoder mode. CC1NP=1, CC1P=0: This configuration is reserved, it must not be used..

Allowed values:
0: B_0x0: OC1 active high (output mode) / Edge sensitivity selection (input mode, see below)
1: B_0x1: OC1 active low (output mode) / Edge sensitivity selection (input mode, see below)

CC1NP

Bit 3: Capture/Compare 1 complementary output Polarity. CC1 channel configured as output: CC1NP must be kept cleared. CC1 channel configured as input: CC1NP bit is used in conjunction with CC1P to define TI1FP1 polarity (refer to CC1P description)..

TIM14_CNT

TIM14 counter

Offset: 0x24, size: 32, reset: 0x00000000, access: read-write

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UIFCPY
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CNT
rw
Toggle fields

CNT

Bits 0-15: Counter value.

UIFCPY

Bit 31: UIF Copy This bit is a read-only copy of the UIF bit in the TIMx_ISR register..

TIM14_PSC

TIM14 prescaler

Offset: 0x28, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PSC
rw
Toggle fields

PSC

Bits 0-15: Prescaler value The counter clock frequency CK_CNT is equal to f<sub>CK_PSC</sub> / (PSC[15:0] + 1). PSC contains the value to be loaded in the active prescaler register at each update event. (including when the counter is cleared through UG bit of TIMx_EGR register or through trigger controller when configured in reset mode )..

TIM14_ARR

TIM14 auto-reload register

Offset: 0x2c, size: 16, reset: 0x0000FFFF, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ARR
rw
Toggle fields

ARR

Bits 0-15: Auto-reload value ARR is the value to be loaded in the actual auto-reload register. Refer to Section 19.3.1: Time-base unit on page 517 for more details about ARR update and behavior. The counter is blocked while the auto-reload value is null..

TIM14_CCR1

TIM14 capture/compare register 1

Offset: 0x34, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR1
rw
Toggle fields

CCR1

Bits 0-15: Capture/Compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the actual capture/compare 1 register (preload value). It is loaded permanently if the preload feature is not selected in the TIMx_CCMR1 register (bit OC1PE). Else the preload value is copied in the active capture/compare 1 register when an update event occurs. The active capture/compare register contains the value to be compared to the counter TIMx_CNT and signaled on OC1 output. If channel CC1is configured as input: CCR1 is the counter value transferred by the last input capture 1 event (IC1)..

TIM14_TISEL

TIM14 timer input selection register

Offset: 0x68, size: 16, reset: 0x00000000, access: read-write

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TI1SEL
rw
Toggle fields

TI1SEL

Bits 0-3: selects TI1[0] to TI1[15] input Others: Reserved.

Allowed values:
0: B_0x0: TIM14_CH1 input
1: B_0x1: RTC CLK
2: B_0x2: HSE/32
3: B_0x3: MCO
4: B_0x4: MCO2

TIM15

0x40014000: TIM15 address block description

69/92 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 (16-bit) TIM15_CR1
0x4 (16-bit) TIM15_CR2
0x8 TIM15_SMCR
0xc (16-bit) TIM15_DIER
0x10 (16-bit) TIM15_SR
0x14 (16-bit) TIM15_EGR
0x18 TIM15_CCMR1
0x18 TIM15_CCMR1_ALTERNATE1
0x20 (16-bit) TIM15_CCER
0x24 TIM15_CNT
0x28 (16-bit) TIM15_PSC
0x2c (16-bit) TIM15_ARR
0x30 (16-bit) TIM15_RCR
0x34 (16-bit) TIM15_CCR1
0x38 (16-bit) TIM15_CCR2
0x44 TIM15_BDTR
0x48 (16-bit) TIM15_DCR
0x4c (16-bit) TIM15_DMAR
0x60 TIM15_AF1
0x68 TIM15_TISEL
Toggle registers

TIM15_CR1

TIM15 control register 1

Offset: 0x0, size: 16, reset: 0x00000000, access: read-write

7/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
UIFREMAP
rw
CKD
rw
ARPE
rw
OPM
rw
URS
rw
UDIS
rw
CEN
rw
Toggle fields

CEN

Bit 0: Counter enable.

Allowed values:
0: B_0x0: Counter disabled
1: B_0x1: Counter enabled

UDIS

Bit 1: Update disable.

Allowed values:
0: B_0x0: UEV enabled.
1: B_0x1: UEV disabled.

URS

Bit 2: Update request source.

Allowed values:
0: B_0x0: Any of the following events generate an update interrupt if enabled.
1: B_0x1: Only counter overflow/underflow generates an update interrupt if enabled

OPM

Bit 3: One-pulse mode.

Allowed values:
0: B_0x0: Counter is not stopped at update event
1: B_0x1: Counter stops counting at the next update event (clearing the bit CEN)

ARPE

Bit 7: Auto-reload preload enable.

Allowed values:
0: B_0x0: TIMx_ARR register is not buffered
1: B_0x1: TIMx_ARR register is buffered

CKD

Bits 8-9: Clock division.

Allowed values:
0: B_0x0: tless thansub>DTS less than/sub>= tless thansub>CK_INTless than/sub>
1: B_0x1: tless thansub>DTSless than/sub> = 2*tless thansub>CK_INTless than/sub>
2: B_0x2: tless thansub>DTSless than/sub> = 4*tless thansub>CK_INTless than/sub>

UIFREMAP

Bit 11: UIF status bit remapping.

Allowed values:
0: B_0x0: No remapping.
1: B_0x1: Remapping enabled.

TIM15_CR2

TIM15 control register 2

Offset: 0x4, size: 16, reset: 0x00000000, access: read-write

8/8 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OIS2
rw
OIS1N
rw
OIS1
rw
TI1S
rw
MMS
rw
CCDS
rw
CCUS
rw
CCPC
rw
Toggle fields

CCPC

Bit 0: Capture/compare preloaded control.

Allowed values:
0: B_0x0: CCxE, CCxNE and OCxM bits are not preloaded
1: B_0x1: CCxE, CCxNE and OCxM bits are preloaded, after having been written, they are updated only when a commutation event (COM) occurs (COMG bit set or rising edge detected on TRGI, depending on the CCUS bit).

CCUS

Bit 2: Capture/compare control update selection.

Allowed values:
0: B_0x0: When capture/compare control bits are preloaded (CCPC=1), they are updated by setting the COMG bit only.
1: B_0x1: When capture/compare control bits are preloaded (CCPC=1), they are updated by setting the COMG bit or when an rising edge occurs on TRGI.

CCDS

Bit 3: Capture/compare DMA selection.

Allowed values:
0: B_0x0: CCx DMA request sent when CCx event occurs
1: B_0x1: CCx DMA requests sent when update event occurs

MMS

Bits 4-6: Master mode selection.

Allowed values:
0: B_0x0: Reset - the UG bit from the TIMx_EGR register is used as trigger output (TRGO).
1: B_0x1: Enable - the Counter Enable signal CNT_EN is used as trigger output (TRGO).
2: B_0x2: Update - The update event is selected as trigger output (TRGO).
3: B_0x3: Compare Pulse - The trigger output send a positive pulse when the CC1IF flag is to be set (even if it was already high), as soon as a capture or a compare match occurred.
4: B_0x4: Compare - OC1REFC signal is used as trigger output (TRGO).
5: B_0x5: Compare - OC2REFC signal is used as trigger output (TRGO).

TI1S

Bit 7: TI1 selection.

Allowed values:
0: B_0x0: The TIMx_CH1 pin is connected to TI1 input
1: B_0x1: The TIMx_CH1, CH2 pins are connected to the TI1 input (XOR combination)

OIS1

Bit 8: Output Idle state 1 (OC1 output).

Allowed values:
0: B_0x0: OC1=0 (after a dead-time if OC1N is implemented) when MOE=0
1: B_0x1: OC1=1 (after a dead-time if OC1N is implemented) when MOE=0

OIS1N

Bit 9: Output Idle state 1 (OC1N output).

Allowed values:
0: B_0x0: OC1N=0 after a dead-time when MOE=0
1: B_0x1: OC1N=1 after a dead-time when MOE=0

OIS2

Bit 10: Output idle state 2 (OC2 output).

Allowed values:
0: B_0x0: OC2=0 when MOE=0
1: B_0x1: OC2=1 when MOE=0

TIM15_SMCR

TIM15 slave mode control register

Offset: 0x8, size: 32, reset: 0x00000000, access: read-write

3/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TS_1
rw
SMS_1
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MSM
rw
TS
rw
SMS
rw
Toggle fields

SMS

Bits 0-2: SMS[2:0]: Slave mode selection.

Allowed values:
0: B_0x0: Slave mode disabled - if CEN = 1' then the prescaler is clocked directly by the internal clock.
4: B_0x4: Reset Mode - Rising edge of the selected trigger input (TRGI) reinitializes the counter and generates an update of the registers.
5: B_0x5: Gated Mode - The counter clock is enabled when the trigger input (TRGI) is high.
6: B_0x6: Trigger Mode - The counter starts at a rising edge of the trigger TRGI (but it is not reset).
7: B_0x7: External Clock Mode 1 - Rising edges of the selected trigger (TRGI) clock the counter.

TS

Bits 4-6: TS[2:0]: Trigger selection.

Allowed values:
0: B_0x0: Internal Trigger 0 (ITR0)
1: B_0x1: Internal Trigger 1 (ITR1)
2: B_0x2: Internal Trigger 2 (ITR2)
3: B_0x3: Internal Trigger 3 (ITR3)
4: B_0x4: TI1 Edge Detector (TI1F_ED)
5: B_0x5: Filtered Timer Input 1 (TI1FP1)
6: B_0x6: Filtered Timer Input 2 (TI2FP2)

MSM

Bit 7: Master/slave mode.

Allowed values:
0: B_0x0: No action
1: B_0x1: The effect of an event on the trigger input (TRGI) is delayed to allow a perfect synchronization between the current timer and its slaves (through TRGO).

SMS_1

Bit 16: SMS[3].

TS_1

Bits 20-21: TS[4:3].

TIM15_DIER

TIM15 DMA/interrupt enable register

Offset: 0xc, size: 16, reset: 0x00000000, access: read-write

10/10 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TDE
rw
COMDE
rw
CC1DE
rw
UDE
rw
BIE
rw
TIE
rw
COMIE
rw
CC2IE
rw
CC1IE
rw
UIE
rw
Toggle fields

UIE

Bit 0: Update interrupt enable.

Allowed values:
0: B_0x0: Update interrupt disabled
1: B_0x1: Update interrupt enabled

CC1IE

Bit 1: Capture/Compare 1 interrupt enable.

Allowed values:
0: B_0x0: CC1 interrupt disabled
1: B_0x1: CC1 interrupt enabled

CC2IE

Bit 2: Capture/Compare 2 interrupt enable.

Allowed values:
0: B_0x0: CC2 interrupt disabled
1: B_0x1: CC2 interrupt enabled

COMIE

Bit 5: COM interrupt enable.

Allowed values:
0: B_0x0: COM interrupt disabled
1: B_0x1: COM interrupt enabled

TIE

Bit 6: Trigger interrupt enable.

Allowed values:
0: B_0x0: Trigger interrupt disabled
1: B_0x1: Trigger interrupt enabled

BIE

Bit 7: Break interrupt enable.

Allowed values:
0: B_0x0: Break interrupt disabled
1: B_0x1: Break interrupt enabled

UDE

Bit 8: Update DMA request enable.

Allowed values:
0: B_0x0: Update DMA request disabled
1: B_0x1: Update DMA request enabled

CC1DE

Bit 9: Capture/Compare 1 DMA request enable.

Allowed values:
0: B_0x0: CC1 DMA request disabled
1: B_0x1: CC1 DMA request enabled

COMDE

Bit 13: COM DMA request enable.

Allowed values:
0: B_0x0: COM DMA request disabled
1: B_0x1: COM DMA request enabled

TDE

Bit 14: Trigger DMA request enable.

Allowed values:
0: B_0x0: Trigger DMA request disabled
1: B_0x1: Trigger DMA request enabled

TIM15_SR

TIM15 status register

Offset: 0x10, size: 16, reset: 0x00000000, access: read-write

6/8 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC2OF
rw
CC1OF
rw
BIF
rw
TIF
rw
COMIF
rw
CC2IF
rw
CC1IF
rw
UIF
rw
Toggle fields

UIF

Bit 0: Update interrupt flag.

Allowed values:
0: B_0x0: No update occurred.
1: B_0x1: Update interrupt pending.

CC1IF

Bit 1: Capture/Compare 1 interrupt flag.

Allowed values:
0: B_0x0: No compare match / No input capture occurred
1: B_0x1: A compare match or an input capture occurred

CC2IF

Bit 2: Capture/Compare 2 interrupt flag.

COMIF

Bit 5: COM interrupt flag.

Allowed values:
0: B_0x0: No COM event occurred
1: B_0x1: COM interrupt pending

TIF

Bit 6: Trigger interrupt flag.

Allowed values:
0: B_0x0: No trigger event occurred
1: B_0x1: Trigger interrupt pending

BIF

Bit 7: Break interrupt flag.

Allowed values:
0: B_0x0: No break event occurred
1: B_0x1: An active level has been detected on the break input

CC1OF

Bit 9: Capture/Compare 1 overcapture flag.

Allowed values:
0: B_0x0: No overcapture has been detected
1: B_0x1: The counter value has been captured in TIMx_CCR1 register while CC1IF flag was already set

CC2OF

Bit 10: Capture/Compare 2 overcapture flag.

TIM15_EGR

TIM15 event generation register

Offset: 0x14, size: 16, reset: 0x00000000, access: read-write

5/6 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BG
w
TG
w
COMG
rw
CC2G
w
CC1G
w
UG
w
Toggle fields

UG

Bit 0: Update generation.

Allowed values:
0: B_0x0: No action
1: B_0x1: Reinitialize the counter and generates an update of the registers.

CC1G

Bit 1: Capture/Compare 1 generation.

Allowed values:
0: B_0x0: No action
1: B_0x1: A capture/compare event is generated on channel 1:

CC2G

Bit 2: Capture/Compare 2 generation.

COMG

Bit 5: Capture/Compare control update generation.

Allowed values:
0: B_0x0: No action
1: B_0x1: When the CCPC bit is set, it is possible to update the CCxE, CCxNE and OCxM bits

TG

Bit 6: Trigger generation.

Allowed values:
0: B_0x0: No action
1: B_0x1: The TIF flag is set in TIMx_SR register.

BG

Bit 7: Break generation.

Allowed values:
0: B_0x0: No action
1: B_0x1: A break event is generated.

TIM15_CCMR1

TIM15 capture/compare mode register 1

Offset: 0x18, size: 32, reset: 0x00000000, access: read-write

4/6 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IC2F
rw
IC2PSC
rw
CC2S
rw
IC1F
rw
IC1PSC
rw
CC1S
rw
Toggle fields

CC1S

Bits 0-1: Capture/Compare 1 Selection.

Allowed values:
0: B_0x0: CC1 channel is configured as output
1: B_0x1: CC1 channel is configured as input, IC1 is mapped on TI1
2: B_0x2: CC1 channel is configured as input, IC1 is mapped on TI2
3: B_0x3: CC1 channel is configured as input, IC1 is mapped on TRC.

IC1PSC

Bits 2-3: Input capture 1 prescaler.

Allowed values:
0: B_0x0: no prescaler, capture is done each time an edge is detected on the capture input
1: B_0x1: capture is done once every 2 events
2: B_0x2: capture is done once every 4 events
3: B_0x3: capture is done once every 8 events

IC1F

Bits 4-7: Input capture 1 filter.

Allowed values:
0: B_0x0: No filter, sampling is done at fless thansub>DTSless than/sub>
1: B_0x1: fless thansub>SAMPLINGless than/sub>=fless thansub>CK_INTless than/sub>, N=2
2: B_0x2: fless thansub>SAMPLINGless than/sub>=fless thansub>CK_INTless than/sub>, N=4
3: B_0x3: fless thansub>SAMPLINGless than/sub>=fless thansub>CK_INTless than/sub>, N=8
4: B_0x4: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/2, N=6
5: B_0x5: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/2, N=8
6: B_0x6: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/4, N=6
7: B_0x7: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/4, N=8
8: B_0x8: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/8, N=6
9: B_0x9: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/8, N=8
10: B_0xA: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/16, N=5
11: B_0xB: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/16, N=6
12: B_0xC: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/16, N=8
13: B_0xD: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/32, N=5
14: B_0xE: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/32, N=6
15: B_0xF: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/32, N=8

CC2S

Bits 8-9: Capture/Compare 2 selection.

Allowed values:
0: B_0x0: CC2 channel is configured as output
1: B_0x1: CC2 channel is configured as input, IC2 is mapped on TI2
2: B_0x2: CC2 channel is configured as input, IC2 is mapped on TI1
3: B_0x3: CC2 channel is configured as input, IC2 is mapped on TRC.

IC2PSC

Bits 10-11: Input capture 2 prescaler.

IC2F

Bits 12-15: Input capture 2 filter.

TIM15_CCMR1_ALTERNATE1

TIM15 capture/compare mode register 1

Offset: 0x18, size: 32, reset: 0x00000000, access: read-write

5/10 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OC2M_1
rw
OC1M_1
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OC2M
rw
OC2PE
rw
OC2FE
rw
CC2S
rw
OC1M
rw
OC1PE
rw
OC1FE
rw
CC1S
rw
Toggle fields

CC1S

Bits 0-1: Capture/Compare 1 selection.

Allowed values:
0: B_0x0: CC1 channel is configured as output.
1: B_0x1: CC1 channel is configured as input, IC1 is mapped on TI1.
2: B_0x2: CC1 channel is configured as input, IC1 is mapped on TI2.
3: B_0x3: CC1 channel is configured as input, IC1 is mapped on TRC.

OC1FE

Bit 2: Output Compare 1 fast enable.

Allowed values:
0: B_0x0: CC1 behaves normally depending on counter and CCR1 values even when the trigger is ON.
1: B_0x1: An active edge on the trigger input acts like a compare match on CC1 output.

OC1PE

Bit 3: Output Compare 1 preload enable.

Allowed values:
0: B_0x0: Preload register on TIMx_CCR1 disabled.
1: B_0x1: Preload register on TIMx_CCR1 enabled.

OC1M

Bits 4-6: OC1M[2:0]: Output Compare 1 mode.

Allowed values:
0: B_0x0: Frozen - The comparison between the output compare register TIMx_CCR1 and the counter TIMx_CNT has no effect on the outputs.
1: B_0x1: Set channel 1 to active level on match.
2: B_0x2: Set channel 1 to inactive level on match.
3: B_0x3: Toggle - OC1REF toggles when TIMx_CNT=TIMx_CCR1.
4: B_0x4: Force inactive level - OC1REF is forced low.
5: B_0x5: Force active level - OC1REF is forced high.
6: B_0x6: PWM mode 1 - Channel 1 is active as long as TIMx_CNTless thanTIMx_CCR1 else inactive.
7: B_0x7: PWM mode 2 - Channel 1 is inactive as long as TIMx_CNTless thanTIMx_CCR1 else active.

CC2S

Bits 8-9: Capture/Compare 2 selection.

Allowed values:
0: B_0x0: CC2 channel is configured as output.
1: B_0x1: CC2 channel is configured as input, IC2 is mapped on TI2.
2: B_0x2: CC2 channel is configured as input, IC2 is mapped on TI1.
3: B_0x3: CC2 channel is configured as input, IC2 is mapped on TRC.

OC2FE

Bit 10: Output Compare 2 fast enable.

OC2PE

Bit 11: Output Compare 2 preload enable.

OC2M

Bits 12-14: OC2M[2:0]: Output Compare 2 mode.

OC1M_1

Bit 16: OC1M[3].

OC2M_1

Bit 24: OC2M[3].

TIM15_CCER

TIM15 capture/compare enable register

Offset: 0x20, size: 16, reset: 0x00000000, access: read-write

4/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC2NP
rw
CC2P
rw
CC2E
rw
CC1NP
rw
CC1NE
rw
CC1P
rw
CC1E
rw
Toggle fields

CC1E

Bit 0: Capture/Compare 1 output enable.

Allowed values:
0: B_0x0: Capture mode disabled / OC1 is not active (see below)
1: B_0x1: Capture mode enabled / OC1 signal is output on the corresponding output pin

CC1P

Bit 1: Capture/Compare 1 output polarity.

Allowed values:
0: B_0x0: OC1 active high (output mode) / Edge sensitivity selection (input mode, see below)
1: B_0x1: OC1 active low (output mode) / Edge sensitivity selection (input mode, see below)

CC1NE

Bit 2: Capture/Compare 1 complementary output enable.

Allowed values:
0: B_0x0: Off - OC1N is not active.
1: B_0x1: On - OC1N signal is output on the corresponding output pin depending on MOE, OSSI, OSSR, OIS1, OIS1N and CC1E bits.

CC1NP

Bit 3: Capture/Compare 1 complementary output polarity.

Allowed values:
0: B_0x0: OC1N active high
1: B_0x1: OC1N active low

CC2E

Bit 4: Capture/Compare 2 output enable.

CC2P

Bit 5: Capture/Compare 2 output polarity.

CC2NP

Bit 7: Capture/Compare 2 complementary output polarity.

TIM15_CNT

TIM15 counter

Offset: 0x24, size: 32, reset: 0x00000000, access: read-write

1/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UIFCPY
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CNT
rw
Toggle fields

CNT

Bits 0-15: Counter value.

UIFCPY

Bit 31: UIF Copy.

TIM15_PSC

TIM15 prescaler

Offset: 0x28, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PSC
rw
Toggle fields

PSC

Bits 0-15: Prescaler value.

TIM15_ARR

TIM15 auto-reload register

Offset: 0x2c, size: 16, reset: 0x0000FFFF, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ARR
rw
Toggle fields

ARR

Bits 0-15: Auto-reload value.

TIM15_RCR

TIM15 repetition counter register

Offset: 0x30, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
REP
rw
Toggle fields

REP

Bits 0-7: Repetition counter value.

TIM15_CCR1

TIM15 capture/compare register 1

Offset: 0x34, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR1
rw
Toggle fields

CCR1

Bits 0-15: Capture/Compare 1 value.

TIM15_CCR2

TIM15 capture/compare register 2

Offset: 0x38, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR2
rw
Toggle fields

CCR2

Bits 0-15: Capture/Compare 2 value.

TIM15_BDTR

TIM15 break and dead-time register

Offset: 0x44, size: 32, reset: 0x00000000, access: read-write

10/11 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKBID
rw
BKDSRM
rw
BKF
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MOE
rw
AOE
rw
BKP
rw
BKE
rw
OSSR
rw
OSSI
rw
LOCK
rw
DTG
rw
Toggle fields

DTG

Bits 0-7: Dead-time generator setup.

LOCK

Bits 8-9: Lock configuration.

Allowed values:
0: B_0x0: LOCK OFF - No bit is write protected
1: B_0x1: LOCK Level 1 = DTG bits in TIMx_BDTR register, OISx and OISxN bits in TIMx_CR2 register and BKE/BKP/AOE bits in TIMx_BDTR register can no longer be written
2: B_0x2: LOCK Level 2 = LOCK Level 1 + CC Polarity bits (CCxP/CCxNP bits in TIMx_CCER register, as long as the related channel is configured in output through the CCxS bits) as well as OSSR and OSSI bits can no longer be written.
3: B_0x3: LOCK Level 3 = LOCK Level 2 + CC Control bits (OCxM and OCxPE bits in TIMx_CCMRx registers, as long as the related channel is configured in output through the CCxS bits) can no longer be written.

OSSI

Bit 10: Off-state selection for Idle mode.

Allowed values:
0: B_0x0: When inactive, OC/OCN outputs are disabled (OC/OCN enable output signal=0)
1: B_0x1: When inactive, OC/OCN outputs are forced first with their idle level as soon as CCxE=1 or CCxNE=1.

OSSR

Bit 11: Off-state selection for Run mode.

Allowed values:
0: B_0x0: When inactive, OC/OCN outputs are disabled (the timer releases the output control which is taken over by the GPIO, which forces a Hi-Z state)
1: B_0x1: When inactive, OC/OCN outputs are enabled with their inactive level as soon as CCxE=1 or CCxNE=1 (the output is still controlled by the timer).

BKE

Bit 12: Break enable.

Allowed values:
0: B_0x0: Break inputs (BRK and CCS clock failure event) disabled

BKP

Bit 13: Break polarity.

Allowed values:
0: B_0x0: Break input BRK is active low
1: B_0x1: Break input BRK is active high

AOE

Bit 14: Automatic output enable.

Allowed values:
0: B_0x0: MOE can be set only by software
1: B_0x1: MOE can be set by software or automatically at the next update event (if the break input is not be active)

MOE

Bit 15: Main output enable.

Allowed values:
0: B_0x0: OC and OCN outputs are disabled or forced to idle state depending on the OSSI bit.
1: B_0x1: OC and OCN outputs are enabled if their respective enable bits are set (CCxE, CCxNE in TIMx_CCER register)

BKF

Bits 16-19: Break filter.

Allowed values:
0: B_0x0: No filter, BRK acts asynchronously
1: B_0x1: fless thansub>SAMPLINGless than/sub>=fless thansub>CK_INTless than/sub>, N=2
2: B_0x2: fless thansub>SAMPLINGless than/sub>=fless thansub>CK_INTless than/sub>, N=4
3: B_0x3: fless thansub>SAMPLINGless than/sub>=fless thansub>CK_INTless than/sub>, N=8
4: B_0x4: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/2, N=6
5: B_0x5: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/2, N=8
6: B_0x6: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/4, N=6
7: B_0x7: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/4, N=8
8: B_0x8: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/8, N=6
9: B_0x9: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/8, N=8
10: B_0xA: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/16, N=5
11: B_0xB: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/16, N=6
12: B_0xC: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/16, N=8
13: B_0xD: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/32, N=5
14: B_0xE: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/32, N=6
15: B_0xF: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/32, N=8

BKDSRM

Bit 26: Break Disarm.

Allowed values:
0: B_0x0: Break input BRK is armed
1: B_0x1: Break input BRK is disarmed

BKBID

Bit 28: Break Bidirectional.

Allowed values:
0: B_0x0: Break input BRK in input mode
1: B_0x1: Break input BRK in bidirectional mode

TIM15_DCR

TIM15 DMA control register

Offset: 0x48, size: 16, reset: 0x00000000, access: read-write

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DBL
rw
DBA
rw
Toggle fields

DBA

Bits 0-4: DMA base address.

Allowed values:
0: B_0x0: TIMx_CR1,
1: B_0x1: TIMx_CR2,
2: B_0x2: TIMx_SMCR,

DBL

Bits 8-12: DMA burst length.

Allowed values:
0: B_0x0: 1 transfer,
1: B_0x1: 2 transfers,
2: B_0x2: 3 transfers,
17: B_0x11: 18 transfers.

TIM15_DMAR

TIM15 DMA address for full transfer

Offset: 0x4c, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DMAB
rw
Toggle fields

DMAB

Bits 0-15: DMA register for burst accesses.

TIM15_AF1

TIM15 alternate register 1

Offset: 0x60, size: 32, reset: 0x00000001, access: read-write

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKINP
rw
BKINE
rw
Toggle fields

BKINE

Bit 0: BRK BKIN input enable.

Allowed values:
0: B_0x0: BKIN input disabled
1: B_0x1: BKIN input enabled

BKINP

Bit 9: BRK BKIN input polarity.

Allowed values:
0: B_0x0: BKIN input is active low
1: B_0x1: BKIN input is active high

TIM15_TISEL

TIM15 input selection register

Offset: 0x68, size: 32, reset: 0x00000000, access: read-write

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TI2SEL
rw
TI1SEL
rw
Toggle fields

TI1SEL

Bits 0-3: selects TI1[0] to TI1[15] input.

Allowed values:
0: B_0x0: TIM15_CH1 input
1: B_0x1: TIM2_IC1
2: B_0x2: TIM3_IC1

TI2SEL

Bits 8-11: selects TI2[0] to TI2[15] input.

Allowed values:
0: B_0x0: TIM15_CH2 input
1: B_0x1: TIM2_IC2
2: B_0x2: TIM3_IC2

TIM16

0x40014400: TIM16 address block description

54/62 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 (16-bit) TIM16_CR1
0x4 (16-bit) TIM16_CR2
0xc (16-bit) TIM16_DIER
0x10 (16-bit) TIM16_SR
0x14 (16-bit) TIM16_EGR
0x18 TIM16_CCMR1
0x18 TIM16_CCMR1_ALTERNATE1
0x20 (16-bit) TIM16_CCER
0x24 TIM16_CNT
0x28 (16-bit) TIM16_PSC
0x2c (16-bit) TIM16_ARR
0x30 (16-bit) TIM16_RCR
0x34 (16-bit) TIM16_CCR1
0x44 TIM16_BDTR
0x48 (16-bit) TIM16_DCR
0x4c (16-bit) TIM16_DMAR
0x60 TIM16_AF1
0x68 TIM16_TISEL
Toggle registers

TIM16_CR1

TIM16 control register 1

Offset: 0x0, size: 16, reset: 0x00000000, access: read-write

7/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
UIFREMAP
rw
CKD
rw
ARPE
rw
OPM
rw
URS
rw
UDIS
rw
CEN
rw
Toggle fields

CEN

Bit 0: Counter enable Note: External clock and gated mode can work only if the CEN bit has been previously set by software. However trigger mode can set the CEN bit automatically by hardware..

Allowed values:
0: B_0x0: Counter disabled
1: B_0x1: Counter enabled

UDIS

Bit 1: Update disable This bit is set and cleared by software to enable/disable UEV event generation. Counter overflow/underflow Setting the UG bit Update generation through the slave mode controller Buffered registers are then loaded with their preload values..

Allowed values:
0: B_0x0: UEV enabled. The Update (UEV) event is generated by one of the following events:
1: B_0x1: UEV disabled. The Update event is not generated, shadow registers keep their value (ARR, PSC, CCRx). However the counter and the prescaler are reinitialized if the UG bit is set or if a hardware reset is received from the slave mode controller.

URS

Bit 2: Update request source This bit is set and cleared by software to select the UEV event sources. Counter overflow/underflow Setting the UG bit Update generation through the slave mode controller.

Allowed values:
0: B_0x0: Any of the following events generate an update interrupt or DMA request if enabled. These events can be:
1: B_0x1: Only counter overflow/underflow generates an update interrupt or DMA request if enabled.

OPM

Bit 3: One pulse mode.

Allowed values:
0: B_0x0: Counter is not stopped at update event
1: B_0x1: Counter stops counting at the next update event (clearing the bit CEN)

ARPE

Bit 7: Auto-reload preload enable.

Allowed values:
0: B_0x0: TIMx_ARR register is not buffered
1: B_0x1: TIMx_ARR register is buffered

CKD

Bits 8-9: Clock division This bit-field indicates the division ratio between the timer clock (CK_INT) frequency and the dead-time and sampling clock (t<sub>DTS</sub>)used by the dead-time generators and the digital filters (TIx),.

Allowed values:
0: B_0x0: t <sub>DTS</sub>= t<sub>CK_INT</sub>
1: B_0x1: t <sub>DTS</sub>= 2 * t<sub>CK_INT</sub>
2: B_0x2: t<sub>DTS</sub> = 4 * t<sub>CK_INT</sub>
3: B_0x3: Reserved, do not program this value

UIFREMAP

Bit 11: UIF status bit remapping.

Allowed values:
0: B_0x0: No remapping. UIF status bit is not copied to TIMx_CNT register bit 31.
1: B_0x1: Remapping enabled. UIF status bit is copied to TIMx_CNT register bit 31.

TIM16_CR2

TIM16 control register 2

Offset: 0x4, size: 16, reset: 0x00000000, access: read-write

5/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OIS1N
rw
OIS1
rw
CCDS
rw
CCUS
rw
CCPC
rw
Toggle fields

CCPC

Bit 0: Capture/compare preloaded control Note: This bit acts only on channels that have a complementary output..

Allowed values:
0: B_0x0: CCxE, CCxNE and OCxM bits are not preloaded
1: B_0x1: CCxE, CCxNE and OCxM bits are preloaded, after having been written, they are updated only when COM bit is set.

CCUS

Bit 2: Capture/compare control update selection Note: This bit acts only on channels that have a complementary output..

Allowed values:
0: B_0x0: When capture/compare control bits are preloaded (CCPC=1), they are updated by setting the COMG bit only.
1: B_0x1: When capture/compare control bits are preloaded (CCPC=1), they are updated by setting the COMG bit or when an rising edge occurs on TRGI.

CCDS

Bit 3: Capture/compare DMA selection.

Allowed values:
0: B_0x0: CCx DMA request sent when CCx event occurs
1: B_0x1: CCx DMA requests sent when update event occurs

OIS1

Bit 8: Output Idle state 1 (OC1 output) Note: This bit can not be modified as long as LOCK level 1, 2 or 3 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: OC1=0 (after a dead-time if OC1N is implemented) when MOE=0
1: B_0x1: OC1=1 (after a dead-time if OC1N is implemented) when MOE=0

OIS1N

Bit 9: Output Idle state 1 (OC1N output) Note: This bit can not be modified as long as LOCK level 1, 2 or 3 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: OC1N=0 after a dead-time when MOE=0
1: B_0x1: OC1N=1 after a dead-time when MOE=0

TIM16_DIER

TIM16 DMA/interrupt enable register

Offset: 0xc, size: 16, reset: 0x00000000, access: read-write

6/6 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC1DE
rw
UDE
rw
BIE
rw
COMIE
rw
CC1IE
rw
UIE
rw
Toggle fields

UIE

Bit 0: Update interrupt enable.

Allowed values:
0: B_0x0: Update interrupt disabled
1: B_0x1: Update interrupt enabled

CC1IE

Bit 1: Capture/Compare 1 interrupt enable.

Allowed values:
0: B_0x0: CC1 interrupt disabled
1: B_0x1: CC1 interrupt enabled

COMIE

Bit 5: COM interrupt enable.

Allowed values:
0: B_0x0: COM interrupt disabled
1: B_0x1: COM interrupt enabled

BIE

Bit 7: Break interrupt enable.

Allowed values:
0: B_0x0: Break interrupt disabled
1: B_0x1: Break interrupt enabled

UDE

Bit 8: Update DMA request enable.

Allowed values:
0: B_0x0: Update DMA request disabled
1: B_0x1: Update DMA request enabled

CC1DE

Bit 9: Capture/Compare 1 DMA request enable.

Allowed values:
0: B_0x0: CC1 DMA request disabled
1: B_0x1: CC1 DMA request enabled

TIM16_SR

TIM16 status register

Offset: 0x10, size: 16, reset: 0x00000000, access: read-write

5/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC1OF
rw
BIF
rw
COMIF
rw
CC1IF
rw
UIF
rw
Toggle fields

UIF

Bit 0: Update interrupt flag This bit is set by hardware on an update event. It is cleared by software. At overflow regarding the repetition counter value (update if repetition counter = 0) and if the UDIS=0 in the TIMx_CR1 register. When CNT is reinitialized by software using the UG bit in TIMx_EGR register, if URS=0 and UDIS=0 in the TIMx_CR1 register..

Allowed values:
0: B_0x0: No update occurred.
1: B_0x1: Update interrupt pending. This bit is set by hardware when the registers are updated:

CC1IF

Bit 1: Capture/Compare 1 interrupt flag This flag is set by hardware. It is cleared by software (input capture or output compare mode) or by reading the TIMx_CCR1 register (input capture mode only). If channel CC1 is configured as output: this flag is set when the content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. When the content of TIMx_CCR1 is greater than the content of TIMx_ARR, the CC1IF bit goes high on the counter overflow (in up-counting and up/down-counting modes) or underflow (in down-counting mode). There are 3 possible options for flag setting in center-aligned mode, refer to the CMS bits in the TIMx_CR1 register for the full description. If channel CC1 is configured as input: this bit is set when counter value has been captured in TIMx_CCR1 register (an edge has been detected on IC1, as per the edge sensitivity defined with the CC1P and CC1NP bits setting, in TIMx_CCER)..

Allowed values:
0: B_0x0: No compare match / No input capture occurred
1: B_0x1: A compare match or an input capture occurred

COMIF

Bit 5: COM interrupt flag.

Allowed values:
0: B_0x0: No COM event occurred
1: B_0x1: COM interrupt pending

BIF

Bit 7: Break interrupt flag This flag is set by hardware as soon as the break input goes active. It can be cleared by software if the break input is not active..

Allowed values:
0: B_0x0: No break event occurred
1: B_0x1: An active level has been detected on the break input

CC1OF

Bit 9: Capture/Compare 1 overcapture flag This flag is set by hardware only when the corresponding channel is configured in input capture mode. It is cleared by software by writing it to 0 ..

Allowed values:
0: B_0x0: No overcapture has been detected
1: B_0x1: The counter value has been captured in TIMx_CCR1 register while CC1IF flag was already set

TIM16_EGR

TIM16 event generation register

Offset: 0x14, size: 16, reset: 0x00000000, access: write-only

4/4 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BG
w
COMG
w
CC1G
w
UG
w
Toggle fields

UG

Bit 0: Update generation This bit can be set by software, it is automatically cleared by hardware..

Allowed values:
0: B_0x0: No action.
1: B_0x1: Reinitialize the counter and generates an update of the registers. Note that the prescaler counter is cleared too (anyway the prescaler ratio is not affected).

CC1G

Bit 1: Capture/Compare 1 generation This bit is set by software in order to generate an event, it is automatically cleared by hardware. If channel CC1 is configured as output: CC1IF flag is set, Corresponding interrupt or DMA request is sent if enabled. If channel CC1 is configured as input: The current value of the counter is captured in TIMx_CCR1 register. The CC1IF flag is set, the corresponding interrupt or DMA request is sent if enabled. The CC1OF flag is set if the CC1IF flag was already high..

Allowed values:
0: B_0x0: No action.
1: B_0x1: A capture/compare event is generated on channel 1:

COMG

Bit 5: Capture/Compare control update generation This bit can be set by software, it is automatically cleared by hardware. Note: This bit acts only on channels that have a complementary output..

Allowed values:
0: B_0x0: No action
1: B_0x1: When the CCPC bit is set, it is possible to update the CCxE, CCxNE and OCxM bits

BG

Bit 7: Break generation This bit is set by software in order to generate an event, it is automatically cleared by hardware..

Allowed values:
0: B_0x0: No action.
1: B_0x1: A break event is generated. MOE bit is cleared and BIF flag is set. Related interrupt or DMA transfer can occur if enabled.

TIM16_CCMR1

TIM16 capture/compare mode register 1

Offset: 0x18, size: 32, reset: 0x00000000, access: read-write

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IC1F
rw
IC1PSC
rw
CC1S
rw
Toggle fields

CC1S

Bits 0-1: Capture/Compare 1 Selection This bit-field defines the direction of the channel (input/output) as well as the used input. Others: Reserved Note: CC1S bits are writable only when the channel is OFF (CC1E = 0 in TIMx_CCER)..

Allowed values:
0: B_0x0: CC1 channel is configured as output
1: B_0x1: CC1 channel is configured as input, IC1 is mapped on TI1

IC1PSC

Bits 2-3: Input capture 1 prescaler This bit-field defines the ratio of the prescaler acting on CC1 input (IC1). The prescaler is reset as soon as CC1E= 0 (TIMx_CCER register)..

Allowed values:
0: B_0x0: no prescaler, capture is done each time an edge is detected on the capture input.
1: B_0x1: capture is done once every 2 events
2: B_0x2: capture is done once every 4 events
3: B_0x3: capture is done once every 8 events

IC1F

Bits 4-7: Input capture 1 filter This bit-field defines the frequency used to sample TI1 input and the length of the digital filter applied to TI1. The digital filter is made of an event counter in which N consecutive events are needed to validate a transition on the output:.

Allowed values:
0: B_0x0: No filter, sampling is done at f<sub>DTS</sub>
1: B_0x1: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=2
2: B_0x2: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=4
3: B_0x3: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=8
4: B_0x4: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/2, N=
5: B_0x5: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/2, N=8
6: B_0x6: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/4, N=6
7: B_0x7: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/4, N=8
8: B_0x8: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/8, N=6
9: B_0x9: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/8, N=8
10: B_0xA: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=5
11: B_0xB: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=6
12: B_0xC: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=8
13: B_0xD: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=5
14: B_0xE: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=6
15: B_0xF: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=8

TIM16_CCMR1_ALTERNATE1

TIM16 capture/compare mode register 1

Offset: 0x18, size: 32, reset: 0x00000000, access: read-write

4/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OC1M_1
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OC1M
rw
OC1PE
rw
OC1FE
rw
CC1S
rw
Toggle fields

CC1S

Bits 0-1: Capture/Compare 1 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Others: Reserved Note: CC1S bits are writable only when the channel is OFF (CC1E = 0 in TIMx_CCER)..

Allowed values:
0: B_0x0: CC1 channel is configured as output
1: B_0x1: CC1 channel is configured as input, IC1 is mapped on TI1

OC1FE

Bit 2: Output Compare 1 fast enable This bit decreases the latency between a trigger event and a transition on the timer output. It must be used in one-pulse mode (OPM bit set in TIMx_CR1 register), to have the output pulse starting as soon as possible after the starting trigger..

Allowed values:
0: B_0x0: CC1 behaves normally depending on counter and CCR1 values even when the trigger is ON. The minimum delay to activate CC1 output when an edge occurs on the trigger input is 5 clock cycles.
1: B_0x1: An active edge on the trigger input acts like a compare match on CC1 output. Then, OC is set to the compare level independently of the result of the comparison. Delay to sample the trigger input and to activate CC1 output is reduced to 3 clock cycles. OC1FE acts only if the channel is configured in PWM1 or PWM2 mode.

OC1PE

Bit 3: Output Compare 1 preload enable Note: These bits can not be modified as long as LOCK level 3 has been programmed (LOCK bits in TIMx_BDTR register) and CC1S= 00 (the channel is configured in output)..

Allowed values:
0: B_0x0: Preload register on TIMx_CCR1 disabled. TIMx_CCR1 can be written at anytime, the new value is taken in account immediately.
1: B_0x1: Preload register on TIMx_CCR1 enabled. Read/Write operations access the preload register. TIMx_CCR1 preload value is loaded in the active register at each update event.

OC1M

Bits 4-6: OC1M[2:0]: Output Compare 1 mode These bits define the behavior of the output reference signal OC1REF from which OC1 and OC1N are derived. OC1REF is active high whereas OC1 and OC1N active level depends on CC1P and CC1NP bits. All other values: Reserved Note: These bits can not be modified as long as LOCK level 3 has been programmed (LOCK bits in TIMx_BDTR register) and CC1S= 00 (the channel is configured in output). Note: In PWM mode 1 or 2, the OCREF level changes only when the result of the comparison changes or when the output compare mode switches from frozen mode to PWM mode. Note: The OC1M[3] bit is not contiguous, located in bit 16..

Allowed values:
0: B_0x0: Frozen - The comparison between the output compare register TIMx_CCR1 and the counter TIMx_CNT has no effect on the outputs. This mode can be used when the timer serves as a software timebase. When the frozen mode is enabled during timer operation, the output keeps the state (active or inactive) it had before entering the frozen state.
1: B_0x1: Set channel 1 to active level on match. OC1REF signal is forced high when the counter TIMx_CNT matches the capture/compare register 1 (TIMx_CCR1).
2: B_0x2: Set channel 1 to inactive level on match. OC1REF signal is forced low when the counter TIMx_CNT matches the capture/compare register 1 (TIMx_CCR1).
3: B_0x3: Toggle - OC1REF toggles when TIMx_CNT=TIMx_CCR1.
4: B_0x4: Force inactive level - OC1REF is forced low.
5: B_0x5: Force active level - OC1REF is forced high.
6: B_0x6: PWM mode 1 - Channel 1 is active as long as TIMx_CNT<TIMx_CCR1 else inactive.
7: B_0x7: PWM mode 2 - Channel 1 is inactive as long as TIMx_CNT<TIMx_CCR1 else active.

OC1M_1

Bit 16: OC1M[3].

TIM16_CCER

TIM16 capture/compare enable register

Offset: 0x20, size: 16, reset: 0x00000000, access: read-write

4/4 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC1NP
rw
CC1NE
rw
CC1P
rw
CC1E
rw
Toggle fields

CC1E

Bit 0: Capture/Compare 1 output enable When CC1 channel is configured as output, the OC1 level depends on MOE, OSSI, OSSR, OIS1, OIS1N and CC1NE bits, regardless of the CC1E bits state. Refer to Table 83 for details..

Allowed values:
0: B_0x0: Capture mode disabled / OC1 is not active (see below)
1: B_0x1: Capture mode enabled / OC1 signal is output on the corresponding output pin

CC1P

Bit 1: Capture/Compare 1 output polarity When CC1 channel is configured as input, both CC1NP/CC1P bits select the active polarity of TI1FP1 and TI2FP1 for trigger or capture operations. CC1NP=0, CC1P=0: non-inverted/rising edge. The circuit is sensitive to TIxFP1 rising edge (capture or trigger operations in reset, external clock or trigger mode), TIxFP1 is not inverted (trigger operation in gated mode or encoder mode). CC1NP=0, CC1P=1: inverted/falling edge. The circuit is sensitive to TIxFP1 falling edge (capture or trigger operations in reset, external clock or trigger mode), TIxFP1 is inverted (trigger operation in gated mode or encoder mode). CC1NP=1, CC1P=1: non-inverted/both edges/ The circuit is sensitive to both TIxFP1 rising and falling edges (capture or trigger operations in reset, external clock or trigger mode), TIxFP1is not inverted (trigger operation in gated mode). This configuration must not be used in encoder mode. CC1NP=1, CC1P=0: this configuration is reserved, it must not be used. Note: This bit is not writable as soon as LOCK level 2 or 3 has been programmed (LOCK bits in TIMx_BDTR register). Note: On channels that have a complementary output, this bit is preloaded. If the CCPC bit is set in the TIMx_CR2 register then the CC1P active bit takes the new value from the preloaded bit only when a Commutation event is generated..

Allowed values:
0: B_0x0: OC1 active high (output mode) / Edge sensitivity selection (input mode, see below)
1: B_0x1: OC1 active low (output mode) / Edge sensitivity selection (input mode, see below)

CC1NE

Bit 2: Capture/Compare 1 complementary output enable.

Allowed values:
0: B_0x0: Off - OC1N is not active. OC1N level is then function of MOE, OSSI, OSSR, OIS1, OIS1N and CC1E bits.
1: B_0x1: On - OC1N signal is output on the corresponding output pin depending on MOE, OSSI, OSSR, OIS1, OIS1N and CC1E bits.

CC1NP

Bit 3: Capture/Compare 1 complementary output polarity CC1 channel configured as output: CC1 channel configured as input: This bit is used in conjunction with CC1P to define the polarity of TI1FP1 and TI2FP1. Refer to the description of CC1P. Note: This bit is not writable as soon as LOCK level 2 or 3 has been programmed (LOCK bits in TIMx_BDTR register) and CC1S= 00 (the channel is configured in output). Note: On channels that have a complementary output, this bit is preloaded. If the CCPC bit is set in the TIMx_CR2 register then the CC1NP active bit takes the new value from the preloaded bit only when a commutation event is generated..

Allowed values:
0: B_0x0: OC1N active high
1: B_0x1: OC1N active low

TIM16_CNT

TIM16 counter

Offset: 0x24, size: 32, reset: 0x00000000, access: read-write

1/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UIFCPY
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CNT
rw
Toggle fields

CNT

Bits 0-15: Counter value.

UIFCPY

Bit 31: UIF Copy This bit is a read-only copy of the UIF bit of the TIMx_ISR register. If the UIFREMAP bit in TIMx_CR1 is reset, bit 31 is reserved and read as 0..

TIM16_PSC

TIM16 prescaler

Offset: 0x28, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PSC
rw
Toggle fields

PSC

Bits 0-15: Prescaler value The counter clock frequency (CK_CNT) is equal to f<sub>CK_PSC</sub> / (PSC[15:0] + 1). PSC contains the value to be loaded in the active prescaler register at each update event (including when the counter is cleared through UG bit of TIMx_EGR register or through trigger controller when configured in reset mode )..

TIM16_ARR

TIM16 auto-reload register

Offset: 0x2c, size: 16, reset: 0x0000FFFF, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ARR
rw
Toggle fields

ARR

Bits 0-15: Auto-reload value ARR is the value to be loaded in the actual auto-reload register. Refer to the Section 20.3.1: Time-base unit on page 526 for more details about ARR update and behavior. The counter is blocked while the auto-reload value is null..

TIM16_RCR

TIM16 repetition counter register

Offset: 0x30, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
REP
rw
Toggle fields

REP

Bits 0-7: Repetition counter value These bits allow the user to set-up the update rate of the compare registers (i.e. periodic transfers from preload to active registers) when preload registers are enable, as well as the update interrupt generation rate, if this interrupt is enable. Each time the REP_CNT related downcounter reaches zero, an update event is generated and it restarts counting from REP value. As REP_CNT is reloaded with REP value only at the repetition update event U_RC, any write to the TIMx_RCR register is not taken in account until the next repetition update event. It means in PWM mode (REP+1) corresponds to the number of PWM periods in edge-aligned mode..

TIM16_CCR1

TIM16 capture/compare register 1

Offset: 0x34, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR1
rw
Toggle fields

CCR1

Bits 0-15: Capture/Compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the actual capture/compare 1 register (preload value). It is loaded permanently if the preload feature is not selected in the TIMx_CCMR1 register (bit OC1PE). Else the preload value is copied in the active capture/compare 1 register when an update event occurs. The active capture/compare register contains the value to be compared to the counter TIMx_CNT and signaled on OC1 output. If channel CC1 is configured as input: CCR1 is the counter value transferred by the last input capture 1 event (IC1)..

TIM16_BDTR

TIM16 break and dead-time register

Offset: 0x44, size: 32, reset: 0x00000000, access: read-write

10/11 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKBID
rw
BKDSRM
rw
BKF
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MOE
rw
AOE
rw
BKP
rw
BKE
rw
OSSR
rw
OSSI
rw
LOCK
rw
DTG
rw
Toggle fields

DTG

Bits 0-7: Dead-time generator setup This bit-field defines the duration of the dead-time inserted between the complementary outputs. DT correspond to this duration. DTG[7:5] = 0xx => DT = DTG[7:0] x t<sub>dtg</sub> with t <sub>dtg</sub>= t<sub>DTS</sub> DTG[7:5] = 10x => DT = (64 + DTG[5:0]) x t<sub>dtg</sub> with t <sub>dtg</sub>= 2 x t<sub>DTS</sub> DTG[7:5] = 110 => DT = (32 + DTG[4:0]) x t<sub>dtg</sub> with t <sub>dtg</sub>= 8 x t<sub>DTS</sub> DTG[7:5] = 111 => DT = (32 + DTG[4:0]) x t<sub>dtg</sub> with t <sub>dtg</sub>= 16 x t<sub>DTS</sub> Example if t <sub>DTS</sub>= 125 ns (8 MHz), dead-time possible values are: 0 to 15875 ns by 125 ns steps, 16 s to 31750 ns by 250 ns steps, 32 s to 63 s by 1 s steps, 64 s to 126 s by 2 s steps Note: This bit-field can not be modified as long as LOCK level 1, 2 or 3 has been programmed (LOCK bits in TIMx_BDTR register)..

LOCK

Bits 8-9: Lock configuration These bits offer a write protection against software errors. Note: The LOCK bits can be written only once after the reset. Once the TIMx_BDTR register has been written, their content is frozen until the next reset..

Allowed values:
0: B_0x0: LOCK OFF - No bit is write protected
1: B_0x1: LOCK Level 1 = DTG bits in TIMx_BDTR register, OISx and OISxN bits in TIMx_CR2 register and BKE/BKP/AOE bits in TIMx_BDTR register can no longer be written.
2: B_0x2: LOCK Level 2 = LOCK Level 1 + CC Polarity bits (CCxP/CCxNP bits in TIMx_CCER register, as long as the related channel is configured in output through the CCxS bits) as well as OSSR and OSSI bits can no longer be written.
3: B_0x3: LOCK Level 3 = LOCK Level 2 + CC Control bits (OCxM and OCxPE bits in TIMx_CCMRx registers, as long as the related channel is configured in output through the CCxS bits) can no longer be written.

OSSI

Bit 10: Off-state selection for Idle mode This bit is used when MOE=0 on channels configured as outputs. See OC/OCN enable description for more details (Section 20.4.8: TIMx capture/compare enable register (TIMx_CCER)(x = 16 to 17) on page 563). Note: This bit can not be modified as soon as the LOCK level 2 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: When inactive, OC/OCN outputs are disabled (OC/OCN enable output signal=0)
1: B_0x1: When inactive, OC/OCN outputs are forced first with their idle level as soon as CCxE=1 or CCxNE=1. OC/OCN enable output signal=1)

OSSR

Bit 11: Off-state selection for Run mode This bit is used when MOE=1 on channels that have a complementary output which are configured as outputs. OSSR is not implemented if no complementary output is implemented in the timer. See OC/OCN enable description for more details (Section 20.4.8: TIMx capture/compare enable register (TIMx_CCER)(x = 16 to 17) on page 563). Note: This bit can not be modified as soon as the LOCK level 2 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: When inactive, OC/OCN outputs are disabled (the timer releases the output control which is taken over by the GPIO, which forces a Hi-Z state)
1: B_0x1: When inactive, OC/OCN outputs are enabled with their inactive level as soon as CCxE=1 or CCxNE=1 (the output is still controlled by the timer).

BKE

Bit 12: Break enable 1; Break inputs (BRK and CCS clock failure event) enabled Note: This bit cannot be modified when LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register). Note: Any write operation to this bit takes a delay of 1 APB clock cycle to become effective..

Allowed values:
0: B_0x0: Break inputs (BRK and CCS clock failure event) disabled

BKP

Bit 13: Break polarity Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register). Note: Any write operation to this bit takes a delay of 1 APB clock cycle to become effective..

Allowed values:
0: B_0x0: Break input BRK is active low
1: B_0x1: Break input BRK is active high

AOE

Bit 14: Automatic output enable Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: MOE can be set only by software
1: B_0x1: MOE can be set by software or automatically at the next update event (if the break input is not be active)

MOE

Bit 15: Main output enable This bit is cleared asynchronously by hardware as soon as the break input is active. It is set by software or automatically depending on the AOE bit. It is acting only on the channels which are configured in output. See OC/OCN enable description for more details (Section 20.4.8: TIMx capture/compare enable register (TIMx_CCER)(x = 16 to 17) on page 563)..

Allowed values:
0: B_0x0: OC and OCN outputs are disabled or forced to idle state depending on the OSSI bit.
1: B_0x1: OC and OCN outputs are enabled if their respective enable bits are set (CCxE, CCxNE in TIMx_CCER register)

BKF

Bits 16-19: Break filter This bit-field defines the frequency used to sample BRK input and the length of the digital filter applied to BRK. The digital filter is made of an event counter in which N events are needed to validate a transition on the output: This bit cannot be modified when LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: No filter, BRK acts asynchronously
1: B_0x1: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=2
2: B_0x2: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=4
3: B_0x3: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=8
4: B_0x4: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/2, N=6
5: B_0x5: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/2, N=8
6: B_0x6: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/4, N=6
7: B_0x7: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/4, N=8
8: B_0x8: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/8, N=6
9: B_0x9: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/8, N=8
10: B_0xA: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=5
11: B_0xB: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=6
12: B_0xC: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=8
13: B_0xD: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=5
14: B_0xE: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=6
15: B_0xF: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=8

BKDSRM

Bit 26: Break Disarm This bit is cleared by hardware when no break source is active. The BKDSRM bit must be set by software to release the bidirectional output control (open-drain output in Hi-Z state) and then be polled it until it is reset by hardware, indicating that the fault condition has disappeared. Note: Any write operation to this bit takes a delay of 1 APB clock cycle to become effective..

Allowed values:
0: B_0x0: Break input BRK is armed
1: B_0x1: Break input BRK is disarmed

BKBID

Bit 28: Break Bidirectional In the bidirectional mode (BKBID bit set to 1), the break input is configured both in input mode and in open drain output mode. Any active break event asserts a low logic level on the Break input to indicate an internal break event to external devices. Note: This bit cannot be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register). Note: Any write operation to this bit takes a delay of 1 APB clock cycle to become effective..

Allowed values:
0: B_0x0: Break input BRK in input mode
1: B_0x1: Break input BRK in bidirectional mode

TIM16_DCR

TIM16 DMA control register

Offset: 0x48, size: 16, reset: 0x00000000, access: read-write

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DBL
rw
DBA
rw
Toggle fields

DBA

Bits 0-4: DMA base address This 5-bit field defines the base-address for DMA transfers (when read/write access are done through the TIMx_DMAR address). DBA is defined as an offset starting from the address of the TIMx_CR1 register. Example: ... Example: Let us consider the following transfer: DBL = 7 transfers and DBA = TIMx_CR1. In this case the transfer is done to/from 7 registers starting from the TIMx_CR1 address..

Allowed values:
0: B_0x0: TIMx_CR1,
1: B_0x1: TIMx_CR2,
2: B_0x2: TIMx_SMCR,

DBL

Bits 8-12: DMA burst length This 5-bit field defines the length of DMA transfers (the timer recognizes a burst transfer when a read or a write access is done to the TIMx_DMAR address), i.e. the number of transfers. Transfers can be in half-words or in bytes (see example below). ....

Allowed values:
0: B_0x0: 1 transfer,
1: B_0x1: 2 transfers,
2: B_0x2: 3 transfers,
17: B_0x11: 18 transfers.

TIM16_DMAR

TIM16 DMA address for full transfer

Offset: 0x4c, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DMAB
rw
Toggle fields

DMAB

Bits 0-15: DMA register for burst accesses A read or write operation to the DMAR register accesses the register located at the address (TIMx_CR1 address) + (DBA + DMA index) x 4 where TIMx_CR1 address is the address of the control register 1, DBA is the DMA base address configured in TIMx_DCR register, DMA index is automatically controlled by the DMA transfer, and ranges from 0 to DBL (DBL configured in TIMx_DCR)..

TIM16_AF1

TIM16 alternate function register 1

Offset: 0x60, size: 32, reset: 0x00000001, access: read-write

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKINP
rw
BKINE
rw
Toggle fields

BKINE

Bit 0: BRK BKIN input enable This bit enables the BKIN alternate function input for the timer s BRK input. BKIN input is ORed with the other BRK sources. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: BKIN input disabled
1: B_0x1: BKIN input enabled

BKINP

Bit 9: BRK BKIN input polarity This bit selects the BKIN alternate function input sensitivity. It must be programmed together with the BKP polarity bit. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: BKIN input is active low
1: B_0x1: BKIN input is active high

TIM16_TISEL

TIM16 input selection register

Offset: 0x68, size: 32, reset: 0x00000000, access: read-write

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TI1SEL
rw
Toggle fields

TI1SEL

Bits 0-3: selects TI1[0] to TI1[15] input Others: Reserved.

Allowed values:
0: B_0x0: TIM16_CH1 input
1: B_0x1: LSI
2: B_0x2: LSE
4: B_0x4: MCO2

TIM17

0x40014800: TIM17 address block description

54/62 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 (16-bit) TIM17_CR1
0x4 (16-bit) TIM17_CR2
0xc (16-bit) TIM17_DIER
0x10 (16-bit) TIM17_SR
0x14 (16-bit) TIM17_EGR
0x18 TIM17_CCMR1
0x18 TIM17_CCMR1_ALTERNATE1
0x20 (16-bit) TIM17_CCER
0x24 TIM17_CNT
0x28 (16-bit) TIM17_PSC
0x2c (16-bit) TIM17_ARR
0x30 (16-bit) TIM17_RCR
0x34 (16-bit) TIM17_CCR1
0x44 TIM17_BDTR
0x48 (16-bit) TIM17_DCR
0x4c (16-bit) TIM17_DMAR
0x60 TIM17_AF1
0x68 TIM17_TISEL
Toggle registers

TIM17_CR1

TIM17 control register 1

Offset: 0x0, size: 16, reset: 0x00000000, access: read-write

7/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
UIFREMAP
rw
CKD
rw
ARPE
rw
OPM
rw
URS
rw
UDIS
rw
CEN
rw
Toggle fields

CEN

Bit 0: Counter enable Note: External clock and gated mode can work only if the CEN bit has been previously set by software. However trigger mode can set the CEN bit automatically by hardware..

Allowed values:
0: B_0x0: Counter disabled
1: B_0x1: Counter enabled

UDIS

Bit 1: Update disable This bit is set and cleared by software to enable/disable UEV event generation. Counter overflow/underflow Setting the UG bit Update generation through the slave mode controller Buffered registers are then loaded with their preload values..

Allowed values:
0: B_0x0: UEV enabled. The Update (UEV) event is generated by one of the following events:
1: B_0x1: UEV disabled. The Update event is not generated, shadow registers keep their value (ARR, PSC, CCRx). However the counter and the prescaler are reinitialized if the UG bit is set or if a hardware reset is received from the slave mode controller.

URS

Bit 2: Update request source This bit is set and cleared by software to select the UEV event sources. Counter overflow/underflow Setting the UG bit Update generation through the slave mode controller.

Allowed values:
0: B_0x0: Any of the following events generate an update interrupt or DMA request if enabled. These events can be:
1: B_0x1: Only counter overflow/underflow generates an update interrupt or DMA request if enabled.

OPM

Bit 3: One pulse mode.

Allowed values:
0: B_0x0: Counter is not stopped at update event
1: B_0x1: Counter stops counting at the next update event (clearing the bit CEN)

ARPE

Bit 7: Auto-reload preload enable.

Allowed values:
0: B_0x0: TIMx_ARR register is not buffered
1: B_0x1: TIMx_ARR register is buffered

CKD

Bits 8-9: Clock division This bit-field indicates the division ratio between the timer clock (CK_INT) frequency and the dead-time and sampling clock (t<sub>DTS</sub>)used by the dead-time generators and the digital filters (TIx),.

Allowed values:
0: B_0x0: t <sub>DTS</sub>= t<sub>CK_INT</sub>
1: B_0x1: t <sub>DTS</sub>= 2 * t<sub>CK_INT</sub>
2: B_0x2: t<sub>DTS</sub> = 4 * t<sub>CK_INT</sub>
3: B_0x3: Reserved, do not program this value

UIFREMAP

Bit 11: UIF status bit remapping.

Allowed values:
0: B_0x0: No remapping. UIF status bit is not copied to TIMx_CNT register bit 31.
1: B_0x1: Remapping enabled. UIF status bit is copied to TIMx_CNT register bit 31.

TIM17_CR2

TIM17 control register 2

Offset: 0x4, size: 16, reset: 0x00000000, access: read-write

5/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OIS1N
rw
OIS1
rw
CCDS
rw
CCUS
rw
CCPC
rw
Toggle fields

CCPC

Bit 0: Capture/compare preloaded control Note: This bit acts only on channels that have a complementary output..

Allowed values:
0: B_0x0: CCxE, CCxNE and OCxM bits are not preloaded
1: B_0x1: CCxE, CCxNE and OCxM bits are preloaded, after having been written, they are updated only when COM bit is set.

CCUS

Bit 2: Capture/compare control update selection Note: This bit acts only on channels that have a complementary output..

Allowed values:
0: B_0x0: When capture/compare control bits are preloaded (CCPC=1), they are updated by setting the COMG bit only.
1: B_0x1: When capture/compare control bits are preloaded (CCPC=1), they are updated by setting the COMG bit or when an rising edge occurs on TRGI.

CCDS

Bit 3: Capture/compare DMA selection.

Allowed values:
0: B_0x0: CCx DMA request sent when CCx event occurs
1: B_0x1: CCx DMA requests sent when update event occurs

OIS1

Bit 8: Output Idle state 1 (OC1 output) Note: This bit can not be modified as long as LOCK level 1, 2 or 3 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: OC1=0 (after a dead-time if OC1N is implemented) when MOE=0
1: B_0x1: OC1=1 (after a dead-time if OC1N is implemented) when MOE=0

OIS1N

Bit 9: Output Idle state 1 (OC1N output) Note: This bit can not be modified as long as LOCK level 1, 2 or 3 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: OC1N=0 after a dead-time when MOE=0
1: B_0x1: OC1N=1 after a dead-time when MOE=0

TIM17_DIER

TIM17 DMA/interrupt enable register

Offset: 0xc, size: 16, reset: 0x00000000, access: read-write

6/6 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC1DE
rw
UDE
rw
BIE
rw
COMIE
rw
CC1IE
rw
UIE
rw
Toggle fields

UIE

Bit 0: Update interrupt enable.

Allowed values:
0: B_0x0: Update interrupt disabled
1: B_0x1: Update interrupt enabled

CC1IE

Bit 1: Capture/Compare 1 interrupt enable.

Allowed values:
0: B_0x0: CC1 interrupt disabled
1: B_0x1: CC1 interrupt enabled

COMIE

Bit 5: COM interrupt enable.

Allowed values:
0: B_0x0: COM interrupt disabled
1: B_0x1: COM interrupt enabled

BIE

Bit 7: Break interrupt enable.

Allowed values:
0: B_0x0: Break interrupt disabled
1: B_0x1: Break interrupt enabled

UDE

Bit 8: Update DMA request enable.

Allowed values:
0: B_0x0: Update DMA request disabled
1: B_0x1: Update DMA request enabled

CC1DE

Bit 9: Capture/Compare 1 DMA request enable.

Allowed values:
0: B_0x0: CC1 DMA request disabled
1: B_0x1: CC1 DMA request enabled

TIM17_SR

TIM17 status register

Offset: 0x10, size: 16, reset: 0x00000000, access: read-write

5/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC1OF
rw
BIF
rw
COMIF
rw
CC1IF
rw
UIF
rw
Toggle fields

UIF

Bit 0: Update interrupt flag This bit is set by hardware on an update event. It is cleared by software. At overflow regarding the repetition counter value (update if repetition counter = 0) and if the UDIS=0 in the TIMx_CR1 register. When CNT is reinitialized by software using the UG bit in TIMx_EGR register, if URS=0 and UDIS=0 in the TIMx_CR1 register..

Allowed values:
0: B_0x0: No update occurred.
1: B_0x1: Update interrupt pending. This bit is set by hardware when the registers are updated:

CC1IF

Bit 1: Capture/Compare 1 interrupt flag This flag is set by hardware. It is cleared by software (input capture or output compare mode) or by reading the TIMx_CCR1 register (input capture mode only). If channel CC1 is configured as output: this flag is set when the content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. When the content of TIMx_CCR1 is greater than the content of TIMx_ARR, the CC1IF bit goes high on the counter overflow (in up-counting and up/down-counting modes) or underflow (in down-counting mode). There are 3 possible options for flag setting in center-aligned mode, refer to the CMS bits in the TIMx_CR1 register for the full description. If channel CC1 is configured as input: this bit is set when counter value has been captured in TIMx_CCR1 register (an edge has been detected on IC1, as per the edge sensitivity defined with the CC1P and CC1NP bits setting, in TIMx_CCER)..

Allowed values:
0: B_0x0: No compare match / No input capture occurred
1: B_0x1: A compare match or an input capture occurred

COMIF

Bit 5: COM interrupt flag.

Allowed values:
0: B_0x0: No COM event occurred
1: B_0x1: COM interrupt pending

BIF

Bit 7: Break interrupt flag This flag is set by hardware as soon as the break input goes active. It can be cleared by software if the break input is not active..

Allowed values:
0: B_0x0: No break event occurred
1: B_0x1: An active level has been detected on the break input

CC1OF

Bit 9: Capture/Compare 1 overcapture flag This flag is set by hardware only when the corresponding channel is configured in input capture mode. It is cleared by software by writing it to 0 ..

Allowed values:
0: B_0x0: No overcapture has been detected
1: B_0x1: The counter value has been captured in TIMx_CCR1 register while CC1IF flag was already set

TIM17_EGR

TIM17 event generation register

Offset: 0x14, size: 16, reset: 0x00000000, access: write-only

4/4 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BG
w
COMG
w
CC1G
w
UG
w
Toggle fields

UG

Bit 0: Update generation This bit can be set by software, it is automatically cleared by hardware..

Allowed values:
0: B_0x0: No action.
1: B_0x1: Reinitialize the counter and generates an update of the registers. Note that the prescaler counter is cleared too (anyway the prescaler ratio is not affected).

CC1G

Bit 1: Capture/Compare 1 generation This bit is set by software in order to generate an event, it is automatically cleared by hardware. If channel CC1 is configured as output: CC1IF flag is set, Corresponding interrupt or DMA request is sent if enabled. If channel CC1 is configured as input: The current value of the counter is captured in TIMx_CCR1 register. The CC1IF flag is set, the corresponding interrupt or DMA request is sent if enabled. The CC1OF flag is set if the CC1IF flag was already high..

Allowed values:
0: B_0x0: No action.
1: B_0x1: A capture/compare event is generated on channel 1:

COMG

Bit 5: Capture/Compare control update generation This bit can be set by software, it is automatically cleared by hardware. Note: This bit acts only on channels that have a complementary output..

Allowed values:
0: B_0x0: No action
1: B_0x1: When the CCPC bit is set, it is possible to update the CCxE, CCxNE and OCxM bits

BG

Bit 7: Break generation This bit is set by software in order to generate an event, it is automatically cleared by hardware..

Allowed values:
0: B_0x0: No action.
1: B_0x1: A break event is generated. MOE bit is cleared and BIF flag is set. Related interrupt or DMA transfer can occur if enabled.

TIM17_CCMR1

TIM17 capture/compare mode register 1

Offset: 0x18, size: 32, reset: 0x00000000, access: read-write

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IC1F
rw
IC1PSC
rw
CC1S
rw
Toggle fields

CC1S

Bits 0-1: Capture/Compare 1 Selection This bit-field defines the direction of the channel (input/output) as well as the used input. Others: Reserved Note: CC1S bits are writable only when the channel is OFF (CC1E = 0 in TIMx_CCER)..

Allowed values:
0: B_0x0: CC1 channel is configured as output
1: B_0x1: CC1 channel is configured as input, IC1 is mapped on TI1

IC1PSC

Bits 2-3: Input capture 1 prescaler This bit-field defines the ratio of the prescaler acting on CC1 input (IC1). The prescaler is reset as soon as CC1E= 0 (TIMx_CCER register)..

Allowed values:
0: B_0x0: no prescaler, capture is done each time an edge is detected on the capture input.
1: B_0x1: capture is done once every 2 events
2: B_0x2: capture is done once every 4 events
3: B_0x3: capture is done once every 8 events

IC1F

Bits 4-7: Input capture 1 filter This bit-field defines the frequency used to sample TI1 input and the length of the digital filter applied to TI1. The digital filter is made of an event counter in which N consecutive events are needed to validate a transition on the output:.

Allowed values:
0: B_0x0: No filter, sampling is done at f<sub>DTS</sub>
1: B_0x1: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=2
2: B_0x2: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=4
3: B_0x3: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=8
4: B_0x4: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/2, N=
5: B_0x5: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/2, N=8
6: B_0x6: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/4, N=6
7: B_0x7: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/4, N=8
8: B_0x8: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/8, N=6
9: B_0x9: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/8, N=8
10: B_0xA: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=5
11: B_0xB: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=6
12: B_0xC: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=8
13: B_0xD: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=5
14: B_0xE: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=6
15: B_0xF: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=8

TIM17_CCMR1_ALTERNATE1

TIM17 capture/compare mode register 1

Offset: 0x18, size: 32, reset: 0x00000000, access: read-write

4/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OC1M_1
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OC1M
rw
OC1PE
rw
OC1FE
rw
CC1S
rw
Toggle fields

CC1S

Bits 0-1: Capture/Compare 1 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Others: Reserved Note: CC1S bits are writable only when the channel is OFF (CC1E = 0 in TIMx_CCER)..

Allowed values:
0: B_0x0: CC1 channel is configured as output
1: B_0x1: CC1 channel is configured as input, IC1 is mapped on TI1

OC1FE

Bit 2: Output Compare 1 fast enable This bit decreases the latency between a trigger event and a transition on the timer output. It must be used in one-pulse mode (OPM bit set in TIMx_CR1 register), to have the output pulse starting as soon as possible after the starting trigger..

Allowed values:
0: B_0x0: CC1 behaves normally depending on counter and CCR1 values even when the trigger is ON. The minimum delay to activate CC1 output when an edge occurs on the trigger input is 5 clock cycles.
1: B_0x1: An active edge on the trigger input acts like a compare match on CC1 output. Then, OC is set to the compare level independently of the result of the comparison. Delay to sample the trigger input and to activate CC1 output is reduced to 3 clock cycles. OC1FE acts only if the channel is configured in PWM1 or PWM2 mode.

OC1PE

Bit 3: Output Compare 1 preload enable Note: These bits can not be modified as long as LOCK level 3 has been programmed (LOCK bits in TIMx_BDTR register) and CC1S= 00 (the channel is configured in output)..

Allowed values:
0: B_0x0: Preload register on TIMx_CCR1 disabled. TIMx_CCR1 can be written at anytime, the new value is taken in account immediately.
1: B_0x1: Preload register on TIMx_CCR1 enabled. Read/Write operations access the preload register. TIMx_CCR1 preload value is loaded in the active register at each update event.

OC1M

Bits 4-6: OC1M[2:0]: Output Compare 1 mode These bits define the behavior of the output reference signal OC1REF from which OC1 and OC1N are derived. OC1REF is active high whereas OC1 and OC1N active level depends on CC1P and CC1NP bits. All other values: Reserved Note: These bits can not be modified as long as LOCK level 3 has been programmed (LOCK bits in TIMx_BDTR register) and CC1S= 00 (the channel is configured in output). Note: In PWM mode 1 or 2, the OCREF level changes only when the result of the comparison changes or when the output compare mode switches from frozen mode to PWM mode. Note: The OC1M[3] bit is not contiguous, located in bit 16..

Allowed values:
0: B_0x0: Frozen - The comparison between the output compare register TIMx_CCR1 and the counter TIMx_CNT has no effect on the outputs. This mode can be used when the timer serves as a software timebase. When the frozen mode is enabled during timer operation, the output keeps the state (active or inactive) it had before entering the frozen state.
1: B_0x1: Set channel 1 to active level on match. OC1REF signal is forced high when the counter TIMx_CNT matches the capture/compare register 1 (TIMx_CCR1).
2: B_0x2: Set channel 1 to inactive level on match. OC1REF signal is forced low when the counter TIMx_CNT matches the capture/compare register 1 (TIMx_CCR1).
3: B_0x3: Toggle - OC1REF toggles when TIMx_CNT=TIMx_CCR1.
4: B_0x4: Force inactive level - OC1REF is forced low.
5: B_0x5: Force active level - OC1REF is forced high.
6: B_0x6: PWM mode 1 - Channel 1 is active as long as TIMx_CNT<TIMx_CCR1 else inactive.
7: B_0x7: PWM mode 2 - Channel 1 is inactive as long as TIMx_CNT<TIMx_CCR1 else active.

OC1M_1

Bit 16: OC1M[3].

TIM17_CCER

TIM17 capture/compare enable register

Offset: 0x20, size: 16, reset: 0x00000000, access: read-write

4/4 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC1NP
rw
CC1NE
rw
CC1P
rw
CC1E
rw
Toggle fields

CC1E

Bit 0: Capture/Compare 1 output enable When CC1 channel is configured as output, the OC1 level depends on MOE, OSSI, OSSR, OIS1, OIS1N and CC1NE bits, regardless of the CC1E bits state. Refer to Table 83 for details..

Allowed values:
0: B_0x0: Capture mode disabled / OC1 is not active (see below)
1: B_0x1: Capture mode enabled / OC1 signal is output on the corresponding output pin

CC1P

Bit 1: Capture/Compare 1 output polarity When CC1 channel is configured as input, both CC1NP/CC1P bits select the active polarity of TI1FP1 and TI2FP1 for trigger or capture operations. CC1NP=0, CC1P=0: non-inverted/rising edge. The circuit is sensitive to TIxFP1 rising edge (capture or trigger operations in reset, external clock or trigger mode), TIxFP1 is not inverted (trigger operation in gated mode or encoder mode). CC1NP=0, CC1P=1: inverted/falling edge. The circuit is sensitive to TIxFP1 falling edge (capture or trigger operations in reset, external clock or trigger mode), TIxFP1 is inverted (trigger operation in gated mode or encoder mode). CC1NP=1, CC1P=1: non-inverted/both edges/ The circuit is sensitive to both TIxFP1 rising and falling edges (capture or trigger operations in reset, external clock or trigger mode), TIxFP1is not inverted (trigger operation in gated mode). This configuration must not be used in encoder mode. CC1NP=1, CC1P=0: this configuration is reserved, it must not be used. Note: This bit is not writable as soon as LOCK level 2 or 3 has been programmed (LOCK bits in TIMx_BDTR register). Note: On channels that have a complementary output, this bit is preloaded. If the CCPC bit is set in the TIMx_CR2 register then the CC1P active bit takes the new value from the preloaded bit only when a Commutation event is generated..

Allowed values:
0: B_0x0: OC1 active high (output mode) / Edge sensitivity selection (input mode, see below)
1: B_0x1: OC1 active low (output mode) / Edge sensitivity selection (input mode, see below)

CC1NE

Bit 2: Capture/Compare 1 complementary output enable.

Allowed values:
0: B_0x0: Off - OC1N is not active. OC1N level is then function of MOE, OSSI, OSSR, OIS1, OIS1N and CC1E bits.
1: B_0x1: On - OC1N signal is output on the corresponding output pin depending on MOE, OSSI, OSSR, OIS1, OIS1N and CC1E bits.

CC1NP

Bit 3: Capture/Compare 1 complementary output polarity CC1 channel configured as output: CC1 channel configured as input: This bit is used in conjunction with CC1P to define the polarity of TI1FP1 and TI2FP1. Refer to the description of CC1P. Note: This bit is not writable as soon as LOCK level 2 or 3 has been programmed (LOCK bits in TIMx_BDTR register) and CC1S= 00 (the channel is configured in output). Note: On channels that have a complementary output, this bit is preloaded. If the CCPC bit is set in the TIMx_CR2 register then the CC1NP active bit takes the new value from the preloaded bit only when a commutation event is generated..

Allowed values:
0: B_0x0: OC1N active high
1: B_0x1: OC1N active low

TIM17_CNT

TIM17 counter

Offset: 0x24, size: 32, reset: 0x00000000, access: read-write

1/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UIFCPY
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CNT
rw
Toggle fields

CNT

Bits 0-15: Counter value.

UIFCPY

Bit 31: UIF Copy This bit is a read-only copy of the UIF bit of the TIMx_ISR register. If the UIFREMAP bit in TIMx_CR1 is reset, bit 31 is reserved and read as 0..

TIM17_PSC

TIM17 prescaler

Offset: 0x28, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PSC
rw
Toggle fields

PSC

Bits 0-15: Prescaler value The counter clock frequency (CK_CNT) is equal to f<sub>CK_PSC</sub> / (PSC[15:0] + 1). PSC contains the value to be loaded in the active prescaler register at each update event (including when the counter is cleared through UG bit of TIMx_EGR register or through trigger controller when configured in reset mode )..

TIM17_ARR

TIM17 auto-reload register

Offset: 0x2c, size: 16, reset: 0x0000FFFF, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ARR
rw
Toggle fields

ARR

Bits 0-15: Auto-reload value ARR is the value to be loaded in the actual auto-reload register. Refer to the Section 20.3.1: Time-base unit on page 526 for more details about ARR update and behavior. The counter is blocked while the auto-reload value is null..

TIM17_RCR

TIM17 repetition counter register

Offset: 0x30, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
REP
rw
Toggle fields

REP

Bits 0-7: Repetition counter value These bits allow the user to set-up the update rate of the compare registers (i.e. periodic transfers from preload to active registers) when preload registers are enable, as well as the update interrupt generation rate, if this interrupt is enable. Each time the REP_CNT related downcounter reaches zero, an update event is generated and it restarts counting from REP value. As REP_CNT is reloaded with REP value only at the repetition update event U_RC, any write to the TIMx_RCR register is not taken in account until the next repetition update event. It means in PWM mode (REP+1) corresponds to the number of PWM periods in edge-aligned mode..

TIM17_CCR1

TIM17 capture/compare register 1

Offset: 0x34, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR1
rw
Toggle fields

CCR1

Bits 0-15: Capture/Compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the actual capture/compare 1 register (preload value). It is loaded permanently if the preload feature is not selected in the TIMx_CCMR1 register (bit OC1PE). Else the preload value is copied in the active capture/compare 1 register when an update event occurs. The active capture/compare register contains the value to be compared to the counter TIMx_CNT and signaled on OC1 output. If channel CC1 is configured as input: CCR1 is the counter value transferred by the last input capture 1 event (IC1)..

TIM17_BDTR

TIM17 break and dead-time register

Offset: 0x44, size: 32, reset: 0x00000000, access: read-write

10/11 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKBID
rw
BKDSRM
rw
BKF
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MOE
rw
AOE
rw
BKP
rw
BKE
rw
OSSR
rw
OSSI
rw
LOCK
rw
DTG
rw
Toggle fields

DTG

Bits 0-7: Dead-time generator setup This bit-field defines the duration of the dead-time inserted between the complementary outputs. DT correspond to this duration. DTG[7:5] = 0xx => DT = DTG[7:0] x t<sub>dtg</sub> with t <sub>dtg</sub>= t<sub>DTS</sub> DTG[7:5] = 10x => DT = (64 + DTG[5:0]) x t<sub>dtg</sub> with t <sub>dtg</sub>= 2 x t<sub>DTS</sub> DTG[7:5] = 110 => DT = (32 + DTG[4:0]) x t<sub>dtg</sub> with t <sub>dtg</sub>= 8 x t<sub>DTS</sub> DTG[7:5] = 111 => DT = (32 + DTG[4:0]) x t<sub>dtg</sub> with t <sub>dtg</sub>= 16 x t<sub>DTS</sub> Example if t <sub>DTS</sub>= 125 ns (8 MHz), dead-time possible values are: 0 to 15875 ns by 125 ns steps, 16 s to 31750 ns by 250 ns steps, 32 s to 63 s by 1 s steps, 64 s to 126 s by 2 s steps Note: This bit-field can not be modified as long as LOCK level 1, 2 or 3 has been programmed (LOCK bits in TIMx_BDTR register)..

LOCK

Bits 8-9: Lock configuration These bits offer a write protection against software errors. Note: The LOCK bits can be written only once after the reset. Once the TIMx_BDTR register has been written, their content is frozen until the next reset..

Allowed values:
0: B_0x0: LOCK OFF - No bit is write protected
1: B_0x1: LOCK Level 1 = DTG bits in TIMx_BDTR register, OISx and OISxN bits in TIMx_CR2 register and BKE/BKP/AOE bits in TIMx_BDTR register can no longer be written.
2: B_0x2: LOCK Level 2 = LOCK Level 1 + CC Polarity bits (CCxP/CCxNP bits in TIMx_CCER register, as long as the related channel is configured in output through the CCxS bits) as well as OSSR and OSSI bits can no longer be written.
3: B_0x3: LOCK Level 3 = LOCK Level 2 + CC Control bits (OCxM and OCxPE bits in TIMx_CCMRx registers, as long as the related channel is configured in output through the CCxS bits) can no longer be written.

OSSI

Bit 10: Off-state selection for Idle mode This bit is used when MOE=0 on channels configured as outputs. See OC/OCN enable description for more details (Section 20.4.8: TIMx capture/compare enable register (TIMx_CCER)(x = 16 to 17) on page 563). Note: This bit can not be modified as soon as the LOCK level 2 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: When inactive, OC/OCN outputs are disabled (OC/OCN enable output signal=0)
1: B_0x1: When inactive, OC/OCN outputs are forced first with their idle level as soon as CCxE=1 or CCxNE=1. OC/OCN enable output signal=1)

OSSR

Bit 11: Off-state selection for Run mode This bit is used when MOE=1 on channels that have a complementary output which are configured as outputs. OSSR is not implemented if no complementary output is implemented in the timer. See OC/OCN enable description for more details (Section 20.4.8: TIMx capture/compare enable register (TIMx_CCER)(x = 16 to 17) on page 563). Note: This bit can not be modified as soon as the LOCK level 2 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: When inactive, OC/OCN outputs are disabled (the timer releases the output control which is taken over by the GPIO, which forces a Hi-Z state)
1: B_0x1: When inactive, OC/OCN outputs are enabled with their inactive level as soon as CCxE=1 or CCxNE=1 (the output is still controlled by the timer).

BKE

Bit 12: Break enable 1; Break inputs (BRK and CCS clock failure event) enabled Note: This bit cannot be modified when LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register). Note: Any write operation to this bit takes a delay of 1 APB clock cycle to become effective..

Allowed values:
0: B_0x0: Break inputs (BRK and CCS clock failure event) disabled

BKP

Bit 13: Break polarity Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register). Note: Any write operation to this bit takes a delay of 1 APB clock cycle to become effective..

Allowed values:
0: B_0x0: Break input BRK is active low
1: B_0x1: Break input BRK is active high

AOE

Bit 14: Automatic output enable Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: MOE can be set only by software
1: B_0x1: MOE can be set by software or automatically at the next update event (if the break input is not be active)

MOE

Bit 15: Main output enable This bit is cleared asynchronously by hardware as soon as the break input is active. It is set by software or automatically depending on the AOE bit. It is acting only on the channels which are configured in output. See OC/OCN enable description for more details (Section 20.4.8: TIMx capture/compare enable register (TIMx_CCER)(x = 16 to 17) on page 563)..

Allowed values:
0: B_0x0: OC and OCN outputs are disabled or forced to idle state depending on the OSSI bit.
1: B_0x1: OC and OCN outputs are enabled if their respective enable bits are set (CCxE, CCxNE in TIMx_CCER register)

BKF

Bits 16-19: Break filter This bit-field defines the frequency used to sample BRK input and the length of the digital filter applied to BRK. The digital filter is made of an event counter in which N events are needed to validate a transition on the output: This bit cannot be modified when LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: No filter, BRK acts asynchronously
1: B_0x1: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=2
2: B_0x2: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=4
3: B_0x3: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=8
4: B_0x4: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/2, N=6
5: B_0x5: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/2, N=8
6: B_0x6: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/4, N=6
7: B_0x7: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/4, N=8
8: B_0x8: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/8, N=6
9: B_0x9: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/8, N=8
10: B_0xA: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=5
11: B_0xB: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=6
12: B_0xC: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=8
13: B_0xD: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=5
14: B_0xE: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=6
15: B_0xF: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=8

BKDSRM

Bit 26: Break Disarm This bit is cleared by hardware when no break source is active. The BKDSRM bit must be set by software to release the bidirectional output control (open-drain output in Hi-Z state) and then be polled it until it is reset by hardware, indicating that the fault condition has disappeared. Note: Any write operation to this bit takes a delay of 1 APB clock cycle to become effective..

Allowed values:
0: B_0x0: Break input BRK is armed
1: B_0x1: Break input BRK is disarmed

BKBID

Bit 28: Break Bidirectional In the bidirectional mode (BKBID bit set to 1), the break input is configured both in input mode and in open drain output mode. Any active break event asserts a low logic level on the Break input to indicate an internal break event to external devices. Note: This bit cannot be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register). Note: Any write operation to this bit takes a delay of 1 APB clock cycle to become effective..

Allowed values:
0: B_0x0: Break input BRK in input mode
1: B_0x1: Break input BRK in bidirectional mode

TIM17_DCR

TIM17 DMA control register

Offset: 0x48, size: 16, reset: 0x00000000, access: read-write

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DBL
rw
DBA
rw
Toggle fields

DBA

Bits 0-4: DMA base address This 5-bit field defines the base-address for DMA transfers (when read/write access are done through the TIMx_DMAR address). DBA is defined as an offset starting from the address of the TIMx_CR1 register. Example: ... Example: Let us consider the following transfer: DBL = 7 transfers and DBA = TIMx_CR1. In this case the transfer is done to/from 7 registers starting from the TIMx_CR1 address..

Allowed values:
0: B_0x0: TIMx_CR1,
1: B_0x1: TIMx_CR2,
2: B_0x2: TIMx_SMCR,

DBL

Bits 8-12: DMA burst length This 5-bit field defines the length of DMA transfers (the timer recognizes a burst transfer when a read or a write access is done to the TIMx_DMAR address), i.e. the number of transfers. Transfers can be in half-words or in bytes (see example below). ....

Allowed values:
0: B_0x0: 1 transfer,
1: B_0x1: 2 transfers,
2: B_0x2: 3 transfers,
17: B_0x11: 18 transfers.

TIM17_DMAR

TIM17 DMA address for full transfer

Offset: 0x4c, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DMAB
rw
Toggle fields

DMAB

Bits 0-15: DMA register for burst accesses A read or write operation to the DMAR register accesses the register located at the address (TIMx_CR1 address) + (DBA + DMA index) x 4 where TIMx_CR1 address is the address of the control register 1, DBA is the DMA base address configured in TIMx_DCR register, DMA index is automatically controlled by the DMA transfer, and ranges from 0 to DBL (DBL configured in TIMx_DCR)..

TIM17_AF1

TIM17 alternate function register 1

Offset: 0x60, size: 32, reset: 0x00000001, access: read-write

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKINP
rw
BKINE
rw
Toggle fields

BKINE

Bit 0: BRK BKIN input enable This bit enables the BKIN alternate function input for the timer s BRK input. BKIN input is ORed with the other BRK sources. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: BKIN input disabled
1: B_0x1: BKIN input enabled

BKINP

Bit 9: BRK BKIN input polarity This bit selects the BKIN alternate function input sensitivity. It must be programmed together with the BKP polarity bit. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: B_0x0: BKIN input is active low
1: B_0x1: BKIN input is active high

TIM17_TISEL

TIM17 input selection register

Offset: 0x68, size: 32, reset: 0x00000000, access: read-write

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TI1SEL
rw
Toggle fields

TI1SEL

Bits 0-3: selects TI1[0] to TI1[15] input Others: Reserved.

Allowed values:
0: B_0x0: TIM17_CH1 input
2: B_0x2: HSE/32
3: B_0x3: MCO
4: B_0x4: MCO2

TIM2

0x40000000: TIM2 address block description

61/114 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 (16-bit) TIM2_CR1
0x4 (16-bit) TIM2_CR2
0x8 TIM2_SMCR
0xc (16-bit) TIM2_DIER
0x10 (16-bit) TIM2_SR
0x14 (16-bit) TIM2_EGR
0x18 TIM2_CCMR1
0x18 TIM2_CCMR1_ALTERNATE1
0x1c TIM2_CCMR2
0x1c TIM2_CCMR2_ALTERNATE1
0x20 (16-bit) TIM2_CCER
0x24 TIM2_CNT
0x24 TIM2_CNT_ALTERNATE1
0x28 (16-bit) TIM2_PSC
0x2c TIM2_ARR
0x34 TIM2_CCR1
0x38 TIM2_CCR2
0x3c TIM2_CCR3
0x40 TIM2_CCR4
0x48 (16-bit) TIM2_DCR
0x4c (16-bit) TIM2_DMAR
0x60 TIM2_AF1
0x68 TIM2_TISEL
Toggle registers

TIM2_CR1

TIM2 control register 1

Offset: 0x0, size: 16, reset: 0x00000000, access: read-write

9/9 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
UIFREMAP
rw
CKD
rw
ARPE
rw
CMS
rw
DIR
rw
OPM
rw
URS
rw
UDIS
rw
CEN
rw
Toggle fields

CEN

Bit 0: Counter enable.

Allowed values:
0: B_0x0: Counter disabled
1: B_0x1: Counter enabled

UDIS

Bit 1: Update disable.

Allowed values:
0: B_0x0: UEV enabled.
1: B_0x1: UEV disabled.

URS

Bit 2: Update request source.

Allowed values:
0: B_0x0: Any of the following events generate an update interrupt or DMA request if enabled.
1: B_0x1: Only counter overflow/underflow generates an update interrupt or DMA request if enabled.

OPM

Bit 3: One-pulse mode.

Allowed values:
0: B_0x0: Counter is not stopped at update event
1: B_0x1: Counter stops counting at the next update event (clearing the bit CEN)

DIR

Bit 4: Direction.

Allowed values:
0: B_0x0: Counter used as upcounter
1: B_0x1: Counter used as downcounter

CMS

Bits 5-6: Center-aligned mode selection.

Allowed values:
0: B_0x0: Edge-aligned mode.
1: B_0x1: Center-aligned mode 1.
2: B_0x2: Center-aligned mode 2.
3: B_0x3: Center-aligned mode 3.

ARPE

Bit 7: Auto-reload preload enable.

Allowed values:
0: B_0x0: TIMx_ARR register is not buffered
1: B_0x1: TIMx_ARR register is buffered

CKD

Bits 8-9: Clock division.

Allowed values:
0: B_0x0: tless thansub>DTSless than/sub> = tless thansub>CK_INTless than/sub>
1: B_0x1: tless thansub>DTSless than/sub> = 2 X tless thansub>CK_INTless than/sub>
2: B_0x2: tless thansub>DTSless than/sub> = 4 X tless thansub>CK_INTless than/sub>

UIFREMAP

Bit 11: UIF status bit remapping.

Allowed values:
0: B_0x0: No remapping.
1: B_0x1: Remapping enabled.

TIM2_CR2

TIM2 control register 2

Offset: 0x4, size: 16, reset: 0x00000000, access: read-write

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TI1S
rw
MMS
rw
CCDS
rw
Toggle fields

CCDS

Bit 3: Capture/compare DMA selection.

Allowed values:
0: B_0x0: CCx DMA request sent when CCx event occurs
1: B_0x1: CCx DMA requests sent when update event occurs

MMS

Bits 4-6: Master mode selection.

Allowed values:
0: B_0x0: Reset - the UG bit from the TIMx_EGR register is used as trigger output (TRGO).
1: B_0x1: Enable - the Counter enable signal, CNT_EN, is used as trigger output (TRGO).
2: B_0x2: Update - The update event is selected as trigger output (TRGO).
3: B_0x3: Compare Pulse - The trigger output send a positive pulse when the CC1IF flag is to be set (even if it was already high), as soon as a capture or a compare match occurred.
4: B_0x4: Compare - OC1REFC signal is used as trigger output (TRGO)
5: B_0x5: Compare - OC2REFC signal is used as trigger output (TRGO)
6: B_0x6: Compare - OC3REFC signal is used as trigger output (TRGO)
7: B_0x7: Compare - OC4REFC signal is used as trigger output (TRGO)

TI1S

Bit 7: TI1 selection.

Allowed values:
0: B_0x0: The TIMx_CH1 pin is connected to TI1 input
1: B_0x1: The TIMx_CH1, CH2 and CH3 pins are connected to the TI1 input (XOR combination) See also Section17.

TIM2_SMCR

TIM2 slave mode control register

Offset: 0x8, size: 32, reset: 0x00000000, access: read-write

8/10 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TS_1
rw
SMS_1
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ETP
rw
ECE
rw
ETPS
rw
ETF
rw
MSM
rw
TS
rw
OCCS
rw
SMS
rw
Toggle fields

SMS

Bits 0-2: SMS[2:0]: Slave mode selection.

Allowed values:
0: B_0x0: Slave mode disabled - if CEN = 1 then the prescaler is clocked directly by the internal clock.
1: B_0x1: Encoder mode 1 - Counter counts up/down on TI1FP1 edge depending on TI2FP2 level.
2: B_0x2: Encoder mode 2 - Counter counts up/down on TI2FP2 edge depending on TI1FP1 level.
3: B_0x3: Encoder mode 3 - Counter counts up/down on both TI1FP1 and TI2FP2 edges depending on the level of the other input.
4: B_0x4: Reset Mode - Rising edge of the selected trigger input (TRGI) reinitializes the counter and generates an update of the registers.
5: B_0x5: Gated Mode - The counter clock is enabled when the trigger input (TRGI) is high.
6: B_0x6: Trigger Mode - The counter starts at a rising edge of the trigger TRGI (but it is not reset).
7: B_0x7: External Clock Mode 1 - Rising edges of the selected trigger (TRGI) clock the counter.

OCCS

Bit 3: OCREF clear selection.

Allowed values:
0: B_0x0: OCREF_CLR_INT is unconnected.
1: B_0x1: OCREF_CLR_INT is connected to ETRF

TS

Bits 4-6: TS[2:0]: Trigger selection.

Allowed values:
0: B_0x0: Internal Trigger 0 (ITR0)
1: B_0x1: Internal Trigger 1 (ITR1)
2: B_0x2: Internal Trigger 2 (ITR2)
3: B_0x3: Internal Trigger 3 (ITR3)
4: B_0x4: TI1 Edge Detector (TI1F_ED)
5: B_0x5: Filtered Timer Input 1 (TI1FP1)
6: B_0x6: Filtered Timer Input 2 (TI2FP2)
7: B_0x7: External Trigger input (ETRF)

MSM

Bit 7: Master/Slave mode.

Allowed values:
0: B_0x0: No action
1: B_0x1: The effect of an event on the trigger input (TRGI) is delayed to allow a perfect synchronization between the current timer and its slaves (through TRGO).

ETF

Bits 8-11: External trigger filter.

Allowed values:
0: B_0x0: No filter, sampling is done at fless thansub>DTSless than/sub>
1: B_0x1: fless thansub>SAMPLINGless than/sub>=fless thansub>CK_INTless than/sub>, N=2
2: B_0x2: fless thansub>SAMPLINGless than/sub>=fless thansub>CK_INTless than/sub>, N=4
3: B_0x3: fless thansub>SAMPLINGless than/sub>=fless thansub>CK_INTless than/sub>, N=8
4: B_0x4: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/2, N=6
5: B_0x5: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/2, N=8
6: B_0x6: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/4, N=6
7: B_0x7: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/4, N=8
8: B_0x8: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/8, N=6
9: B_0x9: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/8, N=8
10: B_0xA: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/16, N=5
11: B_0xB: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/16, N=6
12: B_0xC: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/16, N=8
13: B_0xD: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/32, N=5
14: B_0xE: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/32, N=6
15: B_0xF: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/32, N=8

ETPS

Bits 12-13: External trigger prescaler.

Allowed values:
0: B_0x0: Prescaler OFF
1: B_0x1: ETRP frequency divided by 2
2: B_0x2: ETRP frequency divided by 4
3: B_0x3: ETRP frequency divided by 8

ECE

Bit 14: External clock enable.

Allowed values:
0: B_0x0: External clock mode 2 disabled
1: B_0x1: External clock mode 2 enabled.

ETP

Bit 15: External trigger polarity.

Allowed values:
0: B_0x0: ETR is non-inverted, active at high level or rising edge
1: B_0x1: ETR is inverted, active at low level or falling edge

SMS_1

Bit 16: SMS[3].

TS_1

Bits 20-21: TS[4:3].

TIM2_DIER

TIM2 DMA/Interrupt enable register

Offset: 0xc, size: 16, reset: 0x00000000, access: read-write

12/12 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TDE
rw
CC4DE
rw
CC3DE
rw
CC2DE
rw
CC1DE
rw
UDE
rw
TIE
rw
CC4IE
rw
CC3IE
rw
CC2IE
rw
CC1IE
rw
UIE
rw
Toggle fields

UIE

Bit 0: Update interrupt enable.

Allowed values:
0: B_0x0: Update interrupt disabled.
1: B_0x1: Update interrupt enabled.

CC1IE

Bit 1: Capture/Compare 1 interrupt enable.

Allowed values:
0: B_0x0: CC1 interrupt disabled.
1: B_0x1: CC1 interrupt enabled.

CC2IE

Bit 2: Capture/Compare 2 interrupt enable.

Allowed values:
0: B_0x0: CC2 interrupt disabled.
1: B_0x1: CC2 interrupt enabled.

CC3IE

Bit 3: Capture/Compare 3 interrupt enable.

Allowed values:
0: B_0x0: CC3 interrupt disabled.
1: B_0x1: CC3 interrupt enabled.

CC4IE

Bit 4: Capture/Compare 4 interrupt enable.

Allowed values:
0: B_0x0: CC4 interrupt disabled.
1: B_0x1: CC4 interrupt enabled.

TIE

Bit 6: Trigger interrupt enable.

Allowed values:
0: B_0x0: Trigger interrupt disabled.
1: B_0x1: Trigger interrupt enabled.

UDE

Bit 8: Update DMA request enable.

Allowed values:
0: B_0x0: Update DMA request disabled.
1: B_0x1: Update DMA request enabled.

CC1DE

Bit 9: Capture/Compare 1 DMA request enable.

Allowed values:
0: B_0x0: CC1 DMA request disabled.
1: B_0x1: CC1 DMA request enabled.

CC2DE

Bit 10: Capture/Compare 2 DMA request enable.

Allowed values:
0: B_0x0: CC2 DMA request disabled.
1: B_0x1: CC2 DMA request enabled.

CC3DE

Bit 11: Capture/Compare 3 DMA request enable.

Allowed values:
0: B_0x0: CC3 DMA request disabled.
1: B_0x1: CC3 DMA request enabled.

CC4DE

Bit 12: Capture/Compare 4 DMA request enable.

Allowed values:
0: B_0x0: CC4 DMA request disabled.
1: B_0x1: CC4 DMA request enabled.

TDE

Bit 14: Trigger DMA request enable.

Allowed values:
0: B_0x0: Trigger DMA request disabled.
1: B_0x1: Trigger DMA request enabled.

TIM2_SR

TIM2 status register

Offset: 0x10, size: 16, reset: 0x00000000, access: read-write

4/10 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC4OF
rw
CC3OF
rw
CC2OF
rw
CC1OF
rw
TIF
rw
CC4IF
rw
CC3IF
rw
CC2IF
rw
CC1IF
rw
UIF
rw
Toggle fields

UIF

Bit 0: Update interrupt flag.

Allowed values:
0: B_0x0: No update occurred
1: B_0x1: Update interrupt pending.

CC1IF

Bit 1: Capture/compare 1 interrupt flag.

Allowed values:
0: B_0x0: No compare match / No input capture occurred
1: B_0x1: A compare match or an input capture occurred

CC2IF

Bit 2: Capture/Compare 2 interrupt flag.

CC3IF

Bit 3: Capture/Compare 3 interrupt flag.

CC4IF

Bit 4: Capture/Compare 4 interrupt flag.

TIF

Bit 6: Trigger interrupt flag.

Allowed values:
0: B_0x0: No trigger event occurred.
1: B_0x1: Trigger interrupt pending.

CC1OF

Bit 9: Capture/Compare 1 overcapture flag.

Allowed values:
0: B_0x0: No overcapture has been detected.
1: B_0x1: The counter value has been captured in TIMx_CCR1 register while CC1IF flag was already set

CC2OF

Bit 10: Capture/compare 2 overcapture flag.

CC3OF

Bit 11: Capture/Compare 3 overcapture flag.

CC4OF

Bit 12: Capture/Compare 4 overcapture flag.

TIM2_EGR

TIM2 event generation register

Offset: 0x14, size: 16, reset: 0x00000000, access: write-only

3/6 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TG
w
CC4G
w
CC3G
w
CC2G
w
CC1G
w
UG
w
Toggle fields

UG

Bit 0: Update generation.

Allowed values:
0: B_0x0: No action
1: B_0x1: Re-initialize the counter and generates an update of the registers.

CC1G

Bit 1: Capture/compare 1 generation.

Allowed values:
0: B_0x0: No action
1: B_0x1: A capture/compare event is generated on channel 1:

CC2G

Bit 2: Capture/compare 2 generation.

CC3G

Bit 3: Capture/compare 3 generation.

CC4G

Bit 4: Capture/compare 4 generation.

TG

Bit 6: Trigger generation.

Allowed values:
0: B_0x0: No action
1: B_0x1: The TIF flag is set in TIMx_SR register.

TIM2_CCMR1

TIM2 capture/compare mode register 1

Offset: 0x18, size: 32, reset: 0x00000000, access: read-write

4/6 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IC2F
rw
IC2PSC
rw
CC2S
rw
IC1F
rw
IC1PSC
rw
CC1S
rw
Toggle fields

CC1S

Bits 0-1: Capture/Compare 1 selection.

Allowed values:
0: B_0x0: CC1 channel is configured as output
1: B_0x1: CC1 channel is configured as input, IC1 is mapped on TI1
2: B_0x2: CC1 channel is configured as input, IC1 is mapped on TI2
3: B_0x3: CC1 channel is configured as input, IC1 is mapped on TRC.

IC1PSC

Bits 2-3: Input capture 1 prescaler.

Allowed values:
0: B_0x0: no prescaler, capture is done each time an edge is detected on the capture input
1: B_0x1: capture is done once every 2 events
2: B_0x2: capture is done once every 4 events
3: B_0x3: capture is done once every 8 events

IC1F

Bits 4-7: Input capture 1 filter.

Allowed values:
0: B_0x0: No filter, sampling is done at f less thansub>DTSless than/sub>
1: B_0x1: fless thansub>SAMPLINGless than/sub>=fless thansub>CK_INTless than/sub>, N=2
2: B_0x2: fless thansub>SAMPLINGless than/sub>=fless thansub>CK_INTless than/sub>, N=4
3: B_0x3: fless thansub>SAMPLINGless than/sub>=fless thansub>CK_INTless than/sub>, N=8
4: B_0x4: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/2, N=6
5: B_0x5: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/2, N=8
6: B_0x6: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/4, N=6
7: B_0x7: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/4, N=8
8: B_0x8: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/8, N=6
9: B_0x9: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/8, N=8
10: B_0xA: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/16, N=5
11: B_0xB: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/16, N=6
12: B_0xC: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/16, N=8
13: B_0xD: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/32, N=5
14: B_0xE: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/32, N=6
15: B_0xF: fless thansub>SAMPLINGless than/sub>=fless thansub>DTSless than/sub>/32, N=8

CC2S

Bits 8-9: Capture/compare 2 selection.

Allowed values:
0: B_0x0: CC2 channel is configured as output.
1: B_0x1: CC2 channel is configured as input, IC2 is mapped on TI2.
2: B_0x2: CC2 channel is configured as input, IC2 is mapped on TI1.
3: B_0x3: CC2 channel is configured as input, IC2 is mapped on TRC.

IC2PSC

Bits 10-11: Input capture 2 prescaler.

IC2F

Bits 12-15: Input capture 2 filter.

TIM2_CCMR1_ALTERNATE1

TIM2 capture/compare mode register 1

Offset: 0x18, size: 32, reset: 0x00000000, access: read-write

6/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OC2M_1
rw
OC1M_1
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OC2CE
rw
OC2M
rw
OC2PE
rw
OC2FE
rw
CC2S
rw
OC1CE
rw
OC1M
rw
OC1PE
rw
OC1FE
rw
CC1S
rw
Toggle fields

CC1S

Bits 0-1: Capture/Compare 1 selection.

Allowed values:
0: B_0x0: CC1 channel is configured as output.
1: B_0x1: CC1 channel is configured as input, IC1 is mapped on TI1.
2: B_0x2: CC1 channel is configured as input, IC1 is mapped on TI2.
3: B_0x3: CC1 channel is configured as input, IC1 is mapped on TRC.

OC1FE

Bit 2: Output compare 1 fast enable.

Allowed values:
0: B_0x0: CC1 behaves normally depending on counter and CCR1 values even when the trigger is ON.
1: B_0x1: An active edge on the trigger input acts like a compare match on CC1 output.

OC1PE

Bit 3: Output compare 1 preload enable.

Allowed values:
0: B_0x0: Preload register on TIMx_CCR1 disabled.
1: B_0x1: Preload register on TIMx_CCR1 enabled.

OC1M

Bits 4-6: OC1M[2:0]: Output compare 1 mode.

Allowed values:
0: B_0x0: Frozen - The comparison between the output compare register TIMx_CCR1 and the counter TIMx_CNT has no effect on the outputs.
1: B_0x1: Set channel 1 to active level on match.
2: B_0x2: Set channel 1 to inactive level on match.
3: B_0x3: Toggle - OC1REF toggles when TIMx_CNT=TIMx_CCR1.
4: B_0x4: Force inactive level - OC1REF is forced low.
5: B_0x5: Force active level - OC1REF is forced high.
6: B_0x6: PWM mode 1 - In upcounting, channel 1 is active as long as TIMx_CNTless thanTIMx_CCR1 else inactive.
7: B_0x7: PWM mode 2 - In upcounting, channel 1 is inactive as long as TIMx_CNTless thanTIMx_CCR1 else active.

OC1CE

Bit 7: Output compare 1 clear enable.

Allowed values:
0: B_0x0: OC1Ref is not affected by the ETRF input
1: B_0x1: OC1Ref is cleared as soon as a High level is detected on ETRF input

CC2S

Bits 8-9: Capture/Compare 2 selection.

Allowed values:
0: B_0x0: CC2 channel is configured as output
1: B_0x1: CC2 channel is configured as input, IC2 is mapped on TI2
2: B_0x2: CC2 channel is configured as input, IC2 is mapped on TI1
3: B_0x3: CC2 channel is configured as input, IC2 is mapped on TRC.

OC2FE

Bit 10: Output compare 2 fast enable.

OC2PE

Bit 11: Output compare 2 preload enable.

OC2M

Bits 12-14: OC2M[2:0]: Output compare 2 mode.

OC2CE

Bit 15: Output compare 2 clear enable.

OC1M_1

Bit 16: OC1M[3].

OC2M_1

Bit 24: OC2M[3].

TIM2_CCMR2

TIM2 capture/compare mode register 2

Offset: 0x1c, size: 32, reset: 0x00000000, access: read-write

2/6 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IC4F
rw
IC4PSC
rw
CC4S
rw
IC3F
rw
IC3PSC
rw
CC3S
rw
Toggle fields

CC3S

Bits 0-1: Capture/Compare 3 selection.

Allowed values:
0: B_0x0: CC3 channel is configured as output
1: B_0x1: CC3 channel is configured as input, IC3 is mapped on TI3
2: B_0x2: CC3 channel is configured as input, IC3 is mapped on TI4
3: B_0x3: CC3 channel is configured as input, IC3 is mapped on TRC.

IC3PSC

Bits 2-3: Input capture 3 prescaler.

IC3F

Bits 4-7: Input capture 3 filter.

CC4S

Bits 8-9: Capture/Compare 4 selection.

Allowed values:
0: B_0x0: CC4 channel is configured as output
1: B_0x1: CC4 channel is configured as input, IC4 is mapped on TI4
2: B_0x2: CC4 channel is configured as input, IC4 is mapped on TI3
3: B_0x3: CC4 channel is configured as input, IC4 is mapped on TRC.

IC4PSC

Bits 10-11: Input capture 4 prescaler.

IC4F

Bits 12-15: Input capture 4 filter.

TIM2_CCMR2_ALTERNATE1

TIM2 capture/compare mode register 2

Offset: 0x1c, size: 32, reset: 0x00000000, access: read-write

2/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OC4M_1
rw
OC3M_1
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OC4CE
rw
OC4M
rw
OC4PE
rw
OC4FE
rw
CC4S
rw
OC3CE
rw
OC3M
rw
OC3PE
rw
OC3FE
rw
CC3S
rw
Toggle fields

CC3S

Bits 0-1: Capture/Compare 3 selection.

Allowed values:
0: B_0x0: CC3 channel is configured as output
1: B_0x1: CC3 channel is configured as input, IC3 is mapped on TI3
2: B_0x2: CC3 channel is configured as input, IC3 is mapped on TI4
3: B_0x3: CC3 channel is configured as input, IC3 is mapped on TRC.

OC3FE

Bit 2: Output compare 3 fast enable.

OC3PE

Bit 3: Output compare 3 preload enable.

OC3M

Bits 4-6: OC3M[2:0]: Output compare 3 mode.

OC3CE

Bit 7: Output compare 3 clear enable.

CC4S

Bits 8-9: Capture/Compare 4 selection.

Allowed values:
0: B_0x0: CC4 channel is configured as output
1: B_0x1: CC4 channel is configured as input, IC4 is mapped on TI4
2: B_0x2: CC4 channel is configured as input, IC4 is mapped on TI3
3: B_0x3: CC4 channel is configured as input, IC4 is mapped on TRC.

OC4FE

Bit 10: Output compare 4 fast enable.

OC4PE

Bit 11: Output compare 4 preload enable.

OC4M

Bits 12-14: OC4M[2:0]: Output compare 4 mode.

OC4CE

Bit 15: Output compare 4 clear enable.

OC3M_1

Bit 16: OC3M[3].

OC4M_1

Bit 24: OC4M[3].

TIM2_CCER

TIM2 capture/compare enable register

Offset: 0x20, size: 16, reset: 0x00000000, access: read-write

2/12 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC4NP
rw
CC4P
rw
CC4E
rw
CC3NP
rw
CC3P
rw
CC3E
rw
CC2NP
rw
CC2P
rw
CC2E
rw
CC1NP
rw
CC1P
rw
CC1E
rw
Toggle fields

CC1E

Bit 0: Capture/Compare 1 output enable..

Allowed values:
0: B_0x0: Capture mode disabled / OC1 is not active
1: B_0x1: Capture mode enabled / OC1 signal is output on the corresponding output pin

CC1P

Bit 1: Capture/Compare 1 output Polarity..

Allowed values:
0: B_0x0: OC1 active high (output mode) / Edge sensitivity selection (input mode, see below)
1: B_0x1: OC1 active low (output mode) / Edge sensitivity selection (input mode, see below)

CC1NP

Bit 3: Capture/Compare 1 output Polarity..

CC2E

Bit 4: Capture/Compare 2 output enable..

CC2P

Bit 5: Capture/Compare 2 output Polarity..

CC2NP

Bit 7: Capture/Compare 2 output Polarity..

CC3E

Bit 8: Capture/Compare 3 output enable..

CC3P

Bit 9: Capture/Compare 3 output Polarity..

CC3NP

Bit 11: Capture/Compare 3 output Polarity..

CC4E

Bit 12: Capture/Compare 4 output enable..

CC4P

Bit 13: Capture/Compare 4 output Polarity..

CC4NP

Bit 15: Capture/Compare 4 output Polarity..

TIM2_CNT

TIM2 counter

Offset: 0x24, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CNT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CNT
rw
Toggle fields

CNT

Bits 0-31: Least significant part of counter value.

TIM2_CNT_ALTERNATE1

TIM2 counter

Offset: 0x24, size: 32, reset: 0x00000000, access: read-write

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UIFCPY
rw
CNT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CNT
rw
Toggle fields

CNT

Bits 0-30: Least significant part of counter value.

UIFCPY

Bit 31: UIF Copy.

TIM2_PSC

TIM2 prescaler

Offset: 0x28, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PSC
rw
Toggle fields

PSC

Bits 0-15: Prescaler value.

TIM2_ARR

TIM2 auto-reload register

Offset: 0x2c, size: 32, reset: 0xFFFFFFFF, access: read-write

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ARR
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ARR
rw
Toggle fields

ARR

Bits 0-31: Low Auto-reload value.

TIM2_CCR1

TIM2 capture/compare register 1

Offset: 0x34, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CCR1
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR1
rw
Toggle fields

CCR1

Bits 0-31: Low Capture/Compare 1 value.

TIM2_CCR2

TIM2 capture/compare register 2

Offset: 0x38, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CCR2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR2
rw
Toggle fields

CCR2

Bits 0-31: Low Capture/Compare 2 value.

TIM2_CCR3

TIM2 capture/compare register 3

Offset: 0x3c, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CCR3
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR3
rw
Toggle fields

CCR3

Bits 0-31: Low Capture/Compare value.

TIM2_CCR4

TIM2 capture/compare register 4

Offset: 0x40, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CCR4
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR4
rw
Toggle fields

CCR4

Bits 0-31: Low Capture/Compare value.

TIM2_DCR

TIM2 DMA control register

Offset: 0x48, size: 16, reset: 0x00000000, access: read-write

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DBL
rw
DBA
rw
Toggle fields

DBA

Bits 0-4: DMA base address.

Allowed values:
0: B_0x0: TIMx_CR1
1: B_0x1: TIMx_CR2
2: B_0x2: TIMx_SMCR

DBL

Bits 8-12: DMA burst length.

Allowed values:
0: B_0x0: 1 transfer,
1: B_0x1: 2 transfers,
2: B_0x2: 3 transfers,
17: B_0x11: 18 transfers.

TIM2_DMAR

TIM2 DMA address for full transfer

Offset: 0x4c, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DMAB
rw
Toggle fields

DMAB

Bits 0-15: DMA register for burst accesses.

TIM2_AF1

TIM2 alternate function option register 1

Offset: 0x60, size: 32, reset: 0x00000000, access: read-write

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ETRSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ETRSEL
rw
Toggle fields

ETRSEL

Bits 14-17: ETR source selection.

Allowed values:
0: B_0x0: ETR legacy mode
3: B_0x3: LSE
4: B_0x4: MCO
5: B_0x5: MCO2

TIM2_TISEL

TIM2 timer input selection register

Offset: 0x68, size: 32, reset: 0x00000000, access: read-write

3/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TI3SEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TI2SEL
rw
TI1SEL
rw
Toggle fields

TI1SEL

Bits 0-3: TI1[0] to TI1[15] input selection.

Allowed values:
0: B_0x0: TIM2_CH1 input

TI2SEL

Bits 8-11: TI2[0] to TI2[15] input selection.

Allowed values:
0: B_0x0: TIM2_CH2 input

TI3SEL

Bits 16-19: TI3[0] to TI3[15] input selection.

Allowed values:
0: B_0x0: TIM2_CH3 input

TIM3

0x40000400: TIM3 address block description

61/114 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 (16-bit) TIM3_CR1
0x4 (16-bit) TIM3_CR2
0x8 TIM3_SMCR
0xc (16-bit) TIM3_DIER
0x10 (16-bit) TIM3_SR
0x14 (16-bit) TIM3_EGR
0x18 TIM3_CCMR1
0x18 TIM3_CCMR1_ALTERNATE1
0x1c TIM3_CCMR2
0x1c TIM3_CCMR2_ALTERNATE1
0x20 (16-bit) TIM3_CCER
0x24 TIM3_CNT
0x24 TIM3_CNT_ALTERNATE1
0x28 (16-bit) TIM3_PSC
0x2c TIM3_ARR
0x34 TIM3_CCR1
0x38 TIM3_CCR2
0x3c TIM3_CCR3
0x40 TIM3_CCR4
0x48 (16-bit) TIM3_DCR
0x4c (16-bit) TIM3_DMAR
0x60 TIM3_AF1
0x68 TIM3_TISEL
Toggle registers

TIM3_CR1

TIM3 control register 1

Offset: 0x0, size: 16, reset: 0x00000000, access: read-write

9/9 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
UIFREMAP
rw
CKD
rw
ARPE
rw
CMS
rw
DIR
rw
OPM
rw
URS
rw
UDIS
rw
CEN
rw
Toggle fields

CEN

Bit 0: Counter enable Note: External clock, gated mode and encoder mode can work only if the CEN bit has been previously set by software. However trigger mode can set the CEN bit automatically by hardware. CEN is cleared automatically in one-pulse mode, when an update event occurs..

Allowed values:
0: B_0x0: Counter disabled
1: B_0x1: Counter enabled

UDIS

Bit 1: Update disable This bit is set and cleared by software to enable/disable UEV event generation. Counter overflow/underflow Setting the UG bit Update generation through the slave mode controller Buffered registers are then loaded with their preload values..

Allowed values:
0: B_0x0: UEV enabled. The Update (UEV) event is generated by one of the following events:
1: B_0x1: UEV disabled. The Update event is not generated, shadow registers keep their value (ARR, PSC, CCRx). However the counter and the prescaler are reinitialized if the UG bit is set or if a hardware reset is received from the slave mode controller.

URS

Bit 2: Update request source This bit is set and cleared by software to select the UEV event sources. Counter overflow/underflow Setting the UG bit Update generation through the slave mode controller.

Allowed values:
0: B_0x0: Any of the following events generate an update interrupt or DMA request if enabled. These events can be:
1: B_0x1: Only counter overflow/underflow generates an update interrupt or DMA request if enabled.

OPM

Bit 3: One-pulse mode.

Allowed values:
0: B_0x0: Counter is not stopped at update event
1: B_0x1: Counter stops counting at the next update event (clearing the bit CEN)

DIR

Bit 4: Direction Note: This bit is read only when the timer is configured in Center-aligned mode or Encoder mode..

Allowed values:
0: B_0x0: Counter used as upcounter
1: B_0x1: Counter used as downcounter

CMS

Bits 5-6: Center-aligned mode selection Note: It is not allowed to switch from edge-aligned mode to center-aligned mode as long as the counter is enabled (CEN=1).

Allowed values:
0: B_0x0: Edge-aligned mode. The counter counts up or down depending on the direction bit (DIR).
1: B_0x1: Center-aligned mode 1. The counter counts up and down alternatively. Output compare interrupt flags of channels configured in output (CCxS=00 in TIMx_CCMRx register) are set only when the counter is counting down.
2: B_0x2: Center-aligned mode 2. The counter counts up and down alternatively. Output compare interrupt flags of channels configured in output (CCxS=00 in TIMx_CCMRx register) are set only when the counter is counting up.
3: B_0x3: Center-aligned mode 3. The counter counts up and down alternatively. Output compare interrupt flags of channels configured in output (CCxS=00 in TIMx_CCMRx register) are set both when the counter is counting up or down.

ARPE

Bit 7: Auto-reload preload enable.

Allowed values:
0: B_0x0: TIMx_ARR register is not buffered
1: B_0x1: TIMx_ARR register is buffered

CKD

Bits 8-9: Clock division This bit-field indicates the division ratio between the timer clock (CK_INT) frequency and sampling clock used by the digital filters (ETR, TIx),.

Allowed values:
0: B_0x0: t<sub>DTS</sub> = t<sub>CK_INT</sub>
1: B_0x1: t<sub>DTS</sub> = 2 t<sub>CK_INT</sub>
2: B_0x2: t<sub>DTS</sub> = 4 t<sub>CK_INT</sub>

UIFREMAP

Bit 11: UIF status bit remapping.

Allowed values:
0: B_0x0: No remapping. UIF status bit is not copied to TIMx_CNT register bit 31.
1: B_0x1: Remapping enabled. UIF status bit is copied to TIMx_CNT register bit 31.

TIM3_CR2

TIM3 control register 2

Offset: 0x4, size: 16, reset: 0x00000000, access: read-write

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TI1S
rw
MMS
rw
CCDS
rw
Toggle fields

CCDS

Bit 3: Capture/compare DMA selection.

Allowed values:
0: B_0x0: CCx DMA request sent when CCx event occurs
1: B_0x1: CCx DMA requests sent when update event occurs

MMS

Bits 4-6: Master mode selection These bits permit to select the information to be sent in master mode to slave timers for synchronization (TRGO). The combination is as follows: When the Counter Enable signal is controlled by the trigger input, there is a delay on TRGO, except if the master/slave mode is selected (see the MSM bit description in TIMx_SMCR register). Note: The clock of the slave timer or ADC must be enabled prior to receive events from the master timer, and must not be changed on-the-fly while triggers are received from the master timer..

Allowed values:
0: B_0x0: Reset - the UG bit from the TIMx_EGR register is used as trigger output (TRGO). If the reset is generated by the trigger input (slave mode controller configured in reset mode) then the signal on TRGO is delayed compared to the actual reset.
1: B_0x1: Enable - the Counter enable signal, CNT_EN, is used as trigger output (TRGO). It is useful to start several timers at the same time or to control a window in which a slave timer is enabled. The Counter Enable signal is generated by a logic AND between CEN control bit and the trigger input when configured in gated mode.
2: B_0x2: Update - The update event is selected as trigger output (TRGO). For instance a master timer can then be used as a prescaler for a slave timer.
3: B_0x3: Compare Pulse - The trigger output send a positive pulse when the CC1IF flag is to be set (even if it was already high), as soon as a capture or a compare match occurred. (TRGO)
4: B_0x4: Compare - OC1REFC signal is used as trigger output (TRGO)
5: B_0x5: Compare - OC2REFC signal is used as trigger output (TRGO)
6: B_0x6: Compare - OC3REFC signal is used as trigger output (TRGO)
7: B_0x7: Compare - OC4REFC signal is used as trigger output (TRGO)

TI1S

Bit 7: TI1 selection.

Allowed values:
0: B_0x0: The TIMx_CH1 pin is connected to TI1 input
1: B_0x1: The TIMx_CH1, CH2 and CH3 pins are connected to the TI1 input (XOR combination) See also Section 17.3.25: Interfacing with Hall sensors on page 380

TIM3_SMCR

TIM3 slave mode control register

Offset: 0x8, size: 32, reset: 0x00000000, access: read-write

8/10 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TS_1
rw
SMS_1
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ETP
rw
ECE
rw
ETPS
rw
ETF
rw
MSM
rw
TS
rw
OCCS
rw
SMS
rw
Toggle fields

SMS

Bits 0-2: SMS[2:0]: Slave mode selection When external signals are selected the active edge of the trigger signal (TRGI) is linked to the polarity selected on the external input (see Input Control register and Control Register description. reinitializes the counter, generates an update of the registers and starts the counter. Note: The gated mode must not be used if TI1F_ED is selected as the trigger input (TS=00100). Indeed, TI1F_ED outputs 1 pulse for each transition on TI1F, whereas the gated mode checks the level of the trigger signal. Note: The clock of the slave peripherals (timer, ADC, ...) receiving the TRGO or the TRGO2 signals must be enabled prior to receive events from the master timer, and the clock frequency (prescaler) must not be changed on-the-fly while triggers are received from the master timer..

Allowed values:
0: B_0x0: Slave mode disabled - if CEN = 1 then the prescaler is clocked directly by the internal clock.
1: B_0x1: Encoder mode 1 - Counter counts up/down on TI1FP1 edge depending on TI2FP2 level.
2: B_0x2: Encoder mode 2 - Counter counts up/down on TI2FP2 edge depending on TI1FP1 level.
3: B_0x3: Encoder mode 3 - Counter counts up/down on both TI1FP1 and TI2FP2 edges depending on the level of the other input.
4: B_0x4: Reset Mode - Rising edge of the selected trigger input (TRGI) reinitializes the counter and generates an update of the registers.
5: B_0x5: Gated Mode - The counter clock is enabled when the trigger input (TRGI) is high. The counter stops (but is not reset) as soon as the trigger becomes low. Both start and stop of the counter are controlled.
6: B_0x6: Trigger Mode - The counter starts at a rising edge of the trigger TRGI (but it is not reset). Only the start of the counter is controlled.
7: B_0x7: External Clock Mode 1 - Rising edges of the selected trigger (TRGI) clock the counter.

OCCS

Bit 3: OCREF clear selection This bit is used to select the OCREF clear source.

Allowed values:
0: B_0x0: OCREF_CLR_INT is unconnected.
1: B_0x1: OCREF_CLR_INT is connected to ETRF

TS

Bits 4-6: TS[2:0]: Trigger selection This bit-field selects the trigger input to be used to synchronize the counter. Others: Reserved See Table 77: TIM3 internal trigger connection on page 478 for more details on ITRx meaning for each Timer. Note: These bits must be changed only when they are not used (e.g. when SMS=000) to avoid wrong edge detections at the transition..

Allowed values:
0: B_0x0: Internal Trigger 0 (ITR0)
1: B_0x1: Internal Trigger 1 (ITR1)
2: B_0x2: Internal Trigger 2 (ITR2)
3: B_0x3: Internal Trigger 3 (ITR3)
4: B_0x4: TI1 Edge Detector (TI1F_ED)
5: B_0x5: Filtered Timer Input 1 (TI1FP1)
6: B_0x6: Filtered Timer Input 2 (TI2FP2)
7: B_0x7: External Trigger input (ETRF)

MSM

Bit 7: Master/Slave mode.

Allowed values:
0: B_0x0: No action
1: B_0x1: The effect of an event on the trigger input (TRGI) is delayed to allow a perfect synchronization between the current timer and its slaves (through TRGO). It is useful if we want to synchronize several timers on a single external event.

ETF

Bits 8-11: External trigger filter This bit-field then defines the frequency used to sample ETRP signal and the length of the digital filter applied to ETRP. The digital filter is made of an event counter in which N consecutive events are needed to validate a transition on the output:.

Allowed values:
0: B_0x0: No filter, sampling is done at f<sub>DTS</sub>
1: B_0x1: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=2
2: B_0x2: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=4
3: B_0x3: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=8
4: B_0x4: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/2, N=6
5: B_0x5: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/2, N=8
6: B_0x6: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/4, N=6
7: B_0x7: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/4, N=8
8: B_0x8: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/8, N=6
9: B_0x9: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/8, N=8
10: B_0xA: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=5
11: B_0xB: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=6
12: B_0xC: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=8
13: B_0xD: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=5
14: B_0xE: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=6
15: B_0xF: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=8

ETPS

Bits 12-13: External trigger prescaler External trigger signal ETRP frequency must be at most 1/4 of CK_INT frequency. A prescaler can be enabled to reduce ETRP frequency. It is useful when inputting fast external clocks..

Allowed values:
0: B_0x0: Prescaler OFF
1: B_0x1: ETRP frequency divided by 2
2: B_0x2: ETRP frequency divided by 4
3: B_0x3: ETRP frequency divided by 8

ECE

Bit 14: External clock enable This bit enables External clock mode 2. Note: Setting the ECE bit has the same effect as selecting external clock mode 1 with TRGI connected to ETRF (SMS=111 and TS=00111). Note: It is possible to simultaneously use external clock mode 2 with the following slave modes: reset mode, gated mode and trigger mode. Nevertheless, TRGI must not be connected to ETRF in this case (TS bits must not be 00111). Note: If external clock mode 1 and external clock mode 2 are enabled at the same time, the external clock input is ETRF..

Allowed values:
0: B_0x0: External clock mode 2 disabled
1: B_0x1: External clock mode 2 enabled. The counter is clocked by any active edge on the ETRF signal.

ETP

Bit 15: External trigger polarity This bit selects whether ETR or ETR is used for trigger operations.

Allowed values:
0: B_0x0: ETR is non-inverted, active at high level or rising edge
1: B_0x1: ETR is inverted, active at low level or falling edge

SMS_1

Bit 16: SMS[3].

TS_1

Bits 20-21: TS[4:3].

TIM3_DIER

TIM3 DMA/Interrupt enable register

Offset: 0xc, size: 16, reset: 0x00000000, access: read-write

12/12 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TDE
rw
CC4DE
rw
CC3DE
rw
CC2DE
rw
CC1DE
rw
UDE
rw
TIE
rw
CC4IE
rw
CC3IE
rw
CC2IE
rw
CC1IE
rw
UIE
rw
Toggle fields

UIE

Bit 0: Update interrupt enable.

Allowed values:
0: B_0x0: Update interrupt disabled.
1: B_0x1: Update interrupt enabled.

CC1IE

Bit 1: Capture/Compare 1 interrupt enable.

Allowed values:
0: B_0x0: CC1 interrupt disabled.
1: B_0x1: CC1 interrupt enabled.

CC2IE

Bit 2: Capture/Compare 2 interrupt enable.

Allowed values:
0: B_0x0: CC2 interrupt disabled.
1: B_0x1: CC2 interrupt enabled.

CC3IE

Bit 3: Capture/Compare 3 interrupt enable.

Allowed values:
0: B_0x0: CC3 interrupt disabled.
1: B_0x1: CC3 interrupt enabled.

CC4IE

Bit 4: Capture/Compare 4 interrupt enable.

Allowed values:
0: B_0x0: CC4 interrupt disabled.
1: B_0x1: CC4 interrupt enabled.

TIE

Bit 6: Trigger interrupt enable.

Allowed values:
0: B_0x0: Trigger interrupt disabled.
1: B_0x1: Trigger interrupt enabled.

UDE

Bit 8: Update DMA request enable.

Allowed values:
0: B_0x0: Update DMA request disabled.
1: B_0x1: Update DMA request enabled.

CC1DE

Bit 9: Capture/Compare 1 DMA request enable.

Allowed values:
0: B_0x0: CC1 DMA request disabled.
1: B_0x1: CC1 DMA request enabled.

CC2DE

Bit 10: Capture/Compare 2 DMA request enable.

Allowed values:
0: B_0x0: CC2 DMA request disabled.
1: B_0x1: CC2 DMA request enabled.

CC3DE

Bit 11: Capture/Compare 3 DMA request enable.

Allowed values:
0: B_0x0: CC3 DMA request disabled.
1: B_0x1: CC3 DMA request enabled.

CC4DE

Bit 12: Capture/Compare 4 DMA request enable.

Allowed values:
0: B_0x0: CC4 DMA request disabled.
1: B_0x1: CC4 DMA request enabled.

TDE

Bit 14: Trigger DMA request enable.

Allowed values:
0: B_0x0: Trigger DMA request disabled.
1: B_0x1: Trigger DMA request enabled.

TIM3_SR

TIM3 status register

Offset: 0x10, size: 16, reset: 0x00000000, access: read-write

4/10 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC4OF
rw
CC3OF
rw
CC2OF
rw
CC1OF
rw
TIF
rw
CC4IF
rw
CC3IF
rw
CC2IF
rw
CC1IF
rw
UIF
rw
Toggle fields

UIF

Bit 0: Update interrupt flag This bit is set by hardware on an update event. It is cleared by software. At overflow or underflow and if UDIS=0 in the TIMx_CR1 register. When CNT is reinitialized by software using the UG bit in TIMx_EGR register, if URS=0 and UDIS=0 in the TIMx_CR1 register. When CNT is reinitialized by a trigger event (refer to the synchro control register description), if URS=0 and UDIS=0 in the TIMx_CR1 register..

Allowed values:
0: B_0x0: No update occurred
1: B_0x1: Update interrupt pending. This bit is set by hardware when the registers are updated:

CC1IF

Bit 1: Capture/compare 1 interrupt flag This flag is set by hardware. It is cleared by software (input capture or output compare mode) or by reading the TIMx_CCR1 register (input capture mode only). If channel CC1 is configured as output: this flag is set when the content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. When the content of TIMx_CCR1 is greater than the content of TIMx_ARR, the CC1IF bit goes high on the counter overflow (in up-counting and up/down-counting modes) or underflow (in down-counting mode). There are 3 possible options for flag setting in center-aligned mode, refer to the CMS bits in the TIMx_CR1 register for the full description. If channel CC1 is configured as input: this bit is set when counter value has been captured in TIMx_CCR1 register (an edge has been detected on IC1, as per the edge sensitivity defined with the CC1P and CC1NP bits setting, in TIMx_CCER)..

Allowed values:
0: B_0x0: No compare match / No input capture occurred
1: B_0x1: A compare match or an input capture occurred

CC2IF

Bit 2: Capture/Compare 2 interrupt flag Refer to CC1IF description.

CC3IF

Bit 3: Capture/Compare 3 interrupt flag Refer to CC1IF description.

CC4IF

Bit 4: Capture/Compare 4 interrupt flag Refer to CC1IF description.

TIF

Bit 6: Trigger interrupt flag This flag is set by hardware on the TRG trigger event (active edge detected on TRGI input when the slave mode controller is enabled in all modes but gated mode. It is set when the counter starts or stops when gated mode is selected. It is cleared by software..

Allowed values:
0: B_0x0: No trigger event occurred.
1: B_0x1: Trigger interrupt pending.

CC1OF

Bit 9: Capture/Compare 1 overcapture flag This flag is set by hardware only when the corresponding channel is configured in input capture mode. It is cleared by software by writing it to 0 ..

Allowed values:
0: B_0x0: No overcapture has been detected.
1: B_0x1: The counter value has been captured in TIMx_CCR1 register while CC1IF flag was already set

CC2OF

Bit 10: Capture/compare 2 overcapture flag refer to CC1OF description.

CC3OF

Bit 11: Capture/Compare 3 overcapture flag refer to CC1OF description.

CC4OF

Bit 12: Capture/Compare 4 overcapture flag refer to CC1OF description.

TIM3_EGR

TIM3 event generation register

Offset: 0x14, size: 16, reset: 0x00000000, access: write-only

3/6 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TG
w
CC4G
w
CC3G
w
CC2G
w
CC1G
w
UG
w
Toggle fields

UG

Bit 0: Update generation This bit can be set by software, it is automatically cleared by hardware..

Allowed values:
0: B_0x0: No action
1: B_0x1: Re-initialize the counter and generates an update of the registers. Note that the prescaler counter is cleared too (anyway the prescaler ratio is not affected). The counter is cleared if the center-aligned mode is selected or if DIR=0 (upcounting), else it takes the auto-reload value (TIMx_ARR) if DIR=1 (downcounting).

CC1G

Bit 1: Capture/compare 1 generation This bit is set by software in order to generate an event, it is automatically cleared by hardware. If channel CC1 is configured as output: CC1IF flag is set, Corresponding interrupt or DMA request is sent if enabled. If channel CC1 is configured as input: The current value of the counter is captured in TIMx_CCR1 register. The CC1IF flag is set, the corresponding interrupt or DMA request is sent if enabled. The CC1OF flag is set if the CC1IF flag was already high..

Allowed values:
0: B_0x0: No action
1: B_0x1: A capture/compare event is generated on channel 1:

CC2G

Bit 2: Capture/compare 2 generation Refer to CC1G description.

CC3G

Bit 3: Capture/compare 3 generation Refer to CC1G description.

CC4G

Bit 4: Capture/compare 4 generation Refer to CC1G description.

TG

Bit 6: Trigger generation This bit is set by software in order to generate an event, it is automatically cleared by hardware..

Allowed values:
0: B_0x0: No action
1: B_0x1: The TIF flag is set in TIMx_SR register. Related interrupt or DMA transfer can occur if enabled.

TIM3_CCMR1

TIM3 capture/compare mode register 1

Offset: 0x18, size: 32, reset: 0x00000000, access: read-write

4/6 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IC2F
rw
IC2PSC
rw
CC2S
rw
IC1F
rw
IC1PSC
rw
CC1S
rw
Toggle fields

CC1S

Bits 0-1: Capture/Compare 1 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC1S bits are writable only when the channel is OFF (CC1E = 0 in TIMx_CCER)..

Allowed values:
0: B_0x0: CC1 channel is configured as output
1: B_0x1: CC1 channel is configured as input, IC1 is mapped on TI1
2: B_0x2: CC1 channel is configured as input, IC1 is mapped on TI2
3: B_0x3: CC1 channel is configured as input, IC1 is mapped on TRC. This mode is working only if an internal trigger input is selected through TS bit (TIMx_SMCR register)

IC1PSC

Bits 2-3: Input capture 1 prescaler This bit-field defines the ratio of the prescaler acting on CC1 input (IC1). The prescaler is reset as soon as CC1E=0 (TIMx_CCER register)..

Allowed values:
0: B_0x0: no prescaler, capture is done each time an edge is detected on the capture input
1: B_0x1: capture is done once every 2 events
2: B_0x2: capture is done once every 4 events
3: B_0x3: capture is done once every 8 events

IC1F

Bits 4-7: Input capture 1 filter This bit-field defines the frequency used to sample TI1 input and the length of the digital filter applied to TI1. The digital filter is made of an event counter in which N consecutive events are needed to validate a transition on the output:.

Allowed values:
0: B_0x0: No filter, sampling is done at f <sub>DTS</sub>
1: B_0x1: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=2
2: B_0x2: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=4
3: B_0x3: f<sub>SAMPLING</sub>=f<sub>CK_INT</sub>, N=8
4: B_0x4: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/2, N=6
5: B_0x5: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/2, N=8
6: B_0x6: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/4, N=6
7: B_0x7: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/4, N=8
8: B_0x8: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/8, N=6
9: B_0x9: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/8, N=8
10: B_0xA: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=5
11: B_0xB: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=6
12: B_0xC: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/16, N=8
13: B_0xD: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=5
14: B_0xE: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=6
15: B_0xF: f<sub>SAMPLING</sub>=f<sub>DTS</sub>/32, N=8

CC2S

Bits 8-9: Capture/compare 2 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC2S bits are writable only when the channel is OFF (CC2E = 0 in TIMx_CCER)..

Allowed values:
0: B_0x0: CC2 channel is configured as output.
1: B_0x1: CC2 channel is configured as input, IC2 is mapped on TI2.
2: B_0x2: CC2 channel is configured as input, IC2 is mapped on TI1.
3: B_0x3: CC2 channel is configured as input, IC2 is mapped on TRC. This mode is working only if an internal trigger input is selected through TS bit (TIMx_SMCR register)

IC2PSC

Bits 10-11: Input capture 2 prescaler.

IC2F

Bits 12-15: Input capture 2 filter.

TIM3_CCMR1_ALTERNATE1

TIM3 capture/compare mode register 1

Offset: 0x18, size: 32, reset: 0x00000000, access: read-write

6/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OC2M_1
rw
OC1M_1
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OC2CE
rw
OC2M
rw
OC2PE
rw
OC2FE
rw
CC2S
rw
OC1CE
rw
OC1M
rw
OC1PE
rw
OC1FE
rw
CC1S
rw
Toggle fields

CC1S

Bits 0-1: Capture/Compare 1 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC1S bits are writable only when the channel is OFF (CC1E = 0 in TIMx_CCER)..

Allowed values:
0: B_0x0: CC1 channel is configured as output.
1: B_0x1: CC1 channel is configured as input, IC1 is mapped on TI1.
2: B_0x2: CC1 channel is configured as input, IC1 is mapped on TI2.
3: B_0x3: CC1 channel is configured as input, IC1 is mapped on TRC. This mode is working only if an internal trigger input is selected through TS bit (TIMx_SMCR register)

OC1FE

Bit 2: Output compare 1 fast enable This bit decreases the latency between a trigger event and a transition on the timer output. It must be used in one-pulse mode (OPM bit set in TIMx_CR1 register), to have the output pulse starting as soon as possible after the starting trigger..

Allowed values:
0: B_0x0: CC1 behaves normally depending on counter and CCR1 values even when the trigger is ON. The minimum delay to activate CC1 output when an edge occurs on the trigger input is 5 clock cycles.
1: B_0x1: An active edge on the trigger input acts like a compare match on CC1 output. Then, OC is set to the compare level independently from the result of the comparison. Delay to sample the trigger input and to activate CC1 output is reduced to 3 clock cycles. OCFE acts only if the channel is configured in PWM1 or PWM2 mode.

OC1PE

Bit 3: Output compare 1 preload enable.

Allowed values:
0: B_0x0: Preload register on TIMx_CCR1 disabled. TIMx_CCR1 can be written at anytime, the new value is taken in account immediately.
1: B_0x1: Preload register on TIMx_CCR1 enabled. Read/Write operations access the preload register. TIMx_CCR1 preload value is loaded in the active register at each update event.

OC1M

Bits 4-6: OC1M[2:0]: Output compare 1 mode These bits define the behavior of the output reference signal OC1REF from which OC1 and OC1N are derived. OC1REF is active high whereas OC1 and OC1N active level depends on CC1P and CC1NP bits. Note: In PWM mode, the OCREF level changes only when the result of the comparison changes or when the output compare mode switches from frozen mode to PWM mode. Note: The OC1M[3] bit is not contiguous, located in bit 16..

Allowed values:
0: B_0x0: Frozen - The comparison between the output compare register TIMx_CCR1 and the counter TIMx_CNT has no effect on the outputs. This mode can be used when the timer serves as a software timebase. When the frozen mode is enabled during timer operation, the output keeps the state (active or inactive) it had before entering the frozen state.
1: B_0x1: Set channel 1 to active level on match. OC1REF signal is forced high when the counter TIMx_CNT matches the capture/compare register 1 (TIMx_CCR1).
2: B_0x2: Set channel 1 to inactive level on match. OC1REF signal is forced low when the counter TIMx_CNT matches the capture/compare register 1 (TIMx_CCR1).
3: B_0x3: Toggle - OC1REF toggles when TIMx_CNT=TIMx_CCR1.
4: B_0x4: Force inactive level - OC1REF is forced low.
5: B_0x5: Force active level - OC1REF is forced high.
6: B_0x6: PWM mode 1 - In upcounting, channel 1 is active as long as TIMx_CNT<TIMx_CCR1 else inactive. In downcounting, channel 1 is inactive (OC1REF= 0) as long as TIMx_CNT>TIMx_CCR1 else active (OC1REF=1).
7: B_0x7: PWM mode 2 - In upcounting, channel 1 is inactive as long as TIMx_CNT<TIMx_CCR1 else active. In downcounting, channel 1 is active as long as TIMx_CNT>TIMx_CCR1 else inactive.

OC1CE

Bit 7: Output compare 1 clear enable.

Allowed values:
0: B_0x0: OC1Ref is not affected by the ETRF input
1: B_0x1: OC1Ref is cleared as soon as a High level is detected on ETRF input

CC2S

Bits 8-9: Capture/Compare 2 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC2S bits are writable only when the channel is OFF (CC2E = 0 in TIMx_CCER)..

Allowed values:
0: B_0x0: CC2 channel is configured as output
1: B_0x1: CC2 channel is configured as input, IC2 is mapped on TI2
2: B_0x2: CC2 channel is configured as input, IC2 is mapped on TI1
3: B_0x3: CC2 channel is configured as input, IC2 is mapped on TRC. This mode is working only if an internal trigger input is selected through the TS bit (TIMx_SMCR register)

OC2FE

Bit 10: Output compare 2 fast enable.

OC2PE

Bit 11: Output compare 2 preload enable.

OC2M

Bits 12-14: OC2M[2:0]: Output compare 2 mode refer to OC1M description on bits 6:4.

OC2CE

Bit 15: Output compare 2 clear enable.

OC1M_1

Bit 16: OC1M[3].

OC2M_1

Bit 24: OC2M[3].

TIM3_CCMR2

TIM3 capture/compare mode register 2

Offset: 0x1c, size: 32, reset: 0x00000000, access: read-write

2/6 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IC4F
rw
IC4PSC
rw
CC4S
rw
IC3F
rw
IC3PSC
rw
CC3S
rw
Toggle fields

CC3S

Bits 0-1: Capture/Compare 3 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC3S bits are writable only when the channel is OFF (CC3E = 0 in TIMx_CCER)..

Allowed values:
0: B_0x0: CC3 channel is configured as output
1: B_0x1: CC3 channel is configured as input, IC3 is mapped on TI3
2: B_0x2: CC3 channel is configured as input, IC3 is mapped on TI4
3: B_0x3: CC3 channel is configured as input, IC3 is mapped on TRC. This mode is working only if an internal trigger input is selected through TS bit (TIMx_SMCR register)

IC3PSC

Bits 2-3: Input capture 3 prescaler.

IC3F

Bits 4-7: Input capture 3 filter.

CC4S

Bits 8-9: Capture/Compare 4 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC4S bits are writable only when the channel is OFF (CC4E = 0 in TIMx_CCER)..

Allowed values:
0: B_0x0: CC4 channel is configured as output
1: B_0x1: CC4 channel is configured as input, IC4 is mapped on TI4
2: B_0x2: CC4 channel is configured as input, IC4 is mapped on TI3
3: B_0x3: CC4 channel is configured as input, IC4 is mapped on TRC. This mode is working only if an internal trigger input is selected through TS bit (TIMx_SMCR register)

IC4PSC

Bits 10-11: Input capture 4 prescaler.

IC4F

Bits 12-15: Input capture 4 filter.

TIM3_CCMR2_ALTERNATE1

TIM3 capture/compare mode register 2

Offset: 0x1c, size: 32, reset: 0x00000000, access: read-write

2/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OC4M_1
rw
OC3M_1
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OC4CE
rw
OC4M
rw
OC4PE
rw
OC4FE
rw
CC4S
rw
OC3CE
rw
OC3M
rw
OC3PE
rw
OC3FE
rw
CC3S
rw
Toggle fields

CC3S

Bits 0-1: Capture/Compare 3 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC3S bits are writable only when the channel is OFF (CC3E = 0 in TIMx_CCER)..

Allowed values:
0: B_0x0: CC3 channel is configured as output
1: B_0x1: CC3 channel is configured as input, IC3 is mapped on TI3
2: B_0x2: CC3 channel is configured as input, IC3 is mapped on TI4
3: B_0x3: CC3 channel is configured as input, IC3 is mapped on TRC. This mode is working only if an internal trigger input is selected through TS bit (TIMx_SMCR register)

OC3FE

Bit 2: Output compare 3 fast enable.

OC3PE

Bit 3: Output compare 3 preload enable.

OC3M

Bits 4-6: OC3M[2:0]: Output compare 3 mode Refer to OC1M description (bits 6:4 in TIMx_CCMR1 register).

OC3CE

Bit 7: Output compare 3 clear enable.

CC4S

Bits 8-9: Capture/Compare 4 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC4S bits are writable only when the channel is OFF (CC4E = 0 in TIMx_CCER)..

Allowed values:
0: B_0x0: CC4 channel is configured as output
1: B_0x1: CC4 channel is configured as input, IC4 is mapped on TI4
2: B_0x2: CC4 channel is configured as input, IC4 is mapped on TI3
3: B_0x3: CC4 channel is configured as input, IC4 is mapped on TRC. This mode is working only if an internal trigger input is selected through TS bit (TIMx_SMCR register)

OC4FE

Bit 10: Output compare 4 fast enable.

OC4PE

Bit 11: Output compare 4 preload enable.

OC4M

Bits 12-14: OC4M[2:0]: Output compare 4 mode Refer to OC1M description (bits 6:4 in TIMx_CCMR1 register).

OC4CE

Bit 15: Output compare 4 clear enable.

OC3M_1

Bit 16: OC3M[3].

OC4M_1

Bit 24: OC4M[3].

TIM3_CCER

TIM3 capture/compare enable register

Offset: 0x20, size: 16, reset: 0x00000000, access: read-write

2/12 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC4NP
rw
CC4P
rw
CC4E
rw
CC3NP
rw
CC3P
rw
CC3E
rw
CC2NP
rw
CC2P
rw
CC2E
rw
CC1NP
rw
CC1P
rw
CC1E
rw
Toggle fields

CC1E

Bit 0: Capture/Compare 1 output enable..

Allowed values:
0: B_0x0: Capture mode disabled / OC1 is not active
1: B_0x1: Capture mode enabled / OC1 signal is output on the corresponding output pin

CC1P

Bit 1: Capture/Compare 1 output Polarity. When CC1 channel is configured as input, both CC1NP/CC1P bits select the active polarity of TI1FP1 and TI2FP1 for trigger or capture operations. CC1NP=0, CC1P=0: non-inverted/rising edge. The circuit is sensitive to TIxFP1 rising edge (capture or trigger operations in reset, external clock or trigger mode), TIxFP1 is not inverted (trigger operation in gated mode or encoder mode). CC1NP=0, CC1P=1: inverted/falling edge. The circuit is sensitive to TIxFP1 falling edge (capture or trigger operations in reset, external clock or trigger mode), TIxFP1 is inverted (trigger operation in gated mode or encoder mode). CC1NP=1, CC1P=1: non-inverted/both edges. The circuit is sensitive to both TIxFP1 rising and falling edges (capture or trigger operations in reset, external clock or trigger mode), TIxFP1is not inverted (trigger operation in gated mode). This configuration must not be used in encoder mode. CC1NP=1, CC1P=0: This configuration is reserved, it must not be used..

Allowed values:
0: B_0x0: OC1 active high (output mode) / Edge sensitivity selection (input mode, see below)
1: B_0x1: OC1 active low (output mode) / Edge sensitivity selection (input mode, see below)

CC1NP

Bit 3: Capture/Compare 1 output Polarity. CC1 channel configured as output: CC1NP must be kept cleared in this case. CC1 channel configured as input: This bit is used in conjunction with CC1P to define TI1FP1/TI2FP1 polarity. refer to CC1P description..

CC2E

Bit 4: Capture/Compare 2 output enable. Refer to CC1E description.

CC2P

Bit 5: Capture/Compare 2 output Polarity. refer to CC1P description.

CC2NP

Bit 7: Capture/Compare 2 output Polarity. Refer to CC1NP description.

CC3E

Bit 8: Capture/Compare 3 output enable. Refer to CC1E description.

CC3P

Bit 9: Capture/Compare 3 output Polarity. Refer to CC1P description.

CC3NP

Bit 11: Capture/Compare 3 output Polarity. Refer to CC1NP description.

CC4E

Bit 12: Capture/Compare 4 output enable. refer to CC1E description.

CC4P

Bit 13: Capture/Compare 4 output Polarity. Refer to CC1P description.

CC4NP

Bit 15: Capture/Compare 4 output Polarity. Refer to CC1NP description.

TIM3_CNT

TIM3 counter

Offset: 0x24, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CNT
rw
Toggle fields

CNT

Bits 0-15: counter value.

TIM3_CNT_ALTERNATE1

TIM3 counter

Offset: 0x24, size: 32, reset: 0x00000000, access: read-write

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UIFCPY
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CNT
rw
Toggle fields

CNT

Bits 0-15: counter value.

UIFCPY

Bit 31: UIF Copy This bit is a read-only copy of the UIF bit of the TIMx_ISR register.

TIM3_PSC

TIM3 prescaler

Offset: 0x28, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PSC
rw
Toggle fields

PSC

Bits 0-15: Prescaler value The counter clock frequency CK_CNT is equal to f<sub>CK_PSC</sub> / (PSC[15:0] + 1). PSC contains the value to be loaded in the active prescaler register at each update event (including when the counter is cleared through UG bit of TIMx_EGR register or through trigger controller when configured in reset mode )..

TIM3_ARR

TIM3 auto-reload register

Offset: 0x2c, size: 32, reset: 0xFFFFFFFF, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ARR
rw
Toggle fields

ARR

Bits 0-15: Auto-reload value ARR is the value to be loaded in the actual auto-reload register. Refer to the Section 18.3.1: Time-base unit on page 429 for more details about ARR update and behavior. The counter is blocked while the auto-reload value is null..

TIM3_CCR1

TIM3 capture/compare register 1

Offset: 0x34, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR1
rw
Toggle fields

CCR1

Bits 0-15: Capture/Compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the actual capture/compare 1 register (preload value). It is loaded permanently if the preload feature is not selected in the TIMx_CCMR1 register (bit OC1PE). Else the preload value is copied in the active capture/compare 1 register when an update event occurs. The active capture/compare register contains the value to be compared to the counter TIMx_CNT and signaled on OC1 output. If channel CC1is configured as input: CCR1 is the counter value transferred by the last input capture 1 event (IC1). The TIMx_CCR1 register is read-only and cannot be programmed..

TIM3_CCR2

TIM3 capture/compare register 2

Offset: 0x38, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR2
rw
Toggle fields

CCR2

Bits 0-15: Capture/Compare 2 value If channel CC2 is configured as output: CCR2 is the value to be loaded in the actual capture/compare 2 register (preload value). It is loaded permanently if the preload feature is not selected in the TIMx_CCMR1 register (bit OC2PE). Else the preload value is copied in the active capture/compare 2 register when an update event occurs. The active capture/compare register contains the value to be compared to the counter TIMx_CNT and signalled on OC2 output. If channel CC2 is configured as input: CCR2 is the counter value transferred by the last input capture 2 event (IC2). The TIMx_CCR2 register is read-only and cannot be programmed..

TIM3_CCR3

TIM3 capture/compare register 3

Offset: 0x3c, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR3
rw
Toggle fields

CCR3

Bits 0-15: Capture/Compare value If channel CC3 is configured as output: CCR3 is the value to be loaded in the actual capture/compare 3 register (preload value). It is loaded permanently if the preload feature is not selected in the TIMx_CCMR2 register (bit OC3PE). Else the preload value is copied in the active capture/compare 3 register when an update event occurs. The active capture/compare register contains the value to be compared to the counter TIMx_CNT and signalled on OC3 output. If channel CC3is configured as input: CCR3 is the counter value transferred by the last input capture 3 event (IC3). The TIMx_CCR3 register is read-only and cannot be programmed..

TIM3_CCR4

TIM3 capture/compare register 4

Offset: 0x40, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR4
rw
Toggle fields

CCR4

Bits 0-15: Capture/Compare value if CC4 channel is configured as output (CC4S bits): CCR4 is the value to be loaded in the actual capture/compare 4 register (preload value). It is loaded permanently if the preload feature is not selected in the TIMx_CCMR2 register (bit OC4PE). Else the preload value is copied in the active capture/compare 4 register when an update event occurs. The active capture/compare register contains the value to be compared to the counter TIMx_CNT and signalled on OC4 output. if CC4 channel is configured as input (CC4S bits in TIMx_CCMR4 register): CCR4 is the counter value transferred by the last input capture 4 event (IC4). The TIMx_CCR4 register is read-only and cannot be programmed..

TIM3_DCR

TIM3 DMA control register

Offset: 0x48, size: 16, reset: 0x00000000, access: read-write

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DBL
rw
DBA
rw
Toggle fields

DBA

Bits 0-4: DMA base address This 5-bit vector defines the base-address for DMA transfers (when read/write access are done through the TIMx_DMAR address). DBA is defined as an offset starting from the address of the TIMx_CR1 register. Example: ... Example: Let us consider the following transfer: DBL = 7 transfers & DBA = TIMx_CR1. In this case the transfer is done to/from 7 registers starting from the TIMx_CR1 address..

Allowed values:
0: B_0x0: TIMx_CR1
1: B_0x1: TIMx_CR2
2: B_0x2: TIMx_SMCR

DBL

Bits 8-12: DMA burst length This 5-bit vector defines the number of DMA transfers (the timer recognizes a burst transfer when a read or a write access is done to the TIMx_DMAR address). ....

Allowed values:
0: B_0x0: 1 transfer,
1: B_0x1: 2 transfers,
2: B_0x2: 3 transfers,
17: B_0x11: 18 transfers.

TIM3_DMAR

TIM3 DMA address for full transfer

Offset: 0x4c, size: 16, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DMAB
rw
Toggle fields

DMAB

Bits 0-15: DMA register for burst accesses A read or write operation to the DMAR register accesses the register located at the address (TIMx_CR1 address) + (DBA + DMA index) x 4 where TIMx_CR1 address is the address of the control register 1, DBA is the DMA base address configured in TIMx_DCR register, DMA index is automatically controlled by the DMA transfer, and ranges from 0 to DBL (DBL configured in TIMx_DCR)..

TIM3_AF1

TIM3 alternate function option register 1

Offset: 0x60, size: 32, reset: 0x00000000, access: read-write

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ETRSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ETRSEL
rw
Toggle fields

ETRSEL

Bits 14-17: ETR source selection These bits select the ETR input source. Others: Reserved.

Allowed values:
0: B_0x0: ETR legacy mode

TIM3_TISEL

TIM3 timer input selection register

Offset: 0x68, size: 32, reset: 0x00000000, access: read-write

3/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TI3SEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TI2SEL
rw
TI1SEL
rw
Toggle fields

TI1SEL

Bits 0-3: TI1[0] to TI1[15] input selection These bits select the TI1[0] to TI1[15] input source. Others: Reserved.

Allowed values:
0: B_0x0: TIM3_CH1 input

TI2SEL

Bits 8-11: TI2[0] to TI2[15] input selection These bits select the TI2[0] to TI2[15] input source. Others: Reserved.

Allowed values:
0: B_0x0: TIM3_CH2 input

TI3SEL

Bits 16-19: TI3[0] to TI3[15] input selection These bits select the TI3[0] to TI3[15] input source. Others: Reserved.

Allowed values:
0: B_0x0: TIM3_CH3 input

USART1

0x40013800: USART address block description

136/170 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 USART_CR1
0x0 USART_CR1_ALTERNATE1
0x4 USART_CR2
0x8 USART_CR3
0xc USART_BRR
0x10 USART_GTPR
0x14 USART_RTOR
0x18 USART_RQR
0x1c USART_ISR
0x1c USART_ISR_ALTERNATE1
0x20 USART_ICR
0x24 USART_RDR
0x28 USART_TDR
0x2c USART_PRESC
Toggle registers

USART_CR1

USART control register 1

Offset: 0x0, size: 32, reset: 0x00000000, access: read-write

20/24 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RXFFIE
rw
TXFEIE
rw
FIFOEN
rw
M1
rw
EOBIE
rw
RTOIE
rw
DEAT
rw
DEDT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OVER8
rw
CMIE
rw
MME
rw
M0
rw
WAKE
rw
PCE
rw
PS
rw
PEIE
rw
TXFNFIE
rw
TCIE
rw
RXFNEIE
rw
IDLEIE
rw
TE
rw
RE
rw
UESM
rw
UE
rw
Toggle fields

UE

Bit 0: USART enable When this bit is cleared, the USART prescalers and outputs are stopped immediately, and all current operations are discarded. The USART configuration is kept, but all the USART_ISR status flags are reset. This bit is set and cleared by software. Note: To enter low-power mode without generating errors on the line, the TE bit must be previously reset and the software must wait for the TC bit in the USART_ISR to be set before resetting the UE bit. Note: The DMA requests are also reset when UE = 0 so the DMA channel must be disabled before resetting the UE bit. Note: In Smartcard mode, (SCEN = 1), the CK is always available when CLKEN = 1, regardless of the UE bit value..

Allowed values:
0: B_0x0: USART prescaler and outputs disabled, low-power mode
1: B_0x1: USART enabled

UESM

Bit 1: USART enable in low-power mode When this bit is cleared, the USART cannot wake up the MCU from low-power mode. When this bit is set, the USART can wake up the MCU from low-power mode. This bit is set and cleared by software. Note: It is recommended to set the UESM bit just before entering low-power mode and clear it when exit from low-power mode. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: USART not able to wake up the MCU from low-power mode.
1: B_0x1: USART able to wake up the MCU from low-power mode.

RE

Bit 2: Receiver enable This bit enables the receiver. It is set and cleared by software..

Allowed values:
0: B_0x0: Receiver is disabled
1: B_0x1: Receiver is enabled and begins searching for a start bit

TE

Bit 3: Transmitter enable This bit enables the transmitter. It is set and cleared by software. Note: During transmission, a low pulse on the TE bit ( 0 followed by 1 ) sends a preamble (idle line) after the current word, except in Smartcard mode. In order to generate an idle character, the TE must not be immediately written to 1 . To ensure the required duration, the software can poll the TEACK bit in the USART_ISR register. Note: In Smartcard mode, when TE is set, there is a 1 bit-time delay before the transmission starts..

Allowed values:
0: B_0x0: Transmitter is disabled
1: B_0x1: Transmitter is enabled

IDLEIE

Bit 4: IDLE interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever IDLE = 1 in the USART_ISR register

RXFNEIE

Bit 5: RXFIFO not empty interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever ORE = 1 or RXFNE = 1 in the USART_ISR register

TCIE

Bit 6: Transmission complete interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever TC = 1 in the USART_ISR register

TXFNFIE

Bit 7: TXFIFO not-full interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever TXFNF =1 in the USART_ISR register

PEIE

Bit 8: PE interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever PE = 1 in the USART_ISR register

PS

Bit 9: Parity selection This bit selects the odd or even parity when the parity generation/detection is enabled (PCE bit set). It is set and cleared by software. The parity is selected after the current byte. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Even parity
1: B_0x1: Odd parity

PCE

Bit 10: Parity control enable This bit selects the hardware parity control (generation and detection). When the parity control is enabled, the computed parity is inserted at the MSB position (9th bit if M = 1; 8th bit if M = 0) and the parity is checked on the received data. This bit is set and cleared by software. Once it is set, PCE is active after the current byte (in reception and in transmission). This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Parity control disabled
1: B_0x1: Parity control enabled

WAKE

Bit 11: Receiver wake-up method This bit determines the USART wake-up method from Mute mode. It is set or cleared by software. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Idle line
1: B_0x1: Address mark

M0

Bit 12: Word length This bit is used in conjunction with bit 28 (M1) to determine the word length. It is set or cleared by software (refer to bit 28 (M1)description). This bit can only be written when the USART is disabled (UE = 0)..

MME

Bit 13: Mute mode enable This bit enables the USART Mute mode function. When set, the USART can switch between active and Mute mode, as defined by the WAKE bit. It is set and cleared by software..

Allowed values:
0: B_0x0: Receiver in active mode permanently
1: B_0x1: Receiver can switch between Mute mode and active mode.

CMIE

Bit 14: Character match interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when the CMF bit is set in the USART_ISR register.

OVER8

Bit 15: Oversampling mode This bit can only be written when the USART is disabled (UE = 0). Note: In LIN, IrDA and Smartcard modes, this bit must be kept cleared..

Allowed values:
0: B_0x0: Oversampling by 16
1: B_0x1: Oversampling by 8

DEDT

Bits 16-20: Driver enable deassertion time This 5-bit value defines the time between the end of the last stop bit, in a transmitted message, and the de-activation of the DE (Driver Enable) signal. It is expressed in sample time units (1/8 or 1/16 bit time, depending on the oversampling rate). If the USART_TDR register is written during the DEDT time, the new data is transmitted only when the DEDT and DEAT times have both elapsed. This bitfield can only be written when the USART is disabled (UE = 0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

DEAT

Bits 21-25: Driver enable assertion time This 5-bit value defines the time between the activation of the DE (Driver Enable) signal and the beginning of the start bit. It is expressed in sample time units (1/8 or 1/16 bit time, depending on the oversampling rate). This bitfield can only be written when the USART is disabled (UE = 0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

RTOIE

Bit 26: Receiver timeout interrupt enable This bit is set and cleared by software. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when the RTOF bit is set in the USART_ISR register.

EOBIE

Bit 27: End-of-block interrupt enable This bit is set and cleared by software. Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when the EOBF flag is set in the USART_ISR register

M1

Bit 28: Word length This bit must be used in conjunction with bit 12 (M0) to determine the word length. It is set or cleared by software. M[1:0] = 00 : 1 start bit, 8 Data bits, n Stop bit M[1:0] = 01 : 1 start bit, 9 Data bits, n Stop bit M[1:0] = 10 : 1 start bit, 7 Data bits, n Stop bit This bit can only be written when the USART is disabled (UE = 0). Note: In 7-bits data length mode, the Smartcard mode, LIN master mode and auto baud rate (0x7F and 0x55 frames detection) are not supported..

FIFOEN

Bit 29: FIFO mode enable This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE = 0). Note: FIFO mode can be used on standard UART communication, in SPI master/slave mode and in Smartcard modes only. It must not be enabled in IrDA and LIN modes..

Allowed values:
0: B_0x0: FIFO mode is disabled.
1: B_0x1: FIFO mode is enabled.

TXFEIE

Bit 30: TXFIFO empty interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when TXFE = 1 in the USART_ISR register

RXFFIE

Bit 31: RXFIFO full interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when RXFF = 1 in the USART_ISR register

USART_CR1_ALTERNATE1

USART control register 1

Offset: 0x0, size: 32, reset: 0x00000000, access: read-write

18/22 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FIFOEN
rw
M1
rw
EOBIE
rw
RTOIE
rw
DEAT
rw
DEDT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OVER8
rw
CMIE
rw
MME
rw
M0
rw
WAKE
rw
PCE
rw
PS
rw
PEIE
rw
TXEIE
rw
TCIE
rw
RXNEIE
rw
IDLEIE
rw
TE
rw
RE
rw
UESM
rw
UE
rw
Toggle fields

UE

Bit 0: USART enable When this bit is cleared, the USART prescalers and outputs are stopped immediately, and all current operations are discarded. The USART configuration is kept, but all the USART_ISR status flags are reset. This bit is set and cleared by software. Note: To enter low-power mode without generating errors on the line, the TE bit must be previously reset and the software must wait for the TC bit in the USART_ISR to be set before resetting the UE bit. Note: The DMA requests are also reset when UE = 0 so the DMA channel must be disabled before resetting the UE bit. Note: In Smartcard mode, (SCEN = 1), the CK pin is always available when CLKEN = 1, regardless of the UE bit value..

Allowed values:
0: B_0x0: USART prescaler and outputs disabled, low-power mode
1: B_0x1: USART enabled

UESM

Bit 1: USART enable in low-power mode When this bit is cleared, the USART cannot wake up the MCU from low-power mode. When this bit is set, the USART can wake up the MCU from low-power mode. This bit is set and cleared by software. Note: It is recommended to set the UESM bit just before entering low-power mode and clear it when exit from low-power mode. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: USART not able to wake up the MCU from low-power mode.
1: B_0x1: USART able to wake up the MCU from low-power mode.

RE

Bit 2: Receiver enable This bit enables the receiver. It is set and cleared by software..

Allowed values:
0: B_0x0: Receiver is disabled
1: B_0x1: Receiver is enabled and begins searching for a start bit

TE

Bit 3: Transmitter enable This bit enables the transmitter. It is set and cleared by software. Note: During transmission, a low pulse on the TE bit ( 0 followed by 1 ) sends a preamble (idle line) after the current word, except in Smartcard mode. In order to generate an idle character, the TE must not be immediately written to 1 . To ensure the required duration, the software can poll the TEACK bit in the USART_ISR register. Note: In Smartcard mode, when TE is set, there is a 1 bit-time delay before the transmission starts..

Allowed values:
0: B_0x0: Transmitter is disabled
1: B_0x1: Transmitter is enabled

IDLEIE

Bit 4: IDLE interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever IDLE = 1 in the USART_ISR register

RXNEIE

Bit 5: Receive data register not empty This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever ORE = 1 or RXNE = 1 in the USART_ISR register

TCIE

Bit 6: Transmission complete interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever TC = 1 in the USART_ISR register

TXEIE

Bit 7: Transmit data register empty This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever TXE =1 in the USART_ISR register

PEIE

Bit 8: PE interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever PE = 1 in the USART_ISR register

PS

Bit 9: Parity selection This bit selects the odd or even parity when the parity generation/detection is enabled (PCE bit set). It is set and cleared by software. The parity is selected after the current byte. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Even parity
1: B_0x1: Odd parity

PCE

Bit 10: Parity control enable This bit selects the hardware parity control (generation and detection). When the parity control is enabled, the computed parity is inserted at the MSB position (9th bit if M = 1; 8th bit if M = 0) and the parity is checked on the received data. This bit is set and cleared by software. Once it is set, PCE is active after the current byte (in reception and in transmission). This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Parity control disabled
1: B_0x1: Parity control enabled

WAKE

Bit 11: Receiver wake-up method This bit determines the USART wake-up method from Mute mode. It is set or cleared by software. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Idle line
1: B_0x1: Address mark

M0

Bit 12: Word length This bit is used in conjunction with bit 28 (M1) to determine the word length. It is set or cleared by software (refer to bit 28 (M1)description). This bit can only be written when the USART is disabled (UE = 0)..

MME

Bit 13: Mute mode enable This bit enables the USART Mute mode function. When set, the USART can switch between active and Mute mode, as defined by the WAKE bit. It is set and cleared by software..

Allowed values:
0: B_0x0: Receiver in active mode permanently
1: B_0x1: Receiver can switch between Mute mode and active mode.

CMIE

Bit 14: Character match interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when the CMF bit is set in the USART_ISR register.

OVER8

Bit 15: Oversampling mode This bit can only be written when the USART is disabled (UE = 0). Note: In LIN, IrDA and Smartcard modes, this bit must be kept cleared..

Allowed values:
0: B_0x0: Oversampling by 16
1: B_0x1: Oversampling by 8

DEDT

Bits 16-20: Driver enable deassertion time This 5-bit value defines the time between the end of the last stop bit, in a transmitted message, and the de-activation of the DE (Driver Enable) signal. It is expressed in sample time units (1/8 or 1/16 bit time, depending on the oversampling rate). If the USART_TDR register is written during the DEDT time, the new data is transmitted only when the DEDT and DEAT times have both elapsed. This bitfield can only be written when the USART is disabled (UE = 0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

DEAT

Bits 21-25: Driver enable assertion time This 5-bit value defines the time between the activation of the DE (Driver Enable) signal and the beginning of the start bit. It is expressed in sample time units (1/8 or 1/16 bit time, depending on the oversampling rate). This bitfield can only be written when the USART is disabled (UE = 0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

RTOIE

Bit 26: Receiver timeout interrupt enable This bit is set and cleared by software. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when the RTOF bit is set in the USART_ISR register.

EOBIE

Bit 27: End of Bbock interrupt enable This bit is set and cleared by software. Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when the EOBF flag is set in the USART_ISR register

M1

Bit 28: Word length This bit must be used in conjunction with bit 12 (M0) to determine the word length. It is set or cleared by software. M[1:0] = 00 : 1 start bit, 8 Data bits, n Stop bit M[1:0] = 01 : 1 start bit, 9 Data bits, n Stop bit M[1:0] = 10 : 1 start bit, 7 Data bits, n Stop bit This bit can only be written when the USART is disabled (UE = 0). Note: In 7-bits data length mode, the Smartcard mode, LIN master mode and auto baud rate (0x7F and 0x55 frames detection) are not supported..

FIFOEN

Bit 29: FIFO mode enable This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE = 0). Note: FIFO mode can be used on standard UART communication, in SPI master/slave mode and in Smartcard modes only. It must not be enabled in IrDA and LIN modes..

Allowed values:
0: B_0x0: FIFO mode is disabled.
1: B_0x1: FIFO mode is enabled.

USART_CR2

USART control register 2

Offset: 0x4, size: 32, reset: 0x00000000, access: read-write

19/20 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ADD
rw
RTOEN
rw
ABRMOD
rw
ABREN
rw
MSBFIRST
rw
DATAINV
rw
TXINV
rw
RXINV
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SWAP
rw
LINEN
rw
STOP
rw
CLKEN
rw
CPOL
rw
CPHA
rw
LBCL
rw
LBDIE
rw
LBDL
rw
ADDM7
rw
DIS_NSS
rw
SLVEN
rw
Toggle fields

SLVEN

Bit 0: Synchronous Slave mode enable When the SLVEN bit is set, the synchronous slave mode is enabled. Note: When SPI slave mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Slave mode disabled.
1: B_0x1: Slave mode enabled.

DIS_NSS

Bit 3: NSS pin enable When the DIS_NSS bit is set, the NSS pin input is ignored. Note: When SPI slave mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: SPI slave selection depends on NSS input pin.
1: B_0x1: SPI slave is always selected and NSS input pin is ignored.

ADDM7

Bit 4: 7-bit address detection/4-bit address detection This bit is for selection between 4-bit address detection or 7-bit address detection. This bit can only be written when the USART is disabled (UE = 0) Note: In 7-bit and 9-bit data modes, the address detection is done on 6-bit and 8-bit address (ADD[5:0] and ADD[7:0]) respectively..

Allowed values:
0: B_0x0: 4-bit address detection
1: B_0x1: 7-bit address detection (in 8-bit data mode)

LBDL

Bit 5: LIN break detection length This bit is for selection between 11 bit or 10 bit break detection. This bit can only be written when the USART is disabled (UE = 0). Note: If LIN mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: 10-bit break detection
1: B_0x1: 11-bit break detection

LBDIE

Bit 6: LIN break detection interrupt enable Break interrupt mask (break detection using break delimiter). Note: If LIN mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt is inhibited
1: B_0x1: An interrupt is generated whenever LBDF = 1 in the USART_ISR register

LBCL

Bit 8: Last bit clock pulse This bit is used to select whether the clock pulse associated with the last data bit transmitted (MSB) has to be output on the CK pin in synchronous mode. The last bit is the 7th or 8th or 9th data bit transmitted depending on the 7 or 8 or 9 bit format selected by the M bit in the USART_CR1 register. This bit can only be written when the USART is disabled (UE = 0). Note: If synchronous mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: The clock pulse of the last data bit is not output to the CK pin
1: B_0x1: The clock pulse of the last data bit is output to the CK pin

CPHA

Bit 9: Clock phase This bit is used to select the phase of the clock output on the CK pin in synchronous mode. It works in conjunction with the CPOL bit to produce the desired clock/data relationship (see Figure 249 and Figure 250) This bit can only be written when the USART is disabled (UE = 0). Note: If synchronous mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: The first clock transition is the first data capture edge
1: B_0x1: The second clock transition is the first data capture edge

CPOL

Bit 10: Clock polarity This bit enables the user to select the polarity of the clock output on the CK pin in synchronous mode. It works in conjunction with the CPHA bit to produce the desired clock/data relationship This bit can only be written when the USART is disabled (UE = 0). Note: If synchronous mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Steady low value on CK pin outside transmission window
1: B_0x1: Steady high value on CK pin outside transmission window

CLKEN

Bit 11: Clock enable This bit enables the user to enable the CK pin. This bit can only be written when the USART is disabled (UE = 0). Note: If neither synchronous mode nor Smartcard mode is supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691. In Smartcard mode, in order to provide correctly the CK clock to the smartcard, the steps below must be respected: UE = 0 SCEN = 1 GTPR configuration CLKEN= 1 Note: UE = 1.

Allowed values:
0: B_0x0: CK pin disabled
1: B_0x1: CK pin enabled

STOP

Bits 12-13: Stop bits These bits are used for programming the stop bits. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: 1 stop bit
1: B_0x1: 0.5 stop bit.
2: B_0x2: 2 stop bits
3: B_0x3: 1.5 stop bits

LINEN

Bit 14: LIN mode enable This bit is set and cleared by software. The LIN mode enables the capability to send LIN synchronous breaks (13 low bits) using the SBKRQ bit in the USART_CR1 register, and to detect LIN Sync breaks. This bitfield can only be written when the USART is disabled (UE = 0). Note: If the USART does not support LIN mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: LIN mode disabled
1: B_0x1: LIN mode enabled

SWAP

Bit 15: Swap TX/RX pins This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: TX/RX pins are used as defined in standard pinout
1: B_0x1: The TX and RX pins functions are swapped. This enables to work in the case of a cross-wired connection to another UART.

RXINV

Bit 16: RX pin active level inversion This bit is set and cleared by software. This enables the use of an external inverter on the RX line. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: RX pin signal works using the standard logic levels (V<sub>DD</sub> =1/idle, Gnd = 0/mark)
1: B_0x1: RX pin signal values are inverted (V<sub>DD</sub> =0/mark, Gnd = 1/idle).

TXINV

Bit 17: TX pin active level inversion This bit is set and cleared by software. This enables the use of an external inverter on the TX line. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: TX pin signal works using the standard logic levels (V<sub>DD</sub> =1/idle, Gnd = 0/mark)
1: B_0x1: TX pin signal values are inverted (V<sub>DD</sub> =0/mark, Gnd = 1/idle).

DATAINV

Bit 18: Binary data inversion This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Logical data from the data register are send/received in positive/direct logic. (1 = H, 0 = L)
1: B_0x1: Logical data from the data register are send/received in negative/inverse logic. (1 = L, 0 = H). The parity bit is also inverted.

MSBFIRST

Bit 19: Most significant bit first This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: data is transmitted/received with data bit 0 first, following the start bit.
1: B_0x1: data is transmitted/received with the MSB (bit 7/8) first, following the start bit.

ABREN

Bit 20: Auto baud rate enable This bit is set and cleared by software. Note: If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Auto baud rate detection is disabled.
1: B_0x1: Auto baud rate detection is enabled.

ABRMOD

Bits 21-22: Auto baud rate mode These bits are set and cleared by software. This bitfield can only be written when ABREN = 0 or the USART is disabled (UE = 0). Note: If DATAINV = 1 and/or MSBFIRST = 1 the patterns must be the same on the line, for example 0xAA for MSBFIRST) Note: If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Measurement of the start bit is used to detect the baud rate.
1: B_0x1: Falling edge to falling edge measurement (the received frame must start with a single bit = 1 and Frame = Start10xxxxxx)
2: B_0x2: 0x7F frame detection.
3: B_0x3: 0x55 frame detection

RTOEN

Bit 23: Receiver timeout enable This bit is set and cleared by software. When this feature is enabled, the RTOF flag in the USART_ISR register is set if the RX line is idle (no reception) for the duration programmed in the RTOR (receiver timeout register). Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Receiver timeout feature disabled.
1: B_0x1: Receiver timeout feature enabled.

ADD

Bits 24-31: Address of the USART node These bits give the address of the USART node in Mute mode or a character code to be recognized in low-power or Run mode: In Mute mode: they are used in multiprocessor communication to wake up from Mute mode with 4-bit/7-bit address mark detection. The MSB of the character sent by the transmitter should be equal to 1. In 4-bit address mark detection, only ADD[3:0] bits are used. In low-power mode: they are used for wake up from low-power mode on character match. When WUS[1:0] is programmed to 0b00 (WUF active on address match), the wake-up from low-power mode is performed when the received character corresponds to the character programmed through ADD[6:0] or ADD[3:0] bitfield (depending on ADDM7 bit), and WUF interrupt is enabled by setting WUFIE bit. The MSB of the character sent by transmitter should be equal to 1. In Run mode with Mute mode inactive (for example, end-of-block detection in ModBus protocol): the whole received character (8 bits) is compared to ADD[7:0] value and CMF flag is set on match. An interrupt is generated if the CMIE bit is set. These bits can only be written when the reception is disabled (RE = 0) or when the USART is disabled (UE = 0)..

USART_CR3

USART control register 3

Offset: 0x8, size: 32, reset: 0x00000000, access: read-write

24/24 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TXFTCFG
rw
RXFTIE
rw
RXFTCFG
rw
TCBGTIE
rw
TXFTIE
rw
WUFIE
rw
WUS
rw
SCARCNT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DEP
rw
DEM
rw
DDRE
rw
OVRDIS
rw
ONEBIT
rw
CTSIE
rw
CTSE
rw
RTSE
rw
DMAT
rw
DMAR
rw
SCEN
rw
NACK
rw
HDSEL
rw
IRLP
rw
IREN
rw
EIE
rw
Toggle fields

EIE

Bit 0: Error interrupt enable Error Interrupt Enable Bit is required to enable interrupt generation in case of a framing error, overrun error noise flag or SPI slave underrun error (FE = 1 or ORE = 1 or NE = 1 or UDR = 1 in the USART_ISR register)..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: interrupt generated when FE = 1 or ORE = 1 or NE = 1 or UDR = 1 (in SPI slave mode) in the USART_ISR register.

IREN

Bit 1: IrDA mode enable This bit is set and cleared by software. This bit can only be written when the USART is disabled (UE = 0). Note: If IrDA mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: IrDA disabled
1: B_0x1: IrDA enabled

IRLP

Bit 2: IrDA low-power This bit is used for selecting between normal and low-power IrDA modes This bit can only be written when the USART is disabled (UE = 0). Note: If IrDA mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Normal mode
1: B_0x1: Low-power mode

HDSEL

Bit 3: Half-duplex selection Selection of Single-wire Half-duplex mode This bit can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Half duplex mode is not selected
1: B_0x1: Half duplex mode is selected

NACK

Bit 4: Smartcard NACK enable This bitfield can only be written when the USART is disabled (UE = 0). Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: NACK transmission in case of parity error is disabled
1: B_0x1: NACK transmission during parity error is enabled

SCEN

Bit 5: Smartcard mode enable This bit is used for enabling Smartcard mode. This bitfield can only be written when the USART is disabled (UE = 0). Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Smartcard Mode disabled
1: B_0x1: Smartcard Mode enabled

DMAR

Bit 6: DMA enable receiver This bit is set/reset by software.

Allowed values:
1: B_0x1: DMA mode is enabled for reception
0: B_0x0: DMA mode is disabled for reception

DMAT

Bit 7: DMA enable transmitter This bit is set/reset by software.

Allowed values:
1: B_0x1: DMA mode is enabled for transmission
0: B_0x0: DMA mode is disabled for transmission

RTSE

Bit 8: RTS enable This bit can only be written when the USART is disabled (UE = 0). Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: RTS hardware flow control disabled
1: B_0x1: RTS output enabled, data is only requested when there is space in the receive buffer. The transmission of data is expected to cease after the current character has been transmitted. The RTS output is deasserted (pulled to 0) when data can be received.

CTSE

Bit 9: CTS enable This bit can only be written when the USART is disabled (UE = 0) Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: CTS hardware flow control disabled
1: B_0x1: CTS mode enabled, data is only transmitted when the CTS input is deasserted (tied to 0). If the CTS input is asserted while data is being transmitted, then the transmission is completed before stopping. If data is written into the data register while CTS is asserted, the transmission is postponed until CTS is deasserted.

CTSIE

Bit 10: CTS interrupt enable Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt is inhibited
1: B_0x1: An interrupt is generated whenever CTSIF = 1 in the USART_ISR register

ONEBIT

Bit 11: One sample bit method enable This bit enables the user to select the sample method. When the one sample bit method is selected the noise detection flag (NE) is disabled. This bit can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Three sample bit method
1: B_0x1: One sample bit method

OVRDIS

Bit 12: Overrun disable This bit is used to disable the receive overrun detection. the ORE flag is not set and the new received data overwrites the previous content of the USART_RDR register. When FIFO mode is enabled, the RXFIFO is bypassed and data is written directly in USART_RDR register. Even when FIFO management is enabled, the RXNE flag is to be used. This bit can only be written when the USART is disabled (UE = 0). Note: This control bit enables checking the communication flow w/o reading the data.

Allowed values:
0: B_0x0: Overrun Error Flag, ORE, is set when received data is not read before receiving new data.
1: B_0x1: Overrun functionality is disabled. If new data is received while the RXNE flag is still set

DDRE

Bit 13: DMA Disable on reception error This bit can only be written when the USART is disabled (UE=0). Note: The reception errors are: parity error, framing error or noise error..

Allowed values:
0: B_0x0: DMA is not disabled in case of reception error. The corresponding error flag is set but RXNE is kept 0 preventing from overrun. As a consequence, the DMA request is not asserted, so the erroneous data is not transferred (no DMA request), but next correct received data is transferred (used for Smartcard mode).
1: B_0x1: DMA is disabled following a reception error. The corresponding error flag is set, as well as RXNE. The DMA request is masked until the error flag is cleared. This means that the software must first disable the DMA request (DMAR = 0) or clear RXNE/RXFNE is case FIFO mode is enabled) before clearing the error flag.

DEM

Bit 14: Driver enable mode This bit enables the user to activate the external transceiver control, through the DE signal. This bit can only be written when the USART is disabled (UE = 0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: DE function is disabled.
1: B_0x1: DE function is enabled. The DE signal is output on the RTS pin.

DEP

Bit 15: Driver enable polarity selection This bit can only be written when the USART is disabled (UE = 0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: DE signal is active high.
1: B_0x1: DE signal is active low.

SCARCNT

Bits 17-19: Smartcard auto-retry count This bitfield specifies the number of retries for transmission and reception in Smartcard mode. In transmission mode, it specifies the number of automatic retransmission retries, before generating a transmission error (FE bit set). In reception mode, it specifies the number or erroneous reception trials, before generating a reception error (RXNE/RXFNE and PE bits set). This bitfield must be programmed only when the USART is disabled (UE = 0). When the USART is enabled (UE = 1), this bitfield may only be written to 0x0, in order to stop retransmission. 0x1 to 0x7: number of automatic retransmission attempts (before signaling error) Note: If Smartcard mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: retransmission disabled - No automatic retransmission in transmit mode.

WUS

Bits 20-21: Wake-up from low-power mode interrupt flag selection This bitfield specifies the event which activates the WUF (wake-up from low-power mode flag). This bitfield can only be written when the USART is disabled (UE = 0). Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: WUF active on address match (as defined by ADD[7:0] and ADDM7)
1: B_0x1: Reserved.
2: B_0x2: WUF active on start bit detection
3: B_0x3: WUF active on RXNE/RXFNE.

WUFIE

Bit 22: Wake-up from low-power mode interrupt enable This bit is set and cleared by software. Note: WUFIE must be set before entering in low-power mode. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever WUF = 1 in the USART_ISR register

TXFTIE

Bit 23: TXFIFO threshold interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when TXFIFO reaches the threshold programmed in TXFTCFG.

TCBGTIE

Bit 24: Transmission complete before guard time, interrupt enable This bit is set and cleared by software. Note: If the USART does not support the Smartcard mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever TCBGT=1 in the USART_ISR register

RXFTCFG

Bits 25-27: Receive FIFO threshold configuration Remaining combinations: Reserved.

Allowed values:
0: B_0x0: Receive FIFO reaches 1/8 of its depth
1: B_0x1: Receive FIFO reaches 1/4 of its depth
2: B_0x2: Receive FIFO reaches 1/2 of its depth
3: B_0x3: Receive FIFO reaches 3/4 of its depth
4: B_0x4: Receive FIFO reaches 7/8 of its depth
5: B_0x5: Receive FIFO becomes full

RXFTIE

Bit 28: RXFIFO threshold interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when Receive FIFO reaches the threshold programmed in RXFTCFG.

TXFTCFG

Bits 29-31: TXFIFO threshold configuration Remaining combinations: Reserved.

Allowed values:
0: B_0x0: TXFIFO reaches 1/8 of its depth
1: B_0x1: TXFIFO reaches 1/4 of its depth
2: B_0x2: TXFIFO reaches 1/2 of its depth
3: B_0x3: TXFIFO reaches 3/4 of its depth
4: B_0x4: TXFIFO reaches 7/8 of its depth
5: B_0x5: TXFIFO becomes empty

USART_BRR

USART baud rate register

Offset: 0xc, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BRR
rw
Toggle fields

BRR

Bits 0-15: USART baud rate BRR[15:4] BRR[15:4] = USARTDIV[15:4] BRR[3:0] When OVER8 = 0, BRR[3:0] = USARTDIV[3:0]. When OVER8 = 1: BRR[2:0] = USARTDIV[3:0] shifted 1 bit to the right. BRR[3] must be kept cleared..

USART_GTPR

USART guard time and prescaler register

Offset: 0x10, size: 32, reset: 0x00000000, access: read-write

1/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
GT
rw
PSC
rw
Toggle fields

PSC

Bits 0-7: Prescaler value.

Allowed values:
0: B_0x0: Reserved - do not program this value
1: B_0x1: Divides the source clock by 1 (IrDA mode) / by 2 (Smarcard mode)
2: B_0x2: Divides the source clock by 2 (IrDA mode) / by 4 (Smartcard mode)
3: B_0x3: Divides the source clock by 3 (IrDA mode) / by 6 (Smartcard mode)
31: B_0x1F: Divides the source clock by 31 (IrDA mode) / by 62 (Smartcard mode)
32: B_0x20: Divides the source clock by 32 (IrDA mode)
255: B_0xFF: Divides the source clock by 255 (IrDA mode)

GT

Bits 8-15: Guard time value This bitfield is used to program the Guard time value in terms of number of baud clock periods. This is used in Smartcard mode. The Transmission Complete flag is set after this guard time value. This bitfield can only be written when the USART is disabled (UE = 0). Note: If Smartcard mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

USART_RTOR

USART receiver timeout register

Offset: 0x14, size: 32, reset: 0x00000000, access: read-write

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BLEN
rw
RTO
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RTO
rw
Toggle fields

RTO

Bits 0-23: Receiver timeout value This bitfield gives the Receiver timeout value in terms of number of bits during which there is no activity on the RX line. In standard mode, the RTOF flag is set if, after the last received character, no new start bit is detected for more than the RTO value. In Smartcard mode, this value is used to implement the CWT and BWT. See Smartcard chapter for more details. In the standard, the CWT/BWT measurement is done starting from the start bit of the last received character. Note: This value must only be programmed once per received character..

BLEN

Bits 24-31: Block length This bitfield gives the Block length in Smartcard T = 1 Reception. Its value equals the number of information characters + the length of the Epilogue Field (1-LEC/2-CRC) - 1. Examples: BLEN = 0: 0 information characters + LEC BLEN = 1: 0 information characters + CRC BLEN = 255: 254 information characters + CRC (total 256 characters)) In Smartcard mode, the Block length counter is reset when TXE = 0 (TXFE = 0 in case FIFO mode is enabled). This bitfield can be used also in other modes. In this case, the Block length counter is reset when RE = 0 (receiver disabled) and/or when the EOBCF bit is written to 1. Note: This value can be programmed after the start of the block reception (using the data from the LEN character in the Prologue Field). It must be programmed only once per received block..

USART_RQR

USART request register

Offset: 0x18, size: 32, reset: 0x00000000, access: write-only

0/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TXFRQ
w
RXFRQ
w
MMRQ
w
SBKRQ
w
ABRRQ
w
Toggle fields

ABRRQ

Bit 0: Auto baud rate request Writing 1 to this bit resets the ABRF and ABRE flags in the USART_ISR and requests an automatic baud rate measurement on the next received data frame. Note: If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

SBKRQ

Bit 1: Send break request Writing 1 to this bit sets the SBKF flag and request to send a BREAK on the line, as soon as the transmit machine is available. Note: When the application needs to send the break character following all previously inserted data, including the ones not yet transmitted, the software should wait for the TXE flag assertion before setting the SBKRQ bit..

MMRQ

Bit 2: Mute mode request Writing 1 to this bit puts the USART in Mute mode and resets the RWU flag..

RXFRQ

Bit 3: Receive data flush request Writing 1 to this bit empties the entire receive FIFO i.e. clears the bit RXFNE. This enables to discard the received data without reading them, and avoid an overrun condition..

TXFRQ

Bit 4: Transmit data flush request When FIFO mode is disabled, writing 1 to this bit sets the TXE flag. This enables to discard the transmit data. This bit must be used only in Smartcard mode, when data have not been sent due to errors (NACK) and the FE flag is active in the USART_ISR register. If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. When FIFO is enabled, TXFRQ bit is set to flush the whole FIFO. This sets the TXFE flag (Transmit FIFO empty, bit 23 in the USART_ISR register). Flushing the Transmit FIFO is supported in both UART and Smartcard modes. Note: In FIFO mode, the TXFNF flag is reset during the flush request until TxFIFO is empty in order to ensure that no data are written in the data register..

USART_ISR

USART interrupt and status register

Offset: 0x1c, size: 32, reset: 0x008000C0, access: read-only

28/28 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TXFT
r
RXFT
r
TCBGT
r
RXFF
r
TXFE
r
REACK
r
TEACK
r
WUF
r
RWU
r
SBKF
r
CMF
r
BUSY
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ABRF
r
ABRE
r
UDR
r
EOBF
r
RTOF
r
CTS
r
CTSIF
r
LBDF
r
TXFNF
r
TC
r
RXFNE
r
IDLE
r
ORE
r
NE
r
FE
r
PE
r
Toggle fields

PE

Bit 0: Parity error This bit is set by hardware when a parity error occurs in receiver mode. It is cleared by software, writing 1 to the PECF in the USART_ICR register. An interrupt is generated if PEIE = 1 in the USART_CR1 register. Note: This error is associated with the character in the USART_RDR..

Allowed values:
0: B_0x0: No parity error
1: B_0x1: Parity error

FE

Bit 1: Framing error This bit is set by hardware when a de-synchronization, excessive noise or a break character is detected. It is cleared by software, writing 1 to the FECF bit in the USART_ICR register. When transmitting data in Smartcard mode, this bit is set when the maximum number of transmit attempts is reached without success (the card NACKs the data frame). An interrupt is generated if EIE = 1 in the USART_CR3 register. Note: This error is associated with the character in the USART_RDR..

Allowed values:
0: B_0x0: No Framing error is detected
1: B_0x1: Framing error or break character is detected

NE

Bit 2: Noise detection flag This bit is set by hardware when noise is detected on a received frame. It is cleared by software, writing 1 to the NECF bit in the USART_ICR register. Note: This bit does not generate an interrupt as it appears at the same time as the RXFNE bit which itself generates an interrupt. An interrupt is generated when the NE flag is set during multi buffer communication if the EIE bit is set. Note: When the line is noise-free, the NE flag can be disabled by programming the ONEBIT bit to 1 to increase the USART tolerance to deviations (Refer to Section 26.5.8: Tolerance of the USART receiver to clock deviation on page 709). Note: This error is associated with the character in the USART_RDR..

Allowed values:
0: B_0x0: No noise is detected
1: B_0x1: Noise is detected

ORE

Bit 3: Overrun error This bit is set by hardware when the data currently being received in the shift register is ready to be transferred into the USART_RDR register while RXFF = 1. It is cleared by a software, writing 1 to the ORECF, in the USART_ICR register. An interrupt is generated if RXFNEIE = 1 in the USART_CR1 register, or EIE = 1 in the USART_CR3 register. Note: When this bit is set, the USART_RDR register content is not lost but the shift register is overwritten. An interrupt is generated if the ORE flag is set during multi buffer communication if the EIE bit is set. Note: This bit is permanently forced to 0 (no overrun detection) when the bit OVRDIS is set in the USART_CR3 register..

Allowed values:
0: B_0x0: No overrun error
1: B_0x1: Overrun error is detected

IDLE

Bit 4: Idle line detected This bit is set by hardware when an Idle Line is detected. An interrupt is generated if IDLEIE = 1 in the USART_CR1 register. It is cleared by software, writing 1 to the IDLECF in the USART_ICR register. Note: The IDLE bit is not set again until the RXFNE bit has been set (i.e. a new idle line occurs). Note: If Mute mode is enabled (MME = 1), IDLE is set if the USART is not mute (RWU = 0), whatever the Mute mode selected by the WAKE bit. If RWU = 1, IDLE is not set..

Allowed values:
0: B_0x0: No Idle line is detected
1: B_0x1: Idle line is detected

RXFNE

Bit 5: RXFIFO not empty RXFNE bit is set by hardware when the RXFIFO is not empty, meaning that data can be read from the USART_RDR register. Every read operation from the USART_RDR frees a location in the RXFIFO. RXFNE is cleared when the RXFIFO is empty. The RXFNE flag can also be cleared by writing 1 to the RXFRQ in the USART_RQR register. An interrupt is generated if RXFNEIE = 1 in the USART_CR1 register..

Allowed values:
0: B_0x0: Data is not received
1: B_0x1: Received data is ready to be read.

TC

Bit 6: Transmission complete This bit indicates that the last data written in the USART_TDR has been transmitted out of the shift register. It is set by hardware when the transmission of a frame containing data is complete and when TXFE is set. An interrupt is generated if TCIE = 1 in the USART_CR1 register. TC bit is is cleared by software, by writing 1 to the TCCF in the USART_ICR register or by a write to the USART_TDR register. Note: If TE bit is reset and no transmission is on going, the TC bit is immediately set..

Allowed values:
0: B_0x0: Transmission is not complete
1: B_0x1: Transmission is complete

TXFNF

Bit 7: TXFIFO not full TXFNF is set by hardware when TXFIFO is not full meaning that data can be written in the USART_TDR. Every write operation to the USART_TDR places the data in the TXFIFO. This flag remains set until the TXFIFO is full. When the TXFIFO is full, this flag is cleared indicating that data can not be written into the USART_TDR. An interrupt is generated if the TXFNFIE bit =1 in the USART_CR1 register. Note: The TXFNF is kept reset during the flush request until TXFIFO is empty. After sending the flush request (by setting TXFRQ bit), the flag TXFNF should be checked prior to writing in TXFIFO (TXFNF and TXFE are set at the same time). Note: This bit is used during single buffer transmission..

Allowed values:
0: B_0x0: Transmit FIFO is full
1: B_0x1: Transmit FIFO is not full

LBDF

Bit 8: LIN break detection flag This bit is set by hardware when the LIN break is detected. It is cleared by software, by writing 1 to the LBDCF in the USART_ICR. An interrupt is generated if LBDIE = 1 in the USART_CR2 register. Note: If the USART does not support LIN mode, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: LIN Break not detected
1: B_0x1: LIN break detected

CTSIF

Bit 9: CTS interrupt flag This bit is set by hardware when the CTS input toggles, if the CTSE bit is set. It is cleared by software, by writing 1 to the CTSCF bit in the USART_ICR register. An interrupt is generated if CTSIE = 1 in the USART_CR3 register. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..

Allowed values:
0: B_0x0: No change occurred on the CTS status line
1: B_0x1: A change occurred on the CTS status line

CTS

Bit 10: CTS flag This bit is set/reset by hardware. It is an inverted copy of the status of the CTS input pin. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..

Allowed values:
0: B_0x0: CTS line set
1: B_0x1: CTS line reset

RTOF

Bit 11: Receiver timeout This bit is set by hardware when the timeout value, programmed in the RTOR register has lapsed, without any communication. It is cleared by software, writing 1 to the RTOCF bit in the USART_ICR register. An interrupt is generated if RTOIE = 1 in the USART_CR2 register. In Smartcard mode, the timeout corresponds to the CWT or BWT timings. Note: If a time equal to the value programmed in RTOR register separates 2 characters, RTOF is not set. If this time exceeds this value + 2 sample times (2/16 or 2/8, depending on the oversampling method), RTOF flag is set. Note: The counter counts even if RE = 0 but RTOF is set only when RE = 1. If the timeout has already elapsed when RE is set, then RTOF is set. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and kept at reset value..

Allowed values:
0: B_0x0: Timeout value not reached
1: B_0x1: Timeout value reached without any data reception

EOBF

Bit 12: End of block flag This bit is set by hardware when a complete block has been received (for example T = 1 Smartcard mode). The detection is done when the number of received bytes (from the start of the block, including the prologue) is equal or greater than BLEN + 4. An interrupt is generated if the EOBIE = 1 in the USART_CR1 register. It is cleared by software, writing 1 to the EOBCF in the USART_ICR register. Note: If Smartcard mode is not supported, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: End of Block not reached
1: B_0x1: End of Block (number of characters) reached

UDR

Bit 13: SPI slave underrun error flag In slave transmission mode, this flag is set when the first clock pulse for data transmission appears while the software has not yet loaded any value into USART_TDR. This flag is reset by setting UDRCF bit in the USART_ICR register. Note: If the USART does not support the SPI slave mode, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: No underrun error
1: B_0x1: underrun error

ABRE

Bit 14: Auto baud rate error This bit is set by hardware if the baud rate measurement failed (baud rate out of range or character comparison failed) It is cleared by software, by writing 1 to the ABRRQ bit in the USART_RQR register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..

ABRF

Bit 15: Auto baud rate flag This bit is set by hardware when the automatic baud rate has been set (RXFNE is also set, generating an interrupt if RXFNEIE = 1) or when the auto baud rate operation was completed without success (ABRE = 1) (ABRE, RXFNE and FE are also set in this case) It is cleared by software, in order to request a new auto baud rate detection, by writing 1 to the ABRRQ in the USART_RQR register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..

BUSY

Bit 16: Busy flag This bit is set and reset by hardware. It is active when a communication is ongoing on the RX line (successful start bit detected). It is reset at the end of the reception (successful or not)..

Allowed values:
0: B_0x0: USART is idle (no reception)
1: B_0x1: Reception on going

CMF

Bit 17: Character match flag This bit is set by hardware, when a the character defined by ADD[7:0] is received. It is cleared by software, writing 1 to the CMCF in the USART_ICR register. An interrupt is generated if CMIE = 1in the USART_CR1 register..

Allowed values:
0: B_0x0: No Character match detected
1: B_0x1: Character Match detected

SBKF

Bit 18: Send break flag This bit indicates that a send break character was requested. It is set by software, by writing 1 to the SBKRQ bit in the USART_CR3 register. It is automatically reset by hardware during the stop bit of break transmission..

Allowed values:
0: B_0x0: Break character transmitted
1: B_0x1: Break character requested by setting SBKRQ bit in USART_RQR register

RWU

Bit 19: Receiver wake-up from Mute mode This bit indicates if the USART is in Mute mode. It is cleared/set by hardware when a wake-up/mute sequence is recognized. The Mute mode control sequence (address or IDLE) is selected by the WAKE bit in the USART_CR1 register. When wake-up on IDLE mode is selected, this bit can only be set by software, writing 1 to the MMRQ bit in the USART_RQR register. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Receiver in active mode
1: B_0x1: Receiver in Mute mode

WUF

Bit 20: Wake-up from low-power mode flag This bit is set by hardware, when a wake-up event is detected. The event is defined by the WUS bitfield. It is cleared by software, writing a 1 to the WUCF in the USART_ICR register. An interrupt is generated if WUFIE = 1 in the USART_CR3 register. Note: When UESM is cleared, WUF flag is also cleared. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

TEACK

Bit 21: Transmit enable acknowledge flag This bit is set/reset by hardware, when the Transmit Enable value is taken into account by the USART. It can be used when an idle frame request is generated by writing TE = 0, followed by TE = 1 in the USART_CR1 register, in order to respect the TE = 0 minimum period..

REACK

Bit 22: Receive enable acknowledge flag This bit is set/reset by hardware, when the Receive Enable value is taken into account by the USART. It can be used to verify that the USART is ready for reception before entering low-power mode. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

TXFE

Bit 23: TXFIFO empty This bit is set by hardware when TXFIFO is empty. When the TXFIFO contains at least one data, this flag is cleared. The TXFE flag can also be set by writing 1 to the bit TXFRQ (bit 4) in the USART_RQR register. An interrupt is generated if the TXFEIE bit = 1 (bit 30) in the USART_CR1 register..

Allowed values:
0: B_0x0: TXFIFO not empty.
1: B_0x1: TXFIFO empty.

RXFF

Bit 24: RXFIFO full This bit is set by hardware when the number of received data corresponds to RXFIFO size + 1 (RXFIFO full + 1 data in the USART_RDR register. An interrupt is generated if the RXFFIE bit = 1 in the USART_CR1 register..

Allowed values:
0: B_0x0: RXFIFO not full.
1: B_0x1: RXFIFO Full.

TCBGT

Bit 25: Transmission complete before guard time flag.

Allowed values:
0: B_0x0: Transmission is not complete or transmission is complete unsuccessfully (i.e. a NACK is received from the card)
1: B_0x1: Transmission is complete successfully (before Guard time completion and there is no NACK from the smart card).

RXFT

Bit 26: RXFIFO threshold flag This bit is set by hardware when the threshold programmed in RXFTCFG in USART_CR3 register is reached. This means that there are (RXFTCFG - 1) data in the Receive FIFO and one data in the USART_RDR register. An interrupt is generated if the RXFTIE bit = 1 (bit 27) in the USART_CR3 register. Note: When the RXFTCFG threshold is configured to 101 , RXFT flag is set if 16 data are available i.e. 15 data in the RXFIFO and 1 data in the USART_RDR. Consequently, the 17th received data does not cause an overrun error. The overrun error occurs after receiving the 18th data..

Allowed values:
0: B_0x0: Receive FIFO does not reach the programmed threshold.
1: B_0x1: Receive FIFO reached the programmed threshold.

TXFT

Bit 27: TXFIFO threshold flag This bit is set by hardware when the TXFIFO reaches the threshold programmed in TXFTCFG of USART_CR3 register i.e. the TXFIFO contains TXFTCFG empty locations. An interrupt is generated if the TXFTIE bit = 1 (bit 31) in the USART_CR3 register..

Allowed values:
0: B_0x0: TXFIFO does not reach the programmed threshold.
1: B_0x1: TXFIFO reached the programmed threshold.

USART_ISR_ALTERNATE1

USART interrupt and status register

Offset: 0x1c, size: 32, reset: 0x000000C0, access: read-only

24/24 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TCBGT
r
REACK
r
TEACK
r
WUF
r
RWU
r
SBKF
r
CMF
r
BUSY
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ABRF
r
ABRE
r
UDR
r
EOBF
r
RTOF
r
CTS
r
CTSIF
r
LBDF
r
TXE
r
TC
r
RXNE
r
IDLE
r
ORE
r
NE
r
FE
r
PE
r
Toggle fields

PE

Bit 0: Parity error This bit is set by hardware when a parity error occurs in receiver mode. It is cleared by software, writing 1 to the PECF in the USART_ICR register. An interrupt is generated if PEIE = 1 in the USART_CR1 register..

Allowed values:
0: B_0x0: No parity error
1: B_0x1: Parity error

FE

Bit 1: Framing error This bit is set by hardware when a de-synchronization, excessive noise or a break character is detected. It is cleared by software, writing 1 to the FECF bit in the USART_ICR register. When transmitting data in Smartcard mode, this bit is set when the maximum number of transmit attempts is reached without success (the card NACKs the data frame). An interrupt is generated if EIE = 1 in the USART_CR3 register..

Allowed values:
0: B_0x0: No Framing error is detected
1: B_0x1: Framing error or break character is detected

NE

Bit 2: Noise detection flag This bit is set by hardware when noise is detected on a received frame. It is cleared by software, writing 1 to the NECF bit in the USART_ICR register. Note: This bit does not generate an interrupt as it appears at the same time as the RXNE bit which itself generates an interrupt. An interrupt is generated when the NE flag is set during multi buffer communication if the EIE bit is set. Note: When the line is noise-free, the NE flag can be disabled by programming the ONEBIT bit to 1 to increase the USART tolerance to deviations (Refer to Section 26.5.8: Tolerance of the USART receiver to clock deviation on page 709)..

Allowed values:
0: B_0x0: No noise is detected
1: B_0x1: Noise is detected

ORE

Bit 3: Overrun error This bit is set by hardware when the data currently being received in the shift register is ready to be transferred into the USART_RDR register while RXNE = 1. It is cleared by a software, writing 1 to the ORECF, in the USART_ICR register. An interrupt is generated if RXNEIE = 1 or EIE = 1 in the LPUART_CR1 register, or EIE = 1 in the USART_CR3 register. Note: When this bit is set, the USART_RDR register content is not lost but the shift register is overwritten. An interrupt is generated if the ORE flag is set during multi buffer communication if the EIE bit is set. Note: This bit is permanently forced to 0 (no overrun detection) when the bit OVRDIS is set in the USART_CR3 register..

Allowed values:
0: B_0x0: No overrun error
1: B_0x1: Overrun error is detected

IDLE

Bit 4: Idle line detected This bit is set by hardware when an Idle Line is detected. An interrupt is generated if IDLEIE = 1 in the USART_CR1 register. It is cleared by software, writing 1 to the IDLECF in the USART_ICR register. Note: The IDLE bit is not set again until the RXNE bit has been set (i.e. a new idle line occurs). Note: If Mute mode is enabled (MME = 1), IDLE is set if the USART is not mute (RWU = 0), whatever the Mute mode selected by the WAKE bit. If RWU = 1, IDLE is not set..

Allowed values:
0: B_0x0: No Idle line is detected
1: B_0x1: Idle line is detected

RXNE

Bit 5: Read data register not empty RXNE bit is set by hardware when the content of the USART_RDR shift register has been transferred to the USART_RDR register. It is cleared by reading from the USART_RDR register. The RXNE flag can also be cleared by writing 1 to the RXFRQ in the USART_RQR register. An interrupt is generated if RXNEIE = 1 in the USART_CR1 register..

Allowed values:
0: B_0x0: Data is not received
1: B_0x1: Received data is ready to be read.

TC

Bit 6: Transmission complete This bit indicates that the last data written in the USART_TDR has been transmitted out of the shift register. It is set by hardware when the transmission of a frame containing data is complete and when TXE is set. An interrupt is generated if TCIE = 1 in the USART_CR1 register. TC bit is is cleared by software, by writing 1 to the TCCF in the USART_ICR register or by a write to the USART_TDR register. Note: If TE bit is reset and no transmission is on going, the TC bit is set immediately..

Allowed values:
0: B_0x0: Transmission is not complete
1: B_0x1: Transmission is complete

TXE

Bit 7: Transmit data register empty TXE is set by hardware when the content of the USART_TDR register has been transferred into the shift register. It is cleared by writing to the USART_TDR register. The TXE flag can also be set by writing 1 to the TXFRQ in the USART_RQR register, in order to discard the data (only in Smartcard T = 0 mode, in case of transmission failure). An interrupt is generated if the TXEIE bit = 1 in the USART_CR1 register..

Allowed values:
0: B_0x0: Data register full
1: B_0x1: Data register not full

LBDF

Bit 8: LIN break detection flag This bit is set by hardware when the LIN break is detected. It is cleared by software, by writing 1 to the LBDCF in the USART_ICR. An interrupt is generated if LBDIE = 1 in the USART_CR2 register. Note: If the USART does not support LIN mode, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: LIN Break not detected
1: B_0x1: LIN break detected

CTSIF

Bit 9: CTS interrupt flag This bit is set by hardware when the CTS input toggles, if the CTSE bit is set. It is cleared by software, by writing 1 to the CTSCF bit in the USART_ICR register. An interrupt is generated if CTSIE = 1 in the USART_CR3 register. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..

Allowed values:
0: B_0x0: No change occurred on the CTS status line
1: B_0x1: A change occurred on the CTS status line

CTS

Bit 10: CTS flag This bit is set/reset by hardware. It is an inverted copy of the status of the CTS input pin. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..

Allowed values:
0: B_0x0: CTS line set
1: B_0x1: CTS line reset

RTOF

Bit 11: Receiver timeout This bit is set by hardware when the timeout value, programmed in the RTOR register has lapsed, without any communication. It is cleared by software, writing 1 to the RTOCF bit in the USART_ICR register. An interrupt is generated if RTOIE = 1 in the USART_CR2 register. In Smartcard mode, the timeout corresponds to the CWT or BWT timings. Note: If a time equal to the value programmed in RTOR register separates 2 characters, RTOF is not set. If this time exceeds this value + 2 sample times (2/16 or 2/8, depending on the oversampling method), RTOF flag is set. Note: The counter counts even if RE = 0 but RTOF is set only when RE = 1. If the timeout has already elapsed when RE is set, then RTOF is set. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and kept at reset value..

Allowed values:
0: B_0x0: Timeout value not reached
1: B_0x1: Timeout value reached without any data reception

EOBF

Bit 12: End of block flag This bit is set by hardware when a complete block has been received (for example T = 1 Smartcard mode). The detection is done when the number of received bytes (from the start of the block, including the prologue) is equal or greater than BLEN + 4. An interrupt is generated if the EOBIE = 1 in the USART_CR1 register. It is cleared by software, writing 1 to the EOBCF in the USART_ICR register. Note: If Smartcard mode is not supported, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: End of Block not reached
1: B_0x1: End of Block (number of characters) reached

UDR

Bit 13: SPI slave underrun error flag In slave transmission mode, this flag is set when the first clock pulse for data transmission appears while the software has not yet loaded any value into USART_TDR. This flag is reset by setting UDRCF bit in the USART_ICR register. Note: If the USART does not support the SPI slave mode, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: No underrun error
1: B_0x1: underrun error

ABRE

Bit 14: Auto baud rate error This bit is set by hardware if the baud rate measurement failed (baud rate out of range or character comparison failed) It is cleared by software, by writing 1 to the ABRRQ bit in the USART_RQR register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..

ABRF

Bit 15: Auto baud rate flag This bit is set by hardware when the automatic baud rate has been set (RXNE is also set, generating an interrupt if RXNEIE = 1) or when the auto baud rate operation was completed without success (ABRE = 1) (ABRE, RXNE and FE are also set in this case) It is cleared by software, in order to request a new auto baud rate detection, by writing 1 to the ABRRQ in the USART_RQR register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..

BUSY

Bit 16: Busy flag This bit is set and reset by hardware. It is active when a communication is ongoing on the RX line (successful start bit detected). It is reset at the end of the reception (successful or not)..

Allowed values:
0: B_0x0: USART is idle (no reception)
1: B_0x1: Reception on going

CMF

Bit 17: Character match flag This bit is set by hardware, when a the character defined by ADD[7:0] is received. It is cleared by software, writing 1 to the CMCF in the USART_ICR register. An interrupt is generated if CMIE = 1in the USART_CR1 register..

Allowed values:
0: B_0x0: No Character match detected
1: B_0x1: Character Match detected

SBKF

Bit 18: Send break flag This bit indicates that a send break character was requested. It is set by software, by writing 1 to the SBKRQ bit in the USART_CR3 register. It is automatically reset by hardware during the stop bit of break transmission..

Allowed values:
0: B_0x0: Break character transmitted
1: B_0x1: Break character requested by setting SBKRQ bit in USART_RQR register

RWU

Bit 19: Receiver wake-up from Mute mode This bit indicates if the USART is in Mute mode. It is cleared/set by hardware when a wake-up/mute sequence is recognized. The Mute mode control sequence (address or IDLE) is selected by the WAKE bit in the USART_CR1 register. When wake-up on IDLE mode is selected, this bit can only be set by software, writing 1 to the MMRQ bit in the USART_RQR register. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Receiver in active mode
1: B_0x1: Receiver in Mute mode

WUF

Bit 20: Wake-up from low-power mode flag This bit is set by hardware, when a wake-up event is detected. The event is defined by the WUS bitfield. It is cleared by software, writing a 1 to the WUCF in the USART_ICR register. An interrupt is generated if WUFIE = 1 in the USART_CR3 register. Note: When UESM is cleared, WUF flag is also cleared. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

TEACK

Bit 21: Transmit enable acknowledge flag This bit is set/reset by hardware, when the Transmit Enable value is taken into account by the USART. It can be used when an idle frame request is generated by writing TE = 0, followed by TE = 1 in the USART_CR1 register, in order to respect the TE = 0 minimum period..

REACK

Bit 22: Receive enable acknowledge flag This bit is set/reset by hardware, when the Receive Enable value is taken into account by the USART. It can be used to verify that the USART is ready for reception before entering low-power mode. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

TCBGT

Bit 25: Transmission complete before guard time flag.

Allowed values:
0: B_0x0: Transmission is not complete or transmission is complete unsuccessfully (i.e. a NACK is received from the card)
1: B_0x1: Transmission is complete successfully (before Guard time completion and there is no NACK from the smart card).

USART_ICR

USART interrupt flag clear register

Offset: 0x20, size: 32, reset: 0x00000000, access: write-only

0/15 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
WUCF
w
CMCF
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
UDRCF
w
EOBCF
w
RTOCF
w
CTSCF
w
LBDCF
w
TCBGTCF
w
TCCF
w
TXFECF
w
IDLECF
w
ORECF
w
NECF
w
FECF
w
PECF
w
Toggle fields

PECF

Bit 0: Parity error clear flag Writing 1 to this bit clears the PE flag in the USART_ISR register..

FECF

Bit 1: Framing error clear flag Writing 1 to this bit clears the FE flag in the USART_ISR register..

NECF

Bit 2: Noise detected clear flag Writing 1 to this bit clears the NE flag in the USART_ISR register..

ORECF

Bit 3: Overrun error clear flag Writing 1 to this bit clears the ORE flag in the USART_ISR register..

IDLECF

Bit 4: Idle line detected clear flag Writing 1 to this bit clears the IDLE flag in the USART_ISR register..

TXFECF

Bit 5: TXFIFO empty clear flag Writing 1 to this bit clears the TXFE flag in the USART_ISR register..

TCCF

Bit 6: Transmission complete clear flag Writing 1 to this bit clears the TC flag in the USART_ISR register..

TCBGTCF

Bit 7: Transmission complete before Guard time clear flag Writing 1 to this bit clears the TCBGT flag in the USART_ISR register..

LBDCF

Bit 8: LIN break detection clear flag Writing 1 to this bit clears the LBDF flag in the USART_ISR register. Note: If LIN mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

CTSCF

Bit 9: CTS clear flag Writing 1 to this bit clears the CTSIF flag in the USART_ISR register. Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

RTOCF

Bit 11: Receiver timeout clear flag Writing 1 to this bit clears the RTOF flag in the USART_ISR register. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

EOBCF

Bit 12: End of block clear flag Writing 1 to this bit clears the EOBF flag in the USART_ISR register. Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

UDRCF

Bit 13: SPI slave underrun clear flag Writing 1 to this bit clears the UDRF flag in the USART_ISR register. Note: If the USART does not support SPI slave mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691.

CMCF

Bit 17: Character match clear flag Writing 1 to this bit clears the CMF flag in the USART_ISR register..

WUCF

Bit 20: Wake-up from low-power mode clear flag Writing 1 to this bit clears the WUF flag in the USART_ISR register. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

USART_RDR

USART receive data register

Offset: 0x24, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RDR
r
Toggle fields

RDR

Bits 0-8: Receive data value Contains the received data character. The RDR register provides the parallel interface between the input shift register and the internal bus (see Figure 243). When receiving with the parity enabled, the value read in the MSB bit is the received parity bit..

USART_TDR

USART transmit data register

Offset: 0x28, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TDR
rw
Toggle fields

TDR

Bits 0-8: Transmit data value Contains the data character to be transmitted. The USART_TDR register provides the parallel interface between the internal bus and the output shift register (see Figure 243). When transmitting with the parity enabled (PCE bit set to 1 in the USART_CR1 register), the value written in the MSB (bit 7 or bit 8 depending on the data length) has no effect because it is replaced by the parity. Note: This register must be written only when TXE/TXFNF = 1..

USART_PRESC

USART prescaler register

Offset: 0x2c, size: 32, reset: 0x00000000, access: read-write

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PRESCALER
rw
Toggle fields

PRESCALER

Bits 0-3: Clock prescaler The USART input clock can be divided by a prescaler factor: Remaining combinations: Reserved Note: When PRESCALER is programmed with a value different of the allowed ones, programmed prescaler value is 1011 i.e. input clock divided by 256..

Allowed values:
0: B_0x0: input clock not divided
1: B_0x1: input clock divided by 2
2: B_0x2: input clock divided by 4
3: B_0x3: input clock divided by 6
4: B_0x4: input clock divided by 8
5: B_0x5: input clock divided by 10
6: B_0x6: input clock divided by 12
7: B_0x7: input clock divided by 16
8: B_0x8: input clock divided by 32
9: B_0x9: input clock divided by 64
10: B_0xA: input clock divided by 128
11: B_0xB: input clock divided by 256

USART2

0x40004400: USART address block description

136/170 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 USART_CR1
0x0 USART_CR1_ALTERNATE1
0x4 USART_CR2
0x8 USART_CR3
0xc USART_BRR
0x10 USART_GTPR
0x14 USART_RTOR
0x18 USART_RQR
0x1c USART_ISR
0x1c USART_ISR_ALTERNATE1
0x20 USART_ICR
0x24 USART_RDR
0x28 USART_TDR
0x2c USART_PRESC
Toggle registers

USART_CR1

USART control register 1

Offset: 0x0, size: 32, reset: 0x00000000, access: read-write

20/24 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RXFFIE
rw
TXFEIE
rw
FIFOEN
rw
M1
rw
EOBIE
rw
RTOIE
rw
DEAT
rw
DEDT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OVER8
rw
CMIE
rw
MME
rw
M0
rw
WAKE
rw
PCE
rw
PS
rw
PEIE
rw
TXFNFIE
rw
TCIE
rw
RXFNEIE
rw
IDLEIE
rw
TE
rw
RE
rw
UESM
rw
UE
rw
Toggle fields

UE

Bit 0: USART enable When this bit is cleared, the USART prescalers and outputs are stopped immediately, and all current operations are discarded. The USART configuration is kept, but all the USART_ISR status flags are reset. This bit is set and cleared by software. Note: To enter low-power mode without generating errors on the line, the TE bit must be previously reset and the software must wait for the TC bit in the USART_ISR to be set before resetting the UE bit. Note: The DMA requests are also reset when UE = 0 so the DMA channel must be disabled before resetting the UE bit. Note: In Smartcard mode, (SCEN = 1), the CK is always available when CLKEN = 1, regardless of the UE bit value..

Allowed values:
0: B_0x0: USART prescaler and outputs disabled, low-power mode
1: B_0x1: USART enabled

UESM

Bit 1: USART enable in low-power mode When this bit is cleared, the USART cannot wake up the MCU from low-power mode. When this bit is set, the USART can wake up the MCU from low-power mode. This bit is set and cleared by software. Note: It is recommended to set the UESM bit just before entering low-power mode and clear it when exit from low-power mode. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: USART not able to wake up the MCU from low-power mode.
1: B_0x1: USART able to wake up the MCU from low-power mode.

RE

Bit 2: Receiver enable This bit enables the receiver. It is set and cleared by software..

Allowed values:
0: B_0x0: Receiver is disabled
1: B_0x1: Receiver is enabled and begins searching for a start bit

TE

Bit 3: Transmitter enable This bit enables the transmitter. It is set and cleared by software. Note: During transmission, a low pulse on the TE bit ( 0 followed by 1 ) sends a preamble (idle line) after the current word, except in Smartcard mode. In order to generate an idle character, the TE must not be immediately written to 1 . To ensure the required duration, the software can poll the TEACK bit in the USART_ISR register. Note: In Smartcard mode, when TE is set, there is a 1 bit-time delay before the transmission starts..

Allowed values:
0: B_0x0: Transmitter is disabled
1: B_0x1: Transmitter is enabled

IDLEIE

Bit 4: IDLE interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever IDLE = 1 in the USART_ISR register

RXFNEIE

Bit 5: RXFIFO not empty interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever ORE = 1 or RXFNE = 1 in the USART_ISR register

TCIE

Bit 6: Transmission complete interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever TC = 1 in the USART_ISR register

TXFNFIE

Bit 7: TXFIFO not-full interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever TXFNF =1 in the USART_ISR register

PEIE

Bit 8: PE interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever PE = 1 in the USART_ISR register

PS

Bit 9: Parity selection This bit selects the odd or even parity when the parity generation/detection is enabled (PCE bit set). It is set and cleared by software. The parity is selected after the current byte. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Even parity
1: B_0x1: Odd parity

PCE

Bit 10: Parity control enable This bit selects the hardware parity control (generation and detection). When the parity control is enabled, the computed parity is inserted at the MSB position (9th bit if M = 1; 8th bit if M = 0) and the parity is checked on the received data. This bit is set and cleared by software. Once it is set, PCE is active after the current byte (in reception and in transmission). This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Parity control disabled
1: B_0x1: Parity control enabled

WAKE

Bit 11: Receiver wake-up method This bit determines the USART wake-up method from Mute mode. It is set or cleared by software. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Idle line
1: B_0x1: Address mark

M0

Bit 12: Word length This bit is used in conjunction with bit 28 (M1) to determine the word length. It is set or cleared by software (refer to bit 28 (M1)description). This bit can only be written when the USART is disabled (UE = 0)..

MME

Bit 13: Mute mode enable This bit enables the USART Mute mode function. When set, the USART can switch between active and Mute mode, as defined by the WAKE bit. It is set and cleared by software..

Allowed values:
0: B_0x0: Receiver in active mode permanently
1: B_0x1: Receiver can switch between Mute mode and active mode.

CMIE

Bit 14: Character match interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when the CMF bit is set in the USART_ISR register.

OVER8

Bit 15: Oversampling mode This bit can only be written when the USART is disabled (UE = 0). Note: In LIN, IrDA and Smartcard modes, this bit must be kept cleared..

Allowed values:
0: B_0x0: Oversampling by 16
1: B_0x1: Oversampling by 8

DEDT

Bits 16-20: Driver enable deassertion time This 5-bit value defines the time between the end of the last stop bit, in a transmitted message, and the de-activation of the DE (Driver Enable) signal. It is expressed in sample time units (1/8 or 1/16 bit time, depending on the oversampling rate). If the USART_TDR register is written during the DEDT time, the new data is transmitted only when the DEDT and DEAT times have both elapsed. This bitfield can only be written when the USART is disabled (UE = 0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

DEAT

Bits 21-25: Driver enable assertion time This 5-bit value defines the time between the activation of the DE (Driver Enable) signal and the beginning of the start bit. It is expressed in sample time units (1/8 or 1/16 bit time, depending on the oversampling rate). This bitfield can only be written when the USART is disabled (UE = 0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

RTOIE

Bit 26: Receiver timeout interrupt enable This bit is set and cleared by software. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when the RTOF bit is set in the USART_ISR register.

EOBIE

Bit 27: End-of-block interrupt enable This bit is set and cleared by software. Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when the EOBF flag is set in the USART_ISR register

M1

Bit 28: Word length This bit must be used in conjunction with bit 12 (M0) to determine the word length. It is set or cleared by software. M[1:0] = 00 : 1 start bit, 8 Data bits, n Stop bit M[1:0] = 01 : 1 start bit, 9 Data bits, n Stop bit M[1:0] = 10 : 1 start bit, 7 Data bits, n Stop bit This bit can only be written when the USART is disabled (UE = 0). Note: In 7-bits data length mode, the Smartcard mode, LIN master mode and auto baud rate (0x7F and 0x55 frames detection) are not supported..

FIFOEN

Bit 29: FIFO mode enable This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE = 0). Note: FIFO mode can be used on standard UART communication, in SPI master/slave mode and in Smartcard modes only. It must not be enabled in IrDA and LIN modes..

Allowed values:
0: B_0x0: FIFO mode is disabled.
1: B_0x1: FIFO mode is enabled.

TXFEIE

Bit 30: TXFIFO empty interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when TXFE = 1 in the USART_ISR register

RXFFIE

Bit 31: RXFIFO full interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when RXFF = 1 in the USART_ISR register

USART_CR1_ALTERNATE1

USART control register 1

Offset: 0x0, size: 32, reset: 0x00000000, access: read-write

18/22 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FIFOEN
rw
M1
rw
EOBIE
rw
RTOIE
rw
DEAT
rw
DEDT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OVER8
rw
CMIE
rw
MME
rw
M0
rw
WAKE
rw
PCE
rw
PS
rw
PEIE
rw
TXEIE
rw
TCIE
rw
RXNEIE
rw
IDLEIE
rw
TE
rw
RE
rw
UESM
rw
UE
rw
Toggle fields

UE

Bit 0: USART enable When this bit is cleared, the USART prescalers and outputs are stopped immediately, and all current operations are discarded. The USART configuration is kept, but all the USART_ISR status flags are reset. This bit is set and cleared by software. Note: To enter low-power mode without generating errors on the line, the TE bit must be previously reset and the software must wait for the TC bit in the USART_ISR to be set before resetting the UE bit. Note: The DMA requests are also reset when UE = 0 so the DMA channel must be disabled before resetting the UE bit. Note: In Smartcard mode, (SCEN = 1), the CK pin is always available when CLKEN = 1, regardless of the UE bit value..

Allowed values:
0: B_0x0: USART prescaler and outputs disabled, low-power mode
1: B_0x1: USART enabled

UESM

Bit 1: USART enable in low-power mode When this bit is cleared, the USART cannot wake up the MCU from low-power mode. When this bit is set, the USART can wake up the MCU from low-power mode. This bit is set and cleared by software. Note: It is recommended to set the UESM bit just before entering low-power mode and clear it when exit from low-power mode. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: USART not able to wake up the MCU from low-power mode.
1: B_0x1: USART able to wake up the MCU from low-power mode.

RE

Bit 2: Receiver enable This bit enables the receiver. It is set and cleared by software..

Allowed values:
0: B_0x0: Receiver is disabled
1: B_0x1: Receiver is enabled and begins searching for a start bit

TE

Bit 3: Transmitter enable This bit enables the transmitter. It is set and cleared by software. Note: During transmission, a low pulse on the TE bit ( 0 followed by 1 ) sends a preamble (idle line) after the current word, except in Smartcard mode. In order to generate an idle character, the TE must not be immediately written to 1 . To ensure the required duration, the software can poll the TEACK bit in the USART_ISR register. Note: In Smartcard mode, when TE is set, there is a 1 bit-time delay before the transmission starts..

Allowed values:
0: B_0x0: Transmitter is disabled
1: B_0x1: Transmitter is enabled

IDLEIE

Bit 4: IDLE interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever IDLE = 1 in the USART_ISR register

RXNEIE

Bit 5: Receive data register not empty This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever ORE = 1 or RXNE = 1 in the USART_ISR register

TCIE

Bit 6: Transmission complete interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever TC = 1 in the USART_ISR register

TXEIE

Bit 7: Transmit data register empty This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever TXE =1 in the USART_ISR register

PEIE

Bit 8: PE interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever PE = 1 in the USART_ISR register

PS

Bit 9: Parity selection This bit selects the odd or even parity when the parity generation/detection is enabled (PCE bit set). It is set and cleared by software. The parity is selected after the current byte. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Even parity
1: B_0x1: Odd parity

PCE

Bit 10: Parity control enable This bit selects the hardware parity control (generation and detection). When the parity control is enabled, the computed parity is inserted at the MSB position (9th bit if M = 1; 8th bit if M = 0) and the parity is checked on the received data. This bit is set and cleared by software. Once it is set, PCE is active after the current byte (in reception and in transmission). This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Parity control disabled
1: B_0x1: Parity control enabled

WAKE

Bit 11: Receiver wake-up method This bit determines the USART wake-up method from Mute mode. It is set or cleared by software. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Idle line
1: B_0x1: Address mark

M0

Bit 12: Word length This bit is used in conjunction with bit 28 (M1) to determine the word length. It is set or cleared by software (refer to bit 28 (M1)description). This bit can only be written when the USART is disabled (UE = 0)..

MME

Bit 13: Mute mode enable This bit enables the USART Mute mode function. When set, the USART can switch between active and Mute mode, as defined by the WAKE bit. It is set and cleared by software..

Allowed values:
0: B_0x0: Receiver in active mode permanently
1: B_0x1: Receiver can switch between Mute mode and active mode.

CMIE

Bit 14: Character match interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when the CMF bit is set in the USART_ISR register.

OVER8

Bit 15: Oversampling mode This bit can only be written when the USART is disabled (UE = 0). Note: In LIN, IrDA and Smartcard modes, this bit must be kept cleared..

Allowed values:
0: B_0x0: Oversampling by 16
1: B_0x1: Oversampling by 8

DEDT

Bits 16-20: Driver enable deassertion time This 5-bit value defines the time between the end of the last stop bit, in a transmitted message, and the de-activation of the DE (Driver Enable) signal. It is expressed in sample time units (1/8 or 1/16 bit time, depending on the oversampling rate). If the USART_TDR register is written during the DEDT time, the new data is transmitted only when the DEDT and DEAT times have both elapsed. This bitfield can only be written when the USART is disabled (UE = 0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

DEAT

Bits 21-25: Driver enable assertion time This 5-bit value defines the time between the activation of the DE (Driver Enable) signal and the beginning of the start bit. It is expressed in sample time units (1/8 or 1/16 bit time, depending on the oversampling rate). This bitfield can only be written when the USART is disabled (UE = 0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

RTOIE

Bit 26: Receiver timeout interrupt enable This bit is set and cleared by software. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when the RTOF bit is set in the USART_ISR register.

EOBIE

Bit 27: End of Bbock interrupt enable This bit is set and cleared by software. Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when the EOBF flag is set in the USART_ISR register

M1

Bit 28: Word length This bit must be used in conjunction with bit 12 (M0) to determine the word length. It is set or cleared by software. M[1:0] = 00 : 1 start bit, 8 Data bits, n Stop bit M[1:0] = 01 : 1 start bit, 9 Data bits, n Stop bit M[1:0] = 10 : 1 start bit, 7 Data bits, n Stop bit This bit can only be written when the USART is disabled (UE = 0). Note: In 7-bits data length mode, the Smartcard mode, LIN master mode and auto baud rate (0x7F and 0x55 frames detection) are not supported..

FIFOEN

Bit 29: FIFO mode enable This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE = 0). Note: FIFO mode can be used on standard UART communication, in SPI master/slave mode and in Smartcard modes only. It must not be enabled in IrDA and LIN modes..

Allowed values:
0: B_0x0: FIFO mode is disabled.
1: B_0x1: FIFO mode is enabled.

USART_CR2

USART control register 2

Offset: 0x4, size: 32, reset: 0x00000000, access: read-write

19/20 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ADD
rw
RTOEN
rw
ABRMOD
rw
ABREN
rw
MSBFIRST
rw
DATAINV
rw
TXINV
rw
RXINV
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SWAP
rw
LINEN
rw
STOP
rw
CLKEN
rw
CPOL
rw
CPHA
rw
LBCL
rw
LBDIE
rw
LBDL
rw
ADDM7
rw
DIS_NSS
rw
SLVEN
rw
Toggle fields

SLVEN

Bit 0: Synchronous Slave mode enable When the SLVEN bit is set, the synchronous slave mode is enabled. Note: When SPI slave mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Slave mode disabled.
1: B_0x1: Slave mode enabled.

DIS_NSS

Bit 3: NSS pin enable When the DIS_NSS bit is set, the NSS pin input is ignored. Note: When SPI slave mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: SPI slave selection depends on NSS input pin.
1: B_0x1: SPI slave is always selected and NSS input pin is ignored.

ADDM7

Bit 4: 7-bit address detection/4-bit address detection This bit is for selection between 4-bit address detection or 7-bit address detection. This bit can only be written when the USART is disabled (UE = 0) Note: In 7-bit and 9-bit data modes, the address detection is done on 6-bit and 8-bit address (ADD[5:0] and ADD[7:0]) respectively..

Allowed values:
0: B_0x0: 4-bit address detection
1: B_0x1: 7-bit address detection (in 8-bit data mode)

LBDL

Bit 5: LIN break detection length This bit is for selection between 11 bit or 10 bit break detection. This bit can only be written when the USART is disabled (UE = 0). Note: If LIN mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: 10-bit break detection
1: B_0x1: 11-bit break detection

LBDIE

Bit 6: LIN break detection interrupt enable Break interrupt mask (break detection using break delimiter). Note: If LIN mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt is inhibited
1: B_0x1: An interrupt is generated whenever LBDF = 1 in the USART_ISR register

LBCL

Bit 8: Last bit clock pulse This bit is used to select whether the clock pulse associated with the last data bit transmitted (MSB) has to be output on the CK pin in synchronous mode. The last bit is the 7th or 8th or 9th data bit transmitted depending on the 7 or 8 or 9 bit format selected by the M bit in the USART_CR1 register. This bit can only be written when the USART is disabled (UE = 0). Note: If synchronous mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: The clock pulse of the last data bit is not output to the CK pin
1: B_0x1: The clock pulse of the last data bit is output to the CK pin

CPHA

Bit 9: Clock phase This bit is used to select the phase of the clock output on the CK pin in synchronous mode. It works in conjunction with the CPOL bit to produce the desired clock/data relationship (see Figure 249 and Figure 250) This bit can only be written when the USART is disabled (UE = 0). Note: If synchronous mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: The first clock transition is the first data capture edge
1: B_0x1: The second clock transition is the first data capture edge

CPOL

Bit 10: Clock polarity This bit enables the user to select the polarity of the clock output on the CK pin in synchronous mode. It works in conjunction with the CPHA bit to produce the desired clock/data relationship This bit can only be written when the USART is disabled (UE = 0). Note: If synchronous mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Steady low value on CK pin outside transmission window
1: B_0x1: Steady high value on CK pin outside transmission window

CLKEN

Bit 11: Clock enable This bit enables the user to enable the CK pin. This bit can only be written when the USART is disabled (UE = 0). Note: If neither synchronous mode nor Smartcard mode is supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691. In Smartcard mode, in order to provide correctly the CK clock to the smartcard, the steps below must be respected: UE = 0 SCEN = 1 GTPR configuration CLKEN= 1 Note: UE = 1.

Allowed values:
0: B_0x0: CK pin disabled
1: B_0x1: CK pin enabled

STOP

Bits 12-13: Stop bits These bits are used for programming the stop bits. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: 1 stop bit
1: B_0x1: 0.5 stop bit.
2: B_0x2: 2 stop bits
3: B_0x3: 1.5 stop bits

LINEN

Bit 14: LIN mode enable This bit is set and cleared by software. The LIN mode enables the capability to send LIN synchronous breaks (13 low bits) using the SBKRQ bit in the USART_CR1 register, and to detect LIN Sync breaks. This bitfield can only be written when the USART is disabled (UE = 0). Note: If the USART does not support LIN mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: LIN mode disabled
1: B_0x1: LIN mode enabled

SWAP

Bit 15: Swap TX/RX pins This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: TX/RX pins are used as defined in standard pinout
1: B_0x1: The TX and RX pins functions are swapped. This enables to work in the case of a cross-wired connection to another UART.

RXINV

Bit 16: RX pin active level inversion This bit is set and cleared by software. This enables the use of an external inverter on the RX line. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: RX pin signal works using the standard logic levels (V<sub>DD</sub> =1/idle, Gnd = 0/mark)
1: B_0x1: RX pin signal values are inverted (V<sub>DD</sub> =0/mark, Gnd = 1/idle).

TXINV

Bit 17: TX pin active level inversion This bit is set and cleared by software. This enables the use of an external inverter on the TX line. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: TX pin signal works using the standard logic levels (V<sub>DD</sub> =1/idle, Gnd = 0/mark)
1: B_0x1: TX pin signal values are inverted (V<sub>DD</sub> =0/mark, Gnd = 1/idle).

DATAINV

Bit 18: Binary data inversion This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Logical data from the data register are send/received in positive/direct logic. (1 = H, 0 = L)
1: B_0x1: Logical data from the data register are send/received in negative/inverse logic. (1 = L, 0 = H). The parity bit is also inverted.

MSBFIRST

Bit 19: Most significant bit first This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: data is transmitted/received with data bit 0 first, following the start bit.
1: B_0x1: data is transmitted/received with the MSB (bit 7/8) first, following the start bit.

ABREN

Bit 20: Auto baud rate enable This bit is set and cleared by software. Note: If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Auto baud rate detection is disabled.
1: B_0x1: Auto baud rate detection is enabled.

ABRMOD

Bits 21-22: Auto baud rate mode These bits are set and cleared by software. This bitfield can only be written when ABREN = 0 or the USART is disabled (UE = 0). Note: If DATAINV = 1 and/or MSBFIRST = 1 the patterns must be the same on the line, for example 0xAA for MSBFIRST) Note: If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Measurement of the start bit is used to detect the baud rate.
1: B_0x1: Falling edge to falling edge measurement (the received frame must start with a single bit = 1 and Frame = Start10xxxxxx)
2: B_0x2: 0x7F frame detection.
3: B_0x3: 0x55 frame detection

RTOEN

Bit 23: Receiver timeout enable This bit is set and cleared by software. When this feature is enabled, the RTOF flag in the USART_ISR register is set if the RX line is idle (no reception) for the duration programmed in the RTOR (receiver timeout register). Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Receiver timeout feature disabled.
1: B_0x1: Receiver timeout feature enabled.

ADD

Bits 24-31: Address of the USART node These bits give the address of the USART node in Mute mode or a character code to be recognized in low-power or Run mode: In Mute mode: they are used in multiprocessor communication to wake up from Mute mode with 4-bit/7-bit address mark detection. The MSB of the character sent by the transmitter should be equal to 1. In 4-bit address mark detection, only ADD[3:0] bits are used. In low-power mode: they are used for wake up from low-power mode on character match. When WUS[1:0] is programmed to 0b00 (WUF active on address match), the wake-up from low-power mode is performed when the received character corresponds to the character programmed through ADD[6:0] or ADD[3:0] bitfield (depending on ADDM7 bit), and WUF interrupt is enabled by setting WUFIE bit. The MSB of the character sent by transmitter should be equal to 1. In Run mode with Mute mode inactive (for example, end-of-block detection in ModBus protocol): the whole received character (8 bits) is compared to ADD[7:0] value and CMF flag is set on match. An interrupt is generated if the CMIE bit is set. These bits can only be written when the reception is disabled (RE = 0) or when the USART is disabled (UE = 0)..

USART_CR3

USART control register 3

Offset: 0x8, size: 32, reset: 0x00000000, access: read-write

24/24 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TXFTCFG
rw
RXFTIE
rw
RXFTCFG
rw
TCBGTIE
rw
TXFTIE
rw
WUFIE
rw
WUS
rw
SCARCNT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DEP
rw
DEM
rw
DDRE
rw
OVRDIS
rw
ONEBIT
rw
CTSIE
rw
CTSE
rw
RTSE
rw
DMAT
rw
DMAR
rw
SCEN
rw
NACK
rw
HDSEL
rw
IRLP
rw
IREN
rw
EIE
rw
Toggle fields

EIE

Bit 0: Error interrupt enable Error Interrupt Enable Bit is required to enable interrupt generation in case of a framing error, overrun error noise flag or SPI slave underrun error (FE = 1 or ORE = 1 or NE = 1 or UDR = 1 in the USART_ISR register)..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: interrupt generated when FE = 1 or ORE = 1 or NE = 1 or UDR = 1 (in SPI slave mode) in the USART_ISR register.

IREN

Bit 1: IrDA mode enable This bit is set and cleared by software. This bit can only be written when the USART is disabled (UE = 0). Note: If IrDA mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: IrDA disabled
1: B_0x1: IrDA enabled

IRLP

Bit 2: IrDA low-power This bit is used for selecting between normal and low-power IrDA modes This bit can only be written when the USART is disabled (UE = 0). Note: If IrDA mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Normal mode
1: B_0x1: Low-power mode

HDSEL

Bit 3: Half-duplex selection Selection of Single-wire Half-duplex mode This bit can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Half duplex mode is not selected
1: B_0x1: Half duplex mode is selected

NACK

Bit 4: Smartcard NACK enable This bitfield can only be written when the USART is disabled (UE = 0). Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: NACK transmission in case of parity error is disabled
1: B_0x1: NACK transmission during parity error is enabled

SCEN

Bit 5: Smartcard mode enable This bit is used for enabling Smartcard mode. This bitfield can only be written when the USART is disabled (UE = 0). Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Smartcard Mode disabled
1: B_0x1: Smartcard Mode enabled

DMAR

Bit 6: DMA enable receiver This bit is set/reset by software.

Allowed values:
1: B_0x1: DMA mode is enabled for reception
0: B_0x0: DMA mode is disabled for reception

DMAT

Bit 7: DMA enable transmitter This bit is set/reset by software.

Allowed values:
1: B_0x1: DMA mode is enabled for transmission
0: B_0x0: DMA mode is disabled for transmission

RTSE

Bit 8: RTS enable This bit can only be written when the USART is disabled (UE = 0). Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: RTS hardware flow control disabled
1: B_0x1: RTS output enabled, data is only requested when there is space in the receive buffer. The transmission of data is expected to cease after the current character has been transmitted. The RTS output is deasserted (pulled to 0) when data can be received.

CTSE

Bit 9: CTS enable This bit can only be written when the USART is disabled (UE = 0) Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: CTS hardware flow control disabled
1: B_0x1: CTS mode enabled, data is only transmitted when the CTS input is deasserted (tied to 0). If the CTS input is asserted while data is being transmitted, then the transmission is completed before stopping. If data is written into the data register while CTS is asserted, the transmission is postponed until CTS is deasserted.

CTSIE

Bit 10: CTS interrupt enable Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt is inhibited
1: B_0x1: An interrupt is generated whenever CTSIF = 1 in the USART_ISR register

ONEBIT

Bit 11: One sample bit method enable This bit enables the user to select the sample method. When the one sample bit method is selected the noise detection flag (NE) is disabled. This bit can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Three sample bit method
1: B_0x1: One sample bit method

OVRDIS

Bit 12: Overrun disable This bit is used to disable the receive overrun detection. the ORE flag is not set and the new received data overwrites the previous content of the USART_RDR register. When FIFO mode is enabled, the RXFIFO is bypassed and data is written directly in USART_RDR register. Even when FIFO management is enabled, the RXNE flag is to be used. This bit can only be written when the USART is disabled (UE = 0). Note: This control bit enables checking the communication flow w/o reading the data.

Allowed values:
0: B_0x0: Overrun Error Flag, ORE, is set when received data is not read before receiving new data.
1: B_0x1: Overrun functionality is disabled. If new data is received while the RXNE flag is still set

DDRE

Bit 13: DMA Disable on reception error This bit can only be written when the USART is disabled (UE=0). Note: The reception errors are: parity error, framing error or noise error..

Allowed values:
0: B_0x0: DMA is not disabled in case of reception error. The corresponding error flag is set but RXNE is kept 0 preventing from overrun. As a consequence, the DMA request is not asserted, so the erroneous data is not transferred (no DMA request), but next correct received data is transferred (used for Smartcard mode).
1: B_0x1: DMA is disabled following a reception error. The corresponding error flag is set, as well as RXNE. The DMA request is masked until the error flag is cleared. This means that the software must first disable the DMA request (DMAR = 0) or clear RXNE/RXFNE is case FIFO mode is enabled) before clearing the error flag.

DEM

Bit 14: Driver enable mode This bit enables the user to activate the external transceiver control, through the DE signal. This bit can only be written when the USART is disabled (UE = 0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: DE function is disabled.
1: B_0x1: DE function is enabled. The DE signal is output on the RTS pin.

DEP

Bit 15: Driver enable polarity selection This bit can only be written when the USART is disabled (UE = 0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: DE signal is active high.
1: B_0x1: DE signal is active low.

SCARCNT

Bits 17-19: Smartcard auto-retry count This bitfield specifies the number of retries for transmission and reception in Smartcard mode. In transmission mode, it specifies the number of automatic retransmission retries, before generating a transmission error (FE bit set). In reception mode, it specifies the number or erroneous reception trials, before generating a reception error (RXNE/RXFNE and PE bits set). This bitfield must be programmed only when the USART is disabled (UE = 0). When the USART is enabled (UE = 1), this bitfield may only be written to 0x0, in order to stop retransmission. 0x1 to 0x7: number of automatic retransmission attempts (before signaling error) Note: If Smartcard mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: retransmission disabled - No automatic retransmission in transmit mode.

WUS

Bits 20-21: Wake-up from low-power mode interrupt flag selection This bitfield specifies the event which activates the WUF (wake-up from low-power mode flag). This bitfield can only be written when the USART is disabled (UE = 0). Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: WUF active on address match (as defined by ADD[7:0] and ADDM7)
1: B_0x1: Reserved.
2: B_0x2: WUF active on start bit detection
3: B_0x3: WUF active on RXNE/RXFNE.

WUFIE

Bit 22: Wake-up from low-power mode interrupt enable This bit is set and cleared by software. Note: WUFIE must be set before entering in low-power mode. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever WUF = 1 in the USART_ISR register

TXFTIE

Bit 23: TXFIFO threshold interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when TXFIFO reaches the threshold programmed in TXFTCFG.

TCBGTIE

Bit 24: Transmission complete before guard time, interrupt enable This bit is set and cleared by software. Note: If the USART does not support the Smartcard mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever TCBGT=1 in the USART_ISR register

RXFTCFG

Bits 25-27: Receive FIFO threshold configuration Remaining combinations: Reserved.

Allowed values:
0: B_0x0: Receive FIFO reaches 1/8 of its depth
1: B_0x1: Receive FIFO reaches 1/4 of its depth
2: B_0x2: Receive FIFO reaches 1/2 of its depth
3: B_0x3: Receive FIFO reaches 3/4 of its depth
4: B_0x4: Receive FIFO reaches 7/8 of its depth
5: B_0x5: Receive FIFO becomes full

RXFTIE

Bit 28: RXFIFO threshold interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when Receive FIFO reaches the threshold programmed in RXFTCFG.

TXFTCFG

Bits 29-31: TXFIFO threshold configuration Remaining combinations: Reserved.

Allowed values:
0: B_0x0: TXFIFO reaches 1/8 of its depth
1: B_0x1: TXFIFO reaches 1/4 of its depth
2: B_0x2: TXFIFO reaches 1/2 of its depth
3: B_0x3: TXFIFO reaches 3/4 of its depth
4: B_0x4: TXFIFO reaches 7/8 of its depth
5: B_0x5: TXFIFO becomes empty

USART_BRR

USART baud rate register

Offset: 0xc, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BRR
rw
Toggle fields

BRR

Bits 0-15: USART baud rate BRR[15:4] BRR[15:4] = USARTDIV[15:4] BRR[3:0] When OVER8 = 0, BRR[3:0] = USARTDIV[3:0]. When OVER8 = 1: BRR[2:0] = USARTDIV[3:0] shifted 1 bit to the right. BRR[3] must be kept cleared..

USART_GTPR

USART guard time and prescaler register

Offset: 0x10, size: 32, reset: 0x00000000, access: read-write

1/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
GT
rw
PSC
rw
Toggle fields

PSC

Bits 0-7: Prescaler value.

Allowed values:
0: B_0x0: Reserved - do not program this value
1: B_0x1: Divides the source clock by 1 (IrDA mode) / by 2 (Smarcard mode)
2: B_0x2: Divides the source clock by 2 (IrDA mode) / by 4 (Smartcard mode)
3: B_0x3: Divides the source clock by 3 (IrDA mode) / by 6 (Smartcard mode)
31: B_0x1F: Divides the source clock by 31 (IrDA mode) / by 62 (Smartcard mode)
32: B_0x20: Divides the source clock by 32 (IrDA mode)
255: B_0xFF: Divides the source clock by 255 (IrDA mode)

GT

Bits 8-15: Guard time value This bitfield is used to program the Guard time value in terms of number of baud clock periods. This is used in Smartcard mode. The Transmission Complete flag is set after this guard time value. This bitfield can only be written when the USART is disabled (UE = 0). Note: If Smartcard mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

USART_RTOR

USART receiver timeout register

Offset: 0x14, size: 32, reset: 0x00000000, access: read-write

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BLEN
rw
RTO
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RTO
rw
Toggle fields

RTO

Bits 0-23: Receiver timeout value This bitfield gives the Receiver timeout value in terms of number of bits during which there is no activity on the RX line. In standard mode, the RTOF flag is set if, after the last received character, no new start bit is detected for more than the RTO value. In Smartcard mode, this value is used to implement the CWT and BWT. See Smartcard chapter for more details. In the standard, the CWT/BWT measurement is done starting from the start bit of the last received character. Note: This value must only be programmed once per received character..

BLEN

Bits 24-31: Block length This bitfield gives the Block length in Smartcard T = 1 Reception. Its value equals the number of information characters + the length of the Epilogue Field (1-LEC/2-CRC) - 1. Examples: BLEN = 0: 0 information characters + LEC BLEN = 1: 0 information characters + CRC BLEN = 255: 254 information characters + CRC (total 256 characters)) In Smartcard mode, the Block length counter is reset when TXE = 0 (TXFE = 0 in case FIFO mode is enabled). This bitfield can be used also in other modes. In this case, the Block length counter is reset when RE = 0 (receiver disabled) and/or when the EOBCF bit is written to 1. Note: This value can be programmed after the start of the block reception (using the data from the LEN character in the Prologue Field). It must be programmed only once per received block..

USART_RQR

USART request register

Offset: 0x18, size: 32, reset: 0x00000000, access: write-only

0/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TXFRQ
w
RXFRQ
w
MMRQ
w
SBKRQ
w
ABRRQ
w
Toggle fields

ABRRQ

Bit 0: Auto baud rate request Writing 1 to this bit resets the ABRF and ABRE flags in the USART_ISR and requests an automatic baud rate measurement on the next received data frame. Note: If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

SBKRQ

Bit 1: Send break request Writing 1 to this bit sets the SBKF flag and request to send a BREAK on the line, as soon as the transmit machine is available. Note: When the application needs to send the break character following all previously inserted data, including the ones not yet transmitted, the software should wait for the TXE flag assertion before setting the SBKRQ bit..

MMRQ

Bit 2: Mute mode request Writing 1 to this bit puts the USART in Mute mode and resets the RWU flag..

RXFRQ

Bit 3: Receive data flush request Writing 1 to this bit empties the entire receive FIFO i.e. clears the bit RXFNE. This enables to discard the received data without reading them, and avoid an overrun condition..

TXFRQ

Bit 4: Transmit data flush request When FIFO mode is disabled, writing 1 to this bit sets the TXE flag. This enables to discard the transmit data. This bit must be used only in Smartcard mode, when data have not been sent due to errors (NACK) and the FE flag is active in the USART_ISR register. If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. When FIFO is enabled, TXFRQ bit is set to flush the whole FIFO. This sets the TXFE flag (Transmit FIFO empty, bit 23 in the USART_ISR register). Flushing the Transmit FIFO is supported in both UART and Smartcard modes. Note: In FIFO mode, the TXFNF flag is reset during the flush request until TxFIFO is empty in order to ensure that no data are written in the data register..

USART_ISR

USART interrupt and status register

Offset: 0x1c, size: 32, reset: 0x008000C0, access: read-only

28/28 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TXFT
r
RXFT
r
TCBGT
r
RXFF
r
TXFE
r
REACK
r
TEACK
r
WUF
r
RWU
r
SBKF
r
CMF
r
BUSY
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ABRF
r
ABRE
r
UDR
r
EOBF
r
RTOF
r
CTS
r
CTSIF
r
LBDF
r
TXFNF
r
TC
r
RXFNE
r
IDLE
r
ORE
r
NE
r
FE
r
PE
r
Toggle fields

PE

Bit 0: Parity error This bit is set by hardware when a parity error occurs in receiver mode. It is cleared by software, writing 1 to the PECF in the USART_ICR register. An interrupt is generated if PEIE = 1 in the USART_CR1 register. Note: This error is associated with the character in the USART_RDR..

Allowed values:
0: B_0x0: No parity error
1: B_0x1: Parity error

FE

Bit 1: Framing error This bit is set by hardware when a de-synchronization, excessive noise or a break character is detected. It is cleared by software, writing 1 to the FECF bit in the USART_ICR register. When transmitting data in Smartcard mode, this bit is set when the maximum number of transmit attempts is reached without success (the card NACKs the data frame). An interrupt is generated if EIE = 1 in the USART_CR3 register. Note: This error is associated with the character in the USART_RDR..

Allowed values:
0: B_0x0: No Framing error is detected
1: B_0x1: Framing error or break character is detected

NE

Bit 2: Noise detection flag This bit is set by hardware when noise is detected on a received frame. It is cleared by software, writing 1 to the NECF bit in the USART_ICR register. Note: This bit does not generate an interrupt as it appears at the same time as the RXFNE bit which itself generates an interrupt. An interrupt is generated when the NE flag is set during multi buffer communication if the EIE bit is set. Note: When the line is noise-free, the NE flag can be disabled by programming the ONEBIT bit to 1 to increase the USART tolerance to deviations (Refer to Section 26.5.8: Tolerance of the USART receiver to clock deviation on page 709). Note: This error is associated with the character in the USART_RDR..

Allowed values:
0: B_0x0: No noise is detected
1: B_0x1: Noise is detected

ORE

Bit 3: Overrun error This bit is set by hardware when the data currently being received in the shift register is ready to be transferred into the USART_RDR register while RXFF = 1. It is cleared by a software, writing 1 to the ORECF, in the USART_ICR register. An interrupt is generated if RXFNEIE = 1 in the USART_CR1 register, or EIE = 1 in the USART_CR3 register. Note: When this bit is set, the USART_RDR register content is not lost but the shift register is overwritten. An interrupt is generated if the ORE flag is set during multi buffer communication if the EIE bit is set. Note: This bit is permanently forced to 0 (no overrun detection) when the bit OVRDIS is set in the USART_CR3 register..

Allowed values:
0: B_0x0: No overrun error
1: B_0x1: Overrun error is detected

IDLE

Bit 4: Idle line detected This bit is set by hardware when an Idle Line is detected. An interrupt is generated if IDLEIE = 1 in the USART_CR1 register. It is cleared by software, writing 1 to the IDLECF in the USART_ICR register. Note: The IDLE bit is not set again until the RXFNE bit has been set (i.e. a new idle line occurs). Note: If Mute mode is enabled (MME = 1), IDLE is set if the USART is not mute (RWU = 0), whatever the Mute mode selected by the WAKE bit. If RWU = 1, IDLE is not set..

Allowed values:
0: B_0x0: No Idle line is detected
1: B_0x1: Idle line is detected

RXFNE

Bit 5: RXFIFO not empty RXFNE bit is set by hardware when the RXFIFO is not empty, meaning that data can be read from the USART_RDR register. Every read operation from the USART_RDR frees a location in the RXFIFO. RXFNE is cleared when the RXFIFO is empty. The RXFNE flag can also be cleared by writing 1 to the RXFRQ in the USART_RQR register. An interrupt is generated if RXFNEIE = 1 in the USART_CR1 register..

Allowed values:
0: B_0x0: Data is not received
1: B_0x1: Received data is ready to be read.

TC

Bit 6: Transmission complete This bit indicates that the last data written in the USART_TDR has been transmitted out of the shift register. It is set by hardware when the transmission of a frame containing data is complete and when TXFE is set. An interrupt is generated if TCIE = 1 in the USART_CR1 register. TC bit is is cleared by software, by writing 1 to the TCCF in the USART_ICR register or by a write to the USART_TDR register. Note: If TE bit is reset and no transmission is on going, the TC bit is immediately set..

Allowed values:
0: B_0x0: Transmission is not complete
1: B_0x1: Transmission is complete

TXFNF

Bit 7: TXFIFO not full TXFNF is set by hardware when TXFIFO is not full meaning that data can be written in the USART_TDR. Every write operation to the USART_TDR places the data in the TXFIFO. This flag remains set until the TXFIFO is full. When the TXFIFO is full, this flag is cleared indicating that data can not be written into the USART_TDR. An interrupt is generated if the TXFNFIE bit =1 in the USART_CR1 register. Note: The TXFNF is kept reset during the flush request until TXFIFO is empty. After sending the flush request (by setting TXFRQ bit), the flag TXFNF should be checked prior to writing in TXFIFO (TXFNF and TXFE are set at the same time). Note: This bit is used during single buffer transmission..

Allowed values:
0: B_0x0: Transmit FIFO is full
1: B_0x1: Transmit FIFO is not full

LBDF

Bit 8: LIN break detection flag This bit is set by hardware when the LIN break is detected. It is cleared by software, by writing 1 to the LBDCF in the USART_ICR. An interrupt is generated if LBDIE = 1 in the USART_CR2 register. Note: If the USART does not support LIN mode, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: LIN Break not detected
1: B_0x1: LIN break detected

CTSIF

Bit 9: CTS interrupt flag This bit is set by hardware when the CTS input toggles, if the CTSE bit is set. It is cleared by software, by writing 1 to the CTSCF bit in the USART_ICR register. An interrupt is generated if CTSIE = 1 in the USART_CR3 register. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..

Allowed values:
0: B_0x0: No change occurred on the CTS status line
1: B_0x1: A change occurred on the CTS status line

CTS

Bit 10: CTS flag This bit is set/reset by hardware. It is an inverted copy of the status of the CTS input pin. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..

Allowed values:
0: B_0x0: CTS line set
1: B_0x1: CTS line reset

RTOF

Bit 11: Receiver timeout This bit is set by hardware when the timeout value, programmed in the RTOR register has lapsed, without any communication. It is cleared by software, writing 1 to the RTOCF bit in the USART_ICR register. An interrupt is generated if RTOIE = 1 in the USART_CR2 register. In Smartcard mode, the timeout corresponds to the CWT or BWT timings. Note: If a time equal to the value programmed in RTOR register separates 2 characters, RTOF is not set. If this time exceeds this value + 2 sample times (2/16 or 2/8, depending on the oversampling method), RTOF flag is set. Note: The counter counts even if RE = 0 but RTOF is set only when RE = 1. If the timeout has already elapsed when RE is set, then RTOF is set. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and kept at reset value..

Allowed values:
0: B_0x0: Timeout value not reached
1: B_0x1: Timeout value reached without any data reception

EOBF

Bit 12: End of block flag This bit is set by hardware when a complete block has been received (for example T = 1 Smartcard mode). The detection is done when the number of received bytes (from the start of the block, including the prologue) is equal or greater than BLEN + 4. An interrupt is generated if the EOBIE = 1 in the USART_CR1 register. It is cleared by software, writing 1 to the EOBCF in the USART_ICR register. Note: If Smartcard mode is not supported, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: End of Block not reached
1: B_0x1: End of Block (number of characters) reached

UDR

Bit 13: SPI slave underrun error flag In slave transmission mode, this flag is set when the first clock pulse for data transmission appears while the software has not yet loaded any value into USART_TDR. This flag is reset by setting UDRCF bit in the USART_ICR register. Note: If the USART does not support the SPI slave mode, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: No underrun error
1: B_0x1: underrun error

ABRE

Bit 14: Auto baud rate error This bit is set by hardware if the baud rate measurement failed (baud rate out of range or character comparison failed) It is cleared by software, by writing 1 to the ABRRQ bit in the USART_RQR register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..

ABRF

Bit 15: Auto baud rate flag This bit is set by hardware when the automatic baud rate has been set (RXFNE is also set, generating an interrupt if RXFNEIE = 1) or when the auto baud rate operation was completed without success (ABRE = 1) (ABRE, RXFNE and FE are also set in this case) It is cleared by software, in order to request a new auto baud rate detection, by writing 1 to the ABRRQ in the USART_RQR register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..

BUSY

Bit 16: Busy flag This bit is set and reset by hardware. It is active when a communication is ongoing on the RX line (successful start bit detected). It is reset at the end of the reception (successful or not)..

Allowed values:
0: B_0x0: USART is idle (no reception)
1: B_0x1: Reception on going

CMF

Bit 17: Character match flag This bit is set by hardware, when a the character defined by ADD[7:0] is received. It is cleared by software, writing 1 to the CMCF in the USART_ICR register. An interrupt is generated if CMIE = 1in the USART_CR1 register..

Allowed values:
0: B_0x0: No Character match detected
1: B_0x1: Character Match detected

SBKF

Bit 18: Send break flag This bit indicates that a send break character was requested. It is set by software, by writing 1 to the SBKRQ bit in the USART_CR3 register. It is automatically reset by hardware during the stop bit of break transmission..

Allowed values:
0: B_0x0: Break character transmitted
1: B_0x1: Break character requested by setting SBKRQ bit in USART_RQR register

RWU

Bit 19: Receiver wake-up from Mute mode This bit indicates if the USART is in Mute mode. It is cleared/set by hardware when a wake-up/mute sequence is recognized. The Mute mode control sequence (address or IDLE) is selected by the WAKE bit in the USART_CR1 register. When wake-up on IDLE mode is selected, this bit can only be set by software, writing 1 to the MMRQ bit in the USART_RQR register. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Receiver in active mode
1: B_0x1: Receiver in Mute mode

WUF

Bit 20: Wake-up from low-power mode flag This bit is set by hardware, when a wake-up event is detected. The event is defined by the WUS bitfield. It is cleared by software, writing a 1 to the WUCF in the USART_ICR register. An interrupt is generated if WUFIE = 1 in the USART_CR3 register. Note: When UESM is cleared, WUF flag is also cleared. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

TEACK

Bit 21: Transmit enable acknowledge flag This bit is set/reset by hardware, when the Transmit Enable value is taken into account by the USART. It can be used when an idle frame request is generated by writing TE = 0, followed by TE = 1 in the USART_CR1 register, in order to respect the TE = 0 minimum period..

REACK

Bit 22: Receive enable acknowledge flag This bit is set/reset by hardware, when the Receive Enable value is taken into account by the USART. It can be used to verify that the USART is ready for reception before entering low-power mode. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

TXFE

Bit 23: TXFIFO empty This bit is set by hardware when TXFIFO is empty. When the TXFIFO contains at least one data, this flag is cleared. The TXFE flag can also be set by writing 1 to the bit TXFRQ (bit 4) in the USART_RQR register. An interrupt is generated if the TXFEIE bit = 1 (bit 30) in the USART_CR1 register..

Allowed values:
0: B_0x0: TXFIFO not empty.
1: B_0x1: TXFIFO empty.

RXFF

Bit 24: RXFIFO full This bit is set by hardware when the number of received data corresponds to RXFIFO size + 1 (RXFIFO full + 1 data in the USART_RDR register. An interrupt is generated if the RXFFIE bit = 1 in the USART_CR1 register..

Allowed values:
0: B_0x0: RXFIFO not full.
1: B_0x1: RXFIFO Full.

TCBGT

Bit 25: Transmission complete before guard time flag.

Allowed values:
0: B_0x0: Transmission is not complete or transmission is complete unsuccessfully (i.e. a NACK is received from the card)
1: B_0x1: Transmission is complete successfully (before Guard time completion and there is no NACK from the smart card).

RXFT

Bit 26: RXFIFO threshold flag This bit is set by hardware when the threshold programmed in RXFTCFG in USART_CR3 register is reached. This means that there are (RXFTCFG - 1) data in the Receive FIFO and one data in the USART_RDR register. An interrupt is generated if the RXFTIE bit = 1 (bit 27) in the USART_CR3 register. Note: When the RXFTCFG threshold is configured to 101 , RXFT flag is set if 16 data are available i.e. 15 data in the RXFIFO and 1 data in the USART_RDR. Consequently, the 17th received data does not cause an overrun error. The overrun error occurs after receiving the 18th data..

Allowed values:
0: B_0x0: Receive FIFO does not reach the programmed threshold.
1: B_0x1: Receive FIFO reached the programmed threshold.

TXFT

Bit 27: TXFIFO threshold flag This bit is set by hardware when the TXFIFO reaches the threshold programmed in TXFTCFG of USART_CR3 register i.e. the TXFIFO contains TXFTCFG empty locations. An interrupt is generated if the TXFTIE bit = 1 (bit 31) in the USART_CR3 register..

Allowed values:
0: B_0x0: TXFIFO does not reach the programmed threshold.
1: B_0x1: TXFIFO reached the programmed threshold.

USART_ISR_ALTERNATE1

USART interrupt and status register

Offset: 0x1c, size: 32, reset: 0x000000C0, access: read-only

24/24 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TCBGT
r
REACK
r
TEACK
r
WUF
r
RWU
r
SBKF
r
CMF
r
BUSY
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ABRF
r
ABRE
r
UDR
r
EOBF
r
RTOF
r
CTS
r
CTSIF
r
LBDF
r
TXE
r
TC
r
RXNE
r
IDLE
r
ORE
r
NE
r
FE
r
PE
r
Toggle fields

PE

Bit 0: Parity error This bit is set by hardware when a parity error occurs in receiver mode. It is cleared by software, writing 1 to the PECF in the USART_ICR register. An interrupt is generated if PEIE = 1 in the USART_CR1 register..

Allowed values:
0: B_0x0: No parity error
1: B_0x1: Parity error

FE

Bit 1: Framing error This bit is set by hardware when a de-synchronization, excessive noise or a break character is detected. It is cleared by software, writing 1 to the FECF bit in the USART_ICR register. When transmitting data in Smartcard mode, this bit is set when the maximum number of transmit attempts is reached without success (the card NACKs the data frame). An interrupt is generated if EIE = 1 in the USART_CR3 register..

Allowed values:
0: B_0x0: No Framing error is detected
1: B_0x1: Framing error or break character is detected

NE

Bit 2: Noise detection flag This bit is set by hardware when noise is detected on a received frame. It is cleared by software, writing 1 to the NECF bit in the USART_ICR register. Note: This bit does not generate an interrupt as it appears at the same time as the RXNE bit which itself generates an interrupt. An interrupt is generated when the NE flag is set during multi buffer communication if the EIE bit is set. Note: When the line is noise-free, the NE flag can be disabled by programming the ONEBIT bit to 1 to increase the USART tolerance to deviations (Refer to Section 26.5.8: Tolerance of the USART receiver to clock deviation on page 709)..

Allowed values:
0: B_0x0: No noise is detected
1: B_0x1: Noise is detected

ORE

Bit 3: Overrun error This bit is set by hardware when the data currently being received in the shift register is ready to be transferred into the USART_RDR register while RXNE = 1. It is cleared by a software, writing 1 to the ORECF, in the USART_ICR register. An interrupt is generated if RXNEIE = 1 or EIE = 1 in the LPUART_CR1 register, or EIE = 1 in the USART_CR3 register. Note: When this bit is set, the USART_RDR register content is not lost but the shift register is overwritten. An interrupt is generated if the ORE flag is set during multi buffer communication if the EIE bit is set. Note: This bit is permanently forced to 0 (no overrun detection) when the bit OVRDIS is set in the USART_CR3 register..

Allowed values:
0: B_0x0: No overrun error
1: B_0x1: Overrun error is detected

IDLE

Bit 4: Idle line detected This bit is set by hardware when an Idle Line is detected. An interrupt is generated if IDLEIE = 1 in the USART_CR1 register. It is cleared by software, writing 1 to the IDLECF in the USART_ICR register. Note: The IDLE bit is not set again until the RXNE bit has been set (i.e. a new idle line occurs). Note: If Mute mode is enabled (MME = 1), IDLE is set if the USART is not mute (RWU = 0), whatever the Mute mode selected by the WAKE bit. If RWU = 1, IDLE is not set..

Allowed values:
0: B_0x0: No Idle line is detected
1: B_0x1: Idle line is detected

RXNE

Bit 5: Read data register not empty RXNE bit is set by hardware when the content of the USART_RDR shift register has been transferred to the USART_RDR register. It is cleared by reading from the USART_RDR register. The RXNE flag can also be cleared by writing 1 to the RXFRQ in the USART_RQR register. An interrupt is generated if RXNEIE = 1 in the USART_CR1 register..

Allowed values:
0: B_0x0: Data is not received
1: B_0x1: Received data is ready to be read.

TC

Bit 6: Transmission complete This bit indicates that the last data written in the USART_TDR has been transmitted out of the shift register. It is set by hardware when the transmission of a frame containing data is complete and when TXE is set. An interrupt is generated if TCIE = 1 in the USART_CR1 register. TC bit is is cleared by software, by writing 1 to the TCCF in the USART_ICR register or by a write to the USART_TDR register. Note: If TE bit is reset and no transmission is on going, the TC bit is set immediately..

Allowed values:
0: B_0x0: Transmission is not complete
1: B_0x1: Transmission is complete

TXE

Bit 7: Transmit data register empty TXE is set by hardware when the content of the USART_TDR register has been transferred into the shift register. It is cleared by writing to the USART_TDR register. The TXE flag can also be set by writing 1 to the TXFRQ in the USART_RQR register, in order to discard the data (only in Smartcard T = 0 mode, in case of transmission failure). An interrupt is generated if the TXEIE bit = 1 in the USART_CR1 register..

Allowed values:
0: B_0x0: Data register full
1: B_0x1: Data register not full

LBDF

Bit 8: LIN break detection flag This bit is set by hardware when the LIN break is detected. It is cleared by software, by writing 1 to the LBDCF in the USART_ICR. An interrupt is generated if LBDIE = 1 in the USART_CR2 register. Note: If the USART does not support LIN mode, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: LIN Break not detected
1: B_0x1: LIN break detected

CTSIF

Bit 9: CTS interrupt flag This bit is set by hardware when the CTS input toggles, if the CTSE bit is set. It is cleared by software, by writing 1 to the CTSCF bit in the USART_ICR register. An interrupt is generated if CTSIE = 1 in the USART_CR3 register. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..

Allowed values:
0: B_0x0: No change occurred on the CTS status line
1: B_0x1: A change occurred on the CTS status line

CTS

Bit 10: CTS flag This bit is set/reset by hardware. It is an inverted copy of the status of the CTS input pin. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..

Allowed values:
0: B_0x0: CTS line set
1: B_0x1: CTS line reset

RTOF

Bit 11: Receiver timeout This bit is set by hardware when the timeout value, programmed in the RTOR register has lapsed, without any communication. It is cleared by software, writing 1 to the RTOCF bit in the USART_ICR register. An interrupt is generated if RTOIE = 1 in the USART_CR2 register. In Smartcard mode, the timeout corresponds to the CWT or BWT timings. Note: If a time equal to the value programmed in RTOR register separates 2 characters, RTOF is not set. If this time exceeds this value + 2 sample times (2/16 or 2/8, depending on the oversampling method), RTOF flag is set. Note: The counter counts even if RE = 0 but RTOF is set only when RE = 1. If the timeout has already elapsed when RE is set, then RTOF is set. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and kept at reset value..

Allowed values:
0: B_0x0: Timeout value not reached
1: B_0x1: Timeout value reached without any data reception

EOBF

Bit 12: End of block flag This bit is set by hardware when a complete block has been received (for example T = 1 Smartcard mode). The detection is done when the number of received bytes (from the start of the block, including the prologue) is equal or greater than BLEN + 4. An interrupt is generated if the EOBIE = 1 in the USART_CR1 register. It is cleared by software, writing 1 to the EOBCF in the USART_ICR register. Note: If Smartcard mode is not supported, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: End of Block not reached
1: B_0x1: End of Block (number of characters) reached

UDR

Bit 13: SPI slave underrun error flag In slave transmission mode, this flag is set when the first clock pulse for data transmission appears while the software has not yet loaded any value into USART_TDR. This flag is reset by setting UDRCF bit in the USART_ICR register. Note: If the USART does not support the SPI slave mode, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: No underrun error
1: B_0x1: underrun error

ABRE

Bit 14: Auto baud rate error This bit is set by hardware if the baud rate measurement failed (baud rate out of range or character comparison failed) It is cleared by software, by writing 1 to the ABRRQ bit in the USART_RQR register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..

ABRF

Bit 15: Auto baud rate flag This bit is set by hardware when the automatic baud rate has been set (RXNE is also set, generating an interrupt if RXNEIE = 1) or when the auto baud rate operation was completed without success (ABRE = 1) (ABRE, RXNE and FE are also set in this case) It is cleared by software, in order to request a new auto baud rate detection, by writing 1 to the ABRRQ in the USART_RQR register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..

BUSY

Bit 16: Busy flag This bit is set and reset by hardware. It is active when a communication is ongoing on the RX line (successful start bit detected). It is reset at the end of the reception (successful or not)..

Allowed values:
0: B_0x0: USART is idle (no reception)
1: B_0x1: Reception on going

CMF

Bit 17: Character match flag This bit is set by hardware, when a the character defined by ADD[7:0] is received. It is cleared by software, writing 1 to the CMCF in the USART_ICR register. An interrupt is generated if CMIE = 1in the USART_CR1 register..

Allowed values:
0: B_0x0: No Character match detected
1: B_0x1: Character Match detected

SBKF

Bit 18: Send break flag This bit indicates that a send break character was requested. It is set by software, by writing 1 to the SBKRQ bit in the USART_CR3 register. It is automatically reset by hardware during the stop bit of break transmission..

Allowed values:
0: B_0x0: Break character transmitted
1: B_0x1: Break character requested by setting SBKRQ bit in USART_RQR register

RWU

Bit 19: Receiver wake-up from Mute mode This bit indicates if the USART is in Mute mode. It is cleared/set by hardware when a wake-up/mute sequence is recognized. The Mute mode control sequence (address or IDLE) is selected by the WAKE bit in the USART_CR1 register. When wake-up on IDLE mode is selected, this bit can only be set by software, writing 1 to the MMRQ bit in the USART_RQR register. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Receiver in active mode
1: B_0x1: Receiver in Mute mode

WUF

Bit 20: Wake-up from low-power mode flag This bit is set by hardware, when a wake-up event is detected. The event is defined by the WUS bitfield. It is cleared by software, writing a 1 to the WUCF in the USART_ICR register. An interrupt is generated if WUFIE = 1 in the USART_CR3 register. Note: When UESM is cleared, WUF flag is also cleared. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

TEACK

Bit 21: Transmit enable acknowledge flag This bit is set/reset by hardware, when the Transmit Enable value is taken into account by the USART. It can be used when an idle frame request is generated by writing TE = 0, followed by TE = 1 in the USART_CR1 register, in order to respect the TE = 0 minimum period..

REACK

Bit 22: Receive enable acknowledge flag This bit is set/reset by hardware, when the Receive Enable value is taken into account by the USART. It can be used to verify that the USART is ready for reception before entering low-power mode. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

TCBGT

Bit 25: Transmission complete before guard time flag.

Allowed values:
0: B_0x0: Transmission is not complete or transmission is complete unsuccessfully (i.e. a NACK is received from the card)
1: B_0x1: Transmission is complete successfully (before Guard time completion and there is no NACK from the smart card).

USART_ICR

USART interrupt flag clear register

Offset: 0x20, size: 32, reset: 0x00000000, access: write-only

0/15 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
WUCF
w
CMCF
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
UDRCF
w
EOBCF
w
RTOCF
w
CTSCF
w
LBDCF
w
TCBGTCF
w
TCCF
w
TXFECF
w
IDLECF
w
ORECF
w
NECF
w
FECF
w
PECF
w
Toggle fields

PECF

Bit 0: Parity error clear flag Writing 1 to this bit clears the PE flag in the USART_ISR register..

FECF

Bit 1: Framing error clear flag Writing 1 to this bit clears the FE flag in the USART_ISR register..

NECF

Bit 2: Noise detected clear flag Writing 1 to this bit clears the NE flag in the USART_ISR register..

ORECF

Bit 3: Overrun error clear flag Writing 1 to this bit clears the ORE flag in the USART_ISR register..

IDLECF

Bit 4: Idle line detected clear flag Writing 1 to this bit clears the IDLE flag in the USART_ISR register..

TXFECF

Bit 5: TXFIFO empty clear flag Writing 1 to this bit clears the TXFE flag in the USART_ISR register..

TCCF

Bit 6: Transmission complete clear flag Writing 1 to this bit clears the TC flag in the USART_ISR register..

TCBGTCF

Bit 7: Transmission complete before Guard time clear flag Writing 1 to this bit clears the TCBGT flag in the USART_ISR register..

LBDCF

Bit 8: LIN break detection clear flag Writing 1 to this bit clears the LBDF flag in the USART_ISR register. Note: If LIN mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

CTSCF

Bit 9: CTS clear flag Writing 1 to this bit clears the CTSIF flag in the USART_ISR register. Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

RTOCF

Bit 11: Receiver timeout clear flag Writing 1 to this bit clears the RTOF flag in the USART_ISR register. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

EOBCF

Bit 12: End of block clear flag Writing 1 to this bit clears the EOBF flag in the USART_ISR register. Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

UDRCF

Bit 13: SPI slave underrun clear flag Writing 1 to this bit clears the UDRF flag in the USART_ISR register. Note: If the USART does not support SPI slave mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691.

CMCF

Bit 17: Character match clear flag Writing 1 to this bit clears the CMF flag in the USART_ISR register..

WUCF

Bit 20: Wake-up from low-power mode clear flag Writing 1 to this bit clears the WUF flag in the USART_ISR register. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

USART_RDR

USART receive data register

Offset: 0x24, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RDR
r
Toggle fields

RDR

Bits 0-8: Receive data value Contains the received data character. The RDR register provides the parallel interface between the input shift register and the internal bus (see Figure 243). When receiving with the parity enabled, the value read in the MSB bit is the received parity bit..

USART_TDR

USART transmit data register

Offset: 0x28, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TDR
rw
Toggle fields

TDR

Bits 0-8: Transmit data value Contains the data character to be transmitted. The USART_TDR register provides the parallel interface between the internal bus and the output shift register (see Figure 243). When transmitting with the parity enabled (PCE bit set to 1 in the USART_CR1 register), the value written in the MSB (bit 7 or bit 8 depending on the data length) has no effect because it is replaced by the parity. Note: This register must be written only when TXE/TXFNF = 1..

USART_PRESC

USART prescaler register

Offset: 0x2c, size: 32, reset: 0x00000000, access: read-write

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PRESCALER
rw
Toggle fields

PRESCALER

Bits 0-3: Clock prescaler The USART input clock can be divided by a prescaler factor: Remaining combinations: Reserved Note: When PRESCALER is programmed with a value different of the allowed ones, programmed prescaler value is 1011 i.e. input clock divided by 256..

Allowed values:
0: B_0x0: input clock not divided
1: B_0x1: input clock divided by 2
2: B_0x2: input clock divided by 4
3: B_0x3: input clock divided by 6
4: B_0x4: input clock divided by 8
5: B_0x5: input clock divided by 10
6: B_0x6: input clock divided by 12
7: B_0x7: input clock divided by 16
8: B_0x8: input clock divided by 32
9: B_0x9: input clock divided by 64
10: B_0xA: input clock divided by 128
11: B_0xB: input clock divided by 256

USART3

0x40004800: USART address block description

136/170 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 USART_CR1
0x0 USART_CR1_ALTERNATE1
0x4 USART_CR2
0x8 USART_CR3
0xc USART_BRR
0x10 USART_GTPR
0x14 USART_RTOR
0x18 USART_RQR
0x1c USART_ISR
0x1c USART_ISR_ALTERNATE1
0x20 USART_ICR
0x24 USART_RDR
0x28 USART_TDR
0x2c USART_PRESC
Toggle registers

USART_CR1

USART control register 1

Offset: 0x0, size: 32, reset: 0x00000000, access: read-write

20/24 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RXFFIE
rw
TXFEIE
rw
FIFOEN
rw
M1
rw
EOBIE
rw
RTOIE
rw
DEAT
rw
DEDT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OVER8
rw
CMIE
rw
MME
rw
M0
rw
WAKE
rw
PCE
rw
PS
rw
PEIE
rw
TXFNFIE
rw
TCIE
rw
RXFNEIE
rw
IDLEIE
rw
TE
rw
RE
rw
UESM
rw
UE
rw
Toggle fields

UE

Bit 0: USART enable When this bit is cleared, the USART prescalers and outputs are stopped immediately, and all current operations are discarded. The USART configuration is kept, but all the USART_ISR status flags are reset. This bit is set and cleared by software. Note: To enter low-power mode without generating errors on the line, the TE bit must be previously reset and the software must wait for the TC bit in the USART_ISR to be set before resetting the UE bit. Note: The DMA requests are also reset when UE = 0 so the DMA channel must be disabled before resetting the UE bit. Note: In Smartcard mode, (SCEN = 1), the CK is always available when CLKEN = 1, regardless of the UE bit value..

Allowed values:
0: B_0x0: USART prescaler and outputs disabled, low-power mode
1: B_0x1: USART enabled

UESM

Bit 1: USART enable in low-power mode When this bit is cleared, the USART cannot wake up the MCU from low-power mode. When this bit is set, the USART can wake up the MCU from low-power mode. This bit is set and cleared by software. Note: It is recommended to set the UESM bit just before entering low-power mode and clear it when exit from low-power mode. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: USART not able to wake up the MCU from low-power mode.
1: B_0x1: USART able to wake up the MCU from low-power mode.

RE

Bit 2: Receiver enable This bit enables the receiver. It is set and cleared by software..

Allowed values:
0: B_0x0: Receiver is disabled
1: B_0x1: Receiver is enabled and begins searching for a start bit

TE

Bit 3: Transmitter enable This bit enables the transmitter. It is set and cleared by software. Note: During transmission, a low pulse on the TE bit ( 0 followed by 1 ) sends a preamble (idle line) after the current word, except in Smartcard mode. In order to generate an idle character, the TE must not be immediately written to 1 . To ensure the required duration, the software can poll the TEACK bit in the USART_ISR register. Note: In Smartcard mode, when TE is set, there is a 1 bit-time delay before the transmission starts..

Allowed values:
0: B_0x0: Transmitter is disabled
1: B_0x1: Transmitter is enabled

IDLEIE

Bit 4: IDLE interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever IDLE = 1 in the USART_ISR register

RXFNEIE

Bit 5: RXFIFO not empty interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever ORE = 1 or RXFNE = 1 in the USART_ISR register

TCIE

Bit 6: Transmission complete interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever TC = 1 in the USART_ISR register

TXFNFIE

Bit 7: TXFIFO not-full interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever TXFNF =1 in the USART_ISR register

PEIE

Bit 8: PE interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever PE = 1 in the USART_ISR register

PS

Bit 9: Parity selection This bit selects the odd or even parity when the parity generation/detection is enabled (PCE bit set). It is set and cleared by software. The parity is selected after the current byte. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Even parity
1: B_0x1: Odd parity

PCE

Bit 10: Parity control enable This bit selects the hardware parity control (generation and detection). When the parity control is enabled, the computed parity is inserted at the MSB position (9th bit if M = 1; 8th bit if M = 0) and the parity is checked on the received data. This bit is set and cleared by software. Once it is set, PCE is active after the current byte (in reception and in transmission). This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Parity control disabled
1: B_0x1: Parity control enabled

WAKE

Bit 11: Receiver wake-up method This bit determines the USART wake-up method from Mute mode. It is set or cleared by software. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Idle line
1: B_0x1: Address mark

M0

Bit 12: Word length This bit is used in conjunction with bit 28 (M1) to determine the word length. It is set or cleared by software (refer to bit 28 (M1)description). This bit can only be written when the USART is disabled (UE = 0)..

MME

Bit 13: Mute mode enable This bit enables the USART Mute mode function. When set, the USART can switch between active and Mute mode, as defined by the WAKE bit. It is set and cleared by software..

Allowed values:
0: B_0x0: Receiver in active mode permanently
1: B_0x1: Receiver can switch between Mute mode and active mode.

CMIE

Bit 14: Character match interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when the CMF bit is set in the USART_ISR register.

OVER8

Bit 15: Oversampling mode This bit can only be written when the USART is disabled (UE = 0). Note: In LIN, IrDA and Smartcard modes, this bit must be kept cleared..

Allowed values:
0: B_0x0: Oversampling by 16
1: B_0x1: Oversampling by 8

DEDT

Bits 16-20: Driver enable deassertion time This 5-bit value defines the time between the end of the last stop bit, in a transmitted message, and the de-activation of the DE (Driver Enable) signal. It is expressed in sample time units (1/8 or 1/16 bit time, depending on the oversampling rate). If the USART_TDR register is written during the DEDT time, the new data is transmitted only when the DEDT and DEAT times have both elapsed. This bitfield can only be written when the USART is disabled (UE = 0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

DEAT

Bits 21-25: Driver enable assertion time This 5-bit value defines the time between the activation of the DE (Driver Enable) signal and the beginning of the start bit. It is expressed in sample time units (1/8 or 1/16 bit time, depending on the oversampling rate). This bitfield can only be written when the USART is disabled (UE = 0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

RTOIE

Bit 26: Receiver timeout interrupt enable This bit is set and cleared by software. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when the RTOF bit is set in the USART_ISR register.

EOBIE

Bit 27: End-of-block interrupt enable This bit is set and cleared by software. Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when the EOBF flag is set in the USART_ISR register

M1

Bit 28: Word length This bit must be used in conjunction with bit 12 (M0) to determine the word length. It is set or cleared by software. M[1:0] = 00 : 1 start bit, 8 Data bits, n Stop bit M[1:0] = 01 : 1 start bit, 9 Data bits, n Stop bit M[1:0] = 10 : 1 start bit, 7 Data bits, n Stop bit This bit can only be written when the USART is disabled (UE = 0). Note: In 7-bits data length mode, the Smartcard mode, LIN master mode and auto baud rate (0x7F and 0x55 frames detection) are not supported..

FIFOEN

Bit 29: FIFO mode enable This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE = 0). Note: FIFO mode can be used on standard UART communication, in SPI master/slave mode and in Smartcard modes only. It must not be enabled in IrDA and LIN modes..

Allowed values:
0: B_0x0: FIFO mode is disabled.
1: B_0x1: FIFO mode is enabled.

TXFEIE

Bit 30: TXFIFO empty interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when TXFE = 1 in the USART_ISR register

RXFFIE

Bit 31: RXFIFO full interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when RXFF = 1 in the USART_ISR register

USART_CR1_ALTERNATE1

USART control register 1

Offset: 0x0, size: 32, reset: 0x00000000, access: read-write

18/22 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FIFOEN
rw
M1
rw
EOBIE
rw
RTOIE
rw
DEAT
rw
DEDT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OVER8
rw
CMIE
rw
MME
rw
M0
rw
WAKE
rw
PCE
rw
PS
rw
PEIE
rw
TXEIE
rw
TCIE
rw
RXNEIE
rw
IDLEIE
rw
TE
rw
RE
rw
UESM
rw
UE
rw
Toggle fields

UE

Bit 0: USART enable When this bit is cleared, the USART prescalers and outputs are stopped immediately, and all current operations are discarded. The USART configuration is kept, but all the USART_ISR status flags are reset. This bit is set and cleared by software. Note: To enter low-power mode without generating errors on the line, the TE bit must be previously reset and the software must wait for the TC bit in the USART_ISR to be set before resetting the UE bit. Note: The DMA requests are also reset when UE = 0 so the DMA channel must be disabled before resetting the UE bit. Note: In Smartcard mode, (SCEN = 1), the CK pin is always available when CLKEN = 1, regardless of the UE bit value..

Allowed values:
0: B_0x0: USART prescaler and outputs disabled, low-power mode
1: B_0x1: USART enabled

UESM

Bit 1: USART enable in low-power mode When this bit is cleared, the USART cannot wake up the MCU from low-power mode. When this bit is set, the USART can wake up the MCU from low-power mode. This bit is set and cleared by software. Note: It is recommended to set the UESM bit just before entering low-power mode and clear it when exit from low-power mode. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: USART not able to wake up the MCU from low-power mode.
1: B_0x1: USART able to wake up the MCU from low-power mode.

RE

Bit 2: Receiver enable This bit enables the receiver. It is set and cleared by software..

Allowed values:
0: B_0x0: Receiver is disabled
1: B_0x1: Receiver is enabled and begins searching for a start bit

TE

Bit 3: Transmitter enable This bit enables the transmitter. It is set and cleared by software. Note: During transmission, a low pulse on the TE bit ( 0 followed by 1 ) sends a preamble (idle line) after the current word, except in Smartcard mode. In order to generate an idle character, the TE must not be immediately written to 1 . To ensure the required duration, the software can poll the TEACK bit in the USART_ISR register. Note: In Smartcard mode, when TE is set, there is a 1 bit-time delay before the transmission starts..

Allowed values:
0: B_0x0: Transmitter is disabled
1: B_0x1: Transmitter is enabled

IDLEIE

Bit 4: IDLE interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever IDLE = 1 in the USART_ISR register

RXNEIE

Bit 5: Receive data register not empty This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever ORE = 1 or RXNE = 1 in the USART_ISR register

TCIE

Bit 6: Transmission complete interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever TC = 1 in the USART_ISR register

TXEIE

Bit 7: Transmit data register empty This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever TXE =1 in the USART_ISR register

PEIE

Bit 8: PE interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever PE = 1 in the USART_ISR register

PS

Bit 9: Parity selection This bit selects the odd or even parity when the parity generation/detection is enabled (PCE bit set). It is set and cleared by software. The parity is selected after the current byte. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Even parity
1: B_0x1: Odd parity

PCE

Bit 10: Parity control enable This bit selects the hardware parity control (generation and detection). When the parity control is enabled, the computed parity is inserted at the MSB position (9th bit if M = 1; 8th bit if M = 0) and the parity is checked on the received data. This bit is set and cleared by software. Once it is set, PCE is active after the current byte (in reception and in transmission). This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Parity control disabled
1: B_0x1: Parity control enabled

WAKE

Bit 11: Receiver wake-up method This bit determines the USART wake-up method from Mute mode. It is set or cleared by software. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Idle line
1: B_0x1: Address mark

M0

Bit 12: Word length This bit is used in conjunction with bit 28 (M1) to determine the word length. It is set or cleared by software (refer to bit 28 (M1)description). This bit can only be written when the USART is disabled (UE = 0)..

MME

Bit 13: Mute mode enable This bit enables the USART Mute mode function. When set, the USART can switch between active and Mute mode, as defined by the WAKE bit. It is set and cleared by software..

Allowed values:
0: B_0x0: Receiver in active mode permanently
1: B_0x1: Receiver can switch between Mute mode and active mode.

CMIE

Bit 14: Character match interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when the CMF bit is set in the USART_ISR register.

OVER8

Bit 15: Oversampling mode This bit can only be written when the USART is disabled (UE = 0). Note: In LIN, IrDA and Smartcard modes, this bit must be kept cleared..

Allowed values:
0: B_0x0: Oversampling by 16
1: B_0x1: Oversampling by 8

DEDT

Bits 16-20: Driver enable deassertion time This 5-bit value defines the time between the end of the last stop bit, in a transmitted message, and the de-activation of the DE (Driver Enable) signal. It is expressed in sample time units (1/8 or 1/16 bit time, depending on the oversampling rate). If the USART_TDR register is written during the DEDT time, the new data is transmitted only when the DEDT and DEAT times have both elapsed. This bitfield can only be written when the USART is disabled (UE = 0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

DEAT

Bits 21-25: Driver enable assertion time This 5-bit value defines the time between the activation of the DE (Driver Enable) signal and the beginning of the start bit. It is expressed in sample time units (1/8 or 1/16 bit time, depending on the oversampling rate). This bitfield can only be written when the USART is disabled (UE = 0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

RTOIE

Bit 26: Receiver timeout interrupt enable This bit is set and cleared by software. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when the RTOF bit is set in the USART_ISR register.

EOBIE

Bit 27: End of Bbock interrupt enable This bit is set and cleared by software. Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when the EOBF flag is set in the USART_ISR register

M1

Bit 28: Word length This bit must be used in conjunction with bit 12 (M0) to determine the word length. It is set or cleared by software. M[1:0] = 00 : 1 start bit, 8 Data bits, n Stop bit M[1:0] = 01 : 1 start bit, 9 Data bits, n Stop bit M[1:0] = 10 : 1 start bit, 7 Data bits, n Stop bit This bit can only be written when the USART is disabled (UE = 0). Note: In 7-bits data length mode, the Smartcard mode, LIN master mode and auto baud rate (0x7F and 0x55 frames detection) are not supported..

FIFOEN

Bit 29: FIFO mode enable This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE = 0). Note: FIFO mode can be used on standard UART communication, in SPI master/slave mode and in Smartcard modes only. It must not be enabled in IrDA and LIN modes..

Allowed values:
0: B_0x0: FIFO mode is disabled.
1: B_0x1: FIFO mode is enabled.

USART_CR2

USART control register 2

Offset: 0x4, size: 32, reset: 0x00000000, access: read-write

19/20 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ADD
rw
RTOEN
rw
ABRMOD
rw
ABREN
rw
MSBFIRST
rw
DATAINV
rw
TXINV
rw
RXINV
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SWAP
rw
LINEN
rw
STOP
rw
CLKEN
rw
CPOL
rw
CPHA
rw
LBCL
rw
LBDIE
rw
LBDL
rw
ADDM7
rw
DIS_NSS
rw
SLVEN
rw
Toggle fields

SLVEN

Bit 0: Synchronous Slave mode enable When the SLVEN bit is set, the synchronous slave mode is enabled. Note: When SPI slave mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Slave mode disabled.
1: B_0x1: Slave mode enabled.

DIS_NSS

Bit 3: NSS pin enable When the DIS_NSS bit is set, the NSS pin input is ignored. Note: When SPI slave mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: SPI slave selection depends on NSS input pin.
1: B_0x1: SPI slave is always selected and NSS input pin is ignored.

ADDM7

Bit 4: 7-bit address detection/4-bit address detection This bit is for selection between 4-bit address detection or 7-bit address detection. This bit can only be written when the USART is disabled (UE = 0) Note: In 7-bit and 9-bit data modes, the address detection is done on 6-bit and 8-bit address (ADD[5:0] and ADD[7:0]) respectively..

Allowed values:
0: B_0x0: 4-bit address detection
1: B_0x1: 7-bit address detection (in 8-bit data mode)

LBDL

Bit 5: LIN break detection length This bit is for selection between 11 bit or 10 bit break detection. This bit can only be written when the USART is disabled (UE = 0). Note: If LIN mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: 10-bit break detection
1: B_0x1: 11-bit break detection

LBDIE

Bit 6: LIN break detection interrupt enable Break interrupt mask (break detection using break delimiter). Note: If LIN mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt is inhibited
1: B_0x1: An interrupt is generated whenever LBDF = 1 in the USART_ISR register

LBCL

Bit 8: Last bit clock pulse This bit is used to select whether the clock pulse associated with the last data bit transmitted (MSB) has to be output on the CK pin in synchronous mode. The last bit is the 7th or 8th or 9th data bit transmitted depending on the 7 or 8 or 9 bit format selected by the M bit in the USART_CR1 register. This bit can only be written when the USART is disabled (UE = 0). Note: If synchronous mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: The clock pulse of the last data bit is not output to the CK pin
1: B_0x1: The clock pulse of the last data bit is output to the CK pin

CPHA

Bit 9: Clock phase This bit is used to select the phase of the clock output on the CK pin in synchronous mode. It works in conjunction with the CPOL bit to produce the desired clock/data relationship (see Figure 249 and Figure 250) This bit can only be written when the USART is disabled (UE = 0). Note: If synchronous mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: The first clock transition is the first data capture edge
1: B_0x1: The second clock transition is the first data capture edge

CPOL

Bit 10: Clock polarity This bit enables the user to select the polarity of the clock output on the CK pin in synchronous mode. It works in conjunction with the CPHA bit to produce the desired clock/data relationship This bit can only be written when the USART is disabled (UE = 0). Note: If synchronous mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Steady low value on CK pin outside transmission window
1: B_0x1: Steady high value on CK pin outside transmission window

CLKEN

Bit 11: Clock enable This bit enables the user to enable the CK pin. This bit can only be written when the USART is disabled (UE = 0). Note: If neither synchronous mode nor Smartcard mode is supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691. In Smartcard mode, in order to provide correctly the CK clock to the smartcard, the steps below must be respected: UE = 0 SCEN = 1 GTPR configuration CLKEN= 1 Note: UE = 1.

Allowed values:
0: B_0x0: CK pin disabled
1: B_0x1: CK pin enabled

STOP

Bits 12-13: Stop bits These bits are used for programming the stop bits. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: 1 stop bit
1: B_0x1: 0.5 stop bit.
2: B_0x2: 2 stop bits
3: B_0x3: 1.5 stop bits

LINEN

Bit 14: LIN mode enable This bit is set and cleared by software. The LIN mode enables the capability to send LIN synchronous breaks (13 low bits) using the SBKRQ bit in the USART_CR1 register, and to detect LIN Sync breaks. This bitfield can only be written when the USART is disabled (UE = 0). Note: If the USART does not support LIN mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: LIN mode disabled
1: B_0x1: LIN mode enabled

SWAP

Bit 15: Swap TX/RX pins This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: TX/RX pins are used as defined in standard pinout
1: B_0x1: The TX and RX pins functions are swapped. This enables to work in the case of a cross-wired connection to another UART.

RXINV

Bit 16: RX pin active level inversion This bit is set and cleared by software. This enables the use of an external inverter on the RX line. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: RX pin signal works using the standard logic levels (V<sub>DD</sub> =1/idle, Gnd = 0/mark)
1: B_0x1: RX pin signal values are inverted (V<sub>DD</sub> =0/mark, Gnd = 1/idle).

TXINV

Bit 17: TX pin active level inversion This bit is set and cleared by software. This enables the use of an external inverter on the TX line. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: TX pin signal works using the standard logic levels (V<sub>DD</sub> =1/idle, Gnd = 0/mark)
1: B_0x1: TX pin signal values are inverted (V<sub>DD</sub> =0/mark, Gnd = 1/idle).

DATAINV

Bit 18: Binary data inversion This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Logical data from the data register are send/received in positive/direct logic. (1 = H, 0 = L)
1: B_0x1: Logical data from the data register are send/received in negative/inverse logic. (1 = L, 0 = H). The parity bit is also inverted.

MSBFIRST

Bit 19: Most significant bit first This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: data is transmitted/received with data bit 0 first, following the start bit.
1: B_0x1: data is transmitted/received with the MSB (bit 7/8) first, following the start bit.

ABREN

Bit 20: Auto baud rate enable This bit is set and cleared by software. Note: If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Auto baud rate detection is disabled.
1: B_0x1: Auto baud rate detection is enabled.

ABRMOD

Bits 21-22: Auto baud rate mode These bits are set and cleared by software. This bitfield can only be written when ABREN = 0 or the USART is disabled (UE = 0). Note: If DATAINV = 1 and/or MSBFIRST = 1 the patterns must be the same on the line, for example 0xAA for MSBFIRST) Note: If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Measurement of the start bit is used to detect the baud rate.
1: B_0x1: Falling edge to falling edge measurement (the received frame must start with a single bit = 1 and Frame = Start10xxxxxx)
2: B_0x2: 0x7F frame detection.
3: B_0x3: 0x55 frame detection

RTOEN

Bit 23: Receiver timeout enable This bit is set and cleared by software. When this feature is enabled, the RTOF flag in the USART_ISR register is set if the RX line is idle (no reception) for the duration programmed in the RTOR (receiver timeout register). Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Receiver timeout feature disabled.
1: B_0x1: Receiver timeout feature enabled.

ADD

Bits 24-31: Address of the USART node These bits give the address of the USART node in Mute mode or a character code to be recognized in low-power or Run mode: In Mute mode: they are used in multiprocessor communication to wake up from Mute mode with 4-bit/7-bit address mark detection. The MSB of the character sent by the transmitter should be equal to 1. In 4-bit address mark detection, only ADD[3:0] bits are used. In low-power mode: they are used for wake up from low-power mode on character match. When WUS[1:0] is programmed to 0b00 (WUF active on address match), the wake-up from low-power mode is performed when the received character corresponds to the character programmed through ADD[6:0] or ADD[3:0] bitfield (depending on ADDM7 bit), and WUF interrupt is enabled by setting WUFIE bit. The MSB of the character sent by transmitter should be equal to 1. In Run mode with Mute mode inactive (for example, end-of-block detection in ModBus protocol): the whole received character (8 bits) is compared to ADD[7:0] value and CMF flag is set on match. An interrupt is generated if the CMIE bit is set. These bits can only be written when the reception is disabled (RE = 0) or when the USART is disabled (UE = 0)..

USART_CR3

USART control register 3

Offset: 0x8, size: 32, reset: 0x00000000, access: read-write

24/24 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TXFTCFG
rw
RXFTIE
rw
RXFTCFG
rw
TCBGTIE
rw
TXFTIE
rw
WUFIE
rw
WUS
rw
SCARCNT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DEP
rw
DEM
rw
DDRE
rw
OVRDIS
rw
ONEBIT
rw
CTSIE
rw
CTSE
rw
RTSE
rw
DMAT
rw
DMAR
rw
SCEN
rw
NACK
rw
HDSEL
rw
IRLP
rw
IREN
rw
EIE
rw
Toggle fields

EIE

Bit 0: Error interrupt enable Error Interrupt Enable Bit is required to enable interrupt generation in case of a framing error, overrun error noise flag or SPI slave underrun error (FE = 1 or ORE = 1 or NE = 1 or UDR = 1 in the USART_ISR register)..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: interrupt generated when FE = 1 or ORE = 1 or NE = 1 or UDR = 1 (in SPI slave mode) in the USART_ISR register.

IREN

Bit 1: IrDA mode enable This bit is set and cleared by software. This bit can only be written when the USART is disabled (UE = 0). Note: If IrDA mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: IrDA disabled
1: B_0x1: IrDA enabled

IRLP

Bit 2: IrDA low-power This bit is used for selecting between normal and low-power IrDA modes This bit can only be written when the USART is disabled (UE = 0). Note: If IrDA mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Normal mode
1: B_0x1: Low-power mode

HDSEL

Bit 3: Half-duplex selection Selection of Single-wire Half-duplex mode This bit can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Half duplex mode is not selected
1: B_0x1: Half duplex mode is selected

NACK

Bit 4: Smartcard NACK enable This bitfield can only be written when the USART is disabled (UE = 0). Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: NACK transmission in case of parity error is disabled
1: B_0x1: NACK transmission during parity error is enabled

SCEN

Bit 5: Smartcard mode enable This bit is used for enabling Smartcard mode. This bitfield can only be written when the USART is disabled (UE = 0). Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Smartcard Mode disabled
1: B_0x1: Smartcard Mode enabled

DMAR

Bit 6: DMA enable receiver This bit is set/reset by software.

Allowed values:
1: B_0x1: DMA mode is enabled for reception
0: B_0x0: DMA mode is disabled for reception

DMAT

Bit 7: DMA enable transmitter This bit is set/reset by software.

Allowed values:
1: B_0x1: DMA mode is enabled for transmission
0: B_0x0: DMA mode is disabled for transmission

RTSE

Bit 8: RTS enable This bit can only be written when the USART is disabled (UE = 0). Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: RTS hardware flow control disabled
1: B_0x1: RTS output enabled, data is only requested when there is space in the receive buffer. The transmission of data is expected to cease after the current character has been transmitted. The RTS output is deasserted (pulled to 0) when data can be received.

CTSE

Bit 9: CTS enable This bit can only be written when the USART is disabled (UE = 0) Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: CTS hardware flow control disabled
1: B_0x1: CTS mode enabled, data is only transmitted when the CTS input is deasserted (tied to 0). If the CTS input is asserted while data is being transmitted, then the transmission is completed before stopping. If data is written into the data register while CTS is asserted, the transmission is postponed until CTS is deasserted.

CTSIE

Bit 10: CTS interrupt enable Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt is inhibited
1: B_0x1: An interrupt is generated whenever CTSIF = 1 in the USART_ISR register

ONEBIT

Bit 11: One sample bit method enable This bit enables the user to select the sample method. When the one sample bit method is selected the noise detection flag (NE) is disabled. This bit can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Three sample bit method
1: B_0x1: One sample bit method

OVRDIS

Bit 12: Overrun disable This bit is used to disable the receive overrun detection. the ORE flag is not set and the new received data overwrites the previous content of the USART_RDR register. When FIFO mode is enabled, the RXFIFO is bypassed and data is written directly in USART_RDR register. Even when FIFO management is enabled, the RXNE flag is to be used. This bit can only be written when the USART is disabled (UE = 0). Note: This control bit enables checking the communication flow w/o reading the data.

Allowed values:
0: B_0x0: Overrun Error Flag, ORE, is set when received data is not read before receiving new data.
1: B_0x1: Overrun functionality is disabled. If new data is received while the RXNE flag is still set

DDRE

Bit 13: DMA Disable on reception error This bit can only be written when the USART is disabled (UE=0). Note: The reception errors are: parity error, framing error or noise error..

Allowed values:
0: B_0x0: DMA is not disabled in case of reception error. The corresponding error flag is set but RXNE is kept 0 preventing from overrun. As a consequence, the DMA request is not asserted, so the erroneous data is not transferred (no DMA request), but next correct received data is transferred (used for Smartcard mode).
1: B_0x1: DMA is disabled following a reception error. The corresponding error flag is set, as well as RXNE. The DMA request is masked until the error flag is cleared. This means that the software must first disable the DMA request (DMAR = 0) or clear RXNE/RXFNE is case FIFO mode is enabled) before clearing the error flag.

DEM

Bit 14: Driver enable mode This bit enables the user to activate the external transceiver control, through the DE signal. This bit can only be written when the USART is disabled (UE = 0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: DE function is disabled.
1: B_0x1: DE function is enabled. The DE signal is output on the RTS pin.

DEP

Bit 15: Driver enable polarity selection This bit can only be written when the USART is disabled (UE = 0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: DE signal is active high.
1: B_0x1: DE signal is active low.

SCARCNT

Bits 17-19: Smartcard auto-retry count This bitfield specifies the number of retries for transmission and reception in Smartcard mode. In transmission mode, it specifies the number of automatic retransmission retries, before generating a transmission error (FE bit set). In reception mode, it specifies the number or erroneous reception trials, before generating a reception error (RXNE/RXFNE and PE bits set). This bitfield must be programmed only when the USART is disabled (UE = 0). When the USART is enabled (UE = 1), this bitfield may only be written to 0x0, in order to stop retransmission. 0x1 to 0x7: number of automatic retransmission attempts (before signaling error) Note: If Smartcard mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: retransmission disabled - No automatic retransmission in transmit mode.

WUS

Bits 20-21: Wake-up from low-power mode interrupt flag selection This bitfield specifies the event which activates the WUF (wake-up from low-power mode flag). This bitfield can only be written when the USART is disabled (UE = 0). Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: WUF active on address match (as defined by ADD[7:0] and ADDM7)
1: B_0x1: Reserved.
2: B_0x2: WUF active on start bit detection
3: B_0x3: WUF active on RXNE/RXFNE.

WUFIE

Bit 22: Wake-up from low-power mode interrupt enable This bit is set and cleared by software. Note: WUFIE must be set before entering in low-power mode. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever WUF = 1 in the USART_ISR register

TXFTIE

Bit 23: TXFIFO threshold interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when TXFIFO reaches the threshold programmed in TXFTCFG.

TCBGTIE

Bit 24: Transmission complete before guard time, interrupt enable This bit is set and cleared by software. Note: If the USART does not support the Smartcard mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever TCBGT=1 in the USART_ISR register

RXFTCFG

Bits 25-27: Receive FIFO threshold configuration Remaining combinations: Reserved.

Allowed values:
0: B_0x0: Receive FIFO reaches 1/8 of its depth
1: B_0x1: Receive FIFO reaches 1/4 of its depth
2: B_0x2: Receive FIFO reaches 1/2 of its depth
3: B_0x3: Receive FIFO reaches 3/4 of its depth
4: B_0x4: Receive FIFO reaches 7/8 of its depth
5: B_0x5: Receive FIFO becomes full

RXFTIE

Bit 28: RXFIFO threshold interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when Receive FIFO reaches the threshold programmed in RXFTCFG.

TXFTCFG

Bits 29-31: TXFIFO threshold configuration Remaining combinations: Reserved.

Allowed values:
0: B_0x0: TXFIFO reaches 1/8 of its depth
1: B_0x1: TXFIFO reaches 1/4 of its depth
2: B_0x2: TXFIFO reaches 1/2 of its depth
3: B_0x3: TXFIFO reaches 3/4 of its depth
4: B_0x4: TXFIFO reaches 7/8 of its depth
5: B_0x5: TXFIFO becomes empty

USART_BRR

USART baud rate register

Offset: 0xc, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BRR
rw
Toggle fields

BRR

Bits 0-15: USART baud rate BRR[15:4] BRR[15:4] = USARTDIV[15:4] BRR[3:0] When OVER8 = 0, BRR[3:0] = USARTDIV[3:0]. When OVER8 = 1: BRR[2:0] = USARTDIV[3:0] shifted 1 bit to the right. BRR[3] must be kept cleared..

USART_GTPR

USART guard time and prescaler register

Offset: 0x10, size: 32, reset: 0x00000000, access: read-write

1/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
GT
rw
PSC
rw
Toggle fields

PSC

Bits 0-7: Prescaler value.

Allowed values:
0: B_0x0: Reserved - do not program this value
1: B_0x1: Divides the source clock by 1 (IrDA mode) / by 2 (Smarcard mode)
2: B_0x2: Divides the source clock by 2 (IrDA mode) / by 4 (Smartcard mode)
3: B_0x3: Divides the source clock by 3 (IrDA mode) / by 6 (Smartcard mode)
31: B_0x1F: Divides the source clock by 31 (IrDA mode) / by 62 (Smartcard mode)
32: B_0x20: Divides the source clock by 32 (IrDA mode)
255: B_0xFF: Divides the source clock by 255 (IrDA mode)

GT

Bits 8-15: Guard time value This bitfield is used to program the Guard time value in terms of number of baud clock periods. This is used in Smartcard mode. The Transmission Complete flag is set after this guard time value. This bitfield can only be written when the USART is disabled (UE = 0). Note: If Smartcard mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

USART_RTOR

USART receiver timeout register

Offset: 0x14, size: 32, reset: 0x00000000, access: read-write

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BLEN
rw
RTO
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RTO
rw
Toggle fields

RTO

Bits 0-23: Receiver timeout value This bitfield gives the Receiver timeout value in terms of number of bits during which there is no activity on the RX line. In standard mode, the RTOF flag is set if, after the last received character, no new start bit is detected for more than the RTO value. In Smartcard mode, this value is used to implement the CWT and BWT. See Smartcard chapter for more details. In the standard, the CWT/BWT measurement is done starting from the start bit of the last received character. Note: This value must only be programmed once per received character..

BLEN

Bits 24-31: Block length This bitfield gives the Block length in Smartcard T = 1 Reception. Its value equals the number of information characters + the length of the Epilogue Field (1-LEC/2-CRC) - 1. Examples: BLEN = 0: 0 information characters + LEC BLEN = 1: 0 information characters + CRC BLEN = 255: 254 information characters + CRC (total 256 characters)) In Smartcard mode, the Block length counter is reset when TXE = 0 (TXFE = 0 in case FIFO mode is enabled). This bitfield can be used also in other modes. In this case, the Block length counter is reset when RE = 0 (receiver disabled) and/or when the EOBCF bit is written to 1. Note: This value can be programmed after the start of the block reception (using the data from the LEN character in the Prologue Field). It must be programmed only once per received block..

USART_RQR

USART request register

Offset: 0x18, size: 32, reset: 0x00000000, access: write-only

0/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TXFRQ
w
RXFRQ
w
MMRQ
w
SBKRQ
w
ABRRQ
w
Toggle fields

ABRRQ

Bit 0: Auto baud rate request Writing 1 to this bit resets the ABRF and ABRE flags in the USART_ISR and requests an automatic baud rate measurement on the next received data frame. Note: If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

SBKRQ

Bit 1: Send break request Writing 1 to this bit sets the SBKF flag and request to send a BREAK on the line, as soon as the transmit machine is available. Note: When the application needs to send the break character following all previously inserted data, including the ones not yet transmitted, the software should wait for the TXE flag assertion before setting the SBKRQ bit..

MMRQ

Bit 2: Mute mode request Writing 1 to this bit puts the USART in Mute mode and resets the RWU flag..

RXFRQ

Bit 3: Receive data flush request Writing 1 to this bit empties the entire receive FIFO i.e. clears the bit RXFNE. This enables to discard the received data without reading them, and avoid an overrun condition..

TXFRQ

Bit 4: Transmit data flush request When FIFO mode is disabled, writing 1 to this bit sets the TXE flag. This enables to discard the transmit data. This bit must be used only in Smartcard mode, when data have not been sent due to errors (NACK) and the FE flag is active in the USART_ISR register. If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. When FIFO is enabled, TXFRQ bit is set to flush the whole FIFO. This sets the TXFE flag (Transmit FIFO empty, bit 23 in the USART_ISR register). Flushing the Transmit FIFO is supported in both UART and Smartcard modes. Note: In FIFO mode, the TXFNF flag is reset during the flush request until TxFIFO is empty in order to ensure that no data are written in the data register..

USART_ISR

USART interrupt and status register

Offset: 0x1c, size: 32, reset: 0x008000C0, access: read-only

28/28 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TXFT
r
RXFT
r
TCBGT
r
RXFF
r
TXFE
r
REACK
r
TEACK
r
WUF
r
RWU
r
SBKF
r
CMF
r
BUSY
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ABRF
r
ABRE
r
UDR
r
EOBF
r
RTOF
r
CTS
r
CTSIF
r
LBDF
r
TXFNF
r
TC
r
RXFNE
r
IDLE
r
ORE
r
NE
r
FE
r
PE
r
Toggle fields

PE

Bit 0: Parity error This bit is set by hardware when a parity error occurs in receiver mode. It is cleared by software, writing 1 to the PECF in the USART_ICR register. An interrupt is generated if PEIE = 1 in the USART_CR1 register. Note: This error is associated with the character in the USART_RDR..

Allowed values:
0: B_0x0: No parity error
1: B_0x1: Parity error

FE

Bit 1: Framing error This bit is set by hardware when a de-synchronization, excessive noise or a break character is detected. It is cleared by software, writing 1 to the FECF bit in the USART_ICR register. When transmitting data in Smartcard mode, this bit is set when the maximum number of transmit attempts is reached without success (the card NACKs the data frame). An interrupt is generated if EIE = 1 in the USART_CR3 register. Note: This error is associated with the character in the USART_RDR..

Allowed values:
0: B_0x0: No Framing error is detected
1: B_0x1: Framing error or break character is detected

NE

Bit 2: Noise detection flag This bit is set by hardware when noise is detected on a received frame. It is cleared by software, writing 1 to the NECF bit in the USART_ICR register. Note: This bit does not generate an interrupt as it appears at the same time as the RXFNE bit which itself generates an interrupt. An interrupt is generated when the NE flag is set during multi buffer communication if the EIE bit is set. Note: When the line is noise-free, the NE flag can be disabled by programming the ONEBIT bit to 1 to increase the USART tolerance to deviations (Refer to Section 26.5.8: Tolerance of the USART receiver to clock deviation on page 709). Note: This error is associated with the character in the USART_RDR..

Allowed values:
0: B_0x0: No noise is detected
1: B_0x1: Noise is detected

ORE

Bit 3: Overrun error This bit is set by hardware when the data currently being received in the shift register is ready to be transferred into the USART_RDR register while RXFF = 1. It is cleared by a software, writing 1 to the ORECF, in the USART_ICR register. An interrupt is generated if RXFNEIE = 1 in the USART_CR1 register, or EIE = 1 in the USART_CR3 register. Note: When this bit is set, the USART_RDR register content is not lost but the shift register is overwritten. An interrupt is generated if the ORE flag is set during multi buffer communication if the EIE bit is set. Note: This bit is permanently forced to 0 (no overrun detection) when the bit OVRDIS is set in the USART_CR3 register..

Allowed values:
0: B_0x0: No overrun error
1: B_0x1: Overrun error is detected

IDLE

Bit 4: Idle line detected This bit is set by hardware when an Idle Line is detected. An interrupt is generated if IDLEIE = 1 in the USART_CR1 register. It is cleared by software, writing 1 to the IDLECF in the USART_ICR register. Note: The IDLE bit is not set again until the RXFNE bit has been set (i.e. a new idle line occurs). Note: If Mute mode is enabled (MME = 1), IDLE is set if the USART is not mute (RWU = 0), whatever the Mute mode selected by the WAKE bit. If RWU = 1, IDLE is not set..

Allowed values:
0: B_0x0: No Idle line is detected
1: B_0x1: Idle line is detected

RXFNE

Bit 5: RXFIFO not empty RXFNE bit is set by hardware when the RXFIFO is not empty, meaning that data can be read from the USART_RDR register. Every read operation from the USART_RDR frees a location in the RXFIFO. RXFNE is cleared when the RXFIFO is empty. The RXFNE flag can also be cleared by writing 1 to the RXFRQ in the USART_RQR register. An interrupt is generated if RXFNEIE = 1 in the USART_CR1 register..

Allowed values:
0: B_0x0: Data is not received
1: B_0x1: Received data is ready to be read.

TC

Bit 6: Transmission complete This bit indicates that the last data written in the USART_TDR has been transmitted out of the shift register. It is set by hardware when the transmission of a frame containing data is complete and when TXFE is set. An interrupt is generated if TCIE = 1 in the USART_CR1 register. TC bit is is cleared by software, by writing 1 to the TCCF in the USART_ICR register or by a write to the USART_TDR register. Note: If TE bit is reset and no transmission is on going, the TC bit is immediately set..

Allowed values:
0: B_0x0: Transmission is not complete
1: B_0x1: Transmission is complete

TXFNF

Bit 7: TXFIFO not full TXFNF is set by hardware when TXFIFO is not full meaning that data can be written in the USART_TDR. Every write operation to the USART_TDR places the data in the TXFIFO. This flag remains set until the TXFIFO is full. When the TXFIFO is full, this flag is cleared indicating that data can not be written into the USART_TDR. An interrupt is generated if the TXFNFIE bit =1 in the USART_CR1 register. Note: The TXFNF is kept reset during the flush request until TXFIFO is empty. After sending the flush request (by setting TXFRQ bit), the flag TXFNF should be checked prior to writing in TXFIFO (TXFNF and TXFE are set at the same time). Note: This bit is used during single buffer transmission..

Allowed values:
0: B_0x0: Transmit FIFO is full
1: B_0x1: Transmit FIFO is not full

LBDF

Bit 8: LIN break detection flag This bit is set by hardware when the LIN break is detected. It is cleared by software, by writing 1 to the LBDCF in the USART_ICR. An interrupt is generated if LBDIE = 1 in the USART_CR2 register. Note: If the USART does not support LIN mode, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: LIN Break not detected
1: B_0x1: LIN break detected

CTSIF

Bit 9: CTS interrupt flag This bit is set by hardware when the CTS input toggles, if the CTSE bit is set. It is cleared by software, by writing 1 to the CTSCF bit in the USART_ICR register. An interrupt is generated if CTSIE = 1 in the USART_CR3 register. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..

Allowed values:
0: B_0x0: No change occurred on the CTS status line
1: B_0x1: A change occurred on the CTS status line

CTS

Bit 10: CTS flag This bit is set/reset by hardware. It is an inverted copy of the status of the CTS input pin. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..

Allowed values:
0: B_0x0: CTS line set
1: B_0x1: CTS line reset

RTOF

Bit 11: Receiver timeout This bit is set by hardware when the timeout value, programmed in the RTOR register has lapsed, without any communication. It is cleared by software, writing 1 to the RTOCF bit in the USART_ICR register. An interrupt is generated if RTOIE = 1 in the USART_CR2 register. In Smartcard mode, the timeout corresponds to the CWT or BWT timings. Note: If a time equal to the value programmed in RTOR register separates 2 characters, RTOF is not set. If this time exceeds this value + 2 sample times (2/16 or 2/8, depending on the oversampling method), RTOF flag is set. Note: The counter counts even if RE = 0 but RTOF is set only when RE = 1. If the timeout has already elapsed when RE is set, then RTOF is set. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and kept at reset value..

Allowed values:
0: B_0x0: Timeout value not reached
1: B_0x1: Timeout value reached without any data reception

EOBF

Bit 12: End of block flag This bit is set by hardware when a complete block has been received (for example T = 1 Smartcard mode). The detection is done when the number of received bytes (from the start of the block, including the prologue) is equal or greater than BLEN + 4. An interrupt is generated if the EOBIE = 1 in the USART_CR1 register. It is cleared by software, writing 1 to the EOBCF in the USART_ICR register. Note: If Smartcard mode is not supported, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: End of Block not reached
1: B_0x1: End of Block (number of characters) reached

UDR

Bit 13: SPI slave underrun error flag In slave transmission mode, this flag is set when the first clock pulse for data transmission appears while the software has not yet loaded any value into USART_TDR. This flag is reset by setting UDRCF bit in the USART_ICR register. Note: If the USART does not support the SPI slave mode, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: No underrun error
1: B_0x1: underrun error

ABRE

Bit 14: Auto baud rate error This bit is set by hardware if the baud rate measurement failed (baud rate out of range or character comparison failed) It is cleared by software, by writing 1 to the ABRRQ bit in the USART_RQR register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..

ABRF

Bit 15: Auto baud rate flag This bit is set by hardware when the automatic baud rate has been set (RXFNE is also set, generating an interrupt if RXFNEIE = 1) or when the auto baud rate operation was completed without success (ABRE = 1) (ABRE, RXFNE and FE are also set in this case) It is cleared by software, in order to request a new auto baud rate detection, by writing 1 to the ABRRQ in the USART_RQR register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..

BUSY

Bit 16: Busy flag This bit is set and reset by hardware. It is active when a communication is ongoing on the RX line (successful start bit detected). It is reset at the end of the reception (successful or not)..

Allowed values:
0: B_0x0: USART is idle (no reception)
1: B_0x1: Reception on going

CMF

Bit 17: Character match flag This bit is set by hardware, when a the character defined by ADD[7:0] is received. It is cleared by software, writing 1 to the CMCF in the USART_ICR register. An interrupt is generated if CMIE = 1in the USART_CR1 register..

Allowed values:
0: B_0x0: No Character match detected
1: B_0x1: Character Match detected

SBKF

Bit 18: Send break flag This bit indicates that a send break character was requested. It is set by software, by writing 1 to the SBKRQ bit in the USART_CR3 register. It is automatically reset by hardware during the stop bit of break transmission..

Allowed values:
0: B_0x0: Break character transmitted
1: B_0x1: Break character requested by setting SBKRQ bit in USART_RQR register

RWU

Bit 19: Receiver wake-up from Mute mode This bit indicates if the USART is in Mute mode. It is cleared/set by hardware when a wake-up/mute sequence is recognized. The Mute mode control sequence (address or IDLE) is selected by the WAKE bit in the USART_CR1 register. When wake-up on IDLE mode is selected, this bit can only be set by software, writing 1 to the MMRQ bit in the USART_RQR register. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Receiver in active mode
1: B_0x1: Receiver in Mute mode

WUF

Bit 20: Wake-up from low-power mode flag This bit is set by hardware, when a wake-up event is detected. The event is defined by the WUS bitfield. It is cleared by software, writing a 1 to the WUCF in the USART_ICR register. An interrupt is generated if WUFIE = 1 in the USART_CR3 register. Note: When UESM is cleared, WUF flag is also cleared. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

TEACK

Bit 21: Transmit enable acknowledge flag This bit is set/reset by hardware, when the Transmit Enable value is taken into account by the USART. It can be used when an idle frame request is generated by writing TE = 0, followed by TE = 1 in the USART_CR1 register, in order to respect the TE = 0 minimum period..

REACK

Bit 22: Receive enable acknowledge flag This bit is set/reset by hardware, when the Receive Enable value is taken into account by the USART. It can be used to verify that the USART is ready for reception before entering low-power mode. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

TXFE

Bit 23: TXFIFO empty This bit is set by hardware when TXFIFO is empty. When the TXFIFO contains at least one data, this flag is cleared. The TXFE flag can also be set by writing 1 to the bit TXFRQ (bit 4) in the USART_RQR register. An interrupt is generated if the TXFEIE bit = 1 (bit 30) in the USART_CR1 register..

Allowed values:
0: B_0x0: TXFIFO not empty.
1: B_0x1: TXFIFO empty.

RXFF

Bit 24: RXFIFO full This bit is set by hardware when the number of received data corresponds to RXFIFO size + 1 (RXFIFO full + 1 data in the USART_RDR register. An interrupt is generated if the RXFFIE bit = 1 in the USART_CR1 register..

Allowed values:
0: B_0x0: RXFIFO not full.
1: B_0x1: RXFIFO Full.

TCBGT

Bit 25: Transmission complete before guard time flag.

Allowed values:
0: B_0x0: Transmission is not complete or transmission is complete unsuccessfully (i.e. a NACK is received from the card)
1: B_0x1: Transmission is complete successfully (before Guard time completion and there is no NACK from the smart card).

RXFT

Bit 26: RXFIFO threshold flag This bit is set by hardware when the threshold programmed in RXFTCFG in USART_CR3 register is reached. This means that there are (RXFTCFG - 1) data in the Receive FIFO and one data in the USART_RDR register. An interrupt is generated if the RXFTIE bit = 1 (bit 27) in the USART_CR3 register. Note: When the RXFTCFG threshold is configured to 101 , RXFT flag is set if 16 data are available i.e. 15 data in the RXFIFO and 1 data in the USART_RDR. Consequently, the 17th received data does not cause an overrun error. The overrun error occurs after receiving the 18th data..

Allowed values:
0: B_0x0: Receive FIFO does not reach the programmed threshold.
1: B_0x1: Receive FIFO reached the programmed threshold.

TXFT

Bit 27: TXFIFO threshold flag This bit is set by hardware when the TXFIFO reaches the threshold programmed in TXFTCFG of USART_CR3 register i.e. the TXFIFO contains TXFTCFG empty locations. An interrupt is generated if the TXFTIE bit = 1 (bit 31) in the USART_CR3 register..

Allowed values:
0: B_0x0: TXFIFO does not reach the programmed threshold.
1: B_0x1: TXFIFO reached the programmed threshold.

USART_ISR_ALTERNATE1

USART interrupt and status register

Offset: 0x1c, size: 32, reset: 0x000000C0, access: read-only

24/24 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TCBGT
r
REACK
r
TEACK
r
WUF
r
RWU
r
SBKF
r
CMF
r
BUSY
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ABRF
r
ABRE
r
UDR
r
EOBF
r
RTOF
r
CTS
r
CTSIF
r
LBDF
r
TXE
r
TC
r
RXNE
r
IDLE
r
ORE
r
NE
r
FE
r
PE
r
Toggle fields

PE

Bit 0: Parity error This bit is set by hardware when a parity error occurs in receiver mode. It is cleared by software, writing 1 to the PECF in the USART_ICR register. An interrupt is generated if PEIE = 1 in the USART_CR1 register..

Allowed values:
0: B_0x0: No parity error
1: B_0x1: Parity error

FE

Bit 1: Framing error This bit is set by hardware when a de-synchronization, excessive noise or a break character is detected. It is cleared by software, writing 1 to the FECF bit in the USART_ICR register. When transmitting data in Smartcard mode, this bit is set when the maximum number of transmit attempts is reached without success (the card NACKs the data frame). An interrupt is generated if EIE = 1 in the USART_CR3 register..

Allowed values:
0: B_0x0: No Framing error is detected
1: B_0x1: Framing error or break character is detected

NE

Bit 2: Noise detection flag This bit is set by hardware when noise is detected on a received frame. It is cleared by software, writing 1 to the NECF bit in the USART_ICR register. Note: This bit does not generate an interrupt as it appears at the same time as the RXNE bit which itself generates an interrupt. An interrupt is generated when the NE flag is set during multi buffer communication if the EIE bit is set. Note: When the line is noise-free, the NE flag can be disabled by programming the ONEBIT bit to 1 to increase the USART tolerance to deviations (Refer to Section 26.5.8: Tolerance of the USART receiver to clock deviation on page 709)..

Allowed values:
0: B_0x0: No noise is detected
1: B_0x1: Noise is detected

ORE

Bit 3: Overrun error This bit is set by hardware when the data currently being received in the shift register is ready to be transferred into the USART_RDR register while RXNE = 1. It is cleared by a software, writing 1 to the ORECF, in the USART_ICR register. An interrupt is generated if RXNEIE = 1 or EIE = 1 in the LPUART_CR1 register, or EIE = 1 in the USART_CR3 register. Note: When this bit is set, the USART_RDR register content is not lost but the shift register is overwritten. An interrupt is generated if the ORE flag is set during multi buffer communication if the EIE bit is set. Note: This bit is permanently forced to 0 (no overrun detection) when the bit OVRDIS is set in the USART_CR3 register..

Allowed values:
0: B_0x0: No overrun error
1: B_0x1: Overrun error is detected

IDLE

Bit 4: Idle line detected This bit is set by hardware when an Idle Line is detected. An interrupt is generated if IDLEIE = 1 in the USART_CR1 register. It is cleared by software, writing 1 to the IDLECF in the USART_ICR register. Note: The IDLE bit is not set again until the RXNE bit has been set (i.e. a new idle line occurs). Note: If Mute mode is enabled (MME = 1), IDLE is set if the USART is not mute (RWU = 0), whatever the Mute mode selected by the WAKE bit. If RWU = 1, IDLE is not set..

Allowed values:
0: B_0x0: No Idle line is detected
1: B_0x1: Idle line is detected

RXNE

Bit 5: Read data register not empty RXNE bit is set by hardware when the content of the USART_RDR shift register has been transferred to the USART_RDR register. It is cleared by reading from the USART_RDR register. The RXNE flag can also be cleared by writing 1 to the RXFRQ in the USART_RQR register. An interrupt is generated if RXNEIE = 1 in the USART_CR1 register..

Allowed values:
0: B_0x0: Data is not received
1: B_0x1: Received data is ready to be read.

TC

Bit 6: Transmission complete This bit indicates that the last data written in the USART_TDR has been transmitted out of the shift register. It is set by hardware when the transmission of a frame containing data is complete and when TXE is set. An interrupt is generated if TCIE = 1 in the USART_CR1 register. TC bit is is cleared by software, by writing 1 to the TCCF in the USART_ICR register or by a write to the USART_TDR register. Note: If TE bit is reset and no transmission is on going, the TC bit is set immediately..

Allowed values:
0: B_0x0: Transmission is not complete
1: B_0x1: Transmission is complete

TXE

Bit 7: Transmit data register empty TXE is set by hardware when the content of the USART_TDR register has been transferred into the shift register. It is cleared by writing to the USART_TDR register. The TXE flag can also be set by writing 1 to the TXFRQ in the USART_RQR register, in order to discard the data (only in Smartcard T = 0 mode, in case of transmission failure). An interrupt is generated if the TXEIE bit = 1 in the USART_CR1 register..

Allowed values:
0: B_0x0: Data register full
1: B_0x1: Data register not full

LBDF

Bit 8: LIN break detection flag This bit is set by hardware when the LIN break is detected. It is cleared by software, by writing 1 to the LBDCF in the USART_ICR. An interrupt is generated if LBDIE = 1 in the USART_CR2 register. Note: If the USART does not support LIN mode, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: LIN Break not detected
1: B_0x1: LIN break detected

CTSIF

Bit 9: CTS interrupt flag This bit is set by hardware when the CTS input toggles, if the CTSE bit is set. It is cleared by software, by writing 1 to the CTSCF bit in the USART_ICR register. An interrupt is generated if CTSIE = 1 in the USART_CR3 register. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..

Allowed values:
0: B_0x0: No change occurred on the CTS status line
1: B_0x1: A change occurred on the CTS status line

CTS

Bit 10: CTS flag This bit is set/reset by hardware. It is an inverted copy of the status of the CTS input pin. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..

Allowed values:
0: B_0x0: CTS line set
1: B_0x1: CTS line reset

RTOF

Bit 11: Receiver timeout This bit is set by hardware when the timeout value, programmed in the RTOR register has lapsed, without any communication. It is cleared by software, writing 1 to the RTOCF bit in the USART_ICR register. An interrupt is generated if RTOIE = 1 in the USART_CR2 register. In Smartcard mode, the timeout corresponds to the CWT or BWT timings. Note: If a time equal to the value programmed in RTOR register separates 2 characters, RTOF is not set. If this time exceeds this value + 2 sample times (2/16 or 2/8, depending on the oversampling method), RTOF flag is set. Note: The counter counts even if RE = 0 but RTOF is set only when RE = 1. If the timeout has already elapsed when RE is set, then RTOF is set. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and kept at reset value..

Allowed values:
0: B_0x0: Timeout value not reached
1: B_0x1: Timeout value reached without any data reception

EOBF

Bit 12: End of block flag This bit is set by hardware when a complete block has been received (for example T = 1 Smartcard mode). The detection is done when the number of received bytes (from the start of the block, including the prologue) is equal or greater than BLEN + 4. An interrupt is generated if the EOBIE = 1 in the USART_CR1 register. It is cleared by software, writing 1 to the EOBCF in the USART_ICR register. Note: If Smartcard mode is not supported, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: End of Block not reached
1: B_0x1: End of Block (number of characters) reached

UDR

Bit 13: SPI slave underrun error flag In slave transmission mode, this flag is set when the first clock pulse for data transmission appears while the software has not yet loaded any value into USART_TDR. This flag is reset by setting UDRCF bit in the USART_ICR register. Note: If the USART does not support the SPI slave mode, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: No underrun error
1: B_0x1: underrun error

ABRE

Bit 14: Auto baud rate error This bit is set by hardware if the baud rate measurement failed (baud rate out of range or character comparison failed) It is cleared by software, by writing 1 to the ABRRQ bit in the USART_RQR register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..

ABRF

Bit 15: Auto baud rate flag This bit is set by hardware when the automatic baud rate has been set (RXNE is also set, generating an interrupt if RXNEIE = 1) or when the auto baud rate operation was completed without success (ABRE = 1) (ABRE, RXNE and FE are also set in this case) It is cleared by software, in order to request a new auto baud rate detection, by writing 1 to the ABRRQ in the USART_RQR register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..

BUSY

Bit 16: Busy flag This bit is set and reset by hardware. It is active when a communication is ongoing on the RX line (successful start bit detected). It is reset at the end of the reception (successful or not)..

Allowed values:
0: B_0x0: USART is idle (no reception)
1: B_0x1: Reception on going

CMF

Bit 17: Character match flag This bit is set by hardware, when a the character defined by ADD[7:0] is received. It is cleared by software, writing 1 to the CMCF in the USART_ICR register. An interrupt is generated if CMIE = 1in the USART_CR1 register..

Allowed values:
0: B_0x0: No Character match detected
1: B_0x1: Character Match detected

SBKF

Bit 18: Send break flag This bit indicates that a send break character was requested. It is set by software, by writing 1 to the SBKRQ bit in the USART_CR3 register. It is automatically reset by hardware during the stop bit of break transmission..

Allowed values:
0: B_0x0: Break character transmitted
1: B_0x1: Break character requested by setting SBKRQ bit in USART_RQR register

RWU

Bit 19: Receiver wake-up from Mute mode This bit indicates if the USART is in Mute mode. It is cleared/set by hardware when a wake-up/mute sequence is recognized. The Mute mode control sequence (address or IDLE) is selected by the WAKE bit in the USART_CR1 register. When wake-up on IDLE mode is selected, this bit can only be set by software, writing 1 to the MMRQ bit in the USART_RQR register. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Receiver in active mode
1: B_0x1: Receiver in Mute mode

WUF

Bit 20: Wake-up from low-power mode flag This bit is set by hardware, when a wake-up event is detected. The event is defined by the WUS bitfield. It is cleared by software, writing a 1 to the WUCF in the USART_ICR register. An interrupt is generated if WUFIE = 1 in the USART_CR3 register. Note: When UESM is cleared, WUF flag is also cleared. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

TEACK

Bit 21: Transmit enable acknowledge flag This bit is set/reset by hardware, when the Transmit Enable value is taken into account by the USART. It can be used when an idle frame request is generated by writing TE = 0, followed by TE = 1 in the USART_CR1 register, in order to respect the TE = 0 minimum period..

REACK

Bit 22: Receive enable acknowledge flag This bit is set/reset by hardware, when the Receive Enable value is taken into account by the USART. It can be used to verify that the USART is ready for reception before entering low-power mode. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

TCBGT

Bit 25: Transmission complete before guard time flag.

Allowed values:
0: B_0x0: Transmission is not complete or transmission is complete unsuccessfully (i.e. a NACK is received from the card)
1: B_0x1: Transmission is complete successfully (before Guard time completion and there is no NACK from the smart card).

USART_ICR

USART interrupt flag clear register

Offset: 0x20, size: 32, reset: 0x00000000, access: write-only

0/15 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
WUCF
w
CMCF
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
UDRCF
w
EOBCF
w
RTOCF
w
CTSCF
w
LBDCF
w
TCBGTCF
w
TCCF
w
TXFECF
w
IDLECF
w
ORECF
w
NECF
w
FECF
w
PECF
w
Toggle fields

PECF

Bit 0: Parity error clear flag Writing 1 to this bit clears the PE flag in the USART_ISR register..

FECF

Bit 1: Framing error clear flag Writing 1 to this bit clears the FE flag in the USART_ISR register..

NECF

Bit 2: Noise detected clear flag Writing 1 to this bit clears the NE flag in the USART_ISR register..

ORECF

Bit 3: Overrun error clear flag Writing 1 to this bit clears the ORE flag in the USART_ISR register..

IDLECF

Bit 4: Idle line detected clear flag Writing 1 to this bit clears the IDLE flag in the USART_ISR register..

TXFECF

Bit 5: TXFIFO empty clear flag Writing 1 to this bit clears the TXFE flag in the USART_ISR register..

TCCF

Bit 6: Transmission complete clear flag Writing 1 to this bit clears the TC flag in the USART_ISR register..

TCBGTCF

Bit 7: Transmission complete before Guard time clear flag Writing 1 to this bit clears the TCBGT flag in the USART_ISR register..

LBDCF

Bit 8: LIN break detection clear flag Writing 1 to this bit clears the LBDF flag in the USART_ISR register. Note: If LIN mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

CTSCF

Bit 9: CTS clear flag Writing 1 to this bit clears the CTSIF flag in the USART_ISR register. Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

RTOCF

Bit 11: Receiver timeout clear flag Writing 1 to this bit clears the RTOF flag in the USART_ISR register. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

EOBCF

Bit 12: End of block clear flag Writing 1 to this bit clears the EOBF flag in the USART_ISR register. Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

UDRCF

Bit 13: SPI slave underrun clear flag Writing 1 to this bit clears the UDRF flag in the USART_ISR register. Note: If the USART does not support SPI slave mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691.

CMCF

Bit 17: Character match clear flag Writing 1 to this bit clears the CMF flag in the USART_ISR register..

WUCF

Bit 20: Wake-up from low-power mode clear flag Writing 1 to this bit clears the WUF flag in the USART_ISR register. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

USART_RDR

USART receive data register

Offset: 0x24, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RDR
r
Toggle fields

RDR

Bits 0-8: Receive data value Contains the received data character. The RDR register provides the parallel interface between the input shift register and the internal bus (see Figure 243). When receiving with the parity enabled, the value read in the MSB bit is the received parity bit..

USART_TDR

USART transmit data register

Offset: 0x28, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TDR
rw
Toggle fields

TDR

Bits 0-8: Transmit data value Contains the data character to be transmitted. The USART_TDR register provides the parallel interface between the internal bus and the output shift register (see Figure 243). When transmitting with the parity enabled (PCE bit set to 1 in the USART_CR1 register), the value written in the MSB (bit 7 or bit 8 depending on the data length) has no effect because it is replaced by the parity. Note: This register must be written only when TXE/TXFNF = 1..

USART_PRESC

USART prescaler register

Offset: 0x2c, size: 32, reset: 0x00000000, access: read-write

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PRESCALER
rw
Toggle fields

PRESCALER

Bits 0-3: Clock prescaler The USART input clock can be divided by a prescaler factor: Remaining combinations: Reserved Note: When PRESCALER is programmed with a value different of the allowed ones, programmed prescaler value is 1011 i.e. input clock divided by 256..

Allowed values:
0: B_0x0: input clock not divided
1: B_0x1: input clock divided by 2
2: B_0x2: input clock divided by 4
3: B_0x3: input clock divided by 6
4: B_0x4: input clock divided by 8
5: B_0x5: input clock divided by 10
6: B_0x6: input clock divided by 12
7: B_0x7: input clock divided by 16
8: B_0x8: input clock divided by 32
9: B_0x9: input clock divided by 64
10: B_0xA: input clock divided by 128
11: B_0xB: input clock divided by 256

USART4

0x40004c00: USART address block description

136/170 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 USART_CR1
0x0 USART_CR1_ALTERNATE1
0x4 USART_CR2
0x8 USART_CR3
0xc USART_BRR
0x10 USART_GTPR
0x14 USART_RTOR
0x18 USART_RQR
0x1c USART_ISR
0x1c USART_ISR_ALTERNATE1
0x20 USART_ICR
0x24 USART_RDR
0x28 USART_TDR
0x2c USART_PRESC
Toggle registers

USART_CR1

USART control register 1

Offset: 0x0, size: 32, reset: 0x00000000, access: read-write

20/24 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RXFFIE
rw
TXFEIE
rw
FIFOEN
rw
M1
rw
EOBIE
rw
RTOIE
rw
DEAT
rw
DEDT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OVER8
rw
CMIE
rw
MME
rw
M0
rw
WAKE
rw
PCE
rw
PS
rw
PEIE
rw
TXFNFIE
rw
TCIE
rw
RXFNEIE
rw
IDLEIE
rw
TE
rw
RE
rw
UESM
rw
UE
rw
Toggle fields

UE

Bit 0: USART enable When this bit is cleared, the USART prescalers and outputs are stopped immediately, and all current operations are discarded. The USART configuration is kept, but all the USART_ISR status flags are reset. This bit is set and cleared by software. Note: To enter low-power mode without generating errors on the line, the TE bit must be previously reset and the software must wait for the TC bit in the USART_ISR to be set before resetting the UE bit. Note: The DMA requests are also reset when UE = 0 so the DMA channel must be disabled before resetting the UE bit. Note: In Smartcard mode, (SCEN = 1), the CK is always available when CLKEN = 1, regardless of the UE bit value..

Allowed values:
0: B_0x0: USART prescaler and outputs disabled, low-power mode
1: B_0x1: USART enabled

UESM

Bit 1: USART enable in low-power mode When this bit is cleared, the USART cannot wake up the MCU from low-power mode. When this bit is set, the USART can wake up the MCU from low-power mode. This bit is set and cleared by software. Note: It is recommended to set the UESM bit just before entering low-power mode and clear it when exit from low-power mode. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: USART not able to wake up the MCU from low-power mode.
1: B_0x1: USART able to wake up the MCU from low-power mode.

RE

Bit 2: Receiver enable This bit enables the receiver. It is set and cleared by software..

Allowed values:
0: B_0x0: Receiver is disabled
1: B_0x1: Receiver is enabled and begins searching for a start bit

TE

Bit 3: Transmitter enable This bit enables the transmitter. It is set and cleared by software. Note: During transmission, a low pulse on the TE bit ( 0 followed by 1 ) sends a preamble (idle line) after the current word, except in Smartcard mode. In order to generate an idle character, the TE must not be immediately written to 1 . To ensure the required duration, the software can poll the TEACK bit in the USART_ISR register. Note: In Smartcard mode, when TE is set, there is a 1 bit-time delay before the transmission starts..

Allowed values:
0: B_0x0: Transmitter is disabled
1: B_0x1: Transmitter is enabled

IDLEIE

Bit 4: IDLE interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever IDLE = 1 in the USART_ISR register

RXFNEIE

Bit 5: RXFIFO not empty interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever ORE = 1 or RXFNE = 1 in the USART_ISR register

TCIE

Bit 6: Transmission complete interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever TC = 1 in the USART_ISR register

TXFNFIE

Bit 7: TXFIFO not-full interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever TXFNF =1 in the USART_ISR register

PEIE

Bit 8: PE interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever PE = 1 in the USART_ISR register

PS

Bit 9: Parity selection This bit selects the odd or even parity when the parity generation/detection is enabled (PCE bit set). It is set and cleared by software. The parity is selected after the current byte. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Even parity
1: B_0x1: Odd parity

PCE

Bit 10: Parity control enable This bit selects the hardware parity control (generation and detection). When the parity control is enabled, the computed parity is inserted at the MSB position (9th bit if M = 1; 8th bit if M = 0) and the parity is checked on the received data. This bit is set and cleared by software. Once it is set, PCE is active after the current byte (in reception and in transmission). This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Parity control disabled
1: B_0x1: Parity control enabled

WAKE

Bit 11: Receiver wake-up method This bit determines the USART wake-up method from Mute mode. It is set or cleared by software. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Idle line
1: B_0x1: Address mark

M0

Bit 12: Word length This bit is used in conjunction with bit 28 (M1) to determine the word length. It is set or cleared by software (refer to bit 28 (M1)description). This bit can only be written when the USART is disabled (UE = 0)..

MME

Bit 13: Mute mode enable This bit enables the USART Mute mode function. When set, the USART can switch between active and Mute mode, as defined by the WAKE bit. It is set and cleared by software..

Allowed values:
0: B_0x0: Receiver in active mode permanently
1: B_0x1: Receiver can switch between Mute mode and active mode.

CMIE

Bit 14: Character match interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when the CMF bit is set in the USART_ISR register.

OVER8

Bit 15: Oversampling mode This bit can only be written when the USART is disabled (UE = 0). Note: In LIN, IrDA and Smartcard modes, this bit must be kept cleared..

Allowed values:
0: B_0x0: Oversampling by 16
1: B_0x1: Oversampling by 8

DEDT

Bits 16-20: Driver enable deassertion time This 5-bit value defines the time between the end of the last stop bit, in a transmitted message, and the de-activation of the DE (Driver Enable) signal. It is expressed in sample time units (1/8 or 1/16 bit time, depending on the oversampling rate). If the USART_TDR register is written during the DEDT time, the new data is transmitted only when the DEDT and DEAT times have both elapsed. This bitfield can only be written when the USART is disabled (UE = 0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

DEAT

Bits 21-25: Driver enable assertion time This 5-bit value defines the time between the activation of the DE (Driver Enable) signal and the beginning of the start bit. It is expressed in sample time units (1/8 or 1/16 bit time, depending on the oversampling rate). This bitfield can only be written when the USART is disabled (UE = 0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

RTOIE

Bit 26: Receiver timeout interrupt enable This bit is set and cleared by software. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when the RTOF bit is set in the USART_ISR register.

EOBIE

Bit 27: End-of-block interrupt enable This bit is set and cleared by software. Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when the EOBF flag is set in the USART_ISR register

M1

Bit 28: Word length This bit must be used in conjunction with bit 12 (M0) to determine the word length. It is set or cleared by software. M[1:0] = 00 : 1 start bit, 8 Data bits, n Stop bit M[1:0] = 01 : 1 start bit, 9 Data bits, n Stop bit M[1:0] = 10 : 1 start bit, 7 Data bits, n Stop bit This bit can only be written when the USART is disabled (UE = 0). Note: In 7-bits data length mode, the Smartcard mode, LIN master mode and auto baud rate (0x7F and 0x55 frames detection) are not supported..

FIFOEN

Bit 29: FIFO mode enable This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE = 0). Note: FIFO mode can be used on standard UART communication, in SPI master/slave mode and in Smartcard modes only. It must not be enabled in IrDA and LIN modes..

Allowed values:
0: B_0x0: FIFO mode is disabled.
1: B_0x1: FIFO mode is enabled.

TXFEIE

Bit 30: TXFIFO empty interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when TXFE = 1 in the USART_ISR register

RXFFIE

Bit 31: RXFIFO full interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when RXFF = 1 in the USART_ISR register

USART_CR1_ALTERNATE1

USART control register 1

Offset: 0x0, size: 32, reset: 0x00000000, access: read-write

18/22 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FIFOEN
rw
M1
rw
EOBIE
rw
RTOIE
rw
DEAT
rw
DEDT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OVER8
rw
CMIE
rw
MME
rw
M0
rw
WAKE
rw
PCE
rw
PS
rw
PEIE
rw
TXEIE
rw
TCIE
rw
RXNEIE
rw
IDLEIE
rw
TE
rw
RE
rw
UESM
rw
UE
rw
Toggle fields

UE

Bit 0: USART enable When this bit is cleared, the USART prescalers and outputs are stopped immediately, and all current operations are discarded. The USART configuration is kept, but all the USART_ISR status flags are reset. This bit is set and cleared by software. Note: To enter low-power mode without generating errors on the line, the TE bit must be previously reset and the software must wait for the TC bit in the USART_ISR to be set before resetting the UE bit. Note: The DMA requests are also reset when UE = 0 so the DMA channel must be disabled before resetting the UE bit. Note: In Smartcard mode, (SCEN = 1), the CK pin is always available when CLKEN = 1, regardless of the UE bit value..

Allowed values:
0: B_0x0: USART prescaler and outputs disabled, low-power mode
1: B_0x1: USART enabled

UESM

Bit 1: USART enable in low-power mode When this bit is cleared, the USART cannot wake up the MCU from low-power mode. When this bit is set, the USART can wake up the MCU from low-power mode. This bit is set and cleared by software. Note: It is recommended to set the UESM bit just before entering low-power mode and clear it when exit from low-power mode. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: USART not able to wake up the MCU from low-power mode.
1: B_0x1: USART able to wake up the MCU from low-power mode.

RE

Bit 2: Receiver enable This bit enables the receiver. It is set and cleared by software..

Allowed values:
0: B_0x0: Receiver is disabled
1: B_0x1: Receiver is enabled and begins searching for a start bit

TE

Bit 3: Transmitter enable This bit enables the transmitter. It is set and cleared by software. Note: During transmission, a low pulse on the TE bit ( 0 followed by 1 ) sends a preamble (idle line) after the current word, except in Smartcard mode. In order to generate an idle character, the TE must not be immediately written to 1 . To ensure the required duration, the software can poll the TEACK bit in the USART_ISR register. Note: In Smartcard mode, when TE is set, there is a 1 bit-time delay before the transmission starts..

Allowed values:
0: B_0x0: Transmitter is disabled
1: B_0x1: Transmitter is enabled

IDLEIE

Bit 4: IDLE interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever IDLE = 1 in the USART_ISR register

RXNEIE

Bit 5: Receive data register not empty This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever ORE = 1 or RXNE = 1 in the USART_ISR register

TCIE

Bit 6: Transmission complete interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever TC = 1 in the USART_ISR register

TXEIE

Bit 7: Transmit data register empty This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever TXE =1 in the USART_ISR register

PEIE

Bit 8: PE interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever PE = 1 in the USART_ISR register

PS

Bit 9: Parity selection This bit selects the odd or even parity when the parity generation/detection is enabled (PCE bit set). It is set and cleared by software. The parity is selected after the current byte. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Even parity
1: B_0x1: Odd parity

PCE

Bit 10: Parity control enable This bit selects the hardware parity control (generation and detection). When the parity control is enabled, the computed parity is inserted at the MSB position (9th bit if M = 1; 8th bit if M = 0) and the parity is checked on the received data. This bit is set and cleared by software. Once it is set, PCE is active after the current byte (in reception and in transmission). This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Parity control disabled
1: B_0x1: Parity control enabled

WAKE

Bit 11: Receiver wake-up method This bit determines the USART wake-up method from Mute mode. It is set or cleared by software. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Idle line
1: B_0x1: Address mark

M0

Bit 12: Word length This bit is used in conjunction with bit 28 (M1) to determine the word length. It is set or cleared by software (refer to bit 28 (M1)description). This bit can only be written when the USART is disabled (UE = 0)..

MME

Bit 13: Mute mode enable This bit enables the USART Mute mode function. When set, the USART can switch between active and Mute mode, as defined by the WAKE bit. It is set and cleared by software..

Allowed values:
0: B_0x0: Receiver in active mode permanently
1: B_0x1: Receiver can switch between Mute mode and active mode.

CMIE

Bit 14: Character match interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when the CMF bit is set in the USART_ISR register.

OVER8

Bit 15: Oversampling mode This bit can only be written when the USART is disabled (UE = 0). Note: In LIN, IrDA and Smartcard modes, this bit must be kept cleared..

Allowed values:
0: B_0x0: Oversampling by 16
1: B_0x1: Oversampling by 8

DEDT

Bits 16-20: Driver enable deassertion time This 5-bit value defines the time between the end of the last stop bit, in a transmitted message, and the de-activation of the DE (Driver Enable) signal. It is expressed in sample time units (1/8 or 1/16 bit time, depending on the oversampling rate). If the USART_TDR register is written during the DEDT time, the new data is transmitted only when the DEDT and DEAT times have both elapsed. This bitfield can only be written when the USART is disabled (UE = 0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

DEAT

Bits 21-25: Driver enable assertion time This 5-bit value defines the time between the activation of the DE (Driver Enable) signal and the beginning of the start bit. It is expressed in sample time units (1/8 or 1/16 bit time, depending on the oversampling rate). This bitfield can only be written when the USART is disabled (UE = 0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

RTOIE

Bit 26: Receiver timeout interrupt enable This bit is set and cleared by software. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when the RTOF bit is set in the USART_ISR register.

EOBIE

Bit 27: End of Bbock interrupt enable This bit is set and cleared by software. Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when the EOBF flag is set in the USART_ISR register

M1

Bit 28: Word length This bit must be used in conjunction with bit 12 (M0) to determine the word length. It is set or cleared by software. M[1:0] = 00 : 1 start bit, 8 Data bits, n Stop bit M[1:0] = 01 : 1 start bit, 9 Data bits, n Stop bit M[1:0] = 10 : 1 start bit, 7 Data bits, n Stop bit This bit can only be written when the USART is disabled (UE = 0). Note: In 7-bits data length mode, the Smartcard mode, LIN master mode and auto baud rate (0x7F and 0x55 frames detection) are not supported..

FIFOEN

Bit 29: FIFO mode enable This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE = 0). Note: FIFO mode can be used on standard UART communication, in SPI master/slave mode and in Smartcard modes only. It must not be enabled in IrDA and LIN modes..

Allowed values:
0: B_0x0: FIFO mode is disabled.
1: B_0x1: FIFO mode is enabled.

USART_CR2

USART control register 2

Offset: 0x4, size: 32, reset: 0x00000000, access: read-write

19/20 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ADD
rw
RTOEN
rw
ABRMOD
rw
ABREN
rw
MSBFIRST
rw
DATAINV
rw
TXINV
rw
RXINV
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SWAP
rw
LINEN
rw
STOP
rw
CLKEN
rw
CPOL
rw
CPHA
rw
LBCL
rw
LBDIE
rw
LBDL
rw
ADDM7
rw
DIS_NSS
rw
SLVEN
rw
Toggle fields

SLVEN

Bit 0: Synchronous Slave mode enable When the SLVEN bit is set, the synchronous slave mode is enabled. Note: When SPI slave mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Slave mode disabled.
1: B_0x1: Slave mode enabled.

DIS_NSS

Bit 3: NSS pin enable When the DIS_NSS bit is set, the NSS pin input is ignored. Note: When SPI slave mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: SPI slave selection depends on NSS input pin.
1: B_0x1: SPI slave is always selected and NSS input pin is ignored.

ADDM7

Bit 4: 7-bit address detection/4-bit address detection This bit is for selection between 4-bit address detection or 7-bit address detection. This bit can only be written when the USART is disabled (UE = 0) Note: In 7-bit and 9-bit data modes, the address detection is done on 6-bit and 8-bit address (ADD[5:0] and ADD[7:0]) respectively..

Allowed values:
0: B_0x0: 4-bit address detection
1: B_0x1: 7-bit address detection (in 8-bit data mode)

LBDL

Bit 5: LIN break detection length This bit is for selection between 11 bit or 10 bit break detection. This bit can only be written when the USART is disabled (UE = 0). Note: If LIN mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: 10-bit break detection
1: B_0x1: 11-bit break detection

LBDIE

Bit 6: LIN break detection interrupt enable Break interrupt mask (break detection using break delimiter). Note: If LIN mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt is inhibited
1: B_0x1: An interrupt is generated whenever LBDF = 1 in the USART_ISR register

LBCL

Bit 8: Last bit clock pulse This bit is used to select whether the clock pulse associated with the last data bit transmitted (MSB) has to be output on the CK pin in synchronous mode. The last bit is the 7th or 8th or 9th data bit transmitted depending on the 7 or 8 or 9 bit format selected by the M bit in the USART_CR1 register. This bit can only be written when the USART is disabled (UE = 0). Note: If synchronous mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: The clock pulse of the last data bit is not output to the CK pin
1: B_0x1: The clock pulse of the last data bit is output to the CK pin

CPHA

Bit 9: Clock phase This bit is used to select the phase of the clock output on the CK pin in synchronous mode. It works in conjunction with the CPOL bit to produce the desired clock/data relationship (see Figure 249 and Figure 250) This bit can only be written when the USART is disabled (UE = 0). Note: If synchronous mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: The first clock transition is the first data capture edge
1: B_0x1: The second clock transition is the first data capture edge

CPOL

Bit 10: Clock polarity This bit enables the user to select the polarity of the clock output on the CK pin in synchronous mode. It works in conjunction with the CPHA bit to produce the desired clock/data relationship This bit can only be written when the USART is disabled (UE = 0). Note: If synchronous mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Steady low value on CK pin outside transmission window
1: B_0x1: Steady high value on CK pin outside transmission window

CLKEN

Bit 11: Clock enable This bit enables the user to enable the CK pin. This bit can only be written when the USART is disabled (UE = 0). Note: If neither synchronous mode nor Smartcard mode is supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691. In Smartcard mode, in order to provide correctly the CK clock to the smartcard, the steps below must be respected: UE = 0 SCEN = 1 GTPR configuration CLKEN= 1 Note: UE = 1.

Allowed values:
0: B_0x0: CK pin disabled
1: B_0x1: CK pin enabled

STOP

Bits 12-13: Stop bits These bits are used for programming the stop bits. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: 1 stop bit
1: B_0x1: 0.5 stop bit.
2: B_0x2: 2 stop bits
3: B_0x3: 1.5 stop bits

LINEN

Bit 14: LIN mode enable This bit is set and cleared by software. The LIN mode enables the capability to send LIN synchronous breaks (13 low bits) using the SBKRQ bit in the USART_CR1 register, and to detect LIN Sync breaks. This bitfield can only be written when the USART is disabled (UE = 0). Note: If the USART does not support LIN mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: LIN mode disabled
1: B_0x1: LIN mode enabled

SWAP

Bit 15: Swap TX/RX pins This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: TX/RX pins are used as defined in standard pinout
1: B_0x1: The TX and RX pins functions are swapped. This enables to work in the case of a cross-wired connection to another UART.

RXINV

Bit 16: RX pin active level inversion This bit is set and cleared by software. This enables the use of an external inverter on the RX line. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: RX pin signal works using the standard logic levels (V<sub>DD</sub> =1/idle, Gnd = 0/mark)
1: B_0x1: RX pin signal values are inverted (V<sub>DD</sub> =0/mark, Gnd = 1/idle).

TXINV

Bit 17: TX pin active level inversion This bit is set and cleared by software. This enables the use of an external inverter on the TX line. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: TX pin signal works using the standard logic levels (V<sub>DD</sub> =1/idle, Gnd = 0/mark)
1: B_0x1: TX pin signal values are inverted (V<sub>DD</sub> =0/mark, Gnd = 1/idle).

DATAINV

Bit 18: Binary data inversion This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Logical data from the data register are send/received in positive/direct logic. (1 = H, 0 = L)
1: B_0x1: Logical data from the data register are send/received in negative/inverse logic. (1 = L, 0 = H). The parity bit is also inverted.

MSBFIRST

Bit 19: Most significant bit first This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: data is transmitted/received with data bit 0 first, following the start bit.
1: B_0x1: data is transmitted/received with the MSB (bit 7/8) first, following the start bit.

ABREN

Bit 20: Auto baud rate enable This bit is set and cleared by software. Note: If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Auto baud rate detection is disabled.
1: B_0x1: Auto baud rate detection is enabled.

ABRMOD

Bits 21-22: Auto baud rate mode These bits are set and cleared by software. This bitfield can only be written when ABREN = 0 or the USART is disabled (UE = 0). Note: If DATAINV = 1 and/or MSBFIRST = 1 the patterns must be the same on the line, for example 0xAA for MSBFIRST) Note: If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Measurement of the start bit is used to detect the baud rate.
1: B_0x1: Falling edge to falling edge measurement (the received frame must start with a single bit = 1 and Frame = Start10xxxxxx)
2: B_0x2: 0x7F frame detection.
3: B_0x3: 0x55 frame detection

RTOEN

Bit 23: Receiver timeout enable This bit is set and cleared by software. When this feature is enabled, the RTOF flag in the USART_ISR register is set if the RX line is idle (no reception) for the duration programmed in the RTOR (receiver timeout register). Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Receiver timeout feature disabled.
1: B_0x1: Receiver timeout feature enabled.

ADD

Bits 24-31: Address of the USART node These bits give the address of the USART node in Mute mode or a character code to be recognized in low-power or Run mode: In Mute mode: they are used in multiprocessor communication to wake up from Mute mode with 4-bit/7-bit address mark detection. The MSB of the character sent by the transmitter should be equal to 1. In 4-bit address mark detection, only ADD[3:0] bits are used. In low-power mode: they are used for wake up from low-power mode on character match. When WUS[1:0] is programmed to 0b00 (WUF active on address match), the wake-up from low-power mode is performed when the received character corresponds to the character programmed through ADD[6:0] or ADD[3:0] bitfield (depending on ADDM7 bit), and WUF interrupt is enabled by setting WUFIE bit. The MSB of the character sent by transmitter should be equal to 1. In Run mode with Mute mode inactive (for example, end-of-block detection in ModBus protocol): the whole received character (8 bits) is compared to ADD[7:0] value and CMF flag is set on match. An interrupt is generated if the CMIE bit is set. These bits can only be written when the reception is disabled (RE = 0) or when the USART is disabled (UE = 0)..

USART_CR3

USART control register 3

Offset: 0x8, size: 32, reset: 0x00000000, access: read-write

24/24 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TXFTCFG
rw
RXFTIE
rw
RXFTCFG
rw
TCBGTIE
rw
TXFTIE
rw
WUFIE
rw
WUS
rw
SCARCNT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DEP
rw
DEM
rw
DDRE
rw
OVRDIS
rw
ONEBIT
rw
CTSIE
rw
CTSE
rw
RTSE
rw
DMAT
rw
DMAR
rw
SCEN
rw
NACK
rw
HDSEL
rw
IRLP
rw
IREN
rw
EIE
rw
Toggle fields

EIE

Bit 0: Error interrupt enable Error Interrupt Enable Bit is required to enable interrupt generation in case of a framing error, overrun error noise flag or SPI slave underrun error (FE = 1 or ORE = 1 or NE = 1 or UDR = 1 in the USART_ISR register)..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: interrupt generated when FE = 1 or ORE = 1 or NE = 1 or UDR = 1 (in SPI slave mode) in the USART_ISR register.

IREN

Bit 1: IrDA mode enable This bit is set and cleared by software. This bit can only be written when the USART is disabled (UE = 0). Note: If IrDA mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: IrDA disabled
1: B_0x1: IrDA enabled

IRLP

Bit 2: IrDA low-power This bit is used for selecting between normal and low-power IrDA modes This bit can only be written when the USART is disabled (UE = 0). Note: If IrDA mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Normal mode
1: B_0x1: Low-power mode

HDSEL

Bit 3: Half-duplex selection Selection of Single-wire Half-duplex mode This bit can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Half duplex mode is not selected
1: B_0x1: Half duplex mode is selected

NACK

Bit 4: Smartcard NACK enable This bitfield can only be written when the USART is disabled (UE = 0). Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: NACK transmission in case of parity error is disabled
1: B_0x1: NACK transmission during parity error is enabled

SCEN

Bit 5: Smartcard mode enable This bit is used for enabling Smartcard mode. This bitfield can only be written when the USART is disabled (UE = 0). Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Smartcard Mode disabled
1: B_0x1: Smartcard Mode enabled

DMAR

Bit 6: DMA enable receiver This bit is set/reset by software.

Allowed values:
1: B_0x1: DMA mode is enabled for reception
0: B_0x0: DMA mode is disabled for reception

DMAT

Bit 7: DMA enable transmitter This bit is set/reset by software.

Allowed values:
1: B_0x1: DMA mode is enabled for transmission
0: B_0x0: DMA mode is disabled for transmission

RTSE

Bit 8: RTS enable This bit can only be written when the USART is disabled (UE = 0). Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: RTS hardware flow control disabled
1: B_0x1: RTS output enabled, data is only requested when there is space in the receive buffer. The transmission of data is expected to cease after the current character has been transmitted. The RTS output is deasserted (pulled to 0) when data can be received.

CTSE

Bit 9: CTS enable This bit can only be written when the USART is disabled (UE = 0) Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: CTS hardware flow control disabled
1: B_0x1: CTS mode enabled, data is only transmitted when the CTS input is deasserted (tied to 0). If the CTS input is asserted while data is being transmitted, then the transmission is completed before stopping. If data is written into the data register while CTS is asserted, the transmission is postponed until CTS is deasserted.

CTSIE

Bit 10: CTS interrupt enable Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt is inhibited
1: B_0x1: An interrupt is generated whenever CTSIF = 1 in the USART_ISR register

ONEBIT

Bit 11: One sample bit method enable This bit enables the user to select the sample method. When the one sample bit method is selected the noise detection flag (NE) is disabled. This bit can only be written when the USART is disabled (UE = 0)..

Allowed values:
0: B_0x0: Three sample bit method
1: B_0x1: One sample bit method

OVRDIS

Bit 12: Overrun disable This bit is used to disable the receive overrun detection. the ORE flag is not set and the new received data overwrites the previous content of the USART_RDR register. When FIFO mode is enabled, the RXFIFO is bypassed and data is written directly in USART_RDR register. Even when FIFO management is enabled, the RXNE flag is to be used. This bit can only be written when the USART is disabled (UE = 0). Note: This control bit enables checking the communication flow w/o reading the data.

Allowed values:
0: B_0x0: Overrun Error Flag, ORE, is set when received data is not read before receiving new data.
1: B_0x1: Overrun functionality is disabled. If new data is received while the RXNE flag is still set

DDRE

Bit 13: DMA Disable on reception error This bit can only be written when the USART is disabled (UE=0). Note: The reception errors are: parity error, framing error or noise error..

Allowed values:
0: B_0x0: DMA is not disabled in case of reception error. The corresponding error flag is set but RXNE is kept 0 preventing from overrun. As a consequence, the DMA request is not asserted, so the erroneous data is not transferred (no DMA request), but next correct received data is transferred (used for Smartcard mode).
1: B_0x1: DMA is disabled following a reception error. The corresponding error flag is set, as well as RXNE. The DMA request is masked until the error flag is cleared. This means that the software must first disable the DMA request (DMAR = 0) or clear RXNE/RXFNE is case FIFO mode is enabled) before clearing the error flag.

DEM

Bit 14: Driver enable mode This bit enables the user to activate the external transceiver control, through the DE signal. This bit can only be written when the USART is disabled (UE = 0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: DE function is disabled.
1: B_0x1: DE function is enabled. The DE signal is output on the RTS pin.

DEP

Bit 15: Driver enable polarity selection This bit can only be written when the USART is disabled (UE = 0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: DE signal is active high.
1: B_0x1: DE signal is active low.

SCARCNT

Bits 17-19: Smartcard auto-retry count This bitfield specifies the number of retries for transmission and reception in Smartcard mode. In transmission mode, it specifies the number of automatic retransmission retries, before generating a transmission error (FE bit set). In reception mode, it specifies the number or erroneous reception trials, before generating a reception error (RXNE/RXFNE and PE bits set). This bitfield must be programmed only when the USART is disabled (UE = 0). When the USART is enabled (UE = 1), this bitfield may only be written to 0x0, in order to stop retransmission. 0x1 to 0x7: number of automatic retransmission attempts (before signaling error) Note: If Smartcard mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: retransmission disabled - No automatic retransmission in transmit mode.

WUS

Bits 20-21: Wake-up from low-power mode interrupt flag selection This bitfield specifies the event which activates the WUF (wake-up from low-power mode flag). This bitfield can only be written when the USART is disabled (UE = 0). Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: WUF active on address match (as defined by ADD[7:0] and ADDM7)
1: B_0x1: Reserved.
2: B_0x2: WUF active on start bit detection
3: B_0x3: WUF active on RXNE/RXFNE.

WUFIE

Bit 22: Wake-up from low-power mode interrupt enable This bit is set and cleared by software. Note: WUFIE must be set before entering in low-power mode. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever WUF = 1 in the USART_ISR register

TXFTIE

Bit 23: TXFIFO threshold interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when TXFIFO reaches the threshold programmed in TXFTCFG.

TCBGTIE

Bit 24: Transmission complete before guard time, interrupt enable This bit is set and cleared by software. Note: If the USART does not support the Smartcard mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated whenever TCBGT=1 in the USART_ISR register

RXFTCFG

Bits 25-27: Receive FIFO threshold configuration Remaining combinations: Reserved.

Allowed values:
0: B_0x0: Receive FIFO reaches 1/8 of its depth
1: B_0x1: Receive FIFO reaches 1/4 of its depth
2: B_0x2: Receive FIFO reaches 1/2 of its depth
3: B_0x3: Receive FIFO reaches 3/4 of its depth
4: B_0x4: Receive FIFO reaches 7/8 of its depth
5: B_0x5: Receive FIFO becomes full

RXFTIE

Bit 28: RXFIFO threshold interrupt enable This bit is set and cleared by software..

Allowed values:
0: B_0x0: Interrupt inhibited
1: B_0x1: USART interrupt generated when Receive FIFO reaches the threshold programmed in RXFTCFG.

TXFTCFG

Bits 29-31: TXFIFO threshold configuration Remaining combinations: Reserved.

Allowed values:
0: B_0x0: TXFIFO reaches 1/8 of its depth
1: B_0x1: TXFIFO reaches 1/4 of its depth
2: B_0x2: TXFIFO reaches 1/2 of its depth
3: B_0x3: TXFIFO reaches 3/4 of its depth
4: B_0x4: TXFIFO reaches 7/8 of its depth
5: B_0x5: TXFIFO becomes empty

USART_BRR

USART baud rate register

Offset: 0xc, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BRR
rw
Toggle fields

BRR

Bits 0-15: USART baud rate BRR[15:4] BRR[15:4] = USARTDIV[15:4] BRR[3:0] When OVER8 = 0, BRR[3:0] = USARTDIV[3:0]. When OVER8 = 1: BRR[2:0] = USARTDIV[3:0] shifted 1 bit to the right. BRR[3] must be kept cleared..

USART_GTPR

USART guard time and prescaler register

Offset: 0x10, size: 32, reset: 0x00000000, access: read-write

1/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
GT
rw
PSC
rw
Toggle fields

PSC

Bits 0-7: Prescaler value.

Allowed values:
0: B_0x0: Reserved - do not program this value
1: B_0x1: Divides the source clock by 1 (IrDA mode) / by 2 (Smarcard mode)
2: B_0x2: Divides the source clock by 2 (IrDA mode) / by 4 (Smartcard mode)
3: B_0x3: Divides the source clock by 3 (IrDA mode) / by 6 (Smartcard mode)
31: B_0x1F: Divides the source clock by 31 (IrDA mode) / by 62 (Smartcard mode)
32: B_0x20: Divides the source clock by 32 (IrDA mode)
255: B_0xFF: Divides the source clock by 255 (IrDA mode)

GT

Bits 8-15: Guard time value This bitfield is used to program the Guard time value in terms of number of baud clock periods. This is used in Smartcard mode. The Transmission Complete flag is set after this guard time value. This bitfield can only be written when the USART is disabled (UE = 0). Note: If Smartcard mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

USART_RTOR

USART receiver timeout register

Offset: 0x14, size: 32, reset: 0x00000000, access: read-write

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BLEN
rw
RTO
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RTO
rw
Toggle fields

RTO

Bits 0-23: Receiver timeout value This bitfield gives the Receiver timeout value in terms of number of bits during which there is no activity on the RX line. In standard mode, the RTOF flag is set if, after the last received character, no new start bit is detected for more than the RTO value. In Smartcard mode, this value is used to implement the CWT and BWT. See Smartcard chapter for more details. In the standard, the CWT/BWT measurement is done starting from the start bit of the last received character. Note: This value must only be programmed once per received character..

BLEN

Bits 24-31: Block length This bitfield gives the Block length in Smartcard T = 1 Reception. Its value equals the number of information characters + the length of the Epilogue Field (1-LEC/2-CRC) - 1. Examples: BLEN = 0: 0 information characters + LEC BLEN = 1: 0 information characters + CRC BLEN = 255: 254 information characters + CRC (total 256 characters)) In Smartcard mode, the Block length counter is reset when TXE = 0 (TXFE = 0 in case FIFO mode is enabled). This bitfield can be used also in other modes. In this case, the Block length counter is reset when RE = 0 (receiver disabled) and/or when the EOBCF bit is written to 1. Note: This value can be programmed after the start of the block reception (using the data from the LEN character in the Prologue Field). It must be programmed only once per received block..

USART_RQR

USART request register

Offset: 0x18, size: 32, reset: 0x00000000, access: write-only

0/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TXFRQ
w
RXFRQ
w
MMRQ
w
SBKRQ
w
ABRRQ
w
Toggle fields

ABRRQ

Bit 0: Auto baud rate request Writing 1 to this bit resets the ABRF and ABRE flags in the USART_ISR and requests an automatic baud rate measurement on the next received data frame. Note: If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

SBKRQ

Bit 1: Send break request Writing 1 to this bit sets the SBKF flag and request to send a BREAK on the line, as soon as the transmit machine is available. Note: When the application needs to send the break character following all previously inserted data, including the ones not yet transmitted, the software should wait for the TXE flag assertion before setting the SBKRQ bit..

MMRQ

Bit 2: Mute mode request Writing 1 to this bit puts the USART in Mute mode and resets the RWU flag..

RXFRQ

Bit 3: Receive data flush request Writing 1 to this bit empties the entire receive FIFO i.e. clears the bit RXFNE. This enables to discard the received data without reading them, and avoid an overrun condition..

TXFRQ

Bit 4: Transmit data flush request When FIFO mode is disabled, writing 1 to this bit sets the TXE flag. This enables to discard the transmit data. This bit must be used only in Smartcard mode, when data have not been sent due to errors (NACK) and the FE flag is active in the USART_ISR register. If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. When FIFO is enabled, TXFRQ bit is set to flush the whole FIFO. This sets the TXFE flag (Transmit FIFO empty, bit 23 in the USART_ISR register). Flushing the Transmit FIFO is supported in both UART and Smartcard modes. Note: In FIFO mode, the TXFNF flag is reset during the flush request until TxFIFO is empty in order to ensure that no data are written in the data register..

USART_ISR

USART interrupt and status register

Offset: 0x1c, size: 32, reset: 0x008000C0, access: read-only

28/28 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TXFT
r
RXFT
r
TCBGT
r
RXFF
r
TXFE
r
REACK
r
TEACK
r
WUF
r
RWU
r
SBKF
r
CMF
r
BUSY
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ABRF
r
ABRE
r
UDR
r
EOBF
r
RTOF
r
CTS
r
CTSIF
r
LBDF
r
TXFNF
r
TC
r
RXFNE
r
IDLE
r
ORE
r
NE
r
FE
r
PE
r
Toggle fields

PE

Bit 0: Parity error This bit is set by hardware when a parity error occurs in receiver mode. It is cleared by software, writing 1 to the PECF in the USART_ICR register. An interrupt is generated if PEIE = 1 in the USART_CR1 register. Note: This error is associated with the character in the USART_RDR..

Allowed values:
0: B_0x0: No parity error
1: B_0x1: Parity error

FE

Bit 1: Framing error This bit is set by hardware when a de-synchronization, excessive noise or a break character is detected. It is cleared by software, writing 1 to the FECF bit in the USART_ICR register. When transmitting data in Smartcard mode, this bit is set when the maximum number of transmit attempts is reached without success (the card NACKs the data frame). An interrupt is generated if EIE = 1 in the USART_CR3 register. Note: This error is associated with the character in the USART_RDR..

Allowed values:
0: B_0x0: No Framing error is detected
1: B_0x1: Framing error or break character is detected

NE

Bit 2: Noise detection flag This bit is set by hardware when noise is detected on a received frame. It is cleared by software, writing 1 to the NECF bit in the USART_ICR register. Note: This bit does not generate an interrupt as it appears at the same time as the RXFNE bit which itself generates an interrupt. An interrupt is generated when the NE flag is set during multi buffer communication if the EIE bit is set. Note: When the line is noise-free, the NE flag can be disabled by programming the ONEBIT bit to 1 to increase the USART tolerance to deviations (Refer to Section 26.5.8: Tolerance of the USART receiver to clock deviation on page 709). Note: This error is associated with the character in the USART_RDR..

Allowed values:
0: B_0x0: No noise is detected
1: B_0x1: Noise is detected

ORE

Bit 3: Overrun error This bit is set by hardware when the data currently being received in the shift register is ready to be transferred into the USART_RDR register while RXFF = 1. It is cleared by a software, writing 1 to the ORECF, in the USART_ICR register. An interrupt is generated if RXFNEIE = 1 in the USART_CR1 register, or EIE = 1 in the USART_CR3 register. Note: When this bit is set, the USART_RDR register content is not lost but the shift register is overwritten. An interrupt is generated if the ORE flag is set during multi buffer communication if the EIE bit is set. Note: This bit is permanently forced to 0 (no overrun detection) when the bit OVRDIS is set in the USART_CR3 register..

Allowed values:
0: B_0x0: No overrun error
1: B_0x1: Overrun error is detected

IDLE

Bit 4: Idle line detected This bit is set by hardware when an Idle Line is detected. An interrupt is generated if IDLEIE = 1 in the USART_CR1 register. It is cleared by software, writing 1 to the IDLECF in the USART_ICR register. Note: The IDLE bit is not set again until the RXFNE bit has been set (i.e. a new idle line occurs). Note: If Mute mode is enabled (MME = 1), IDLE is set if the USART is not mute (RWU = 0), whatever the Mute mode selected by the WAKE bit. If RWU = 1, IDLE is not set..

Allowed values:
0: B_0x0: No Idle line is detected
1: B_0x1: Idle line is detected

RXFNE

Bit 5: RXFIFO not empty RXFNE bit is set by hardware when the RXFIFO is not empty, meaning that data can be read from the USART_RDR register. Every read operation from the USART_RDR frees a location in the RXFIFO. RXFNE is cleared when the RXFIFO is empty. The RXFNE flag can also be cleared by writing 1 to the RXFRQ in the USART_RQR register. An interrupt is generated if RXFNEIE = 1 in the USART_CR1 register..

Allowed values:
0: B_0x0: Data is not received
1: B_0x1: Received data is ready to be read.

TC

Bit 6: Transmission complete This bit indicates that the last data written in the USART_TDR has been transmitted out of the shift register. It is set by hardware when the transmission of a frame containing data is complete and when TXFE is set. An interrupt is generated if TCIE = 1 in the USART_CR1 register. TC bit is is cleared by software, by writing 1 to the TCCF in the USART_ICR register or by a write to the USART_TDR register. Note: If TE bit is reset and no transmission is on going, the TC bit is immediately set..

Allowed values:
0: B_0x0: Transmission is not complete
1: B_0x1: Transmission is complete

TXFNF

Bit 7: TXFIFO not full TXFNF is set by hardware when TXFIFO is not full meaning that data can be written in the USART_TDR. Every write operation to the USART_TDR places the data in the TXFIFO. This flag remains set until the TXFIFO is full. When the TXFIFO is full, this flag is cleared indicating that data can not be written into the USART_TDR. An interrupt is generated if the TXFNFIE bit =1 in the USART_CR1 register. Note: The TXFNF is kept reset during the flush request until TXFIFO is empty. After sending the flush request (by setting TXFRQ bit), the flag TXFNF should be checked prior to writing in TXFIFO (TXFNF and TXFE are set at the same time). Note: This bit is used during single buffer transmission..

Allowed values:
0: B_0x0: Transmit FIFO is full
1: B_0x1: Transmit FIFO is not full

LBDF

Bit 8: LIN break detection flag This bit is set by hardware when the LIN break is detected. It is cleared by software, by writing 1 to the LBDCF in the USART_ICR. An interrupt is generated if LBDIE = 1 in the USART_CR2 register. Note: If the USART does not support LIN mode, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: LIN Break not detected
1: B_0x1: LIN break detected

CTSIF

Bit 9: CTS interrupt flag This bit is set by hardware when the CTS input toggles, if the CTSE bit is set. It is cleared by software, by writing 1 to the CTSCF bit in the USART_ICR register. An interrupt is generated if CTSIE = 1 in the USART_CR3 register. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..

Allowed values:
0: B_0x0: No change occurred on the CTS status line
1: B_0x1: A change occurred on the CTS status line

CTS

Bit 10: CTS flag This bit is set/reset by hardware. It is an inverted copy of the status of the CTS input pin. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..

Allowed values:
0: B_0x0: CTS line set
1: B_0x1: CTS line reset

RTOF

Bit 11: Receiver timeout This bit is set by hardware when the timeout value, programmed in the RTOR register has lapsed, without any communication. It is cleared by software, writing 1 to the RTOCF bit in the USART_ICR register. An interrupt is generated if RTOIE = 1 in the USART_CR2 register. In Smartcard mode, the timeout corresponds to the CWT or BWT timings. Note: If a time equal to the value programmed in RTOR register separates 2 characters, RTOF is not set. If this time exceeds this value + 2 sample times (2/16 or 2/8, depending on the oversampling method), RTOF flag is set. Note: The counter counts even if RE = 0 but RTOF is set only when RE = 1. If the timeout has already elapsed when RE is set, then RTOF is set. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and kept at reset value..

Allowed values:
0: B_0x0: Timeout value not reached
1: B_0x1: Timeout value reached without any data reception

EOBF

Bit 12: End of block flag This bit is set by hardware when a complete block has been received (for example T = 1 Smartcard mode). The detection is done when the number of received bytes (from the start of the block, including the prologue) is equal or greater than BLEN + 4. An interrupt is generated if the EOBIE = 1 in the USART_CR1 register. It is cleared by software, writing 1 to the EOBCF in the USART_ICR register. Note: If Smartcard mode is not supported, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: End of Block not reached
1: B_0x1: End of Block (number of characters) reached

UDR

Bit 13: SPI slave underrun error flag In slave transmission mode, this flag is set when the first clock pulse for data transmission appears while the software has not yet loaded any value into USART_TDR. This flag is reset by setting UDRCF bit in the USART_ICR register. Note: If the USART does not support the SPI slave mode, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: No underrun error
1: B_0x1: underrun error

ABRE

Bit 14: Auto baud rate error This bit is set by hardware if the baud rate measurement failed (baud rate out of range or character comparison failed) It is cleared by software, by writing 1 to the ABRRQ bit in the USART_RQR register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..

ABRF

Bit 15: Auto baud rate flag This bit is set by hardware when the automatic baud rate has been set (RXFNE is also set, generating an interrupt if RXFNEIE = 1) or when the auto baud rate operation was completed without success (ABRE = 1) (ABRE, RXFNE and FE are also set in this case) It is cleared by software, in order to request a new auto baud rate detection, by writing 1 to the ABRRQ in the USART_RQR register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..

BUSY

Bit 16: Busy flag This bit is set and reset by hardware. It is active when a communication is ongoing on the RX line (successful start bit detected). It is reset at the end of the reception (successful or not)..

Allowed values:
0: B_0x0: USART is idle (no reception)
1: B_0x1: Reception on going

CMF

Bit 17: Character match flag This bit is set by hardware, when a the character defined by ADD[7:0] is received. It is cleared by software, writing 1 to the CMCF in the USART_ICR register. An interrupt is generated if CMIE = 1in the USART_CR1 register..

Allowed values:
0: B_0x0: No Character match detected
1: B_0x1: Character Match detected

SBKF

Bit 18: Send break flag This bit indicates that a send break character was requested. It is set by software, by writing 1 to the SBKRQ bit in the USART_CR3 register. It is automatically reset by hardware during the stop bit of break transmission..

Allowed values:
0: B_0x0: Break character transmitted
1: B_0x1: Break character requested by setting SBKRQ bit in USART_RQR register

RWU

Bit 19: Receiver wake-up from Mute mode This bit indicates if the USART is in Mute mode. It is cleared/set by hardware when a wake-up/mute sequence is recognized. The Mute mode control sequence (address or IDLE) is selected by the WAKE bit in the USART_CR1 register. When wake-up on IDLE mode is selected, this bit can only be set by software, writing 1 to the MMRQ bit in the USART_RQR register. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Receiver in active mode
1: B_0x1: Receiver in Mute mode

WUF

Bit 20: Wake-up from low-power mode flag This bit is set by hardware, when a wake-up event is detected. The event is defined by the WUS bitfield. It is cleared by software, writing a 1 to the WUCF in the USART_ICR register. An interrupt is generated if WUFIE = 1 in the USART_CR3 register. Note: When UESM is cleared, WUF flag is also cleared. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

TEACK

Bit 21: Transmit enable acknowledge flag This bit is set/reset by hardware, when the Transmit Enable value is taken into account by the USART. It can be used when an idle frame request is generated by writing TE = 0, followed by TE = 1 in the USART_CR1 register, in order to respect the TE = 0 minimum period..

REACK

Bit 22: Receive enable acknowledge flag This bit is set/reset by hardware, when the Receive Enable value is taken into account by the USART. It can be used to verify that the USART is ready for reception before entering low-power mode. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

TXFE

Bit 23: TXFIFO empty This bit is set by hardware when TXFIFO is empty. When the TXFIFO contains at least one data, this flag is cleared. The TXFE flag can also be set by writing 1 to the bit TXFRQ (bit 4) in the USART_RQR register. An interrupt is generated if the TXFEIE bit = 1 (bit 30) in the USART_CR1 register..

Allowed values:
0: B_0x0: TXFIFO not empty.
1: B_0x1: TXFIFO empty.

RXFF

Bit 24: RXFIFO full This bit is set by hardware when the number of received data corresponds to RXFIFO size + 1 (RXFIFO full + 1 data in the USART_RDR register. An interrupt is generated if the RXFFIE bit = 1 in the USART_CR1 register..

Allowed values:
0: B_0x0: RXFIFO not full.
1: B_0x1: RXFIFO Full.

TCBGT

Bit 25: Transmission complete before guard time flag.

Allowed values:
0: B_0x0: Transmission is not complete or transmission is complete unsuccessfully (i.e. a NACK is received from the card)
1: B_0x1: Transmission is complete successfully (before Guard time completion and there is no NACK from the smart card).

RXFT

Bit 26: RXFIFO threshold flag This bit is set by hardware when the threshold programmed in RXFTCFG in USART_CR3 register is reached. This means that there are (RXFTCFG - 1) data in the Receive FIFO and one data in the USART_RDR register. An interrupt is generated if the RXFTIE bit = 1 (bit 27) in the USART_CR3 register. Note: When the RXFTCFG threshold is configured to 101 , RXFT flag is set if 16 data are available i.e. 15 data in the RXFIFO and 1 data in the USART_RDR. Consequently, the 17th received data does not cause an overrun error. The overrun error occurs after receiving the 18th data..

Allowed values:
0: B_0x0: Receive FIFO does not reach the programmed threshold.
1: B_0x1: Receive FIFO reached the programmed threshold.

TXFT

Bit 27: TXFIFO threshold flag This bit is set by hardware when the TXFIFO reaches the threshold programmed in TXFTCFG of USART_CR3 register i.e. the TXFIFO contains TXFTCFG empty locations. An interrupt is generated if the TXFTIE bit = 1 (bit 31) in the USART_CR3 register..

Allowed values:
0: B_0x0: TXFIFO does not reach the programmed threshold.
1: B_0x1: TXFIFO reached the programmed threshold.

USART_ISR_ALTERNATE1

USART interrupt and status register

Offset: 0x1c, size: 32, reset: 0x000000C0, access: read-only

24/24 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TCBGT
r
REACK
r
TEACK
r
WUF
r
RWU
r
SBKF
r
CMF
r
BUSY
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ABRF
r
ABRE
r
UDR
r
EOBF
r
RTOF
r
CTS
r
CTSIF
r
LBDF
r
TXE
r
TC
r
RXNE
r
IDLE
r
ORE
r
NE
r
FE
r
PE
r
Toggle fields

PE

Bit 0: Parity error This bit is set by hardware when a parity error occurs in receiver mode. It is cleared by software, writing 1 to the PECF in the USART_ICR register. An interrupt is generated if PEIE = 1 in the USART_CR1 register..

Allowed values:
0: B_0x0: No parity error
1: B_0x1: Parity error

FE

Bit 1: Framing error This bit is set by hardware when a de-synchronization, excessive noise or a break character is detected. It is cleared by software, writing 1 to the FECF bit in the USART_ICR register. When transmitting data in Smartcard mode, this bit is set when the maximum number of transmit attempts is reached without success (the card NACKs the data frame). An interrupt is generated if EIE = 1 in the USART_CR3 register..

Allowed values:
0: B_0x0: No Framing error is detected
1: B_0x1: Framing error or break character is detected

NE

Bit 2: Noise detection flag This bit is set by hardware when noise is detected on a received frame. It is cleared by software, writing 1 to the NECF bit in the USART_ICR register. Note: This bit does not generate an interrupt as it appears at the same time as the RXNE bit which itself generates an interrupt. An interrupt is generated when the NE flag is set during multi buffer communication if the EIE bit is set. Note: When the line is noise-free, the NE flag can be disabled by programming the ONEBIT bit to 1 to increase the USART tolerance to deviations (Refer to Section 26.5.8: Tolerance of the USART receiver to clock deviation on page 709)..

Allowed values:
0: B_0x0: No noise is detected
1: B_0x1: Noise is detected

ORE

Bit 3: Overrun error This bit is set by hardware when the data currently being received in the shift register is ready to be transferred into the USART_RDR register while RXNE = 1. It is cleared by a software, writing 1 to the ORECF, in the USART_ICR register. An interrupt is generated if RXNEIE = 1 or EIE = 1 in the LPUART_CR1 register, or EIE = 1 in the USART_CR3 register. Note: When this bit is set, the USART_RDR register content is not lost but the shift register is overwritten. An interrupt is generated if the ORE flag is set during multi buffer communication if the EIE bit is set. Note: This bit is permanently forced to 0 (no overrun detection) when the bit OVRDIS is set in the USART_CR3 register..

Allowed values:
0: B_0x0: No overrun error
1: B_0x1: Overrun error is detected

IDLE

Bit 4: Idle line detected This bit is set by hardware when an Idle Line is detected. An interrupt is generated if IDLEIE = 1 in the USART_CR1 register. It is cleared by software, writing 1 to the IDLECF in the USART_ICR register. Note: The IDLE bit is not set again until the RXNE bit has been set (i.e. a new idle line occurs). Note: If Mute mode is enabled (MME = 1), IDLE is set if the USART is not mute (RWU = 0), whatever the Mute mode selected by the WAKE bit. If RWU = 1, IDLE is not set..

Allowed values:
0: B_0x0: No Idle line is detected
1: B_0x1: Idle line is detected

RXNE

Bit 5: Read data register not empty RXNE bit is set by hardware when the content of the USART_RDR shift register has been transferred to the USART_RDR register. It is cleared by reading from the USART_RDR register. The RXNE flag can also be cleared by writing 1 to the RXFRQ in the USART_RQR register. An interrupt is generated if RXNEIE = 1 in the USART_CR1 register..

Allowed values:
0: B_0x0: Data is not received
1: B_0x1: Received data is ready to be read.

TC

Bit 6: Transmission complete This bit indicates that the last data written in the USART_TDR has been transmitted out of the shift register. It is set by hardware when the transmission of a frame containing data is complete and when TXE is set. An interrupt is generated if TCIE = 1 in the USART_CR1 register. TC bit is is cleared by software, by writing 1 to the TCCF in the USART_ICR register or by a write to the USART_TDR register. Note: If TE bit is reset and no transmission is on going, the TC bit is set immediately..

Allowed values:
0: B_0x0: Transmission is not complete
1: B_0x1: Transmission is complete

TXE

Bit 7: Transmit data register empty TXE is set by hardware when the content of the USART_TDR register has been transferred into the shift register. It is cleared by writing to the USART_TDR register. The TXE flag can also be set by writing 1 to the TXFRQ in the USART_RQR register, in order to discard the data (only in Smartcard T = 0 mode, in case of transmission failure). An interrupt is generated if the TXEIE bit = 1 in the USART_CR1 register..

Allowed values:
0: B_0x0: Data register full
1: B_0x1: Data register not full

LBDF

Bit 8: LIN break detection flag This bit is set by hardware when the LIN break is detected. It is cleared by software, by writing 1 to the LBDCF in the USART_ICR. An interrupt is generated if LBDIE = 1 in the USART_CR2 register. Note: If the USART does not support LIN mode, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: LIN Break not detected
1: B_0x1: LIN break detected

CTSIF

Bit 9: CTS interrupt flag This bit is set by hardware when the CTS input toggles, if the CTSE bit is set. It is cleared by software, by writing 1 to the CTSCF bit in the USART_ICR register. An interrupt is generated if CTSIE = 1 in the USART_CR3 register. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..

Allowed values:
0: B_0x0: No change occurred on the CTS status line
1: B_0x1: A change occurred on the CTS status line

CTS

Bit 10: CTS flag This bit is set/reset by hardware. It is an inverted copy of the status of the CTS input pin. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..

Allowed values:
0: B_0x0: CTS line set
1: B_0x1: CTS line reset

RTOF

Bit 11: Receiver timeout This bit is set by hardware when the timeout value, programmed in the RTOR register has lapsed, without any communication. It is cleared by software, writing 1 to the RTOCF bit in the USART_ICR register. An interrupt is generated if RTOIE = 1 in the USART_CR2 register. In Smartcard mode, the timeout corresponds to the CWT or BWT timings. Note: If a time equal to the value programmed in RTOR register separates 2 characters, RTOF is not set. If this time exceeds this value + 2 sample times (2/16 or 2/8, depending on the oversampling method), RTOF flag is set. Note: The counter counts even if RE = 0 but RTOF is set only when RE = 1. If the timeout has already elapsed when RE is set, then RTOF is set. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and kept at reset value..

Allowed values:
0: B_0x0: Timeout value not reached
1: B_0x1: Timeout value reached without any data reception

EOBF

Bit 12: End of block flag This bit is set by hardware when a complete block has been received (for example T = 1 Smartcard mode). The detection is done when the number of received bytes (from the start of the block, including the prologue) is equal or greater than BLEN + 4. An interrupt is generated if the EOBIE = 1 in the USART_CR1 register. It is cleared by software, writing 1 to the EOBCF in the USART_ICR register. Note: If Smartcard mode is not supported, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: End of Block not reached
1: B_0x1: End of Block (number of characters) reached

UDR

Bit 13: SPI slave underrun error flag In slave transmission mode, this flag is set when the first clock pulse for data transmission appears while the software has not yet loaded any value into USART_TDR. This flag is reset by setting UDRCF bit in the USART_ICR register. Note: If the USART does not support the SPI slave mode, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: No underrun error
1: B_0x1: underrun error

ABRE

Bit 14: Auto baud rate error This bit is set by hardware if the baud rate measurement failed (baud rate out of range or character comparison failed) It is cleared by software, by writing 1 to the ABRRQ bit in the USART_RQR register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..

ABRF

Bit 15: Auto baud rate flag This bit is set by hardware when the automatic baud rate has been set (RXNE is also set, generating an interrupt if RXNEIE = 1) or when the auto baud rate operation was completed without success (ABRE = 1) (ABRE, RXNE and FE are also set in this case) It is cleared by software, in order to request a new auto baud rate detection, by writing 1 to the ABRRQ in the USART_RQR register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..

BUSY

Bit 16: Busy flag This bit is set and reset by hardware. It is active when a communication is ongoing on the RX line (successful start bit detected). It is reset at the end of the reception (successful or not)..

Allowed values:
0: B_0x0: USART is idle (no reception)
1: B_0x1: Reception on going

CMF

Bit 17: Character match flag This bit is set by hardware, when a the character defined by ADD[7:0] is received. It is cleared by software, writing 1 to the CMCF in the USART_ICR register. An interrupt is generated if CMIE = 1in the USART_CR1 register..

Allowed values:
0: B_0x0: No Character match detected
1: B_0x1: Character Match detected

SBKF

Bit 18: Send break flag This bit indicates that a send break character was requested. It is set by software, by writing 1 to the SBKRQ bit in the USART_CR3 register. It is automatically reset by hardware during the stop bit of break transmission..

Allowed values:
0: B_0x0: Break character transmitted
1: B_0x1: Break character requested by setting SBKRQ bit in USART_RQR register

RWU

Bit 19: Receiver wake-up from Mute mode This bit indicates if the USART is in Mute mode. It is cleared/set by hardware when a wake-up/mute sequence is recognized. The Mute mode control sequence (address or IDLE) is selected by the WAKE bit in the USART_CR1 register. When wake-up on IDLE mode is selected, this bit can only be set by software, writing 1 to the MMRQ bit in the USART_RQR register. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

Allowed values:
0: B_0x0: Receiver in active mode
1: B_0x1: Receiver in Mute mode

WUF

Bit 20: Wake-up from low-power mode flag This bit is set by hardware, when a wake-up event is detected. The event is defined by the WUS bitfield. It is cleared by software, writing a 1 to the WUCF in the USART_ICR register. An interrupt is generated if WUFIE = 1 in the USART_CR3 register. Note: When UESM is cleared, WUF flag is also cleared. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

TEACK

Bit 21: Transmit enable acknowledge flag This bit is set/reset by hardware, when the Transmit Enable value is taken into account by the USART. It can be used when an idle frame request is generated by writing TE = 0, followed by TE = 1 in the USART_CR1 register, in order to respect the TE = 0 minimum period..

REACK

Bit 22: Receive enable acknowledge flag This bit is set/reset by hardware, when the Receive Enable value is taken into account by the USART. It can be used to verify that the USART is ready for reception before entering low-power mode. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and kept at reset value. Refer to Section 26.4: USART implementation on page 691..

TCBGT

Bit 25: Transmission complete before guard time flag.

Allowed values:
0: B_0x0: Transmission is not complete or transmission is complete unsuccessfully (i.e. a NACK is received from the card)
1: B_0x1: Transmission is complete successfully (before Guard time completion and there is no NACK from the smart card).

USART_ICR

USART interrupt flag clear register

Offset: 0x20, size: 32, reset: 0x00000000, access: write-only

0/15 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
WUCF
w
CMCF
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
UDRCF
w
EOBCF
w
RTOCF
w
CTSCF
w
LBDCF
w
TCBGTCF
w
TCCF
w
TXFECF
w
IDLECF
w
ORECF
w
NECF
w
FECF
w
PECF
w
Toggle fields

PECF

Bit 0: Parity error clear flag Writing 1 to this bit clears the PE flag in the USART_ISR register..

FECF

Bit 1: Framing error clear flag Writing 1 to this bit clears the FE flag in the USART_ISR register..

NECF

Bit 2: Noise detected clear flag Writing 1 to this bit clears the NE flag in the USART_ISR register..

ORECF

Bit 3: Overrun error clear flag Writing 1 to this bit clears the ORE flag in the USART_ISR register..

IDLECF

Bit 4: Idle line detected clear flag Writing 1 to this bit clears the IDLE flag in the USART_ISR register..

TXFECF

Bit 5: TXFIFO empty clear flag Writing 1 to this bit clears the TXFE flag in the USART_ISR register..

TCCF

Bit 6: Transmission complete clear flag Writing 1 to this bit clears the TC flag in the USART_ISR register..

TCBGTCF

Bit 7: Transmission complete before Guard time clear flag Writing 1 to this bit clears the TCBGT flag in the USART_ISR register..

LBDCF

Bit 8: LIN break detection clear flag Writing 1 to this bit clears the LBDF flag in the USART_ISR register. Note: If LIN mode is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

CTSCF

Bit 9: CTS clear flag Writing 1 to this bit clears the CTSIF flag in the USART_ISR register. Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

RTOCF

Bit 11: Receiver timeout clear flag Writing 1 to this bit clears the RTOF flag in the USART_ISR register. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

EOBCF

Bit 12: End of block clear flag Writing 1 to this bit clears the EOBF flag in the USART_ISR register. Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

UDRCF

Bit 13: SPI slave underrun clear flag Writing 1 to this bit clears the UDRF flag in the USART_ISR register. Note: If the USART does not support SPI slave mode, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691.

CMCF

Bit 17: Character match clear flag Writing 1 to this bit clears the CMF flag in the USART_ISR register..

WUCF

Bit 20: Wake-up from low-power mode clear flag Writing 1 to this bit clears the WUF flag in the USART_ISR register. Note: If the USART does not support the wake-up from Stop feature, this bit is reserved and must be kept at reset value. Refer to Section 26.4: USART implementation on page 691..

USART_RDR

USART receive data register

Offset: 0x24, size: 32, reset: 0x00000000, access: read-only

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RDR
r
Toggle fields

RDR

Bits 0-8: Receive data value Contains the received data character. The RDR register provides the parallel interface between the input shift register and the internal bus (see Figure 243). When receiving with the parity enabled, the value read in the MSB bit is the received parity bit..

USART_TDR

USART transmit data register

Offset: 0x28, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TDR
rw
Toggle fields

TDR

Bits 0-8: Transmit data value Contains the data character to be transmitted. The USART_TDR register provides the parallel interface between the internal bus and the output shift register (see Figure 243). When transmitting with the parity enabled (PCE bit set to 1 in the USART_CR1 register), the value written in the MSB (bit 7 or bit 8 depending on the data length) has no effect because it is replaced by the parity. Note: This register must be written only when TXE/TXFNF = 1..

USART_PRESC

USART prescaler register

Offset: 0x2c, size: 32, reset: 0x00000000, access: read-write

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PRESCALER
rw
Toggle fields

PRESCALER

Bits 0-3: Clock prescaler The USART input clock can be divided by a prescaler factor: Remaining combinations: Reserved Note: When PRESCALER is programmed with a value different of the allowed ones, programmed prescaler value is 1011 i.e. input clock divided by 256..

Allowed values:
0: B_0x0: input clock not divided
1: B_0x1: input clock divided by 2
2: B_0x2: input clock divided by 4
3: B_0x3: input clock divided by 6
4: B_0x4: input clock divided by 8
5: B_0x5: input clock divided by 10
6: B_0x6: input clock divided by 12
7: B_0x7: input clock divided by 16
8: B_0x8: input clock divided by 32
9: B_0x9: input clock divided by 64
10: B_0xA: input clock divided by 128
11: B_0xB: input clock divided by 256

WWDG

0x40002c00: WWDG address block description

2/6 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 WWDG_CR
0x4 WWDG_CFR
0x8 WWDG_SR
Toggle registers

WWDG_CR

WWDG control register

Offset: 0x0, size: 32, reset: 0x0000007F, access: read-write

1/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WDGA
rw
T
rw
Toggle fields

T

Bits 0-6: 7-bit counter (MSB to LSB) These bits contain the value of the watchdog counter, decremented every (4096 x 2<sup>WDGTB[2:0]</sup>) PCLK cycles. A reset is produced when it is decremented from 0x40 to 0x3F (T6 becomes cleared)..

WDGA

Bit 7: Activation bit This bit is set by software and only cleared by hardware after a reset. When WDGA = 1, the watchdog can generate a reset..

Allowed values:
0: B_0x0: Watchdog disabled
1: B_0x1: Watchdog enabled

WWDG_CFR

WWDG configuration register

Offset: 0x4, size: 32, reset: 0x0000007F, access: read-write

1/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WDGTB
rw
EWI
rw
W
rw
Toggle fields

W

Bits 0-6: 7-bit window value These bits contain the window value to be compared with the down-counter..

EWI

Bit 9: Early wake-up interrupt enable Set by software and cleared by hardware after a reset. When set, an interrupt occurs whenever the counter reaches the value 0x40..

WDGTB

Bits 11-13: Timer base The timebase of the prescaler can be modified as follows:.

Allowed values:
0: B_0x0: CK counter clock (PCLK div 4096) div 1
1: B_0x1: CK counter clock (PCLK div 4096) div 2
2: B_0x2: CK counter clock (PCLK div 4096) div 4
3: B_0x3: CK counter clock (PCLK div 4096) div 8
4: B_0x4: CK counter clock (PCLK div 4096) div 16
5: B_0x5: CK counter clock (PCLK div 4096) div 32
6: B_0x6: CK counter clock (PCLK div 4096) div 64
7: B_0x7: CK counter clock (PCLK div 4096) div 128

WWDG_SR

WWDG status register

Offset: 0x8, size: 32, reset: 0x00000000, access: read-write

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EWIF
rw
Toggle fields

EWIF

Bit 0: Early wake-up interrupt flag This bit is set by hardware when the counter has reached the value 0x40. It must be cleared by software by writing 0. Writing 1 has no effect. This bit is also set if the interrupt is not enabled..