0x40012400: Analog to Digital ConverteR
146/146 fields covered.
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 | ISR | ||||||||||||||||||||||||||||||||
0x4 | IER | ||||||||||||||||||||||||||||||||
0x8 | CR | ||||||||||||||||||||||||||||||||
0xc | CFGR1 | ||||||||||||||||||||||||||||||||
0x10 | CFGR2 | ||||||||||||||||||||||||||||||||
0x14 | SMPR | ||||||||||||||||||||||||||||||||
0x20 | AWD1TR | ||||||||||||||||||||||||||||||||
0x24 | AWD2TR | ||||||||||||||||||||||||||||||||
0x28 | CHSELR0 | ||||||||||||||||||||||||||||||||
0x28 | CHSELR1 | ||||||||||||||||||||||||||||||||
0x2c | AWD3TR | ||||||||||||||||||||||||||||||||
0x40 | DR | ||||||||||||||||||||||||||||||||
0xa0 | AWD2CR | ||||||||||||||||||||||||||||||||
0xa4 | AWD3CR | ||||||||||||||||||||||||||||||||
0xb4 | CALFACT | ||||||||||||||||||||||||||||||||
0x308 | CCR |
ADC interrupt and status register
Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified
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 |
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: NotReady: ADC not yet ready to start conversion
1: Ready: ADC ready to start conversion
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: NotAtEnd: Not at the end of the samplings phase
1: AtEnd: End of sampling phase reached
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: NotComplete: Channel conversion is not complete
1: Complete: Channel conversion complete
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: NotComplete: Conversion sequence is not complete
1: Complete: Conversion sequence complete
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: NoOverrun: No overrun occurred
1: Overrun: Overrun occurred
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: NoEvent: No analog watchdog event occurred
1: Event: Analog watchdog event occurred
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: NoEvent: No analog watchdog event occurred
1: Event: Analog watchdog event occurred
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: NoEvent: No analog watchdog event occurred
1: Event: Analog watchdog event occurred
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: NotComplete: Calibration is not complete
1: Complete: Calibration complete
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: NotComplete: Channel configuration update not applied
1: Complete: Channel configuration update is applied
ADC interrupt enable register
Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified
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 |
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 to 0 (this ensures that no conversion is ongoing)..
Allowed values:
0: Disabled: ADRDY interrupt disabled
1: Enabled: ADRDY interrupt enabled. An interrupt is generated when the ADRDY bit is set.
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 to 0 (this ensures that no conversion is ongoing)..
Allowed values:
0: Disabled: EOSMP interrupt disabled
1: Enabled: EOSMP interrupt enabled. An interrupt is generated when the EOSMP bit is set.
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 to 0 (this ensures that no conversion is ongoing)..
Allowed values:
0: Disabled: EOC interrupt disabled
1: Enabled: EOC interrupt enabled. An interrupt is generated when the EOC bit is set.
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 to 0 (this ensures that no conversion is ongoing)..
Allowed values:
0: Disabled: EOS interrupt disabled
1: Enabled: EOS interrupt enabled. An interrupt is generated when the EOS bit is set.
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 to 0 (this ensures that no conversion is ongoing)..
Allowed values:
0: Disabled: Overrun interrupt disabled
1: Enabled: Overrun interrupt enabled. An interrupt is generated when the OVR bit is set.
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 to 0 (this ensures that no conversion is ongoing)..
Allowed values:
0: Disabled: Analog watchdog interrupt disabled
1: Enabled: Analog watchdog interrupt enabled
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 to 0 (this ensures that no conversion is ongoing)..
Allowed values:
0: Disabled: Analog watchdog interrupt disabled
1: Enabled: Analog watchdog interrupt enabled
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 to 0 (this ensures that no conversion is ongoing)..
Allowed values:
0: Disabled: Analog watchdog interrupt disabled
1: Enabled: Analog watchdog interrupt enabled
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 to 0 (this ensures that no conversion is ongoing)..
Allowed values:
0: Disabled: End of calibration interrupt disabled
1: Enabled: End of calibration interrupt enabled
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 to 0 (this ensures that no conversion is ongoing)..
Allowed values:
0: Disabled: Channel configuration ready interrupt disabled
1: Enabled: Channel configuration ready interrupt enabled
ADC control register
Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified
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 |
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: Disabled: ADC disabled
1: Enabled: ADC enabled
Bit 1: ADC disable command This bit is set by software to disable the ADC (ADDIS command) and put it into power-down state (OFF state). It is cleared by hardware once the ADC is effectively disabled (ADEN is also cleared by hardware at this time). Note: Setting ADDIS to '1' is only effective when ADEN=1 and ADSTART=0 (which ensures that no conversion is ongoing).
Allowed values:
0: NotDisabling: No disable command active
1: Disabling: ADC disabling
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). 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: NotActive: No conversion ongoing
1: Active: ADC operating and may be converting
Bit 4: ADC stop conversion command This bit is set by software to stop and discard an ongoing conversion (ADSTP Command). It is cleared by hardware when the conversion is effectively discarded and the ADC is ready to accept a new start conversion command. Note: Setting ADSTP to '1' is only effective when ADSTART=1 and ADDIS=0 (ADC is enabled and may be converting and there is no pending request to disable the ADC).
Allowed values:
0: NotStopping: No stop command active
1: Stopping: ADC stopping conversion
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 tADCVREG_SETUP. 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: Disabled: ADC voltage regulator disabled
1: Enabled: ADC voltage regulator enabled
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 and ADEN=0). 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: NotCalibrating: ADC calibration either not yet performed or completed
1: Calibrating: ADC calibration in progress
ADC configuration register 1
Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified
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 |
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 . Note: The software is allowed to write this bit only when ADSTART bit is cleared to 0 (this ensures that no conversion is ongoing)..
Allowed values:
0: Disabled: DMA disabled
1: Enabled: DMA enabled
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 page351 Note: The software is allowed to write this bit only when ADSTART bit is cleared to 0 (this ensures that no conversion is ongoing)..
Allowed values:
0: OneShot: DMA one shot mode selected
1: Circular: DMA circular mode selected
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 to 0. Note: The software is allowed to write this bit only when ADSTART bit is cleared to 0 (this ensures that no conversion is ongoing). 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: Upward: Upward scan (from CHSEL0 to CHSEL17)
1: Backward: Backward scan (from CHSEL17 to CHSEL0)
Bits 3-4: Data resolution These bits are written by software to select the resolution of the conversion. Note: The software is allowed to write these bits only when ADEN=0..
Allowed values:
0: Bits12: 12 bits
1: Bits10: 10 bits
2: Bits8: 8 bits
3: Bits6: 6 bits
Bit 5: Data alignment This bit is set and cleared by software to select right or left alignment. Refer to Data alignment and resolution (oversampling disabled: OVSE = 0) on page349 Note: The software is allowed to write this bit only when ADSTART bit is cleared to 0 (this ensures that no conversion is ongoing)..
Allowed values:
0: Right: Right alignment
1: Left: Left alignment
Bits 6-8: External trigger selection These bits select the external event used to trigger the start of conversion (refer to External triggers for details): Note: The software is allowed to write this bit only when ADSTART bit is cleared to 0 (this ensures that no conversion is ongoing)..
Allowed values:
0: TIM1_TRGO: Timer 1 TRGO event
1: TIM1_CC4: Timer 1 CC4 event
2: TIM2_TRGO: Timer 2 TRGO event
3: TIM2_CH4: Timer 2 CH4 event
5: TIM2_CH3: Timer 2 CH3 event
7: EXTI_LINE11: EXTI line 11 event
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. Note: The software is allowed to write this bit only when ADSTART bit is cleared to 0 (this ensures that no conversion is ongoing)..
Allowed values:
0: Disabled: Hardware trigger detection disabled
1: RisingEdge: Hardware trigger detection on the rising edge
2: FallingEdge: Hardware trigger detection on the falling edge
3: BothEdges: Hardware trigger detection on both the rising and falling edges
Bit 12: Overrun management mode This bit is set and cleared by software and configure the way data overruns are managed. Note: The software is allowed to write this bit only when ADSTART bit is cleared to 0 (this ensures that no conversion is ongoing)..
Allowed values:
0: Preserve: ADC_DR register is preserved with the old data when an overrun is detected
1: Overwrite: ADC_DR register is overwritten with the last conversion result when an overrun is detected
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. The software is allowed to write this bit only when ADSTART bit is cleared to 0 (this ensures that no conversion is ongoing)..
Allowed values:
0: Single: Single conversion mode
1: Continuous: Continuous conversion mode
Bit 14: Wait conversion mode This bit is set and cleared by software to enable/disable wait conversion mode.. Note: The software is allowed to write this bit only when ADSTART bit is cleared to 0 (this ensures that no conversion is ongoing)..
Allowed values:
0: Disabled: Wait conversion mode off
1: Enabled: Wait conversion mode on
Bit 15: Auto-off mode This bit is set and cleared by software to enable/disable auto-off mode.. Note: The software is allowed to write this bit only when ADSTART bit is cleared to 0 (this ensures that no conversion is ongoing)..
Allowed values:
0: Disabled: Auto-off mode disabled
1: Enabled: Auto-off mode enabled
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. The software is allowed to write this bit only when ADSTART bit is cleared to 0 (this ensures that no conversion is ongoing)..
Allowed values:
0: Disabled: Discontinuous mode disabled
1: Enabled: Discontinuous mode enabled
Bit 21: Mode selection of the ADC_CHSELR register This bit is set and cleared by software to control the ADC_CHSELR feature: Note: The software is allowed to write this bit only when ADSTART bit is cleared to 0 (this ensures that no conversion is ongoing). 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: BitPerInput: Each bit of the ADC_CHSELR register enables an input
1: Sequence: ADC_CHSELR register is able to sequence up to 8 channels
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 Note: The software is allowed to write this bit only when ADSTART bit is cleared to 0 (this ensures that no conversion is ongoing)..
Allowed values:
0: AllChannels: Analog watchdog 1 enabled on all channels
1: SingleChannel: Analog watchdog 1 enabled on a single channel
Bit 23: Analog watchdog enable This bit is set and cleared by software. Note: The software is allowed to write this bit only when ADSTART bit is cleared to 0 (this ensures that no conversion is ongoing)..
Allowed values:
0: Disabled: Analog watchdog 1 disabled
1: Enabled: Analog watchdog 1 enabled
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. The software is allowed to write this bit only when ADSTART bit is cleared to 0 (this ensures that no conversion is ongoing)..
Allowed values: 0x0-0x11
ADC configuration register 2
Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified
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 |
Bit 0: Oversampler Enable This bit is set and cleared by software. Note: Software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: Disabled: Oversampler disabled
1: Enabled: Oversampler enabled
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 ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: Mul2: 2x
1: Mul4: 4x
2: Mul8: 8x
3: Mul16: 16x
4: Mul32: 32x
5: Mul64: 64x
6: Mul128: 128x
7: Mul256: 256x
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 ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NoShift: No shift
1: Shift1: Shift 1-bit
2: Shift2: Shift 2-bits
3: Shift3: Shift 3-bits
4: Shift4: Shift 4-bits
5: Shift5: Shift 5-bits
6: Shift6: Shift 6-bits
7: Shift7: Shift 7-bits
8: Shift8: Shift 8-bits
Bit 9: Triggered Oversampling This bit is set and cleared by software. Note: The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: TriggerAll: All oversampled conversions for a channel are done consecutively after a trigger
1: TriggerEach: Each oversampled conversion for a channel needs a trigger
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 ADSTART bit is cleared to 0 (this ensures that no conversion is ongoing)..
Allowed values:
0: Disabled: Low Frequency Trigger Mode disabled
1: Enabled: Low Frequency Trigger Mode enabled
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: ADCLK: ADCCLK (Asynchronous clock mode)
1: PCLK_Div2: PCLK/2 (Synchronous clock mode)
2: PCLK_Div4: PCLK/4 (Synchronous clock mode)
3: PCLK: PCLK (Synchronous clock mode)
ADC sampling time register
Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified
21/21 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SMPSEL18
rw |
SMPSEL17
rw |
SMPSEL16
rw |
SMPSEL15
rw |
SMPSEL14
rw |
SMPSEL13
rw |
SMPSEL12
rw |
SMPSEL11
rw |
SMPSEL10
rw |
SMPSEL9
rw |
SMPSEL8
rw |
|||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
SMPSEL7
rw |
SMPSEL6
rw |
SMPSEL5
rw |
SMPSEL4
rw |
SMPSEL3
rw |
SMPSEL2
rw |
SMPSEL1
rw |
SMPSEL0
rw |
SMP2
rw |
SMP1
rw |
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: Cycles1_5: 1.5 ADC clock cycles
1: Cycles3_5: 3.5 ADC clock cycles
2: Cycles7_5: 7.5 ADC clock cycles
3: Cycles12_5: 12.5 ADC clock cycles
4: Cycles19_5: 19.5 ADC clock cycles
5: Cycles39_5: 39.5 ADC clock cycles
6: Cycles79_5: 79.5 ADC clock cycles
7: Cycles160_5: 160.5 ADC clock cycles
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: Cycles1_5: 1.5 ADC clock cycles
1: Cycles3_5: 3.5 ADC clock cycles
2: Cycles7_5: 7.5 ADC clock cycles
3: Cycles12_5: 12.5 ADC clock cycles
4: Cycles19_5: 19.5 ADC clock cycles
5: Cycles39_5: 39.5 ADC clock cycles
6: Cycles79_5: 79.5 ADC clock cycles
7: Cycles160_5: 160.5 ADC clock cycles
Bit 8: Channel-x sampling time selection 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)..
Allowed values:
0: Smp1: Sampling time of CHANNELx use the setting of SMP1 register
1: Smp2: Sampling time of CHANNELx use the setting of SMP2 register
Bit 9: Channel-x sampling time selection 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)..
Allowed values:
0: Smp1: Sampling time of CHANNELx use the setting of SMP1 register
1: Smp2: Sampling time of CHANNELx use the setting of SMP2 register
Bit 10: Channel-x sampling time selection 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)..
Allowed values:
0: Smp1: Sampling time of CHANNELx use the setting of SMP1 register
1: Smp2: Sampling time of CHANNELx use the setting of SMP2 register
Bit 11: Channel-x sampling time selection 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)..
Allowed values:
0: Smp1: Sampling time of CHANNELx use the setting of SMP1 register
1: Smp2: Sampling time of CHANNELx use the setting of SMP2 register
Bit 12: Channel-x sampling time selection 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)..
Allowed values:
0: Smp1: Sampling time of CHANNELx use the setting of SMP1 register
1: Smp2: Sampling time of CHANNELx use the setting of SMP2 register
Bit 13: Channel-x sampling time selection 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)..
Allowed values:
0: Smp1: Sampling time of CHANNELx use the setting of SMP1 register
1: Smp2: Sampling time of CHANNELx use the setting of SMP2 register
Bit 14: Channel-x sampling time selection 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)..
Allowed values:
0: Smp1: Sampling time of CHANNELx use the setting of SMP1 register
1: Smp2: Sampling time of CHANNELx use the setting of SMP2 register
Bit 15: Channel-x sampling time selection 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)..
Allowed values:
0: Smp1: Sampling time of CHANNELx use the setting of SMP1 register
1: Smp2: Sampling time of CHANNELx use the setting of SMP2 register
Bit 16: Channel-x sampling time selection 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)..
Allowed values:
0: Smp1: Sampling time of CHANNELx use the setting of SMP1 register
1: Smp2: Sampling time of CHANNELx use the setting of SMP2 register
Bit 17: Channel-x sampling time selection 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)..
Allowed values:
0: Smp1: Sampling time of CHANNELx use the setting of SMP1 register
1: Smp2: Sampling time of CHANNELx use the setting of SMP2 register
Bit 18: Channel-x sampling time selection 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)..
Allowed values:
0: Smp1: Sampling time of CHANNELx use the setting of SMP1 register
1: Smp2: Sampling time of CHANNELx use the setting of SMP2 register
Bit 19: Channel-x sampling time selection 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)..
Allowed values:
0: Smp1: Sampling time of CHANNELx use the setting of SMP1 register
1: Smp2: Sampling time of CHANNELx use the setting of SMP2 register
Bit 20: Channel-x sampling time selection 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)..
Allowed values:
0: Smp1: Sampling time of CHANNELx use the setting of SMP1 register
1: Smp2: Sampling time of CHANNELx use the setting of SMP2 register
Bit 21: Channel-x sampling time selection 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)..
Allowed values:
0: Smp1: Sampling time of CHANNELx use the setting of SMP1 register
1: Smp2: Sampling time of CHANNELx use the setting of SMP2 register
Bit 22: Channel-x sampling time selection 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)..
Allowed values:
0: Smp1: Sampling time of CHANNELx use the setting of SMP1 register
1: Smp2: Sampling time of CHANNELx use the setting of SMP2 register
Bit 23: Channel-x sampling time selection 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)..
Allowed values:
0: Smp1: Sampling time of CHANNELx use the setting of SMP1 register
1: Smp2: Sampling time of CHANNELx use the setting of SMP2 register
Bit 24: Channel-x sampling time selection 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)..
Allowed values:
0: Smp1: Sampling time of CHANNELx use the setting of SMP1 register
1: Smp2: Sampling time of CHANNELx use the setting of SMP2 register
Bit 25: Channel-x sampling time selection 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)..
Allowed values:
0: Smp1: Sampling time of CHANNELx use the setting of SMP1 register
1: Smp2: Sampling time of CHANNELx use the setting of SMP2 register
Bit 26: Channel-x sampling time selection 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)..
Allowed values:
0: Smp1: Sampling time of CHANNELx use the setting of SMP1 register
1: Smp2: Sampling time of CHANNELx use the setting of SMP2 register
ADC watchdog threshold register
Offset: 0x20, size: 32, reset: 0x0FFF0000, access: Unspecified
2/2 fields covered.
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 ADC_AWDxTR) on page355..
Allowed values: 0x0-0xfff
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 ADC_AWDxTR) on page355..
Allowed values: 0x0-0xfff
ADC watchdog threshold register
Offset: 0x24, size: 32, reset: 0x0FFF0000, access: Unspecified
2/2 fields covered.
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 ADC_AWDxTR) on page355..
Allowed values: 0x0-0xfff
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 ADC_AWDxTR) on page355..
Allowed values: 0x0-0xfff
ADC channel selection register [alternate]
Offset: 0x28, size: 32, reset: 0x00000000, access: Unspecified
19/19 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 |
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 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). 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: NotSelected: Input Channel is not selected for conversion
1: Selected: Input Channel is selected for conversion
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 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). 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: NotSelected: Input Channel is not selected for conversion
1: Selected: Input Channel is selected for conversion
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 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). 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: NotSelected: Input Channel is not selected for conversion
1: Selected: Input Channel is selected for conversion
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 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). 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: NotSelected: Input Channel is not selected for conversion
1: Selected: Input Channel is selected for conversion
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 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). 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: NotSelected: Input Channel is not selected for conversion
1: Selected: Input Channel is selected for conversion
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 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). 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: NotSelected: Input Channel is not selected for conversion
1: Selected: Input Channel is selected for conversion
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 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). 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: NotSelected: Input Channel is not selected for conversion
1: Selected: Input Channel is selected for conversion
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 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). 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: NotSelected: Input Channel is not selected for conversion
1: Selected: Input Channel is selected for conversion
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 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). 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: NotSelected: Input Channel is not selected for conversion
1: Selected: Input Channel is selected for conversion
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 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). 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: NotSelected: Input Channel is not selected for conversion
1: Selected: Input Channel is selected for conversion
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 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). 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: NotSelected: Input Channel is not selected for conversion
1: Selected: Input Channel is selected for conversion
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 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). 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: NotSelected: Input Channel is not selected for conversion
1: Selected: Input Channel is selected for conversion
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 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). 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: NotSelected: Input Channel is not selected for conversion
1: Selected: Input Channel is selected for conversion
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 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). 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: NotSelected: Input Channel is not selected for conversion
1: Selected: Input Channel is selected for conversion
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 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). 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: NotSelected: Input Channel is not selected for conversion
1: Selected: Input Channel is selected for conversion
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 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). 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: NotSelected: Input Channel is not selected for conversion
1: Selected: Input Channel is selected for conversion
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 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). 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: NotSelected: Input Channel is not selected for conversion
1: Selected: Input Channel is selected for conversion
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 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). 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: NotSelected: Input Channel is not selected for conversion
1: Selected: Input Channel is selected for conversion
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 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). 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: NotSelected: Input Channel is not selected for conversion
1: Selected: Input Channel is selected for conversion
channel selection register CHSELRMOD = 1 in ADC_CFGR1
Offset: 0x28, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 |
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)..
Allowed values:
0: Ch0: Channel 0 selected for the Nth conversion
1: Ch1: Channel 1 selected for the Nth conversion
2: Ch2: Channel 2 selected for the Nth conversion
3: Ch3: Channel 3 selected for the Nth conversion
4: Ch4: Channel 4 selected for the Nth conversion
5: Ch5: Channel 5 selected for the Nth conversion
6: Ch6: Channel 6 selected for the Nth conversion
7: Ch7: Channel 7 selected for the Nth conversion
8: Ch8: Channel 8 selected for the Nth conversion
9: Ch9: Channel 9 selected for the Nth conversion
10: Ch10: Channel 10 selected for the Nth conversion
11: Ch11: Channel 11 selected for the Nth conversion
12: Ch12: Channel 12 selected for the Nth conversion
13: Ch13: Channel 13 selected for the Nth conversion
14: Ch14: Channel 14 selected for the Nth conversion
15: EOS: End of sequence
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)..
Allowed values:
0: Ch0: Channel 0 selected for the Nth conversion
1: Ch1: Channel 1 selected for the Nth conversion
2: Ch2: Channel 2 selected for the Nth conversion
3: Ch3: Channel 3 selected for the Nth conversion
4: Ch4: Channel 4 selected for the Nth conversion
5: Ch5: Channel 5 selected for the Nth conversion
6: Ch6: Channel 6 selected for the Nth conversion
7: Ch7: Channel 7 selected for the Nth conversion
8: Ch8: Channel 8 selected for the Nth conversion
9: Ch9: Channel 9 selected for the Nth conversion
10: Ch10: Channel 10 selected for the Nth conversion
11: Ch11: Channel 11 selected for the Nth conversion
12: Ch12: Channel 12 selected for the Nth conversion
13: Ch13: Channel 13 selected for the Nth conversion
14: Ch14: Channel 14 selected for the Nth conversion
15: EOS: End of sequence
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)..
Allowed values:
0: Ch0: Channel 0 selected for the Nth conversion
1: Ch1: Channel 1 selected for the Nth conversion
2: Ch2: Channel 2 selected for the Nth conversion
3: Ch3: Channel 3 selected for the Nth conversion
4: Ch4: Channel 4 selected for the Nth conversion
5: Ch5: Channel 5 selected for the Nth conversion
6: Ch6: Channel 6 selected for the Nth conversion
7: Ch7: Channel 7 selected for the Nth conversion
8: Ch8: Channel 8 selected for the Nth conversion
9: Ch9: Channel 9 selected for the Nth conversion
10: Ch10: Channel 10 selected for the Nth conversion
11: Ch11: Channel 11 selected for the Nth conversion
12: Ch12: Channel 12 selected for the Nth conversion
13: Ch13: Channel 13 selected for the Nth conversion
14: Ch14: Channel 14 selected for the Nth conversion
15: EOS: End of sequence
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)..
Allowed values:
0: Ch0: Channel 0 selected for the Nth conversion
1: Ch1: Channel 1 selected for the Nth conversion
2: Ch2: Channel 2 selected for the Nth conversion
3: Ch3: Channel 3 selected for the Nth conversion
4: Ch4: Channel 4 selected for the Nth conversion
5: Ch5: Channel 5 selected for the Nth conversion
6: Ch6: Channel 6 selected for the Nth conversion
7: Ch7: Channel 7 selected for the Nth conversion
8: Ch8: Channel 8 selected for the Nth conversion
9: Ch9: Channel 9 selected for the Nth conversion
10: Ch10: Channel 10 selected for the Nth conversion
11: Ch11: Channel 11 selected for the Nth conversion
12: Ch12: Channel 12 selected for the Nth conversion
13: Ch13: Channel 13 selected for the Nth conversion
14: Ch14: Channel 14 selected for the Nth conversion
15: EOS: End of sequence
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)..
Allowed values:
0: Ch0: Channel 0 selected for the Nth conversion
1: Ch1: Channel 1 selected for the Nth conversion
2: Ch2: Channel 2 selected for the Nth conversion
3: Ch3: Channel 3 selected for the Nth conversion
4: Ch4: Channel 4 selected for the Nth conversion
5: Ch5: Channel 5 selected for the Nth conversion
6: Ch6: Channel 6 selected for the Nth conversion
7: Ch7: Channel 7 selected for the Nth conversion
8: Ch8: Channel 8 selected for the Nth conversion
9: Ch9: Channel 9 selected for the Nth conversion
10: Ch10: Channel 10 selected for the Nth conversion
11: Ch11: Channel 11 selected for the Nth conversion
12: Ch12: Channel 12 selected for the Nth conversion
13: Ch13: Channel 13 selected for the Nth conversion
14: Ch14: Channel 14 selected for the Nth conversion
15: EOS: End of sequence
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)..
Allowed values:
0: Ch0: Channel 0 selected for the Nth conversion
1: Ch1: Channel 1 selected for the Nth conversion
2: Ch2: Channel 2 selected for the Nth conversion
3: Ch3: Channel 3 selected for the Nth conversion
4: Ch4: Channel 4 selected for the Nth conversion
5: Ch5: Channel 5 selected for the Nth conversion
6: Ch6: Channel 6 selected for the Nth conversion
7: Ch7: Channel 7 selected for the Nth conversion
8: Ch8: Channel 8 selected for the Nth conversion
9: Ch9: Channel 9 selected for the Nth conversion
10: Ch10: Channel 10 selected for the Nth conversion
11: Ch11: Channel 11 selected for the Nth conversion
12: Ch12: Channel 12 selected for the Nth conversion
13: Ch13: Channel 13 selected for the Nth conversion
14: Ch14: Channel 14 selected for the Nth conversion
15: EOS: End of sequence
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)..
Allowed values:
0: Ch0: Channel 0 selected for the Nth conversion
1: Ch1: Channel 1 selected for the Nth conversion
2: Ch2: Channel 2 selected for the Nth conversion
3: Ch3: Channel 3 selected for the Nth conversion
4: Ch4: Channel 4 selected for the Nth conversion
5: Ch5: Channel 5 selected for the Nth conversion
6: Ch6: Channel 6 selected for the Nth conversion
7: Ch7: Channel 7 selected for the Nth conversion
8: Ch8: Channel 8 selected for the Nth conversion
9: Ch9: Channel 9 selected for the Nth conversion
10: Ch10: Channel 10 selected for the Nth conversion
11: Ch11: Channel 11 selected for the Nth conversion
12: Ch12: Channel 12 selected for the Nth conversion
13: Ch13: Channel 13 selected for the Nth conversion
14: Ch14: Channel 14 selected for the Nth conversion
15: EOS: End of sequence
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: Ch0: Channel 0 selected for the Nth conversion
1: Ch1: Channel 1 selected for the Nth conversion
2: Ch2: Channel 2 selected for the Nth conversion
3: Ch3: Channel 3 selected for the Nth conversion
4: Ch4: Channel 4 selected for the Nth conversion
5: Ch5: Channel 5 selected for the Nth conversion
6: Ch6: Channel 6 selected for the Nth conversion
7: Ch7: Channel 7 selected for the Nth conversion
8: Ch8: Channel 8 selected for the Nth conversion
9: Ch9: Channel 9 selected for the Nth conversion
10: Ch10: Channel 10 selected for the Nth conversion
11: Ch11: Channel 11 selected for the Nth conversion
12: Ch12: Channel 12 selected for the Nth conversion
13: Ch13: Channel 13 selected for the Nth conversion
14: Ch14: Channel 14 selected for the Nth conversion
15: EOS: End of sequence
ADC watchdog threshold register
Offset: 0x2c, size: 32, reset: 0x0FFF0000, access: Unspecified
2/2 fields covered.
Bits 0-11: Analog watchdog 3lower threshold These bits are written by software to define the lower threshold for the analog watchdog. Refer to ADC_AWDxTR) on page355..
Allowed values: 0x0-0xfff
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 ADC_AWDxTR) on page355..
Allowed values: 0x0-0xfff
ADC data register
Offset: 0x40, size: 32, reset: 0x00000000, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DATA
r |
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 OVSE = 0) on page349. Just after a calibration is complete, DATA[6:0] contains the calibration factor..
Allowed values: 0x0-0xffff
ADC Analog Watchdog 2 Configuration register
Offset: 0xa0, size: 32, reset: 0x00000000, access: Unspecified
19/19 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AWD2CH18
rw |
AWD2CH17
rw |
AWD2CH16
rw |
|||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
AWD2CH15
rw |
AWD2CH14
rw |
AWD2CH13
rw |
AWD2CH12
rw |
AWD2CH11
rw |
AWD2CH10
rw |
AWD2CH9
rw |
AWD2CH8
rw |
AWD2CH7
rw |
AWD2CH6
rw |
AWD2CH5
rw |
AWD2CH4
rw |
AWD2CH3
rw |
AWD2CH2
rw |
AWD2CH1
rw |
AWD2CH0
rw |
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD2
1: Monitored: ADC analog channel-x is monitored by AWD2
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD2
1: Monitored: ADC analog channel-x is monitored by AWD2
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD2
1: Monitored: ADC analog channel-x is monitored by AWD2
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD2
1: Monitored: ADC analog channel-x is monitored by AWD2
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD2
1: Monitored: ADC analog channel-x is monitored by AWD2
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD2
1: Monitored: ADC analog channel-x is monitored by AWD2
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD2
1: Monitored: ADC analog channel-x is monitored by AWD2
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD2
1: Monitored: ADC analog channel-x is monitored by AWD2
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD2
1: Monitored: ADC analog channel-x is monitored by AWD2
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD2
1: Monitored: ADC analog channel-x is monitored by AWD2
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD2
1: Monitored: ADC analog channel-x is monitored by AWD2
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD2
1: Monitored: ADC analog channel-x is monitored by AWD2
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD2
1: Monitored: ADC analog channel-x is monitored by AWD2
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD2
1: Monitored: ADC analog channel-x is monitored by AWD2
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD2
1: Monitored: ADC analog channel-x is monitored by AWD2
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD2
1: Monitored: ADC analog channel-x is monitored by AWD2
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD2
1: Monitored: ADC analog channel-x is monitored by AWD2
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD2
1: Monitored: ADC analog channel-x is monitored by AWD2
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD2
1: Monitored: ADC analog channel-x is monitored by AWD2
ADC Analog Watchdog 3 Configuration register
Offset: 0xa4, size: 32, reset: 0x00000000, access: Unspecified
19/19 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AWD3CH18
rw |
AWD3CH17
rw |
AWD3CH16
rw |
|||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
AWD3CH15
rw |
AWD3CH14
rw |
AWD3CH13
rw |
AWD3CH12
rw |
AWD3CH11
rw |
AWD3CH10
rw |
AWD3CH9
rw |
AWD3CH8
rw |
AWD3CH7
rw |
AWD3CH6
rw |
AWD3CH5
rw |
AWD3CH4
rw |
AWD3CH3
rw |
AWD3CH2
rw |
AWD3CH1
rw |
AWD3CH0
rw |
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD3
1: Monitored: ADC analog channel-x is monitored by AWD3
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD3
1: Monitored: ADC analog channel-x is monitored by AWD3
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD3
1: Monitored: ADC analog channel-x is monitored by AWD3
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD3
1: Monitored: ADC analog channel-x is monitored by AWD3
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD3
1: Monitored: ADC analog channel-x is monitored by AWD3
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD3
1: Monitored: ADC analog channel-x is monitored by AWD3
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD3
1: Monitored: ADC analog channel-x is monitored by AWD3
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD3
1: Monitored: ADC analog channel-x is monitored by AWD3
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD3
1: Monitored: ADC analog channel-x is monitored by AWD3
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD3
1: Monitored: ADC analog channel-x is monitored by AWD3
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD3
1: Monitored: ADC analog channel-x is monitored by AWD3
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD3
1: Monitored: ADC analog channel-x is monitored by AWD3
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD3
1: Monitored: ADC analog channel-x is monitored by AWD3
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD3
1: Monitored: ADC analog channel-x is monitored by AWD3
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD3
1: Monitored: ADC analog channel-x is monitored by AWD3
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD3
1: Monitored: ADC analog channel-x is monitored by AWD3
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD3
1: Monitored: ADC analog channel-x is monitored by AWD3
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD3
1: Monitored: ADC analog channel-x is monitored by AWD3
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. Refer to SQ8[3:0] for a definition of channel selection. The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: NotMonitored: ADC analog channel-x is not monitored by AWD3
1: Monitored: ADC analog channel-x is monitored by AWD3
ADC Calibration factor
Offset: 0xb4, size: 32, reset: 0x00000000, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CALFACT
rw |
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 calibration 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). Refer to SQ8[3:0] for a definition of channel selection..
Allowed values: 0x0-0x7f
ADC common configuration register
Offset: 0x308, size: 32, reset: 0x00000000, access: Unspecified
4/4 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
VBATEN
rw |
TSEN
rw |
VREFEN
rw |
PRESC
rw |
||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
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: Div1: Input ADC clock not divided
1: Div2: Input ADC clock divided by 2
2: Div4: Input ADC clock divided by 4
3: Div6: Input ADC clock divided by 6
4: Div8: Input ADC clock divided by 8
5: Div10: Input ADC clock divided by 10
6: Div12: Input ADC clock divided by 12
7: Div16: Input ADC clock divided by 16
8: Div32: Input ADC clock divided by 32
9: Div64: Input ADC clock divided by 64
10: Div128: Input ADC clock divided by 128
11: Div256: Input ADC clock divided by 256
Bit 22: VREFINT enable This bit is set and cleared by software to enable/disable the VREFINT. Note: Software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing)..
Allowed values:
0: Disabled: VREFINT disabled
1: Enabled: VREFINT enabled
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: Disabled: Temperature sensor disabled
1: Enabled: Temperature sensor enabled
Bit 24: VBAT enable This bit is set and cleared by software to enable/disable the VBAT channel. Note: The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing).
Allowed values:
0: Disabled: VBAT channel disabled
1: Enabled: VBAT channel enabled
0x40023000: Cyclic redundancy check calculation unit
0/8 fields covered.
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 | DR | ||||||||||||||||||||||||||||||||
0x4 | IDR | ||||||||||||||||||||||||||||||||
0x8 | CR | ||||||||||||||||||||||||||||||||
0x10 | INIT | ||||||||||||||||||||||||||||||||
0x14 | POL |
Independent data register
Offset: 0x4, size: 32, reset: 0x00000000, access: read-write
0/1 fields covered.
Control register
Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified
0/4 fields covered.
Bit 0: RESET bit.
Bits 3-4: Polynomial size These bits control the size of the polynomial..
Bits 5-6: Reverse input data These bits control the reversal of the bit order of the input data.
Bit 7: Reverse output data This bit controls the reversal of the bit order of the output data..
0x40015800: Debug support
2/19 fields covered.
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 |
MCU Device ID Code Register
Offset: 0x0, size: 32, reset: 0x00000000, access: read-only
2/2 fields covered.
DBG configuration register
Offset: 0x4, size: 32, reset: 0x00000000, access: read-write
0/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 |
DBG APB freeze register 1
Offset: 0x8, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DBG_LPTIM1_STOP
rw |
DBG_LPTIM2_STOP
rw |
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_TIM7_STOP
rw |
DBG_TIM6_STOP
rw |
DBG_TIM3_STOP
rw |
DBG_TIM2_STOP
rw |
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:.
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:.
Bit 4: Clocking of TIM6 counter when the core is halted This bit enables/disables the clock to the counter of TIM6 when the core is halted:.
Bit 5: Clocking of TIM7 counter when the core is halted. This bit enables/disables the clock to the counter of ITIM7 when the core is halted:.
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:.
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:.
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:.
Bit 21: SMBUS timeout when core is halted.
Bit 30: Clocking of LPTIMER2 counter when the core is halted This bit enables/disables the clock to the counter of LPTIMER2 when the core is halted:.
Bit 31: Clocking of LPTIMER1 counter when the core is halted This bit enables/disables the clock to the counter of LPTIMER1 when the core is halted:.
DBG APB freeze register 2
Offset: 0xc, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DBG_TIM17_STOP
rw |
DBG_TIM16_STOP
rw |
DBG_TIM15_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 |
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:.
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:.
Bit 16: Clocking of TIM15 counter when the core is halted This bit enables/disables the clock to the counter of TIM15 when the core is halted: Only available on STM32G071xx and STM32G081xx, reserved on STM32G031xx and STM32G041xx..
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:.
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:.
0x40020000: DMA controller
147/161 fields covered.
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 | ISR | ||||||||||||||||||||||||||||||||
0x4 | IFCR | ||||||||||||||||||||||||||||||||
0x8 | CR [1] | ||||||||||||||||||||||||||||||||
0xc | NDTR [1] | ||||||||||||||||||||||||||||||||
0x10 | PAR [1] | ||||||||||||||||||||||||||||||||
0x14 | MAR [1] | ||||||||||||||||||||||||||||||||
0x1c | CR [2] | ||||||||||||||||||||||||||||||||
0x20 | NDTR [2] | ||||||||||||||||||||||||||||||||
0x24 | PAR [2] | ||||||||||||||||||||||||||||||||
0x28 | MAR [2] | ||||||||||||||||||||||||||||||||
0x30 | CR [3] | ||||||||||||||||||||||||||||||||
0x34 | NDTR [3] | ||||||||||||||||||||||||||||||||
0x38 | PAR [3] | ||||||||||||||||||||||||||||||||
0x3c | MAR [3] | ||||||||||||||||||||||||||||||||
0x44 | CR [4] | ||||||||||||||||||||||||||||||||
0x48 | NDTR [4] | ||||||||||||||||||||||||||||||||
0x4c | PAR [4] | ||||||||||||||||||||||||||||||||
0x50 | MAR [4] | ||||||||||||||||||||||||||||||||
0x58 | CR [5] | ||||||||||||||||||||||||||||||||
0x5c | NDTR [5] | ||||||||||||||||||||||||||||||||
0x60 | PAR [5] | ||||||||||||||||||||||||||||||||
0x64 | MAR [5] | ||||||||||||||||||||||||||||||||
0x6c | CR [6] | ||||||||||||||||||||||||||||||||
0x70 | NDTR [6] | ||||||||||||||||||||||||||||||||
0x74 | PAR [6] | ||||||||||||||||||||||||||||||||
0x78 | MAR [6] | ||||||||||||||||||||||||||||||||
0x80 | CR [7] | ||||||||||||||||||||||||||||||||
0x84 | NDTR [7] | ||||||||||||||||||||||||||||||||
0x88 | PAR [7] | ||||||||||||||||||||||||||||||||
0x8c | MAR [7] |
DMA interrupt status register
Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified
28/28 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TEIF[7]
r |
HTIF[7]
r |
TCIF[7]
r |
GIF[7]
r |
TEIF[6]
r |
HTIF[6]
r |
TCIF[6]
r |
GIF[6]
r |
TEIF[5]
r |
HTIF[5]
r |
TCIF[5]
r |
GIF[5]
r |
||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TEIF[4]
r |
HTIF[4]
r |
TCIF[4]
r |
GIF[4]
r |
TEIF[3]
r |
HTIF[3]
r |
TCIF[3]
r |
GIF[3]
r |
TEIF[2]
r |
HTIF[2]
r |
TCIF[2]
r |
GIF[2]
r |
TEIF[1]
r |
HTIF[1]
r |
TCIF[1]
r |
GIF[1]
r |
Bit 0: Channel 1 Global interrupt flag.
Allowed values:
0: NoEvent: No transfer error, half event, complete event
1: Event: A transfer error, half event or complete event has occured
Bit 1: Channel 1 Transfer Complete flag.
Allowed values:
0: NotComplete: No transfer complete event
1: Complete: A transfer complete event has occured
Bit 2: Channel 1 Half Transfer Complete flag.
Allowed values:
0: NotHalf: No half transfer event
1: Half: A half transfer event has occured
Bit 3: Channel 1 Transfer Error flag.
Allowed values:
0: NoError: No transfer error
1: Error: A transfer error has occured
Bit 4: Channel 2 Global interrupt flag.
Allowed values:
0: NoEvent: No transfer error, half event, complete event
1: Event: A transfer error, half event or complete event has occured
Bit 5: Channel 2 Transfer Complete flag.
Allowed values:
0: NotComplete: No transfer complete event
1: Complete: A transfer complete event has occured
Bit 6: Channel 2 Half Transfer Complete flag.
Allowed values:
0: NotHalf: No half transfer event
1: Half: A half transfer event has occured
Bit 7: Channel 2 Transfer Error flag.
Allowed values:
0: NoError: No transfer error
1: Error: A transfer error has occured
Bit 8: Channel 3 Global interrupt flag.
Allowed values:
0: NoEvent: No transfer error, half event, complete event
1: Event: A transfer error, half event or complete event has occured
Bit 9: Channel 3 Transfer Complete flag.
Allowed values:
0: NotComplete: No transfer complete event
1: Complete: A transfer complete event has occured
Bit 10: Channel 3 Half Transfer Complete flag.
Allowed values:
0: NotHalf: No half transfer event
1: Half: A half transfer event has occured
Bit 11: Channel 3 Transfer Error flag.
Allowed values:
0: NoError: No transfer error
1: Error: A transfer error has occured
Bit 12: Channel 4 Global interrupt flag.
Allowed values:
0: NoEvent: No transfer error, half event, complete event
1: Event: A transfer error, half event or complete event has occured
Bit 13: Channel 4 Transfer Complete flag.
Allowed values:
0: NotComplete: No transfer complete event
1: Complete: A transfer complete event has occured
Bit 14: Channel 4 Half Transfer Complete flag.
Allowed values:
0: NotHalf: No half transfer event
1: Half: A half transfer event has occured
Bit 15: Channel 4 Transfer Error flag.
Allowed values:
0: NoError: No transfer error
1: Error: A transfer error has occured
Bit 16: Channel 5 Global interrupt flag.
Allowed values:
0: NoEvent: No transfer error, half event, complete event
1: Event: A transfer error, half event or complete event has occured
Bit 17: Channel 5 Transfer Complete flag.
Allowed values:
0: NotComplete: No transfer complete event
1: Complete: A transfer complete event has occured
Bit 18: Channel 5 Half Transfer Complete flag.
Allowed values:
0: NotHalf: No half transfer event
1: Half: A half transfer event has occured
Bit 19: Channel 5 Transfer Error flag.
Allowed values:
0: NoError: No transfer error
1: Error: A transfer error has occured
Bit 20: Channel 6 Global interrupt flag.
Allowed values:
0: NoEvent: No transfer error, half event, complete event
1: Event: A transfer error, half event or complete event has occured
Bit 21: Channel 6 Transfer Complete flag.
Allowed values:
0: NotComplete: No transfer complete event
1: Complete: A transfer complete event has occured
Bit 22: Channel 6 Half Transfer Complete flag.
Allowed values:
0: NotHalf: No half transfer event
1: Half: A half transfer event has occured
Bit 23: Channel 6 Transfer Error flag.
Allowed values:
0: NoError: No transfer error
1: Error: A transfer error has occured
Bit 24: Channel 7 Global interrupt flag.
Allowed values:
0: NoEvent: No transfer error, half event, complete event
1: Event: A transfer error, half event or complete event has occured
Bit 25: Channel 7 Transfer Complete flag.
Allowed values:
0: NotComplete: No transfer complete event
1: Complete: A transfer complete event has occured
Bit 26: Channel 7 Half Transfer Complete flag.
Allowed values:
0: NotHalf: No half transfer event
1: Half: A half transfer event has occured
Bit 27: Channel 7 Transfer Error flag.
Allowed values:
0: NoError: No transfer error
1: Error: A transfer error has occured
DMA interrupt flag clear register
Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified
28/28 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CTEIF[7]
w |
CHTIF[7]
w |
CTCIF[7]
w |
CGIF[7]
w |
CTEIF[6]
w |
CHTIF[6]
w |
CTCIF[6]
w |
CGIF[6]
w |
CTEIF[5]
w |
CHTIF[5]
w |
CTCIF[5]
w |
CGIF[5]
w |
||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
CTEIF[4]
w |
CHTIF[4]
w |
CTCIF[4]
w |
CGIF[4]
w |
CTEIF[3]
w |
CHTIF[3]
w |
CTCIF[3]
w |
CGIF[3]
w |
CTEIF[2]
w |
CHTIF[2]
w |
CTCIF[2]
w |
CGIF[2]
w |
CTEIF[1]
w |
CHTIF[1]
w |
CTCIF[1]
w |
CGIF[1]
w |
Bit 0: Channel 1 Global interrupt clear.
Allowed values:
1: Clear: Clears the GIF, TEIF, HTIF, TCIF flags in the ISR register
Bit 1: Channel 1 Transfer Complete clear.
Allowed values:
1: Clear: Clears the TCIF flag in the ISR register
Bit 2: Channel 1 Half Transfer clear.
Allowed values:
1: Clear: Clears the HTIF flag in the ISR register
Bit 3: Channel 1 Transfer Error clear.
Allowed values:
1: Clear: Clears the TEIF flag in the ISR register
Bit 4: Channel 2 Global interrupt clear.
Allowed values:
1: Clear: Clears the GIF, TEIF, HTIF, TCIF flags in the ISR register
Bit 5: Channel 2 Transfer Complete clear.
Allowed values:
1: Clear: Clears the TCIF flag in the ISR register
Bit 6: Channel 2 Half Transfer clear.
Allowed values:
1: Clear: Clears the HTIF flag in the ISR register
Bit 7: Channel 2 Transfer Error clear.
Allowed values:
1: Clear: Clears the TEIF flag in the ISR register
Bit 8: Channel 3 Global interrupt clear.
Allowed values:
1: Clear: Clears the GIF, TEIF, HTIF, TCIF flags in the ISR register
Bit 9: Channel 3 Transfer Complete clear.
Allowed values:
1: Clear: Clears the TCIF flag in the ISR register
Bit 10: Channel 3 Half Transfer clear.
Allowed values:
1: Clear: Clears the HTIF flag in the ISR register
Bit 11: Channel 3 Transfer Error clear.
Allowed values:
1: Clear: Clears the TEIF flag in the ISR register
Bit 12: Channel 4 Global interrupt clear.
Allowed values:
1: Clear: Clears the GIF, TEIF, HTIF, TCIF flags in the ISR register
Bit 13: Channel 4 Transfer Complete clear.
Allowed values:
1: Clear: Clears the TCIF flag in the ISR register
Bit 14: Channel 4 Half Transfer clear.
Allowed values:
1: Clear: Clears the HTIF flag in the ISR register
Bit 15: Channel 4 Transfer Error clear.
Allowed values:
1: Clear: Clears the TEIF flag in the ISR register
Bit 16: Channel 5 Global interrupt clear.
Allowed values:
1: Clear: Clears the GIF, TEIF, HTIF, TCIF flags in the ISR register
Bit 17: Channel 5 Transfer Complete clear.
Allowed values:
1: Clear: Clears the TCIF flag in the ISR register
Bit 18: Channel 5 Half Transfer clear.
Allowed values:
1: Clear: Clears the HTIF flag in the ISR register
Bit 19: Channel 5 Transfer Error clear.
Allowed values:
1: Clear: Clears the TEIF flag in the ISR register
Bit 20: Channel 6 Global interrupt clear.
Allowed values:
1: Clear: Clears the GIF, TEIF, HTIF, TCIF flags in the ISR register
Bit 21: Channel 6 Transfer Complete clear.
Allowed values:
1: Clear: Clears the TCIF flag in the ISR register
Bit 22: Channel 6 Half Transfer clear.
Allowed values:
1: Clear: Clears the HTIF flag in the ISR register
Bit 23: Channel 6 Transfer Error clear.
Allowed values:
1: Clear: Clears the TEIF flag in the ISR register
Bit 24: Channel 7 Global interrupt clear.
Allowed values:
1: Clear: Clears the GIF, TEIF, HTIF, TCIF flags in the ISR register
Bit 25: Channel 7 Transfer Complete clear.
Allowed values:
1: Clear: Clears the TCIF flag in the ISR register
Bit 26: Channel 7 Half Transfer clear.
Allowed values:
1: Clear: Clears the HTIF flag in the ISR register
Bit 27: Channel 7 Transfer Error clear.
Allowed values:
1: Clear: Clears the TEIF flag in the ISR register
DMA channel 1 configuration register
Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified
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 |
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: Disabled: Channel disabled
1: Enabled: Channel enabled
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: Disabled: Transfer Complete interrupt disabled
1: Enabled: Transfer Complete interrupt enabled
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: Disabled: Half Transfer interrupt disabled
1: Enabled: Half Transfer interrupt enabled
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: Disabled: Transfer Error interrupt disabled
1: Enabled: Transfer Error interrupt enabled
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: FromPeripheral: Read from peripheral
1: FromMemory: Read from memory
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: Disabled: Circular buffer disabled
1: Enabled: Circular buffer enabled
Bit 6: peripheral increment mode Defines the increment mode for each DMA transfer to the identified peripheral. n memory-to-memory mode, this field identifies the memory destination if DIR=1 and the memory source if DIR=0. In peripheral-to-peripheral mode, this field 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: Disabled: Increment mode disabled
1: Enabled: Increment mode enabled
Bit 7: memory increment mode Defines the increment mode for each DMA transfer to the identified memory. In memory-to-memory mode, this field identifies the memory source if DIR=1 and the memory destination if DIR=0. In peripheral-to-peripheral mode, this field 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: Disabled: Increment mode disabled
1: Enabled: Increment mode enabled
Bits 8-9: peripheral size Defines the data size of each DMA transfer to the identified peripheral. In memory-to-memory mode, this field identifies the memory destination if DIR=1 and the memory source if DIR=0. In peripheral-to-peripheral mode, this field identifies the peripheral destination if DIR=1 and the peripheral source if DIR=0. Note: this field 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: Bits8: 8-bit size
1: Bits16: 16-bit size
2: Bits32: 32-bit size
Bits 10-11: memory size Defines the data size of each DMA transfer to the identified memory. In memory-to-memory mode, this field identifies the memory source if DIR=1 and the memory destination if DIR=0. In peripheral-to-peripheral mode, this field identifies the peripheral source if DIR=1 and the peripheral destination if DIR=0. Note: this field 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: Bits8: 8-bit size
1: Bits16: 16-bit size
2: Bits32: 32-bit size
Bits 12-13: priority level Note: this field 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: Low: Low priority
1: Medium: Medium priority
2: High: High priority
3: VeryHigh: Very high priority
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: Disabled: Memory to memory mode disabled
1: Enabled: Memory to memory mode enabled
DMA channel x number of data register
Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
NDT
rw |
Bits 0-15: number of data to transfer (0 to 216-1) This field 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 field is zero, no transfer can be served whatever the channel status (enabled or not). Note: this field 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: 0x0-0xffff
DMA channel x peripheral address register
Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: peripheral address It contains the base address of the peripheral data register from/to which the data will be 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=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 register identifies the memory destination address if DIR=1 and the memory source address if DIR=0. In peripheral-to-peripheral mode, this register identifies the peripheral destination address DIR=1 and the peripheral source address if DIR=0. Note: this register 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 channel x memory address register
Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: peripheral address It contains the base address of the memory from/to which the data will be 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=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 register identifies the memory source address if DIR=1 and the memory destination address if DIR=0. In peripheral-to-peripheral mode, this register identifies the peripheral source address DIR=1 and the peripheral destination address if DIR=0. Note: this register 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 channel 1 configuration register
Offset: 0x1c, size: 32, reset: 0x00000000, access: Unspecified
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 |
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: Disabled: Channel disabled
1: Enabled: Channel enabled
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: Disabled: Transfer Complete interrupt disabled
1: Enabled: Transfer Complete interrupt enabled
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: Disabled: Half Transfer interrupt disabled
1: Enabled: Half Transfer interrupt enabled
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: Disabled: Transfer Error interrupt disabled
1: Enabled: Transfer Error interrupt enabled
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: FromPeripheral: Read from peripheral
1: FromMemory: Read from memory
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: Disabled: Circular buffer disabled
1: Enabled: Circular buffer enabled
Bit 6: peripheral increment mode Defines the increment mode for each DMA transfer to the identified peripheral. n memory-to-memory mode, this field identifies the memory destination if DIR=1 and the memory source if DIR=0. In peripheral-to-peripheral mode, this field 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: Disabled: Increment mode disabled
1: Enabled: Increment mode enabled
Bit 7: memory increment mode Defines the increment mode for each DMA transfer to the identified memory. In memory-to-memory mode, this field identifies the memory source if DIR=1 and the memory destination if DIR=0. In peripheral-to-peripheral mode, this field 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: Disabled: Increment mode disabled
1: Enabled: Increment mode enabled
Bits 8-9: peripheral size Defines the data size of each DMA transfer to the identified peripheral. In memory-to-memory mode, this field identifies the memory destination if DIR=1 and the memory source if DIR=0. In peripheral-to-peripheral mode, this field identifies the peripheral destination if DIR=1 and the peripheral source if DIR=0. Note: this field 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: Bits8: 8-bit size
1: Bits16: 16-bit size
2: Bits32: 32-bit size
Bits 10-11: memory size Defines the data size of each DMA transfer to the identified memory. In memory-to-memory mode, this field identifies the memory source if DIR=1 and the memory destination if DIR=0. In peripheral-to-peripheral mode, this field identifies the peripheral source if DIR=1 and the peripheral destination if DIR=0. Note: this field 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: Bits8: 8-bit size
1: Bits16: 16-bit size
2: Bits32: 32-bit size
Bits 12-13: priority level Note: this field 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: Low: Low priority
1: Medium: Medium priority
2: High: High priority
3: VeryHigh: Very high priority
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: Disabled: Memory to memory mode disabled
1: Enabled: Memory to memory mode enabled
DMA channel x number of data register
Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
NDT
rw |
Bits 0-15: number of data to transfer (0 to 216-1) This field 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 field is zero, no transfer can be served whatever the channel status (enabled or not). Note: this field 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: 0x0-0xffff
DMA channel x peripheral address register
Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: peripheral address It contains the base address of the peripheral data register from/to which the data will be 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=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 register identifies the memory destination address if DIR=1 and the memory source address if DIR=0. In peripheral-to-peripheral mode, this register identifies the peripheral destination address DIR=1 and the peripheral source address if DIR=0. Note: this register 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 channel x memory address register
Offset: 0x28, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: peripheral address It contains the base address of the memory from/to which the data will be 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=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 register identifies the memory source address if DIR=1 and the memory destination address if DIR=0. In peripheral-to-peripheral mode, this register identifies the peripheral source address DIR=1 and the peripheral destination address if DIR=0. Note: this register 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 channel 1 configuration register
Offset: 0x30, size: 32, reset: 0x00000000, access: Unspecified
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 |
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: Disabled: Channel disabled
1: Enabled: Channel enabled
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: Disabled: Transfer Complete interrupt disabled
1: Enabled: Transfer Complete interrupt enabled
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: Disabled: Half Transfer interrupt disabled
1: Enabled: Half Transfer interrupt enabled
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: Disabled: Transfer Error interrupt disabled
1: Enabled: Transfer Error interrupt enabled
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: FromPeripheral: Read from peripheral
1: FromMemory: Read from memory
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: Disabled: Circular buffer disabled
1: Enabled: Circular buffer enabled
Bit 6: peripheral increment mode Defines the increment mode for each DMA transfer to the identified peripheral. n memory-to-memory mode, this field identifies the memory destination if DIR=1 and the memory source if DIR=0. In peripheral-to-peripheral mode, this field 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: Disabled: Increment mode disabled
1: Enabled: Increment mode enabled
Bit 7: memory increment mode Defines the increment mode for each DMA transfer to the identified memory. In memory-to-memory mode, this field identifies the memory source if DIR=1 and the memory destination if DIR=0. In peripheral-to-peripheral mode, this field 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: Disabled: Increment mode disabled
1: Enabled: Increment mode enabled
Bits 8-9: peripheral size Defines the data size of each DMA transfer to the identified peripheral. In memory-to-memory mode, this field identifies the memory destination if DIR=1 and the memory source if DIR=0. In peripheral-to-peripheral mode, this field identifies the peripheral destination if DIR=1 and the peripheral source if DIR=0. Note: this field 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: Bits8: 8-bit size
1: Bits16: 16-bit size
2: Bits32: 32-bit size
Bits 10-11: memory size Defines the data size of each DMA transfer to the identified memory. In memory-to-memory mode, this field identifies the memory source if DIR=1 and the memory destination if DIR=0. In peripheral-to-peripheral mode, this field identifies the peripheral source if DIR=1 and the peripheral destination if DIR=0. Note: this field 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: Bits8: 8-bit size
1: Bits16: 16-bit size
2: Bits32: 32-bit size
Bits 12-13: priority level Note: this field 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: Low: Low priority
1: Medium: Medium priority
2: High: High priority
3: VeryHigh: Very high priority
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: Disabled: Memory to memory mode disabled
1: Enabled: Memory to memory mode enabled
DMA channel x number of data register
Offset: 0x34, size: 32, reset: 0x00000000, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
NDT
rw |
Bits 0-15: number of data to transfer (0 to 216-1) This field 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 field is zero, no transfer can be served whatever the channel status (enabled or not). Note: this field 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: 0x0-0xffff
DMA channel x peripheral address register
Offset: 0x38, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: peripheral address It contains the base address of the peripheral data register from/to which the data will be 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=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 register identifies the memory destination address if DIR=1 and the memory source address if DIR=0. In peripheral-to-peripheral mode, this register identifies the peripheral destination address DIR=1 and the peripheral source address if DIR=0. Note: this register 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 channel x memory address register
Offset: 0x3c, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: peripheral address It contains the base address of the memory from/to which the data will be 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=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 register identifies the memory source address if DIR=1 and the memory destination address if DIR=0. In peripheral-to-peripheral mode, this register identifies the peripheral source address DIR=1 and the peripheral destination address if DIR=0. Note: this register 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 channel 1 configuration register
Offset: 0x44, size: 32, reset: 0x00000000, access: Unspecified
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 |
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: Disabled: Channel disabled
1: Enabled: Channel enabled
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: Disabled: Transfer Complete interrupt disabled
1: Enabled: Transfer Complete interrupt enabled
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: Disabled: Half Transfer interrupt disabled
1: Enabled: Half Transfer interrupt enabled
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: Disabled: Transfer Error interrupt disabled
1: Enabled: Transfer Error interrupt enabled
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: FromPeripheral: Read from peripheral
1: FromMemory: Read from memory
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: Disabled: Circular buffer disabled
1: Enabled: Circular buffer enabled
Bit 6: peripheral increment mode Defines the increment mode for each DMA transfer to the identified peripheral. n memory-to-memory mode, this field identifies the memory destination if DIR=1 and the memory source if DIR=0. In peripheral-to-peripheral mode, this field 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: Disabled: Increment mode disabled
1: Enabled: Increment mode enabled
Bit 7: memory increment mode Defines the increment mode for each DMA transfer to the identified memory. In memory-to-memory mode, this field identifies the memory source if DIR=1 and the memory destination if DIR=0. In peripheral-to-peripheral mode, this field 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: Disabled: Increment mode disabled
1: Enabled: Increment mode enabled
Bits 8-9: peripheral size Defines the data size of each DMA transfer to the identified peripheral. In memory-to-memory mode, this field identifies the memory destination if DIR=1 and the memory source if DIR=0. In peripheral-to-peripheral mode, this field identifies the peripheral destination if DIR=1 and the peripheral source if DIR=0. Note: this field 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: Bits8: 8-bit size
1: Bits16: 16-bit size
2: Bits32: 32-bit size
Bits 10-11: memory size Defines the data size of each DMA transfer to the identified memory. In memory-to-memory mode, this field identifies the memory source if DIR=1 and the memory destination if DIR=0. In peripheral-to-peripheral mode, this field identifies the peripheral source if DIR=1 and the peripheral destination if DIR=0. Note: this field 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: Bits8: 8-bit size
1: Bits16: 16-bit size
2: Bits32: 32-bit size
Bits 12-13: priority level Note: this field 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: Low: Low priority
1: Medium: Medium priority
2: High: High priority
3: VeryHigh: Very high priority
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: Disabled: Memory to memory mode disabled
1: Enabled: Memory to memory mode enabled
DMA channel x number of data register
Offset: 0x48, size: 32, reset: 0x00000000, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
NDT
rw |
Bits 0-15: number of data to transfer (0 to 216-1) This field 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 field is zero, no transfer can be served whatever the channel status (enabled or not). Note: this field 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: 0x0-0xffff
DMA channel x peripheral address register
Offset: 0x4c, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: peripheral address It contains the base address of the peripheral data register from/to which the data will be 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=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 register identifies the memory destination address if DIR=1 and the memory source address if DIR=0. In peripheral-to-peripheral mode, this register identifies the peripheral destination address DIR=1 and the peripheral source address if DIR=0. Note: this register 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 channel x memory address register
Offset: 0x50, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: peripheral address It contains the base address of the memory from/to which the data will be 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=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 register identifies the memory source address if DIR=1 and the memory destination address if DIR=0. In peripheral-to-peripheral mode, this register identifies the peripheral source address DIR=1 and the peripheral destination address if DIR=0. Note: this register 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 channel 1 configuration register
Offset: 0x58, size: 32, reset: 0x00000000, access: Unspecified
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 |
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: Disabled: Channel disabled
1: Enabled: Channel enabled
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: Disabled: Transfer Complete interrupt disabled
1: Enabled: Transfer Complete interrupt enabled
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: Disabled: Half Transfer interrupt disabled
1: Enabled: Half Transfer interrupt enabled
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: Disabled: Transfer Error interrupt disabled
1: Enabled: Transfer Error interrupt enabled
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: FromPeripheral: Read from peripheral
1: FromMemory: Read from memory
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: Disabled: Circular buffer disabled
1: Enabled: Circular buffer enabled
Bit 6: peripheral increment mode Defines the increment mode for each DMA transfer to the identified peripheral. n memory-to-memory mode, this field identifies the memory destination if DIR=1 and the memory source if DIR=0. In peripheral-to-peripheral mode, this field 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: Disabled: Increment mode disabled
1: Enabled: Increment mode enabled
Bit 7: memory increment mode Defines the increment mode for each DMA transfer to the identified memory. In memory-to-memory mode, this field identifies the memory source if DIR=1 and the memory destination if DIR=0. In peripheral-to-peripheral mode, this field 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: Disabled: Increment mode disabled
1: Enabled: Increment mode enabled
Bits 8-9: peripheral size Defines the data size of each DMA transfer to the identified peripheral. In memory-to-memory mode, this field identifies the memory destination if DIR=1 and the memory source if DIR=0. In peripheral-to-peripheral mode, this field identifies the peripheral destination if DIR=1 and the peripheral source if DIR=0. Note: this field 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: Bits8: 8-bit size
1: Bits16: 16-bit size
2: Bits32: 32-bit size
Bits 10-11: memory size Defines the data size of each DMA transfer to the identified memory. In memory-to-memory mode, this field identifies the memory source if DIR=1 and the memory destination if DIR=0. In peripheral-to-peripheral mode, this field identifies the peripheral source if DIR=1 and the peripheral destination if DIR=0. Note: this field 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: Bits8: 8-bit size
1: Bits16: 16-bit size
2: Bits32: 32-bit size
Bits 12-13: priority level Note: this field 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: Low: Low priority
1: Medium: Medium priority
2: High: High priority
3: VeryHigh: Very high priority
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: Disabled: Memory to memory mode disabled
1: Enabled: Memory to memory mode enabled
DMA channel x number of data register
Offset: 0x5c, size: 32, reset: 0x00000000, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
NDT
rw |
Bits 0-15: number of data to transfer (0 to 216-1) This field 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 field is zero, no transfer can be served whatever the channel status (enabled or not). Note: this field 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: 0x0-0xffff
DMA channel x peripheral address register
Offset: 0x60, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: peripheral address It contains the base address of the peripheral data register from/to which the data will be 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=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 register identifies the memory destination address if DIR=1 and the memory source address if DIR=0. In peripheral-to-peripheral mode, this register identifies the peripheral destination address DIR=1 and the peripheral source address if DIR=0. Note: this register 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 channel x memory address register
Offset: 0x64, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: peripheral address It contains the base address of the memory from/to which the data will be 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=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 register identifies the memory source address if DIR=1 and the memory destination address if DIR=0. In peripheral-to-peripheral mode, this register identifies the peripheral source address DIR=1 and the peripheral destination address if DIR=0. Note: this register 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 channel 1 configuration register
Offset: 0x6c, size: 32, reset: 0x00000000, access: Unspecified
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 |
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: Disabled: Channel disabled
1: Enabled: Channel enabled
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: Disabled: Transfer Complete interrupt disabled
1: Enabled: Transfer Complete interrupt enabled
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: Disabled: Half Transfer interrupt disabled
1: Enabled: Half Transfer interrupt enabled
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: Disabled: Transfer Error interrupt disabled
1: Enabled: Transfer Error interrupt enabled
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: FromPeripheral: Read from peripheral
1: FromMemory: Read from memory
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: Disabled: Circular buffer disabled
1: Enabled: Circular buffer enabled
Bit 6: peripheral increment mode Defines the increment mode for each DMA transfer to the identified peripheral. n memory-to-memory mode, this field identifies the memory destination if DIR=1 and the memory source if DIR=0. In peripheral-to-peripheral mode, this field 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: Disabled: Increment mode disabled
1: Enabled: Increment mode enabled
Bit 7: memory increment mode Defines the increment mode for each DMA transfer to the identified memory. In memory-to-memory mode, this field identifies the memory source if DIR=1 and the memory destination if DIR=0. In peripheral-to-peripheral mode, this field 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: Disabled: Increment mode disabled
1: Enabled: Increment mode enabled
Bits 8-9: peripheral size Defines the data size of each DMA transfer to the identified peripheral. In memory-to-memory mode, this field identifies the memory destination if DIR=1 and the memory source if DIR=0. In peripheral-to-peripheral mode, this field identifies the peripheral destination if DIR=1 and the peripheral source if DIR=0. Note: this field 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: Bits8: 8-bit size
1: Bits16: 16-bit size
2: Bits32: 32-bit size
Bits 10-11: memory size Defines the data size of each DMA transfer to the identified memory. In memory-to-memory mode, this field identifies the memory source if DIR=1 and the memory destination if DIR=0. In peripheral-to-peripheral mode, this field identifies the peripheral source if DIR=1 and the peripheral destination if DIR=0. Note: this field 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: Bits8: 8-bit size
1: Bits16: 16-bit size
2: Bits32: 32-bit size
Bits 12-13: priority level Note: this field 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: Low: Low priority
1: Medium: Medium priority
2: High: High priority
3: VeryHigh: Very high priority
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: Disabled: Memory to memory mode disabled
1: Enabled: Memory to memory mode enabled
DMA channel x number of data register
Offset: 0x70, size: 32, reset: 0x00000000, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
NDT
rw |
Bits 0-15: number of data to transfer (0 to 216-1) This field 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 field is zero, no transfer can be served whatever the channel status (enabled or not). Note: this field 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: 0x0-0xffff
DMA channel x peripheral address register
Offset: 0x74, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: peripheral address It contains the base address of the peripheral data register from/to which the data will be 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=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 register identifies the memory destination address if DIR=1 and the memory source address if DIR=0. In peripheral-to-peripheral mode, this register identifies the peripheral destination address DIR=1 and the peripheral source address if DIR=0. Note: this register 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 channel x memory address register
Offset: 0x78, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: peripheral address It contains the base address of the memory from/to which the data will be 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=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 register identifies the memory source address if DIR=1 and the memory destination address if DIR=0. In peripheral-to-peripheral mode, this register identifies the peripheral source address DIR=1 and the peripheral destination address if DIR=0. Note: this register 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 channel 1 configuration register
Offset: 0x80, size: 32, reset: 0x00000000, access: Unspecified
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 |
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: Disabled: Channel disabled
1: Enabled: Channel enabled
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: Disabled: Transfer Complete interrupt disabled
1: Enabled: Transfer Complete interrupt enabled
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: Disabled: Half Transfer interrupt disabled
1: Enabled: Half Transfer interrupt enabled
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: Disabled: Transfer Error interrupt disabled
1: Enabled: Transfer Error interrupt enabled
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: FromPeripheral: Read from peripheral
1: FromMemory: Read from memory
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: Disabled: Circular buffer disabled
1: Enabled: Circular buffer enabled
Bit 6: peripheral increment mode Defines the increment mode for each DMA transfer to the identified peripheral. n memory-to-memory mode, this field identifies the memory destination if DIR=1 and the memory source if DIR=0. In peripheral-to-peripheral mode, this field 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: Disabled: Increment mode disabled
1: Enabled: Increment mode enabled
Bit 7: memory increment mode Defines the increment mode for each DMA transfer to the identified memory. In memory-to-memory mode, this field identifies the memory source if DIR=1 and the memory destination if DIR=0. In peripheral-to-peripheral mode, this field 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: Disabled: Increment mode disabled
1: Enabled: Increment mode enabled
Bits 8-9: peripheral size Defines the data size of each DMA transfer to the identified peripheral. In memory-to-memory mode, this field identifies the memory destination if DIR=1 and the memory source if DIR=0. In peripheral-to-peripheral mode, this field identifies the peripheral destination if DIR=1 and the peripheral source if DIR=0. Note: this field 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: Bits8: 8-bit size
1: Bits16: 16-bit size
2: Bits32: 32-bit size
Bits 10-11: memory size Defines the data size of each DMA transfer to the identified memory. In memory-to-memory mode, this field identifies the memory source if DIR=1 and the memory destination if DIR=0. In peripheral-to-peripheral mode, this field identifies the peripheral source if DIR=1 and the peripheral destination if DIR=0. Note: this field 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: Bits8: 8-bit size
1: Bits16: 16-bit size
2: Bits32: 32-bit size
Bits 12-13: priority level Note: this field 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: Low: Low priority
1: Medium: Medium priority
2: High: High priority
3: VeryHigh: Very high priority
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: Disabled: Memory to memory mode disabled
1: Enabled: Memory to memory mode enabled
DMA channel x number of data register
Offset: 0x84, size: 32, reset: 0x00000000, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
NDT
rw |
Bits 0-15: number of data to transfer (0 to 216-1) This field 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 field is zero, no transfer can be served whatever the channel status (enabled or not). Note: this field 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: 0x0-0xffff
DMA channel x peripheral address register
Offset: 0x88, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: peripheral address It contains the base address of the peripheral data register from/to which the data will be 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=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 register identifies the memory destination address if DIR=1 and the memory source address if DIR=0. In peripheral-to-peripheral mode, this register identifies the peripheral destination address DIR=1 and the peripheral source address if DIR=0. Note: this register 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 channel x memory address register
Offset: 0x8c, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: peripheral address It contains the base address of the memory from/to which the data will be 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=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 register identifies the memory source address if DIR=1 and the memory destination address if DIR=0. In peripheral-to-peripheral mode, this register identifies the peripheral source address DIR=1 and the peripheral destination address if DIR=0. Note: this register 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)..
0x40020400: DMA controller
105/115 fields covered.
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 | ISR | ||||||||||||||||||||||||||||||||
0x4 | IFCR | ||||||||||||||||||||||||||||||||
0x8 | CR [1] | ||||||||||||||||||||||||||||||||
0xc | NDTR [1] | ||||||||||||||||||||||||||||||||
0x10 | PAR [1] | ||||||||||||||||||||||||||||||||
0x14 | MAR [1] | ||||||||||||||||||||||||||||||||
0x1c | CR [2] | ||||||||||||||||||||||||||||||||
0x20 | NDTR [2] | ||||||||||||||||||||||||||||||||
0x24 | PAR [2] | ||||||||||||||||||||||||||||||||
0x28 | MAR [2] | ||||||||||||||||||||||||||||||||
0x30 | CR [3] | ||||||||||||||||||||||||||||||||
0x34 | NDTR [3] | ||||||||||||||||||||||||||||||||
0x38 | PAR [3] | ||||||||||||||||||||||||||||||||
0x3c | MAR [3] | ||||||||||||||||||||||||||||||||
0x44 | CR [4] | ||||||||||||||||||||||||||||||||
0x48 | NDTR [4] | ||||||||||||||||||||||||||||||||
0x4c | PAR [4] | ||||||||||||||||||||||||||||||||
0x50 | MAR [4] | ||||||||||||||||||||||||||||||||
0x58 | CR [5] | ||||||||||||||||||||||||||||||||
0x5c | NDTR [5] | ||||||||||||||||||||||||||||||||
0x60 | PAR [5] | ||||||||||||||||||||||||||||||||
0x64 | MAR [5] |
DMA interrupt status register
Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified
20/20 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TEIF[5]
r |
HTIF[5]
r |
TCIF[5]
r |
GIF[5]
r |
||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TEIF[4]
r |
HTIF[4]
r |
TCIF[4]
r |
GIF[4]
r |
TEIF[3]
r |
HTIF[3]
r |
TCIF[3]
r |
GIF[3]
r |
TEIF[2]
r |
HTIF[2]
r |
TCIF[2]
r |
GIF[2]
r |
TEIF[1]
r |
HTIF[1]
r |
TCIF[1]
r |
GIF[1]
r |
Bit 0: Channel 1 Global interrupt flag.
Allowed values:
0: NoEvent: No transfer error, half event, complete event
1: Event: A transfer error, half event or complete event has occured
Bit 1: Channel 1 Transfer Complete flag.
Allowed values:
0: NotComplete: No transfer complete event
1: Complete: A transfer complete event has occured
Bit 2: Channel 1 Half Transfer Complete flag.
Allowed values:
0: NotHalf: No half transfer event
1: Half: A half transfer event has occured
Bit 3: Channel 1 Transfer Error flag.
Allowed values:
0: NoError: No transfer error
1: Error: A transfer error has occured
Bit 4: Channel 2 Global interrupt flag.
Allowed values:
0: NoEvent: No transfer error, half event, complete event
1: Event: A transfer error, half event or complete event has occured
Bit 5: Channel 2 Transfer Complete flag.
Allowed values:
0: NotComplete: No transfer complete event
1: Complete: A transfer complete event has occured
Bit 6: Channel 2 Half Transfer Complete flag.
Allowed values:
0: NotHalf: No half transfer event
1: Half: A half transfer event has occured
Bit 7: Channel 2 Transfer Error flag.
Allowed values:
0: NoError: No transfer error
1: Error: A transfer error has occured
Bit 8: Channel 3 Global interrupt flag.
Allowed values:
0: NoEvent: No transfer error, half event, complete event
1: Event: A transfer error, half event or complete event has occured
Bit 9: Channel 3 Transfer Complete flag.
Allowed values:
0: NotComplete: No transfer complete event
1: Complete: A transfer complete event has occured
Bit 10: Channel 3 Half Transfer Complete flag.
Allowed values:
0: NotHalf: No half transfer event
1: Half: A half transfer event has occured
Bit 11: Channel 3 Transfer Error flag.
Allowed values:
0: NoError: No transfer error
1: Error: A transfer error has occured
Bit 12: Channel 4 Global interrupt flag.
Allowed values:
0: NoEvent: No transfer error, half event, complete event
1: Event: A transfer error, half event or complete event has occured
Bit 13: Channel 4 Transfer Complete flag.
Allowed values:
0: NotComplete: No transfer complete event
1: Complete: A transfer complete event has occured
Bit 14: Channel 4 Half Transfer Complete flag.
Allowed values:
0: NotHalf: No half transfer event
1: Half: A half transfer event has occured
Bit 15: Channel 4 Transfer Error flag.
Allowed values:
0: NoError: No transfer error
1: Error: A transfer error has occured
Bit 16: Channel 5 Global interrupt flag.
Allowed values:
0: NoEvent: No transfer error, half event, complete event
1: Event: A transfer error, half event or complete event has occured
Bit 17: Channel 5 Transfer Complete flag.
Allowed values:
0: NotComplete: No transfer complete event
1: Complete: A transfer complete event has occured
Bit 18: Channel 5 Half Transfer Complete flag.
Allowed values:
0: NotHalf: No half transfer event
1: Half: A half transfer event has occured
Bit 19: Channel 5 Transfer Error flag.
Allowed values:
0: NoError: No transfer error
1: Error: A transfer error has occured
DMA interrupt flag clear register
Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified
20/20 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CTEIF[5]
w |
CHTIF[5]
w |
CTCIF[5]
w |
CGIF[5]
w |
||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
CTEIF[4]
w |
CHTIF[4]
w |
CTCIF[4]
w |
CGIF[4]
w |
CTEIF[3]
w |
CHTIF[3]
w |
CTCIF[3]
w |
CGIF[3]
w |
CTEIF[2]
w |
CHTIF[2]
w |
CTCIF[2]
w |
CGIF[2]
w |
CTEIF[1]
w |
CHTIF[1]
w |
CTCIF[1]
w |
CGIF[1]
w |
Bit 0: Channel 1 Global interrupt clear.
Allowed values:
1: Clear: Clears the GIF, TEIF, HTIF, TCIF flags in the ISR register
Bit 1: Channel 1 Transfer Complete clear.
Allowed values:
1: Clear: Clears the TCIF flag in the ISR register
Bit 2: Channel 1 Half Transfer clear.
Allowed values:
1: Clear: Clears the HTIF flag in the ISR register
Bit 3: Channel 1 Transfer Error clear.
Allowed values:
1: Clear: Clears the TEIF flag in the ISR register
Bit 4: Channel 2 Global interrupt clear.
Allowed values:
1: Clear: Clears the GIF, TEIF, HTIF, TCIF flags in the ISR register
Bit 5: Channel 2 Transfer Complete clear.
Allowed values:
1: Clear: Clears the TCIF flag in the ISR register
Bit 6: Channel 2 Half Transfer clear.
Allowed values:
1: Clear: Clears the HTIF flag in the ISR register
Bit 7: Channel 2 Transfer Error clear.
Allowed values:
1: Clear: Clears the TEIF flag in the ISR register
Bit 8: Channel 3 Global interrupt clear.
Allowed values:
1: Clear: Clears the GIF, TEIF, HTIF, TCIF flags in the ISR register
Bit 9: Channel 3 Transfer Complete clear.
Allowed values:
1: Clear: Clears the TCIF flag in the ISR register
Bit 10: Channel 3 Half Transfer clear.
Allowed values:
1: Clear: Clears the HTIF flag in the ISR register
Bit 11: Channel 3 Transfer Error clear.
Allowed values:
1: Clear: Clears the TEIF flag in the ISR register
Bit 12: Channel 4 Global interrupt clear.
Allowed values:
1: Clear: Clears the GIF, TEIF, HTIF, TCIF flags in the ISR register
Bit 13: Channel 4 Transfer Complete clear.
Allowed values:
1: Clear: Clears the TCIF flag in the ISR register
Bit 14: Channel 4 Half Transfer clear.
Allowed values:
1: Clear: Clears the HTIF flag in the ISR register
Bit 15: Channel 4 Transfer Error clear.
Allowed values:
1: Clear: Clears the TEIF flag in the ISR register
Bit 16: Channel 5 Global interrupt clear.
Allowed values:
1: Clear: Clears the GIF, TEIF, HTIF, TCIF flags in the ISR register
Bit 17: Channel 5 Transfer Complete clear.
Allowed values:
1: Clear: Clears the TCIF flag in the ISR register
Bit 18: Channel 5 Half Transfer clear.
Allowed values:
1: Clear: Clears the HTIF flag in the ISR register
Bit 19: Channel 5 Transfer Error clear.
Allowed values:
1: Clear: Clears the TEIF flag in the ISR register
DMA channel 1 configuration register
Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified
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 |
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: Disabled: Channel disabled
1: Enabled: Channel enabled
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: Disabled: Transfer Complete interrupt disabled
1: Enabled: Transfer Complete interrupt enabled
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: Disabled: Half Transfer interrupt disabled
1: Enabled: Half Transfer interrupt enabled
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: Disabled: Transfer Error interrupt disabled
1: Enabled: Transfer Error interrupt enabled
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: FromPeripheral: Read from peripheral
1: FromMemory: Read from memory
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: Disabled: Circular buffer disabled
1: Enabled: Circular buffer enabled
Bit 6: peripheral increment mode Defines the increment mode for each DMA transfer to the identified peripheral. n memory-to-memory mode, this field identifies the memory destination if DIR=1 and the memory source if DIR=0. In peripheral-to-peripheral mode, this field 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: Disabled: Increment mode disabled
1: Enabled: Increment mode enabled
Bit 7: memory increment mode Defines the increment mode for each DMA transfer to the identified memory. In memory-to-memory mode, this field identifies the memory source if DIR=1 and the memory destination if DIR=0. In peripheral-to-peripheral mode, this field 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: Disabled: Increment mode disabled
1: Enabled: Increment mode enabled
Bits 8-9: peripheral size Defines the data size of each DMA transfer to the identified peripheral. In memory-to-memory mode, this field identifies the memory destination if DIR=1 and the memory source if DIR=0. In peripheral-to-peripheral mode, this field identifies the peripheral destination if DIR=1 and the peripheral source if DIR=0. Note: this field 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: Bits8: 8-bit size
1: Bits16: 16-bit size
2: Bits32: 32-bit size
Bits 10-11: memory size Defines the data size of each DMA transfer to the identified memory. In memory-to-memory mode, this field identifies the memory source if DIR=1 and the memory destination if DIR=0. In peripheral-to-peripheral mode, this field identifies the peripheral source if DIR=1 and the peripheral destination if DIR=0. Note: this field 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: Bits8: 8-bit size
1: Bits16: 16-bit size
2: Bits32: 32-bit size
Bits 12-13: priority level Note: this field 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: Low: Low priority
1: Medium: Medium priority
2: High: High priority
3: VeryHigh: Very high priority
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: Disabled: Memory to memory mode disabled
1: Enabled: Memory to memory mode enabled
DMA channel x number of data register
Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
NDT
rw |
Bits 0-15: number of data to transfer (0 to 216-1) This field 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 field is zero, no transfer can be served whatever the channel status (enabled or not). Note: this field 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: 0x0-0xffff
DMA channel x peripheral address register
Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: peripheral address It contains the base address of the peripheral data register from/to which the data will be 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=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 register identifies the memory destination address if DIR=1 and the memory source address if DIR=0. In peripheral-to-peripheral mode, this register identifies the peripheral destination address DIR=1 and the peripheral source address if DIR=0. Note: this register 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 channel x memory address register
Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: peripheral address It contains the base address of the memory from/to which the data will be 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=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 register identifies the memory source address if DIR=1 and the memory destination address if DIR=0. In peripheral-to-peripheral mode, this register identifies the peripheral source address DIR=1 and the peripheral destination address if DIR=0. Note: this register 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 channel 1 configuration register
Offset: 0x1c, size: 32, reset: 0x00000000, access: Unspecified
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 |
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: Disabled: Channel disabled
1: Enabled: Channel enabled
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: Disabled: Transfer Complete interrupt disabled
1: Enabled: Transfer Complete interrupt enabled
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: Disabled: Half Transfer interrupt disabled
1: Enabled: Half Transfer interrupt enabled
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: Disabled: Transfer Error interrupt disabled
1: Enabled: Transfer Error interrupt enabled
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: FromPeripheral: Read from peripheral
1: FromMemory: Read from memory
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: Disabled: Circular buffer disabled
1: Enabled: Circular buffer enabled
Bit 6: peripheral increment mode Defines the increment mode for each DMA transfer to the identified peripheral. n memory-to-memory mode, this field identifies the memory destination if DIR=1 and the memory source if DIR=0. In peripheral-to-peripheral mode, this field 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: Disabled: Increment mode disabled
1: Enabled: Increment mode enabled
Bit 7: memory increment mode Defines the increment mode for each DMA transfer to the identified memory. In memory-to-memory mode, this field identifies the memory source if DIR=1 and the memory destination if DIR=0. In peripheral-to-peripheral mode, this field 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: Disabled: Increment mode disabled
1: Enabled: Increment mode enabled
Bits 8-9: peripheral size Defines the data size of each DMA transfer to the identified peripheral. In memory-to-memory mode, this field identifies the memory destination if DIR=1 and the memory source if DIR=0. In peripheral-to-peripheral mode, this field identifies the peripheral destination if DIR=1 and the peripheral source if DIR=0. Note: this field 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: Bits8: 8-bit size
1: Bits16: 16-bit size
2: Bits32: 32-bit size
Bits 10-11: memory size Defines the data size of each DMA transfer to the identified memory. In memory-to-memory mode, this field identifies the memory source if DIR=1 and the memory destination if DIR=0. In peripheral-to-peripheral mode, this field identifies the peripheral source if DIR=1 and the peripheral destination if DIR=0. Note: this field 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: Bits8: 8-bit size
1: Bits16: 16-bit size
2: Bits32: 32-bit size
Bits 12-13: priority level Note: this field 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: Low: Low priority
1: Medium: Medium priority
2: High: High priority
3: VeryHigh: Very high priority
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: Disabled: Memory to memory mode disabled
1: Enabled: Memory to memory mode enabled
DMA channel x number of data register
Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
NDT
rw |
Bits 0-15: number of data to transfer (0 to 216-1) This field 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 field is zero, no transfer can be served whatever the channel status (enabled or not). Note: this field 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: 0x0-0xffff
DMA channel x peripheral address register
Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: peripheral address It contains the base address of the peripheral data register from/to which the data will be 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=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 register identifies the memory destination address if DIR=1 and the memory source address if DIR=0. In peripheral-to-peripheral mode, this register identifies the peripheral destination address DIR=1 and the peripheral source address if DIR=0. Note: this register 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 channel x memory address register
Offset: 0x28, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: peripheral address It contains the base address of the memory from/to which the data will be 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=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 register identifies the memory source address if DIR=1 and the memory destination address if DIR=0. In peripheral-to-peripheral mode, this register identifies the peripheral source address DIR=1 and the peripheral destination address if DIR=0. Note: this register 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 channel 1 configuration register
Offset: 0x30, size: 32, reset: 0x00000000, access: Unspecified
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 |
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: Disabled: Channel disabled
1: Enabled: Channel enabled
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: Disabled: Transfer Complete interrupt disabled
1: Enabled: Transfer Complete interrupt enabled
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: Disabled: Half Transfer interrupt disabled
1: Enabled: Half Transfer interrupt enabled
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: Disabled: Transfer Error interrupt disabled
1: Enabled: Transfer Error interrupt enabled
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: FromPeripheral: Read from peripheral
1: FromMemory: Read from memory
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: Disabled: Circular buffer disabled
1: Enabled: Circular buffer enabled
Bit 6: peripheral increment mode Defines the increment mode for each DMA transfer to the identified peripheral. n memory-to-memory mode, this field identifies the memory destination if DIR=1 and the memory source if DIR=0. In peripheral-to-peripheral mode, this field 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: Disabled: Increment mode disabled
1: Enabled: Increment mode enabled
Bit 7: memory increment mode Defines the increment mode for each DMA transfer to the identified memory. In memory-to-memory mode, this field identifies the memory source if DIR=1 and the memory destination if DIR=0. In peripheral-to-peripheral mode, this field 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: Disabled: Increment mode disabled
1: Enabled: Increment mode enabled
Bits 8-9: peripheral size Defines the data size of each DMA transfer to the identified peripheral. In memory-to-memory mode, this field identifies the memory destination if DIR=1 and the memory source if DIR=0. In peripheral-to-peripheral mode, this field identifies the peripheral destination if DIR=1 and the peripheral source if DIR=0. Note: this field 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: Bits8: 8-bit size
1: Bits16: 16-bit size
2: Bits32: 32-bit size
Bits 10-11: memory size Defines the data size of each DMA transfer to the identified memory. In memory-to-memory mode, this field identifies the memory source if DIR=1 and the memory destination if DIR=0. In peripheral-to-peripheral mode, this field identifies the peripheral source if DIR=1 and the peripheral destination if DIR=0. Note: this field 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: Bits8: 8-bit size
1: Bits16: 16-bit size
2: Bits32: 32-bit size
Bits 12-13: priority level Note: this field 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: Low: Low priority
1: Medium: Medium priority
2: High: High priority
3: VeryHigh: Very high priority
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: Disabled: Memory to memory mode disabled
1: Enabled: Memory to memory mode enabled
DMA channel x number of data register
Offset: 0x34, size: 32, reset: 0x00000000, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
NDT
rw |
Bits 0-15: number of data to transfer (0 to 216-1) This field 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 field is zero, no transfer can be served whatever the channel status (enabled or not). Note: this field 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: 0x0-0xffff
DMA channel x peripheral address register
Offset: 0x38, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: peripheral address It contains the base address of the peripheral data register from/to which the data will be 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=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 register identifies the memory destination address if DIR=1 and the memory source address if DIR=0. In peripheral-to-peripheral mode, this register identifies the peripheral destination address DIR=1 and the peripheral source address if DIR=0. Note: this register 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 channel x memory address register
Offset: 0x3c, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: peripheral address It contains the base address of the memory from/to which the data will be 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=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 register identifies the memory source address if DIR=1 and the memory destination address if DIR=0. In peripheral-to-peripheral mode, this register identifies the peripheral source address DIR=1 and the peripheral destination address if DIR=0. Note: this register 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 channel 1 configuration register
Offset: 0x44, size: 32, reset: 0x00000000, access: Unspecified
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 |
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: Disabled: Channel disabled
1: Enabled: Channel enabled
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: Disabled: Transfer Complete interrupt disabled
1: Enabled: Transfer Complete interrupt enabled
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: Disabled: Half Transfer interrupt disabled
1: Enabled: Half Transfer interrupt enabled
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: Disabled: Transfer Error interrupt disabled
1: Enabled: Transfer Error interrupt enabled
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: FromPeripheral: Read from peripheral
1: FromMemory: Read from memory
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: Disabled: Circular buffer disabled
1: Enabled: Circular buffer enabled
Bit 6: peripheral increment mode Defines the increment mode for each DMA transfer to the identified peripheral. n memory-to-memory mode, this field identifies the memory destination if DIR=1 and the memory source if DIR=0. In peripheral-to-peripheral mode, this field 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: Disabled: Increment mode disabled
1: Enabled: Increment mode enabled
Bit 7: memory increment mode Defines the increment mode for each DMA transfer to the identified memory. In memory-to-memory mode, this field identifies the memory source if DIR=1 and the memory destination if DIR=0. In peripheral-to-peripheral mode, this field 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: Disabled: Increment mode disabled
1: Enabled: Increment mode enabled
Bits 8-9: peripheral size Defines the data size of each DMA transfer to the identified peripheral. In memory-to-memory mode, this field identifies the memory destination if DIR=1 and the memory source if DIR=0. In peripheral-to-peripheral mode, this field identifies the peripheral destination if DIR=1 and the peripheral source if DIR=0. Note: this field 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: Bits8: 8-bit size
1: Bits16: 16-bit size
2: Bits32: 32-bit size
Bits 10-11: memory size Defines the data size of each DMA transfer to the identified memory. In memory-to-memory mode, this field identifies the memory source if DIR=1 and the memory destination if DIR=0. In peripheral-to-peripheral mode, this field identifies the peripheral source if DIR=1 and the peripheral destination if DIR=0. Note: this field 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: Bits8: 8-bit size
1: Bits16: 16-bit size
2: Bits32: 32-bit size
Bits 12-13: priority level Note: this field 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: Low: Low priority
1: Medium: Medium priority
2: High: High priority
3: VeryHigh: Very high priority
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: Disabled: Memory to memory mode disabled
1: Enabled: Memory to memory mode enabled
DMA channel x number of data register
Offset: 0x48, size: 32, reset: 0x00000000, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
NDT
rw |
Bits 0-15: number of data to transfer (0 to 216-1) This field 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 field is zero, no transfer can be served whatever the channel status (enabled or not). Note: this field 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: 0x0-0xffff
DMA channel x peripheral address register
Offset: 0x4c, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: peripheral address It contains the base address of the peripheral data register from/to which the data will be 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=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 register identifies the memory destination address if DIR=1 and the memory source address if DIR=0. In peripheral-to-peripheral mode, this register identifies the peripheral destination address DIR=1 and the peripheral source address if DIR=0. Note: this register 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 channel x memory address register
Offset: 0x50, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: peripheral address It contains the base address of the memory from/to which the data will be 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=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 register identifies the memory source address if DIR=1 and the memory destination address if DIR=0. In peripheral-to-peripheral mode, this register identifies the peripheral source address DIR=1 and the peripheral destination address if DIR=0. Note: this register 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 channel 1 configuration register
Offset: 0x58, size: 32, reset: 0x00000000, access: Unspecified
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 |
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: Disabled: Channel disabled
1: Enabled: Channel enabled
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: Disabled: Transfer Complete interrupt disabled
1: Enabled: Transfer Complete interrupt enabled
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: Disabled: Half Transfer interrupt disabled
1: Enabled: Half Transfer interrupt enabled
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: Disabled: Transfer Error interrupt disabled
1: Enabled: Transfer Error interrupt enabled
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: FromPeripheral: Read from peripheral
1: FromMemory: Read from memory
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: Disabled: Circular buffer disabled
1: Enabled: Circular buffer enabled
Bit 6: peripheral increment mode Defines the increment mode for each DMA transfer to the identified peripheral. n memory-to-memory mode, this field identifies the memory destination if DIR=1 and the memory source if DIR=0. In peripheral-to-peripheral mode, this field 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: Disabled: Increment mode disabled
1: Enabled: Increment mode enabled
Bit 7: memory increment mode Defines the increment mode for each DMA transfer to the identified memory. In memory-to-memory mode, this field identifies the memory source if DIR=1 and the memory destination if DIR=0. In peripheral-to-peripheral mode, this field 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: Disabled: Increment mode disabled
1: Enabled: Increment mode enabled
Bits 8-9: peripheral size Defines the data size of each DMA transfer to the identified peripheral. In memory-to-memory mode, this field identifies the memory destination if DIR=1 and the memory source if DIR=0. In peripheral-to-peripheral mode, this field identifies the peripheral destination if DIR=1 and the peripheral source if DIR=0. Note: this field 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: Bits8: 8-bit size
1: Bits16: 16-bit size
2: Bits32: 32-bit size
Bits 10-11: memory size Defines the data size of each DMA transfer to the identified memory. In memory-to-memory mode, this field identifies the memory source if DIR=1 and the memory destination if DIR=0. In peripheral-to-peripheral mode, this field identifies the peripheral source if DIR=1 and the peripheral destination if DIR=0. Note: this field 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: Bits8: 8-bit size
1: Bits16: 16-bit size
2: Bits32: 32-bit size
Bits 12-13: priority level Note: this field 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: Low: Low priority
1: Medium: Medium priority
2: High: High priority
3: VeryHigh: Very high priority
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: Disabled: Memory to memory mode disabled
1: Enabled: Memory to memory mode enabled
DMA channel x number of data register
Offset: 0x5c, size: 32, reset: 0x00000000, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
NDT
rw |
Bits 0-15: number of data to transfer (0 to 216-1) This field 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 field is zero, no transfer can be served whatever the channel status (enabled or not). Note: this field 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: 0x0-0xffff
DMA channel x peripheral address register
Offset: 0x60, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: peripheral address It contains the base address of the peripheral data register from/to which the data will be 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=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 register identifies the memory destination address if DIR=1 and the memory source address if DIR=0. In peripheral-to-peripheral mode, this register identifies the peripheral destination address DIR=1 and the peripheral source address if DIR=0. Note: this register 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 channel x memory address register
Offset: 0x64, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: peripheral address It contains the base address of the memory from/to which the data will be 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=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 register identifies the memory source address if DIR=1 and the memory destination address if DIR=0. In peripheral-to-peripheral mode, this register identifies the peripheral source address DIR=1 and the peripheral destination address if DIR=0. Note: this register 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)..
0x40020800: DMAMUX
11/91 fields covered.
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 | CCR[0] | ||||||||||||||||||||||||||||||||
0x4 | CCR[1] | ||||||||||||||||||||||||||||||||
0x8 | CCR[2] | ||||||||||||||||||||||||||||||||
0xc | CCR[3] | ||||||||||||||||||||||||||||||||
0x10 | CCR[4] | ||||||||||||||||||||||||||||||||
0x14 | CCR[5] | ||||||||||||||||||||||||||||||||
0x18 | CCR[6] | ||||||||||||||||||||||||||||||||
0x80 | CSR | ||||||||||||||||||||||||||||||||
0x84 | CFR | ||||||||||||||||||||||||||||||||
0x100 | RGCR[0] | ||||||||||||||||||||||||||||||||
0x104 | RGCR[1] | ||||||||||||||||||||||||||||||||
0x108 | RGCR[2] | ||||||||||||||||||||||||||||||||
0x10c | RGCR[3] | ||||||||||||||||||||||||||||||||
0x140 | RGSR | ||||||||||||||||||||||||||||||||
0x144 | RGCFR |
DMA Multiplexer Channel 0 Control register
Offset: 0x0, size: 32, reset: 0x00000000, access: read-write
0/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 |
Bits 0-5: DMA request identification Selects the input DMA request. See the DMAMUX table about assignments of multiplexer inputs to resources..
Bit 8: Synchronization overrun interrupt enable.
Bit 9: Event generation enable.
Bit 16: Synchronization enable.
Bits 17-18: Synchronization polarity Defines the edge polarity of the selected synchronization input:.
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 shall only be written when both SE and EGE bits are low..
Bits 24-28: Synchronization identification Selects the synchronization input (see inputs to resources STM32G0)..
DMA Multiplexer Channel 1 Control register
Offset: 0x4, size: 32, reset: 0x00000000, access: read-write
0/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 |
Bits 0-5: DMA request identification Selects the input DMA request. See the DMAMUX table about assignments of multiplexer inputs to resources..
Bit 8: Synchronization overrun interrupt enable.
Bit 9: Event generation enable.
Bit 16: Synchronization enable.
Bits 17-18: Synchronization polarity Defines the edge polarity of the selected synchronization input:.
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 shall only be written when both SE and EGE bits are low..
Bits 24-28: Synchronization identification Selects the synchronization input (see inputs to resources STM32G0)..
DMA Multiplexer Channel 2 Control register
Offset: 0x8, size: 32, reset: 0x00000000, access: read-write
0/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 |
Bits 0-5: DMA request identification Selects the input DMA request. See the DMAMUX table about assignments of multiplexer inputs to resources..
Bit 8: Synchronization overrun interrupt enable.
Bit 9: Event generation enable.
Bit 16: Synchronization enable.
Bits 17-18: Synchronization polarity Defines the edge polarity of the selected synchronization input:.
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 shall only be written when both SE and EGE bits are low..
Bits 24-28: Synchronization identification Selects the synchronization input (see inputs to resources STM32G0)..
DMA Multiplexer Channel 3 Control register
Offset: 0xc, size: 32, reset: 0x00000000, access: read-write
0/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 |
Bits 0-5: DMA request identification Selects the input DMA request. See the DMAMUX table about assignments of multiplexer inputs to resources..
Bit 8: Synchronization overrun interrupt enable.
Bit 9: Event generation enable.
Bit 16: Synchronization enable.
Bits 17-18: Synchronization polarity Defines the edge polarity of the selected synchronization input:.
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 shall only be written when both SE and EGE bits are low..
Bits 24-28: Synchronization identification Selects the synchronization input (see inputs to resources STM32G0)..
DMA Multiplexer Channel 4 Control register
Offset: 0x10, size: 32, reset: 0x00000000, access: read-write
0/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 |
Bits 0-5: DMA request identification Selects the input DMA request. See the DMAMUX table about assignments of multiplexer inputs to resources..
Bit 8: Synchronization overrun interrupt enable.
Bit 9: Event generation enable.
Bit 16: Synchronization enable.
Bits 17-18: Synchronization polarity Defines the edge polarity of the selected synchronization input:.
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 shall only be written when both SE and EGE bits are low..
Bits 24-28: Synchronization identification Selects the synchronization input (see inputs to resources STM32G0)..
DMA Multiplexer Channel 5 Control register
Offset: 0x14, size: 32, reset: 0x00000000, access: read-write
0/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 |
Bits 0-5: DMA request identification Selects the input DMA request. See the DMAMUX table about assignments of multiplexer inputs to resources..
Bit 8: Synchronization overrun interrupt enable.
Bit 9: Event generation enable.
Bit 16: Synchronization enable.
Bits 17-18: Synchronization polarity Defines the edge polarity of the selected synchronization input:.
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 shall only be written when both SE and EGE bits are low..
Bits 24-28: Synchronization identification Selects the synchronization input (see inputs to resources STM32G0)..
DMA Multiplexer Channel 6 Control register
Offset: 0x18, size: 32, reset: 0x00000000, access: read-write
0/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 |
Bits 0-5: DMA request identification Selects the input DMA request. See the DMAMUX table about assignments of multiplexer inputs to resources..
Bit 8: Synchronization overrun interrupt enable.
Bit 9: Event generation enable.
Bit 16: Synchronization enable.
Bits 17-18: Synchronization polarity Defines the edge polarity of the selected synchronization input:.
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 shall only be written when both SE and EGE bits are low..
Bits 24-28: Synchronization identification Selects the synchronization input (see inputs to resources STM32G0)..
DMAMUX request line multiplexer interrupt channel status register
Offset: 0x80, size: 32, reset: 0x00000000, access: read-only
7/7 fields covered.
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..
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..
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..
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..
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..
Bit 5: 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..
Bit 6: 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 request line multiplexer interrupt clear flag register
Offset: 0x84, size: 32, reset: 0x00000000, access: write-only
0/7 fields covered.
Bit 0: Clear synchronization overrun event flag Writing 1 in each bit clears the corresponding overrun flag SOFx in the DMAMUX_CSR register..
Bit 1: Clear synchronization overrun event flag Writing 1 in each bit clears the corresponding overrun flag SOFx in the DMAMUX_CSR register..
Bit 2: Clear synchronization overrun event flag Writing 1 in each bit clears the corresponding overrun flag SOFx in the DMAMUX_CSR register..
Bit 3: Clear synchronization overrun event flag Writing 1 in each bit clears the corresponding overrun flag SOFx in the DMAMUX_CSR register..
Bit 4: Clear synchronization overrun event flag Writing 1 in each bit clears the corresponding overrun flag SOFx in the DMAMUX_CSR register..
Bit 5: Clear synchronization overrun event flag Writing 1 in each bit clears the corresponding overrun flag SOFx in the DMAMUX_CSR register..
Bit 6: Clear synchronization overrun event flag Writing 1 in each bit clears the corresponding overrun flag SOFx in the DMAMUX_CSR register..
DMAMUX request generator channel x configuration register
Offset: 0x100, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 |
Bits 0-4: Signal identification Selects the DMA request trigger input used for the channel x of the DMA request generator.
Bit 8: Trigger overrun interrupt enable.
Bit 16: DMA request generator channel x enable.
Bits 17-18: DMA request generator trigger polarity Defines the edge polarity of the selected trigger input.
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 shall only be written when GE bit is disabled..
DMAMUX request generator channel x configuration register
Offset: 0x104, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 |
Bits 0-4: Signal identification Selects the DMA request trigger input used for the channel x of the DMA request generator.
Bit 8: Trigger overrun interrupt enable.
Bit 16: DMA request generator channel x enable.
Bits 17-18: DMA request generator trigger polarity Defines the edge polarity of the selected trigger input.
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 shall only be written when GE bit is disabled..
DMAMUX request generator channel x configuration register
Offset: 0x108, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 |
Bits 0-4: Signal identification Selects the DMA request trigger input used for the channel x of the DMA request generator.
Bit 8: Trigger overrun interrupt enable.
Bit 16: DMA request generator channel x enable.
Bits 17-18: DMA request generator trigger polarity Defines the edge polarity of the selected trigger input.
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 shall only be written when GE bit is disabled..
DMAMUX request generator channel x configuration register
Offset: 0x10c, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 |
Bits 0-4: Signal identification Selects the DMA request trigger input used for the channel x of the DMA request generator.
Bit 8: Trigger overrun interrupt enable.
Bit 16: DMA request generator channel x enable.
Bits 17-18: DMA request generator trigger polarity Defines the edge polarity of the selected trigger input.
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 shall only be written when GE bit is disabled..
DMAMUX request generator interrupt status register
Offset: 0x140, size: 32, reset: 0x00000000, access: read-only
4/4 fields covered.
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..
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..
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..
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 request generator interrupt clear flag register
Offset: 0x144, size: 32, reset: 0x00000000, access: write-only
0/4 fields covered.
Bit 0: Clear trigger overrun event flag Writing 1 in each bit clears the corresponding overrun flag OFx in the DMAMUX_RGSR register..
Bit 1: Clear trigger overrun event flag Writing 1 in each bit clears the corresponding overrun flag OFx in the DMAMUX_RGSR register..
Bit 2: Clear trigger overrun event flag Writing 1 in each bit clears the corresponding overrun flag OFx in the DMAMUX_RGSR register..
Bit 3: Clear trigger overrun event flag Writing 1 in each bit clears the corresponding overrun flag OFx in the DMAMUX_RGSR register..
0x40021800: External interrupt/event controller
142/142 fields covered.
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 | RTSR1 | ||||||||||||||||||||||||||||||||
0x4 | FTSR1 | ||||||||||||||||||||||||||||||||
0x8 | SWIER1 | ||||||||||||||||||||||||||||||||
0xc | RPR1 | ||||||||||||||||||||||||||||||||
0x10 | FPR1 | ||||||||||||||||||||||||||||||||
0x60 | EXTICR1 | ||||||||||||||||||||||||||||||||
0x64 | EXTICR2 | ||||||||||||||||||||||||||||||||
0x68 | EXTICR3 | ||||||||||||||||||||||||||||||||
0x6c | EXTICR4 | ||||||||||||||||||||||||||||||||
0x80 | IMR1 | ||||||||||||||||||||||||||||||||
0x84 | EMR1 |
EXTI rising trigger selection register
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 |
Bit 0: Rising trigger event configuration bit of Configurable Event line.
Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled
Bit 1: Rising trigger event configuration bit of Configurable Event line.
Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled
Bit 2: Rising trigger event configuration bit of Configurable Event line.
Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled
Bit 3: Rising trigger event configuration bit of Configurable Event line.
Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled
Bit 4: Rising trigger event configuration bit of Configurable Event line.
Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled
Bit 5: Rising trigger event configuration bit of Configurable Event line.
Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled
Bit 6: Rising trigger event configuration bit of Configurable Event line.
Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled
Bit 7: Rising trigger event configuration bit of Configurable Event line.
Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled
Bit 8: Rising trigger event configuration bit of Configurable Event line.
Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled
Bit 9: Rising trigger event configuration bit of Configurable Event line.
Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled
Bit 10: Rising trigger event configuration bit of Configurable Event line.
Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled
Bit 11: Rising trigger event configuration bit of Configurable Event line.
Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled
Bit 12: Rising trigger event configuration bit of Configurable Event line.
Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled
Bit 13: Rising trigger event configuration bit of Configurable Event line.
Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled
Bit 14: Rising trigger event configuration bit of Configurable Event line.
Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled
Bit 15: Rising trigger event configuration bit of Configurable Event line.
Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled
EXTI falling trigger selection 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 |
Bit 0: Falling trigger event configuration bit of configurable line.
Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled
Bit 1: Falling trigger event configuration bit of configurable line.
Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled
Bit 2: Falling trigger event configuration bit of configurable line.
Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled
Bit 3: Falling trigger event configuration bit of configurable line.
Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled
Bit 4: Falling trigger event configuration bit of configurable line.
Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled
Bit 5: Falling trigger event configuration bit of configurable line.
Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled
Bit 6: Falling trigger event configuration bit of configurable line.
Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled
Bit 7: Falling trigger event configuration bit of configurable line.
Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled
Bit 8: Falling trigger event configuration bit of configurable line.
Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled
Bit 9: Falling trigger event configuration bit of configurable line.
Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled
Bit 10: Falling trigger event configuration bit of configurable line.
Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled
Bit 11: Falling trigger event configuration bit of configurable line.
Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled
Bit 12: Falling trigger event configuration bit of configurable line.
Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled
Bit 13: Falling trigger event configuration bit of configurable line.
Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled
Bit 14: Falling trigger event configuration bit of configurable line.
Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled
Bit 15: Falling trigger event configuration bit of configurable line.
Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled
EXTI software interrupt event register
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 |
Bit 0: Software rising edge event trigger on line.
Allowed values:
1: Pend: Generates an interrupt request
Bit 1: Software rising edge event trigger on line.
Allowed values:
1: Pend: Generates an interrupt request
Bit 2: Software rising edge event trigger on line.
Allowed values:
1: Pend: Generates an interrupt request
Bit 3: Software rising edge event trigger on line.
Allowed values:
1: Pend: Generates an interrupt request
Bit 4: Software rising edge event trigger on line.
Allowed values:
1: Pend: Generates an interrupt request
Bit 5: Software rising edge event trigger on line.
Allowed values:
1: Pend: Generates an interrupt request
Bit 6: Software rising edge event trigger on line.
Allowed values:
1: Pend: Generates an interrupt request
Bit 7: Software rising edge event trigger on line.
Allowed values:
1: Pend: Generates an interrupt request
Bit 8: Software rising edge event trigger on line.
Allowed values:
1: Pend: Generates an interrupt request
Bit 9: Software rising edge event trigger on line.
Allowed values:
1: Pend: Generates an interrupt request
Bit 10: Software rising edge event trigger on line.
Allowed values:
1: Pend: Generates an interrupt request
Bit 11: Software rising edge event trigger on line.
Allowed values:
1: Pend: Generates an interrupt request
Bit 12: Software rising edge event trigger on line.
Allowed values:
1: Pend: Generates an interrupt request
Bit 13: Software rising edge event trigger on line.
Allowed values:
1: Pend: Generates an interrupt request
Bit 14: Software rising edge event trigger on line.
Allowed values:
1: Pend: Generates an interrupt request
Bit 15: Software rising edge event trigger on line.
Allowed values:
1: Pend: Generates an interrupt request
EXTI rising edge pending register
Offset: 0xc, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
RPIF15
rw |
RPIF14
rw |
RPIF13
rw |
RPIF12
rw |
RPIF11
rw |
RPIF10
rw |
RPIF9
rw |
RPIF8
rw |
RPIF7
rw |
RPIF6
rw |
RPIF5
rw |
RPIF4
rw |
RPIF3
rw |
RPIF2
rw |
RPIF1
rw |
RPIF0
rw |
Bit 0: Rising edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 1: Rising edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 2: Rising edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 3: Rising edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 4: Rising edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 5: configurable event inputs x rising edge Pending bit.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 6: Rising edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 7: Rising edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 8: Rising edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 9: Rising edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 10: Rising edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 11: Rising edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 12: Rising edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 13: Rising edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 14: Rising edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 15: Rising edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
EXTI falling edge pending register
Offset: 0x10, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
FPIF15
rw |
FPIF14
rw |
FPIF13
rw |
FPIF12
rw |
FPIF11
rw |
FPIF10
rw |
FPIF9
rw |
FPIF8
rw |
FPIF7
rw |
FPIF6
rw |
FPIF5
rw |
FPIF4
rw |
FPIF3
rw |
FPIF2
rw |
FPIF1
rw |
FPIF0
rw |
Bit 0: Falling edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 1: Falling edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 2: Falling edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 3: Falling edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 4: Falling edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 5: Falling edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 6: Falling edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 7: Falling edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 8: Falling edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 9: Falling edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 10: Falling edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 11: Falling edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 12: Falling edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 13: Falling edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 14: Falling edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
Bit 15: Falling edge event pending for configurable line.
Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
EXTI24_31
rw |
EXTI16_23
rw |
||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
EXTI8_15
rw |
EXTI0_7
rw |
Bits 0-7: GPIO port selection.
Allowed values:
0: PA: GPIO port A selected
1: PB: GPIO port B selected
2: PC: GPIO port C selected
3: PD: GPIO port D selected
5: PF: GPIO port F selected
Bits 8-15: GPIO port selection.
Allowed values:
0: PA: GPIO port A selected
1: PB: GPIO port B selected
2: PC: GPIO port C selected
3: PD: GPIO port D selected
5: PF: GPIO port F selected
Bits 16-23: GPIO port selection.
Allowed values:
0: PA: GPIO port A selected
1: PB: GPIO port B selected
2: PC: GPIO port C selected
3: PD: GPIO port D selected
5: PF: GPIO port F selected
Bits 24-31: GPIO port selection.
Allowed values:
0: PA: GPIO port A selected
1: PB: GPIO port B selected
2: PC: GPIO port C selected
3: PD: GPIO port D selected
5: PF: GPIO port F selected
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
EXTI24_31
rw |
EXTI16_23
rw |
||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
EXTI8_15
rw |
EXTI0_7
rw |
Bits 0-7: GPIO port selection.
Allowed values:
0: PA: GPIO port A selected
1: PB: GPIO port B selected
2: PC: GPIO port C selected
3: PD: GPIO port D selected
5: PF: GPIO port F selected
Bits 8-15: GPIO port selection.
Allowed values:
0: PA: GPIO port A selected
1: PB: GPIO port B selected
2: PC: GPIO port C selected
3: PD: GPIO port D selected
5: PF: GPIO port F selected
Bits 16-23: GPIO port selection.
Allowed values:
0: PA: GPIO port A selected
1: PB: GPIO port B selected
2: PC: GPIO port C selected
3: PD: GPIO port D selected
5: PF: GPIO port F selected
Bits 24-31: GPIO port selection.
Allowed values:
0: PA: GPIO port A selected
1: PB: GPIO port B selected
2: PC: GPIO port C selected
3: PD: GPIO port D selected
5: PF: GPIO port F selected
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
EXTI24_31
rw |
EXTI16_23
rw |
||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
EXTI8_15
rw |
EXTI0_7
rw |
Bits 0-7: GPIO port selection.
Allowed values:
0: PA: GPIO port A selected
1: PB: GPIO port B selected
2: PC: GPIO port C selected
3: PD: GPIO port D selected
5: PF: GPIO port F selected
Bits 8-15: GPIO port selection.
Allowed values:
0: PA: GPIO port A selected
1: PB: GPIO port B selected
2: PC: GPIO port C selected
3: PD: GPIO port D selected
5: PF: GPIO port F selected
Bits 16-23: GPIO port selection.
Allowed values:
0: PA: GPIO port A selected
1: PB: GPIO port B selected
2: PC: GPIO port C selected
3: PD: GPIO port D selected
5: PF: GPIO port F selected
Bits 24-31: GPIO port selection.
Allowed values:
0: PA: GPIO port A selected
1: PB: GPIO port B selected
2: PC: GPIO port C selected
3: PD: GPIO port D selected
5: PF: GPIO port F selected
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
EXTI24_31
rw |
EXTI16_23
rw |
||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
EXTI8_15
rw |
EXTI0_7
rw |
Bits 0-7: GPIO port selection.
Allowed values:
0: PA: GPIO port A selected
1: PB: GPIO port B selected
2: PC: GPIO port C selected
3: PD: GPIO port D selected
5: PF: GPIO port F selected
Bits 8-15: GPIO port selection.
Allowed values:
0: PA: GPIO port A selected
1: PB: GPIO port B selected
2: PC: GPIO port C selected
3: PD: GPIO port D selected
5: PF: GPIO port F selected
Bits 16-23: GPIO port selection.
Allowed values:
0: PA: GPIO port A selected
1: PB: GPIO port B selected
2: PC: GPIO port C selected
3: PD: GPIO port D selected
5: PF: GPIO port F selected
Bits 24-31: GPIO port selection.
Allowed values:
0: PA: GPIO port A selected
1: PB: GPIO port B selected
2: PC: GPIO port C selected
3: PD: GPIO port D selected
5: PF: GPIO port F selected
EXTI CPU wakeup with interrupt mask register
Offset: 0x80, size: 32, reset: 0xFFF80000, access: read-write
24/24 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
IM31
rw |
IM26
rw |
IM25
rw |
IM24
rw |
IM23
rw |
IM22
rw |
IM21
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 |
Bit 0: CPU wakeup with interrupt mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 1: CPU wakeup with interrupt mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 2: CPU wakeup with interrupt mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 3: CPU wakeup with interrupt mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 4: CPU wakeup with interrupt mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 5: CPU wakeup with interrupt mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 6: CPU wakeup with interrupt mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 7: CPU wakeup with interrupt mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 8: CPU wakeup with interrupt mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 9: CPU wakeup with interrupt mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 10: CPU wakeup with interrupt mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 11: CPU wakeup with interrupt mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 12: CPU wakeup with interrupt mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 13: CPU wakeup with interrupt mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 14: CPU wakeup with interrupt mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 15: CPU wakeup with interrupt mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 19: CPU wakeup with interrupt mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 21: CPU wakeup with interrupt mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 22: CPU wakeup with interrupt mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 23: CPU wakeup with interrupt mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 24: CPU wakeup with interrupt mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 25: CPU wakeup with interrupt mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 26: CPU wakeup with interrupt mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 31: CPU wakeup with interrupt mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
EXTI CPU wakeup with event mask register
Offset: 0x84, size: 32, reset: 0x00000000, access: read-write
22/22 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
EM31
rw |
EM26
rw |
EM25
rw |
EM23
rw |
EM21
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 |
Bit 0: CPU wakeup with event mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 1: CPU wakeup with event mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 2: CPU wakeup with event mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 3: CPU wakeup with event mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 4: CPU wakeup with event mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 5: CPU wakeup with event mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 6: CPU wakeup with event mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 7: CPU wakeup with event mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 8: CPU wakeup with event mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 9: CPU wakeup with event mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 10: CPU wakeup with event mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 11: CPU wakeup with event mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 12: CPU wakeup with event mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 13: CPU wakeup with event mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 14: CPU wakeup with event mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 15: CPU wakeup with event mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 19: CPU wakeup with event mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 21: CPU wakeup with event mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 23: CPU wakeup with event mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 25: CPU wakeup with event mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 26: CPU wakeup with event mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
Bit 31: CPU wakeup with event mask on event input.
Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked
0x40022000: Flash
2/60 fields covered.
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 | ||||||||||||||||||||||||||||||||
0x18 | ECCR | ||||||||||||||||||||||||||||||||
0x20 | OPTR | ||||||||||||||||||||||||||||||||
0x2c | WRP1AR | ||||||||||||||||||||||||||||||||
0x30 | WRP1BR | ||||||||||||||||||||||||||||||||
0x4c | WRP2AR | ||||||||||||||||||||||||||||||||
0x50 | WRP2BR |
Access control register
Offset: 0x0, size: 32, reset: 0x00000600, access: read-write
0/5 fields covered.
Flash key register
Offset: 0x8, size: 32, reset: 0x00000000, access: write-only
0/1 fields covered.
Option byte key register
Offset: 0xc, size: 32, reset: 0x00000000, access: write-only
0/1 fields covered.
Status register
Offset: 0x10, size: 32, reset: 0x00000000, access: read-write
0/13 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CFGBSY
rw |
BSY2
rw |
BSY1
rw |
|||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
OPTVERR
rw |
FASTERR
rw |
MISSERR
rw |
PGSERR
rw |
SIZERR
rw |
PGAERR
rw |
WRPERR
rw |
PROGERR
rw |
OPERR
rw |
EOP
rw |
Bit 0: End of operation.
Bit 1: Operation error.
Bit 3: Programming error.
Bit 4: Write protected error.
Bit 5: Programming alignment error.
Bit 6: Size error.
Bit 7: Programming sequence error.
Bit 8: Fast programming data miss error.
Bit 9: Fast programming error.
Bit 15: Option and Engineering bits loading validity error.
Bit 16: BSY1.
Bit 17: BSY2.
Bit 18: Programming or erase configuration busy..
Flash control register
Offset: 0x14, size: 32, reset: 0xC0000000, access: read-write
0/14 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
LOCK
rw |
OPTLOCK
rw |
OBL_LAUNCH
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 |
MER2
rw |
BKER
rw |
PNB
rw |
MER1
rw |
PER
rw |
PG
rw |
Bit 0: Programming.
Bit 1: Page erase.
Bit 2: Mass erase.
Bits 3-12: Page number.
Bit 13: BKER.
Bit 15: MER2.
Bit 16: Start.
Bit 17: Options modification start.
Bit 18: Fast programming.
Bit 24: End of operation interrupt enable.
Bit 25: Error interrupt enable.
Bit 27: Force the option byte loading.
Bit 30: Options Lock.
Bit 31: FLASH_CR Lock.
Flash ECC register
Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified
2/5 fields covered.
Flash option register
Offset: 0x20, size: 32, reset: 0xF0000000, access: read-write
0/13 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
nBOOT0
rw |
nBOOT1
rw |
nBOOT_SEL
rw |
RAM_PARITY_CHECK
rw |
DUAL_BANK
rw |
nSWAP_BANK
rw |
WWDG_SW
rw |
IWDG_STDBY
rw |
IWDG_STOP
rw |
IWDG_SW
rw |
||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
nRST_STDBY
rw |
nRST_STOP
rw |
RDP
rw |
Bits 0-7: Read protection level.
Bit 13: nRST_STOP.
Bit 14: nRST_STDBY.
Bit 16: Independent watchdog selection.
Bit 17: Independent watchdog counter freeze in Stop mode.
Bit 18: Independent watchdog counter freeze in Standby mode.
Bit 19: Window watchdog selection.
Bit 20: nSWAP_BANK.
Bit 21: DUAL_BANK.
Bit 22: SRAM parity check control.
Bit 24: nBOOT_SEL.
Bit 25: Boot configuration.
Bit 26: nBOOT0 option bit.
Flash WRP area A address register
Offset: 0x2c, size: 32, reset: 0x000000FF, 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 |
Flash WRP area B address register
Offset: 0x30, size: 32, reset: 0x000000FF, 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 |
FLASH WRP2 area A address register
Offset: 0x4c, size: 32, reset: 0x000000FF, access: read-write
0/2 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
WRP2A_END
rw |
|||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
WRP2A_STRT
rw |
FLASH WRP2 area B address register
Offset: 0x50, size: 32, reset: 0x000000FF, access: read-write
0/2 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
WRP2B_END
rw |
|||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
WRP2B_STRT
rw |
0x50000000: General-purpose I/Os
177/177 fields covered.
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 | MODER | ||||||||||||||||||||||||||||||||
0x4 | OTYPER | ||||||||||||||||||||||||||||||||
0x8 | OSPEEDR | ||||||||||||||||||||||||||||||||
0xc | PUPDR | ||||||||||||||||||||||||||||||||
0x10 | IDR | ||||||||||||||||||||||||||||||||
0x14 | ODR | ||||||||||||||||||||||||||||||||
0x18 | BSRR | ||||||||||||||||||||||||||||||||
0x1c | LCKR | ||||||||||||||||||||||||||||||||
0x20 | AFRL | ||||||||||||||||||||||||||||||||
0x24 | AFRH | ||||||||||||||||||||||||||||||||
0x28 | BRR |
GPIO port mode register
Offset: 0x0, size: 32, reset: 0xEBFFFFFF, access: read-write
16/16 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MODER[15]
rw |
MODER[14]
rw |
MODER[13]
rw |
MODER[12]
rw |
MODER[11]
rw |
MODER[10]
rw |
MODER[9]
rw |
MODER[8]
rw |
||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
MODER[7]
rw |
MODER[6]
rw |
MODER[5]
rw |
MODER[4]
rw |
MODER[3]
rw |
MODER[2]
rw |
MODER[1]
rw |
MODER[0]
rw |
Bits 0-1: Port x configuration pin 0.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 2-3: Port x configuration pin 1.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 4-5: Port x configuration pin 2.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 6-7: Port x configuration pin 3.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 8-9: Port x configuration pin 4.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 10-11: Port x configuration pin 5.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 12-13: Port x configuration pin 6.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 14-15: Port x configuration pin 7.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 16-17: Port x configuration pin 8.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 18-19: Port x configuration pin 9.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 20-21: Port x configuration pin 10.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 22-23: Port x configuration pin 11.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 24-25: Port x configuration pin 12.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 26-27: Port x configuration pin 13.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 28-29: Port x configuration pin 14.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 30-31: Port x configuration pin 15.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OT[15]
rw |
OT[14]
rw |
OT[13]
rw |
OT[12]
rw |
OT[11]
rw |
OT[10]
rw |
OT[9]
rw |
OT[8]
rw |
OT[7]
rw |
OT[6]
rw |
OT[5]
rw |
OT[4]
rw |
OT[3]
rw |
OT[2]
rw |
OT[1]
rw |
OT[0]
rw |
Bit 0: Port x configuration pin 0.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 1: Port x configuration pin 1.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 2: Port x configuration pin 2.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 3: Port x configuration pin 3.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 4: Port x configuration pin 4.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 5: Port x configuration pin 5.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 6: Port x configuration pin 6.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 7: Port x configuration pin 7.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 8: Port x configuration pin 8.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 9: Port x configuration pin 9.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 10: Port x configuration pin 10.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 11: Port x configuration pin 11.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 12: Port x configuration pin 12.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 13: Port x configuration pin 13.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 14: Port x configuration pin 14.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 15: Port x configuration pin 15.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
GPIO port output speed register
Offset: 0x8, size: 32, reset: 0x0C000000, access: read-write
16/16 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OSPEEDR[15]
rw |
OSPEEDR[14]
rw |
OSPEEDR[13]
rw |
OSPEEDR[12]
rw |
OSPEEDR[11]
rw |
OSPEEDR[10]
rw |
OSPEEDR[9]
rw |
OSPEEDR[8]
rw |
||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
OSPEEDR[7]
rw |
OSPEEDR[6]
rw |
OSPEEDR[5]
rw |
OSPEEDR[4]
rw |
OSPEEDR[3]
rw |
OSPEEDR[2]
rw |
OSPEEDR[1]
rw |
OSPEEDR[0]
rw |
Bits 0-1: Port x configuration pin 0.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 2-3: Port x configuration pin 1.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 4-5: Port x configuration pin 2.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 6-7: Port x configuration pin 3.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 8-9: Port x configuration pin 4.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 10-11: Port x configuration pin 5.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 12-13: Port x configuration pin 6.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 14-15: Port x configuration pin 7.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 16-17: Port x configuration pin 8.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 18-19: Port x configuration pin 9.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 20-21: Port x configuration pin 10.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 22-23: Port x configuration pin 11.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 24-25: Port x configuration pin 12.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 26-27: Port x configuration pin 13.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 28-29: Port x configuration pin 14.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 30-31: Port x configuration pin 15.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
GPIO port pull-up/pull-down register
Offset: 0xc, size: 32, reset: 0x24000000, access: read-write
16/16 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PUPDR[15]
rw |
PUPDR[14]
rw |
PUPDR[13]
rw |
PUPDR[12]
rw |
PUPDR[11]
rw |
PUPDR[10]
rw |
PUPDR[9]
rw |
PUPDR[8]
rw |
||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PUPDR[7]
rw |
PUPDR[6]
rw |
PUPDR[5]
rw |
PUPDR[4]
rw |
PUPDR[3]
rw |
PUPDR[2]
rw |
PUPDR[1]
rw |
PUPDR[0]
rw |
Bits 0-1: Port x configuration pin 0.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 2-3: Port x configuration pin 1.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 4-5: Port x configuration pin 2.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 6-7: Port x configuration pin 3.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 8-9: Port x configuration pin 4.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 10-11: Port x configuration pin 5.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 12-13: Port x configuration pin 6.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 14-15: Port x configuration pin 7.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 16-17: Port x configuration pin 8.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 18-19: Port x configuration pin 9.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 20-21: Port x configuration pin 10.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 22-23: Port x configuration pin 11.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 24-25: Port x configuration pin 12.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 26-27: Port x configuration pin 13.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 28-29: Port x configuration pin 14.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 30-31: Port x configuration pin 15.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
GPIO port input data register
Offset: 0x10, size: 32, reset: 0x00000000, access: read-only
16/16 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
IDR[15]
r |
IDR[14]
r |
IDR[13]
r |
IDR[12]
r |
IDR[11]
r |
IDR[10]
r |
IDR[9]
r |
IDR[8]
r |
IDR[7]
r |
IDR[6]
r |
IDR[5]
r |
IDR[4]
r |
IDR[3]
r |
IDR[2]
r |
IDR[1]
r |
IDR[0]
r |
Bit 0: Port input data pin 0.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 1: Port input data pin 1.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 2: Port input data pin 2.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 3: Port input data pin 3.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 4: Port input data pin 4.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 5: Port input data pin 5.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 6: Port input data pin 6.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 7: Port input data pin 7.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 8: Port input data pin 8.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 9: Port input data pin 9.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 10: Port input data pin 10.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 11: Port input data pin 11.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 12: Port input data pin 12.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 13: Port input data pin 13.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 14: Port input data pin 14.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 15: Port input data pin 15.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
GPIO port output data register
Offset: 0x14, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ODR[15]
rw |
ODR[14]
rw |
ODR[13]
rw |
ODR[12]
rw |
ODR[11]
rw |
ODR[10]
rw |
ODR[9]
rw |
ODR[8]
rw |
ODR[7]
rw |
ODR[6]
rw |
ODR[5]
rw |
ODR[4]
rw |
ODR[3]
rw |
ODR[2]
rw |
ODR[1]
rw |
ODR[0]
rw |
Bit 0: Port output data pin 0.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 1: Port output data pin 1.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 2: Port output data pin 2.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 3: Port output data pin 3.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 4: Port output data pin 4.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 5: Port output data pin 5.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 6: Port output data pin 6.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 7: Port output data pin 7.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 8: Port output data pin 8.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 9: Port output data pin 9.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 10: Port output data pin 10.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 11: Port output data pin 11.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 12: Port output data pin 12.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 13: Port output data pin 13.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 14: Port output data pin 14.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 15: Port output data pin 15.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BR[15]
w |
BR[14]
w |
BR[13]
w |
BR[12]
w |
BR[11]
w |
BR[10]
w |
BR[9]
w |
BR[8]
w |
BR[7]
w |
BR[6]
w |
BR[5]
w |
BR[4]
w |
BR[3]
w |
BR[2]
w |
BR[1]
w |
BR[0]
w |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
BS[15]
w |
BS[14]
w |
BS[13]
w |
BS[12]
w |
BS[11]
w |
BS[10]
w |
BS[9]
w |
BS[8]
w |
BS[7]
w |
BS[6]
w |
BS[5]
w |
BS[4]
w |
BS[3]
w |
BS[2]
w |
BS[1]
w |
BS[0]
w |
Bit 0: Port x set pin 0.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 1: Port x set pin 1.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 2: Port x set pin 2.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 3: Port x set pin 3.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 4: Port x set pin 4.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 5: Port x set pin 5.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 6: Port x set pin 6.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 7: Port x set pin 7.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 8: Port x set pin 8.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 9: Port x set pin 9.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 10: Port x set pin 10.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 11: Port x set pin 11.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 12: Port x set pin 12.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 13: Port x set pin 13.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 14: Port x set pin 14.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 15: Port x set pin 15.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 16: Port x reset pin 0.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 17: Port x reset pin 1.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 18: Port x reset pin 2.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 19: Port x reset pin 3.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 20: Port x reset pin 4.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 21: Port x reset pin 5.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 22: Port x reset pin 6.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 23: Port x reset pin 7.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 24: Port x reset pin 8.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 25: Port x reset pin 9.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 26: Port x reset pin 10.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 27: Port x reset pin 11.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 28: Port x reset pin 12.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 29: Port x reset pin 13.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 30: Port x reset pin 14.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 31: Port x reset pin 15.
Allowed values:
1: Reset: Resets the corresponding ODx bit
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 |
LCK[15]
rw |
LCK[14]
rw |
LCK[13]
rw |
LCK[12]
rw |
LCK[11]
rw |
LCK[10]
rw |
LCK[9]
rw |
LCK[8]
rw |
LCK[7]
rw |
LCK[6]
rw |
LCK[5]
rw |
LCK[4]
rw |
LCK[3]
rw |
LCK[2]
rw |
LCK[1]
rw |
LCK[0]
rw |
Bit 0: Port x lock pin 0.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 1: Port x lock pin 1.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 2: Port x lock pin 2.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 3: Port x lock pin 3.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 4: Port x lock pin 4.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 5: Port x lock pin 5.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 6: Port x lock pin 6.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 7: Port x lock pin 7.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 8: Port x lock pin 8.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 9: Port x lock pin 9.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 10: Port x lock pin 10.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 11: Port x lock pin 11.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 12: Port x lock pin 12.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 13: Port x lock pin 13.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 14: Port x lock pin 14.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 15: Port x lock pin 15.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 16: Port x lock bit y (y= 0..15).
Allowed values:
0: NotActive: Port configuration lock key not active
1: Active: Port configuration lock key active
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AFR[EL7]
rw |
AFR[EL6]
rw |
AFR[EL5]
rw |
AFR[EL4]
rw |
||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
AFR[EL3]
rw |
AFR[EL2]
rw |
AFR[EL1]
rw |
AFR[EL0]
rw |
Bits 0-3: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 4-7: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 8-11: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 12-15: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 16-19: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 20-23: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 24-27: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 28-31: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AFR[EL15]
rw |
AFR[EL14]
rw |
AFR[EL13]
rw |
AFR[EL12]
rw |
||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
AFR[EL11]
rw |
AFR[EL10]
rw |
AFR[EL9]
rw |
AFR[EL8]
rw |
Bits 0-3: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 4-7: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 8-11: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 12-15: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 16-19: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 20-23: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 24-27: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 28-31: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
port bit reset register
Offset: 0x28, size: 32, reset: 0x00000000, access: write-only
16/16 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BR[15]
w |
BR[14]
w |
BR[13]
w |
BR[12]
w |
BR[11]
w |
BR[10]
w |
BR[9]
w |
BR[8]
w |
BR[7]
w |
BR[6]
w |
BR[5]
w |
BR[4]
w |
BR[3]
w |
BR[2]
w |
BR[1]
w |
BR[0]
w |
Bit 0: Port x reset pin 0.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 1: Port x reset pin 1.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 2: Port x reset pin 2.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 3: Port x reset pin 3.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 4: Port x reset pin 4.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 5: Port x reset pin 5.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 6: Port x reset pin 6.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 7: Port x reset pin 7.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 8: Port x reset pin 8.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 9: Port x reset pin 9.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 10: Port x reset pin 10.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 11: Port x reset pin 11.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 12: Port x reset pin 12.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 13: Port x reset pin 13.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 14: Port x reset pin 14.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 15: Port x reset pin 15.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
0x50000400: General-purpose I/Os
177/177 fields covered.
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 | MODER | ||||||||||||||||||||||||||||||||
0x4 | OTYPER | ||||||||||||||||||||||||||||||||
0x8 | OSPEEDR | ||||||||||||||||||||||||||||||||
0xc | PUPDR | ||||||||||||||||||||||||||||||||
0x10 | IDR | ||||||||||||||||||||||||||||||||
0x14 | ODR | ||||||||||||||||||||||||||||||||
0x18 | BSRR | ||||||||||||||||||||||||||||||||
0x1c | LCKR | ||||||||||||||||||||||||||||||||
0x20 | AFRL | ||||||||||||||||||||||||||||||||
0x24 | AFRH | ||||||||||||||||||||||||||||||||
0x28 | BRR |
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MODER[15]
rw |
MODER[14]
rw |
MODER[13]
rw |
MODER[12]
rw |
MODER[11]
rw |
MODER[10]
rw |
MODER[9]
rw |
MODER[8]
rw |
||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
MODER[7]
rw |
MODER[6]
rw |
MODER[5]
rw |
MODER[4]
rw |
MODER[3]
rw |
MODER[2]
rw |
MODER[1]
rw |
MODER[0]
rw |
Bits 0-1: Port x configuration pin 0.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 2-3: Port x configuration pin 1.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 4-5: Port x configuration pin 2.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 6-7: Port x configuration pin 3.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 8-9: Port x configuration pin 4.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 10-11: Port x configuration pin 5.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 12-13: Port x configuration pin 6.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 14-15: Port x configuration pin 7.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 16-17: Port x configuration pin 8.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 18-19: Port x configuration pin 9.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 20-21: Port x configuration pin 10.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 22-23: Port x configuration pin 11.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 24-25: Port x configuration pin 12.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 26-27: Port x configuration pin 13.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 28-29: Port x configuration pin 14.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 30-31: Port x configuration pin 15.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OT[15]
rw |
OT[14]
rw |
OT[13]
rw |
OT[12]
rw |
OT[11]
rw |
OT[10]
rw |
OT[9]
rw |
OT[8]
rw |
OT[7]
rw |
OT[6]
rw |
OT[5]
rw |
OT[4]
rw |
OT[3]
rw |
OT[2]
rw |
OT[1]
rw |
OT[0]
rw |
Bit 0: Port x configuration pin 0.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 1: Port x configuration pin 1.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 2: Port x configuration pin 2.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 3: Port x configuration pin 3.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 4: Port x configuration pin 4.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 5: Port x configuration pin 5.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 6: Port x configuration pin 6.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 7: Port x configuration pin 7.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 8: Port x configuration pin 8.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 9: Port x configuration pin 9.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 10: Port x configuration pin 10.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 11: Port x configuration pin 11.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 12: Port x configuration pin 12.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 13: Port x configuration pin 13.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 14: Port x configuration pin 14.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 15: Port x configuration pin 15.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OSPEEDR[15]
rw |
OSPEEDR[14]
rw |
OSPEEDR[13]
rw |
OSPEEDR[12]
rw |
OSPEEDR[11]
rw |
OSPEEDR[10]
rw |
OSPEEDR[9]
rw |
OSPEEDR[8]
rw |
||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
OSPEEDR[7]
rw |
OSPEEDR[6]
rw |
OSPEEDR[5]
rw |
OSPEEDR[4]
rw |
OSPEEDR[3]
rw |
OSPEEDR[2]
rw |
OSPEEDR[1]
rw |
OSPEEDR[0]
rw |
Bits 0-1: Port x configuration pin 0.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 2-3: Port x configuration pin 1.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 4-5: Port x configuration pin 2.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 6-7: Port x configuration pin 3.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 8-9: Port x configuration pin 4.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 10-11: Port x configuration pin 5.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 12-13: Port x configuration pin 6.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 14-15: Port x configuration pin 7.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 16-17: Port x configuration pin 8.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 18-19: Port x configuration pin 9.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 20-21: Port x configuration pin 10.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 22-23: Port x configuration pin 11.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 24-25: Port x configuration pin 12.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 26-27: Port x configuration pin 13.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 28-29: Port x configuration pin 14.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 30-31: Port x configuration pin 15.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PUPDR[15]
rw |
PUPDR[14]
rw |
PUPDR[13]
rw |
PUPDR[12]
rw |
PUPDR[11]
rw |
PUPDR[10]
rw |
PUPDR[9]
rw |
PUPDR[8]
rw |
||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PUPDR[7]
rw |
PUPDR[6]
rw |
PUPDR[5]
rw |
PUPDR[4]
rw |
PUPDR[3]
rw |
PUPDR[2]
rw |
PUPDR[1]
rw |
PUPDR[0]
rw |
Bits 0-1: Port x configuration pin 0.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 2-3: Port x configuration pin 1.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 4-5: Port x configuration pin 2.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 6-7: Port x configuration pin 3.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 8-9: Port x configuration pin 4.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 10-11: Port x configuration pin 5.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 12-13: Port x configuration pin 6.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 14-15: Port x configuration pin 7.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 16-17: Port x configuration pin 8.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 18-19: Port x configuration pin 9.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 20-21: Port x configuration pin 10.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 22-23: Port x configuration pin 11.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 24-25: Port x configuration pin 12.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 26-27: Port x configuration pin 13.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 28-29: Port x configuration pin 14.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 30-31: Port x configuration pin 15.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
GPIO port input data register
Offset: 0x10, size: 32, reset: 0x00000000, access: read-only
16/16 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
IDR[15]
r |
IDR[14]
r |
IDR[13]
r |
IDR[12]
r |
IDR[11]
r |
IDR[10]
r |
IDR[9]
r |
IDR[8]
r |
IDR[7]
r |
IDR[6]
r |
IDR[5]
r |
IDR[4]
r |
IDR[3]
r |
IDR[2]
r |
IDR[1]
r |
IDR[0]
r |
Bit 0: Port input data pin 0.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 1: Port input data pin 1.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 2: Port input data pin 2.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 3: Port input data pin 3.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 4: Port input data pin 4.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 5: Port input data pin 5.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 6: Port input data pin 6.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 7: Port input data pin 7.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 8: Port input data pin 8.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 9: Port input data pin 9.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 10: Port input data pin 10.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 11: Port input data pin 11.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 12: Port input data pin 12.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 13: Port input data pin 13.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 14: Port input data pin 14.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 15: Port input data pin 15.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
GPIO port output data register
Offset: 0x14, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ODR[15]
rw |
ODR[14]
rw |
ODR[13]
rw |
ODR[12]
rw |
ODR[11]
rw |
ODR[10]
rw |
ODR[9]
rw |
ODR[8]
rw |
ODR[7]
rw |
ODR[6]
rw |
ODR[5]
rw |
ODR[4]
rw |
ODR[3]
rw |
ODR[2]
rw |
ODR[1]
rw |
ODR[0]
rw |
Bit 0: Port output data pin 0.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 1: Port output data pin 1.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 2: Port output data pin 2.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 3: Port output data pin 3.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 4: Port output data pin 4.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 5: Port output data pin 5.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 6: Port output data pin 6.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 7: Port output data pin 7.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 8: Port output data pin 8.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 9: Port output data pin 9.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 10: Port output data pin 10.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 11: Port output data pin 11.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 12: Port output data pin 12.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 13: Port output data pin 13.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 14: Port output data pin 14.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 15: Port output data pin 15.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BR[15]
w |
BR[14]
w |
BR[13]
w |
BR[12]
w |
BR[11]
w |
BR[10]
w |
BR[9]
w |
BR[8]
w |
BR[7]
w |
BR[6]
w |
BR[5]
w |
BR[4]
w |
BR[3]
w |
BR[2]
w |
BR[1]
w |
BR[0]
w |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
BS[15]
w |
BS[14]
w |
BS[13]
w |
BS[12]
w |
BS[11]
w |
BS[10]
w |
BS[9]
w |
BS[8]
w |
BS[7]
w |
BS[6]
w |
BS[5]
w |
BS[4]
w |
BS[3]
w |
BS[2]
w |
BS[1]
w |
BS[0]
w |
Bit 0: Port x set pin 0.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 1: Port x set pin 1.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 2: Port x set pin 2.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 3: Port x set pin 3.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 4: Port x set pin 4.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 5: Port x set pin 5.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 6: Port x set pin 6.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 7: Port x set pin 7.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 8: Port x set pin 8.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 9: Port x set pin 9.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 10: Port x set pin 10.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 11: Port x set pin 11.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 12: Port x set pin 12.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 13: Port x set pin 13.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 14: Port x set pin 14.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 15: Port x set pin 15.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 16: Port x reset pin 0.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 17: Port x reset pin 1.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 18: Port x reset pin 2.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 19: Port x reset pin 3.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 20: Port x reset pin 4.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 21: Port x reset pin 5.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 22: Port x reset pin 6.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 23: Port x reset pin 7.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 24: Port x reset pin 8.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 25: Port x reset pin 9.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 26: Port x reset pin 10.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 27: Port x reset pin 11.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 28: Port x reset pin 12.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 29: Port x reset pin 13.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 30: Port x reset pin 14.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 31: Port x reset pin 15.
Allowed values:
1: Reset: Resets the corresponding ODx bit
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 |
LCK[15]
rw |
LCK[14]
rw |
LCK[13]
rw |
LCK[12]
rw |
LCK[11]
rw |
LCK[10]
rw |
LCK[9]
rw |
LCK[8]
rw |
LCK[7]
rw |
LCK[6]
rw |
LCK[5]
rw |
LCK[4]
rw |
LCK[3]
rw |
LCK[2]
rw |
LCK[1]
rw |
LCK[0]
rw |
Bit 0: Port x lock pin 0.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 1: Port x lock pin 1.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 2: Port x lock pin 2.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 3: Port x lock pin 3.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 4: Port x lock pin 4.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 5: Port x lock pin 5.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 6: Port x lock pin 6.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 7: Port x lock pin 7.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 8: Port x lock pin 8.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 9: Port x lock pin 9.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 10: Port x lock pin 10.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 11: Port x lock pin 11.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 12: Port x lock pin 12.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 13: Port x lock pin 13.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 14: Port x lock pin 14.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 15: Port x lock pin 15.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 16: Port x lock bit y (y= 0..15).
Allowed values:
0: NotActive: Port configuration lock key not active
1: Active: Port configuration lock key active
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AFR[EL7]
rw |
AFR[EL6]
rw |
AFR[EL5]
rw |
AFR[EL4]
rw |
||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
AFR[EL3]
rw |
AFR[EL2]
rw |
AFR[EL1]
rw |
AFR[EL0]
rw |
Bits 0-3: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 4-7: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 8-11: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 12-15: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 16-19: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 20-23: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 24-27: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 28-31: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AFR[EL15]
rw |
AFR[EL14]
rw |
AFR[EL13]
rw |
AFR[EL12]
rw |
||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
AFR[EL11]
rw |
AFR[EL10]
rw |
AFR[EL9]
rw |
AFR[EL8]
rw |
Bits 0-3: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 4-7: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 8-11: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 12-15: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 16-19: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 20-23: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 24-27: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 28-31: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
port bit reset register
Offset: 0x28, size: 32, reset: 0x00000000, access: write-only
16/16 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BR[15]
w |
BR[14]
w |
BR[13]
w |
BR[12]
w |
BR[11]
w |
BR[10]
w |
BR[9]
w |
BR[8]
w |
BR[7]
w |
BR[6]
w |
BR[5]
w |
BR[4]
w |
BR[3]
w |
BR[2]
w |
BR[1]
w |
BR[0]
w |
Bit 0: Port x reset pin 0.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 1: Port x reset pin 1.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 2: Port x reset pin 2.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 3: Port x reset pin 3.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 4: Port x reset pin 4.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 5: Port x reset pin 5.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 6: Port x reset pin 6.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 7: Port x reset pin 7.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 8: Port x reset pin 8.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 9: Port x reset pin 9.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 10: Port x reset pin 10.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 11: Port x reset pin 11.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 12: Port x reset pin 12.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 13: Port x reset pin 13.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 14: Port x reset pin 14.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 15: Port x reset pin 15.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
0x50000800: General-purpose I/Os
177/177 fields covered.
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 | MODER | ||||||||||||||||||||||||||||||||
0x4 | OTYPER | ||||||||||||||||||||||||||||||||
0x8 | OSPEEDR | ||||||||||||||||||||||||||||||||
0xc | PUPDR | ||||||||||||||||||||||||||||||||
0x10 | IDR | ||||||||||||||||||||||||||||||||
0x14 | ODR | ||||||||||||||||||||||||||||||||
0x18 | BSRR | ||||||||||||||||||||||||||||||||
0x1c | LCKR | ||||||||||||||||||||||||||||||||
0x20 | AFRL | ||||||||||||||||||||||||||||||||
0x24 | AFRH | ||||||||||||||||||||||||||||||||
0x28 | BRR |
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MODER[15]
rw |
MODER[14]
rw |
MODER[13]
rw |
MODER[12]
rw |
MODER[11]
rw |
MODER[10]
rw |
MODER[9]
rw |
MODER[8]
rw |
||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
MODER[7]
rw |
MODER[6]
rw |
MODER[5]
rw |
MODER[4]
rw |
MODER[3]
rw |
MODER[2]
rw |
MODER[1]
rw |
MODER[0]
rw |
Bits 0-1: Port x configuration pin 0.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 2-3: Port x configuration pin 1.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 4-5: Port x configuration pin 2.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 6-7: Port x configuration pin 3.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 8-9: Port x configuration pin 4.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 10-11: Port x configuration pin 5.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 12-13: Port x configuration pin 6.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 14-15: Port x configuration pin 7.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 16-17: Port x configuration pin 8.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 18-19: Port x configuration pin 9.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 20-21: Port x configuration pin 10.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 22-23: Port x configuration pin 11.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 24-25: Port x configuration pin 12.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 26-27: Port x configuration pin 13.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 28-29: Port x configuration pin 14.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 30-31: Port x configuration pin 15.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OT[15]
rw |
OT[14]
rw |
OT[13]
rw |
OT[12]
rw |
OT[11]
rw |
OT[10]
rw |
OT[9]
rw |
OT[8]
rw |
OT[7]
rw |
OT[6]
rw |
OT[5]
rw |
OT[4]
rw |
OT[3]
rw |
OT[2]
rw |
OT[1]
rw |
OT[0]
rw |
Bit 0: Port x configuration pin 0.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 1: Port x configuration pin 1.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 2: Port x configuration pin 2.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 3: Port x configuration pin 3.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 4: Port x configuration pin 4.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 5: Port x configuration pin 5.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 6: Port x configuration pin 6.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 7: Port x configuration pin 7.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 8: Port x configuration pin 8.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 9: Port x configuration pin 9.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 10: Port x configuration pin 10.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 11: Port x configuration pin 11.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 12: Port x configuration pin 12.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 13: Port x configuration pin 13.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 14: Port x configuration pin 14.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 15: Port x configuration pin 15.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OSPEEDR[15]
rw |
OSPEEDR[14]
rw |
OSPEEDR[13]
rw |
OSPEEDR[12]
rw |
OSPEEDR[11]
rw |
OSPEEDR[10]
rw |
OSPEEDR[9]
rw |
OSPEEDR[8]
rw |
||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
OSPEEDR[7]
rw |
OSPEEDR[6]
rw |
OSPEEDR[5]
rw |
OSPEEDR[4]
rw |
OSPEEDR[3]
rw |
OSPEEDR[2]
rw |
OSPEEDR[1]
rw |
OSPEEDR[0]
rw |
Bits 0-1: Port x configuration pin 0.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 2-3: Port x configuration pin 1.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 4-5: Port x configuration pin 2.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 6-7: Port x configuration pin 3.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 8-9: Port x configuration pin 4.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 10-11: Port x configuration pin 5.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 12-13: Port x configuration pin 6.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 14-15: Port x configuration pin 7.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 16-17: Port x configuration pin 8.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 18-19: Port x configuration pin 9.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 20-21: Port x configuration pin 10.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 22-23: Port x configuration pin 11.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 24-25: Port x configuration pin 12.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 26-27: Port x configuration pin 13.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 28-29: Port x configuration pin 14.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 30-31: Port x configuration pin 15.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PUPDR[15]
rw |
PUPDR[14]
rw |
PUPDR[13]
rw |
PUPDR[12]
rw |
PUPDR[11]
rw |
PUPDR[10]
rw |
PUPDR[9]
rw |
PUPDR[8]
rw |
||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PUPDR[7]
rw |
PUPDR[6]
rw |
PUPDR[5]
rw |
PUPDR[4]
rw |
PUPDR[3]
rw |
PUPDR[2]
rw |
PUPDR[1]
rw |
PUPDR[0]
rw |
Bits 0-1: Port x configuration pin 0.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 2-3: Port x configuration pin 1.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 4-5: Port x configuration pin 2.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 6-7: Port x configuration pin 3.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 8-9: Port x configuration pin 4.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 10-11: Port x configuration pin 5.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 12-13: Port x configuration pin 6.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 14-15: Port x configuration pin 7.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 16-17: Port x configuration pin 8.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 18-19: Port x configuration pin 9.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 20-21: Port x configuration pin 10.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 22-23: Port x configuration pin 11.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 24-25: Port x configuration pin 12.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 26-27: Port x configuration pin 13.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 28-29: Port x configuration pin 14.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 30-31: Port x configuration pin 15.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
GPIO port input data register
Offset: 0x10, size: 32, reset: 0x00000000, access: read-only
16/16 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
IDR[15]
r |
IDR[14]
r |
IDR[13]
r |
IDR[12]
r |
IDR[11]
r |
IDR[10]
r |
IDR[9]
r |
IDR[8]
r |
IDR[7]
r |
IDR[6]
r |
IDR[5]
r |
IDR[4]
r |
IDR[3]
r |
IDR[2]
r |
IDR[1]
r |
IDR[0]
r |
Bit 0: Port input data pin 0.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 1: Port input data pin 1.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 2: Port input data pin 2.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 3: Port input data pin 3.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 4: Port input data pin 4.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 5: Port input data pin 5.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 6: Port input data pin 6.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 7: Port input data pin 7.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 8: Port input data pin 8.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 9: Port input data pin 9.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 10: Port input data pin 10.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 11: Port input data pin 11.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 12: Port input data pin 12.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 13: Port input data pin 13.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 14: Port input data pin 14.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 15: Port input data pin 15.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
GPIO port output data register
Offset: 0x14, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ODR[15]
rw |
ODR[14]
rw |
ODR[13]
rw |
ODR[12]
rw |
ODR[11]
rw |
ODR[10]
rw |
ODR[9]
rw |
ODR[8]
rw |
ODR[7]
rw |
ODR[6]
rw |
ODR[5]
rw |
ODR[4]
rw |
ODR[3]
rw |
ODR[2]
rw |
ODR[1]
rw |
ODR[0]
rw |
Bit 0: Port output data pin 0.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 1: Port output data pin 1.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 2: Port output data pin 2.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 3: Port output data pin 3.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 4: Port output data pin 4.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 5: Port output data pin 5.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 6: Port output data pin 6.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 7: Port output data pin 7.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 8: Port output data pin 8.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 9: Port output data pin 9.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 10: Port output data pin 10.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 11: Port output data pin 11.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 12: Port output data pin 12.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 13: Port output data pin 13.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 14: Port output data pin 14.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 15: Port output data pin 15.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BR[15]
w |
BR[14]
w |
BR[13]
w |
BR[12]
w |
BR[11]
w |
BR[10]
w |
BR[9]
w |
BR[8]
w |
BR[7]
w |
BR[6]
w |
BR[5]
w |
BR[4]
w |
BR[3]
w |
BR[2]
w |
BR[1]
w |
BR[0]
w |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
BS[15]
w |
BS[14]
w |
BS[13]
w |
BS[12]
w |
BS[11]
w |
BS[10]
w |
BS[9]
w |
BS[8]
w |
BS[7]
w |
BS[6]
w |
BS[5]
w |
BS[4]
w |
BS[3]
w |
BS[2]
w |
BS[1]
w |
BS[0]
w |
Bit 0: Port x set pin 0.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 1: Port x set pin 1.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 2: Port x set pin 2.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 3: Port x set pin 3.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 4: Port x set pin 4.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 5: Port x set pin 5.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 6: Port x set pin 6.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 7: Port x set pin 7.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 8: Port x set pin 8.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 9: Port x set pin 9.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 10: Port x set pin 10.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 11: Port x set pin 11.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 12: Port x set pin 12.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 13: Port x set pin 13.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 14: Port x set pin 14.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 15: Port x set pin 15.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 16: Port x reset pin 0.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 17: Port x reset pin 1.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 18: Port x reset pin 2.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 19: Port x reset pin 3.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 20: Port x reset pin 4.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 21: Port x reset pin 5.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 22: Port x reset pin 6.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 23: Port x reset pin 7.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 24: Port x reset pin 8.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 25: Port x reset pin 9.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 26: Port x reset pin 10.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 27: Port x reset pin 11.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 28: Port x reset pin 12.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 29: Port x reset pin 13.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 30: Port x reset pin 14.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 31: Port x reset pin 15.
Allowed values:
1: Reset: Resets the corresponding ODx bit
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 |
LCK[15]
rw |
LCK[14]
rw |
LCK[13]
rw |
LCK[12]
rw |
LCK[11]
rw |
LCK[10]
rw |
LCK[9]
rw |
LCK[8]
rw |
LCK[7]
rw |
LCK[6]
rw |
LCK[5]
rw |
LCK[4]
rw |
LCK[3]
rw |
LCK[2]
rw |
LCK[1]
rw |
LCK[0]
rw |
Bit 0: Port x lock pin 0.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 1: Port x lock pin 1.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 2: Port x lock pin 2.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 3: Port x lock pin 3.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 4: Port x lock pin 4.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 5: Port x lock pin 5.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 6: Port x lock pin 6.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 7: Port x lock pin 7.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 8: Port x lock pin 8.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 9: Port x lock pin 9.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 10: Port x lock pin 10.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 11: Port x lock pin 11.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 12: Port x lock pin 12.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 13: Port x lock pin 13.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 14: Port x lock pin 14.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 15: Port x lock pin 15.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 16: Port x lock bit y (y= 0..15).
Allowed values:
0: NotActive: Port configuration lock key not active
1: Active: Port configuration lock key active
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AFR[EL7]
rw |
AFR[EL6]
rw |
AFR[EL5]
rw |
AFR[EL4]
rw |
||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
AFR[EL3]
rw |
AFR[EL2]
rw |
AFR[EL1]
rw |
AFR[EL0]
rw |
Bits 0-3: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 4-7: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 8-11: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 12-15: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 16-19: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 20-23: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 24-27: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 28-31: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AFR[EL15]
rw |
AFR[EL14]
rw |
AFR[EL13]
rw |
AFR[EL12]
rw |
||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
AFR[EL11]
rw |
AFR[EL10]
rw |
AFR[EL9]
rw |
AFR[EL8]
rw |
Bits 0-3: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 4-7: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 8-11: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 12-15: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 16-19: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 20-23: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 24-27: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 28-31: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
port bit reset register
Offset: 0x28, size: 32, reset: 0x00000000, access: write-only
16/16 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BR[15]
w |
BR[14]
w |
BR[13]
w |
BR[12]
w |
BR[11]
w |
BR[10]
w |
BR[9]
w |
BR[8]
w |
BR[7]
w |
BR[6]
w |
BR[5]
w |
BR[4]
w |
BR[3]
w |
BR[2]
w |
BR[1]
w |
BR[0]
w |
Bit 0: Port x reset pin 0.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 1: Port x reset pin 1.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 2: Port x reset pin 2.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 3: Port x reset pin 3.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 4: Port x reset pin 4.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 5: Port x reset pin 5.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 6: Port x reset pin 6.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 7: Port x reset pin 7.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 8: Port x reset pin 8.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 9: Port x reset pin 9.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 10: Port x reset pin 10.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 11: Port x reset pin 11.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 12: Port x reset pin 12.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 13: Port x reset pin 13.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 14: Port x reset pin 14.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 15: Port x reset pin 15.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
0x50000c00: General-purpose I/Os
177/177 fields covered.
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 | MODER | ||||||||||||||||||||||||||||||||
0x4 | OTYPER | ||||||||||||||||||||||||||||||||
0x8 | OSPEEDR | ||||||||||||||||||||||||||||||||
0xc | PUPDR | ||||||||||||||||||||||||||||||||
0x10 | IDR | ||||||||||||||||||||||||||||||||
0x14 | ODR | ||||||||||||||||||||||||||||||||
0x18 | BSRR | ||||||||||||||||||||||||||||||||
0x1c | LCKR | ||||||||||||||||||||||||||||||||
0x20 | AFRL | ||||||||||||||||||||||||||||||||
0x24 | AFRH | ||||||||||||||||||||||||||||||||
0x28 | BRR |
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MODER[15]
rw |
MODER[14]
rw |
MODER[13]
rw |
MODER[12]
rw |
MODER[11]
rw |
MODER[10]
rw |
MODER[9]
rw |
MODER[8]
rw |
||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
MODER[7]
rw |
MODER[6]
rw |
MODER[5]
rw |
MODER[4]
rw |
MODER[3]
rw |
MODER[2]
rw |
MODER[1]
rw |
MODER[0]
rw |
Bits 0-1: Port x configuration pin 0.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 2-3: Port x configuration pin 1.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 4-5: Port x configuration pin 2.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 6-7: Port x configuration pin 3.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 8-9: Port x configuration pin 4.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 10-11: Port x configuration pin 5.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 12-13: Port x configuration pin 6.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 14-15: Port x configuration pin 7.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 16-17: Port x configuration pin 8.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 18-19: Port x configuration pin 9.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 20-21: Port x configuration pin 10.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 22-23: Port x configuration pin 11.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 24-25: Port x configuration pin 12.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 26-27: Port x configuration pin 13.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 28-29: Port x configuration pin 14.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 30-31: Port x configuration pin 15.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OT[15]
rw |
OT[14]
rw |
OT[13]
rw |
OT[12]
rw |
OT[11]
rw |
OT[10]
rw |
OT[9]
rw |
OT[8]
rw |
OT[7]
rw |
OT[6]
rw |
OT[5]
rw |
OT[4]
rw |
OT[3]
rw |
OT[2]
rw |
OT[1]
rw |
OT[0]
rw |
Bit 0: Port x configuration pin 0.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 1: Port x configuration pin 1.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 2: Port x configuration pin 2.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 3: Port x configuration pin 3.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 4: Port x configuration pin 4.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 5: Port x configuration pin 5.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 6: Port x configuration pin 6.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 7: Port x configuration pin 7.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 8: Port x configuration pin 8.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 9: Port x configuration pin 9.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 10: Port x configuration pin 10.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 11: Port x configuration pin 11.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 12: Port x configuration pin 12.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 13: Port x configuration pin 13.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 14: Port x configuration pin 14.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 15: Port x configuration pin 15.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OSPEEDR[15]
rw |
OSPEEDR[14]
rw |
OSPEEDR[13]
rw |
OSPEEDR[12]
rw |
OSPEEDR[11]
rw |
OSPEEDR[10]
rw |
OSPEEDR[9]
rw |
OSPEEDR[8]
rw |
||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
OSPEEDR[7]
rw |
OSPEEDR[6]
rw |
OSPEEDR[5]
rw |
OSPEEDR[4]
rw |
OSPEEDR[3]
rw |
OSPEEDR[2]
rw |
OSPEEDR[1]
rw |
OSPEEDR[0]
rw |
Bits 0-1: Port x configuration pin 0.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 2-3: Port x configuration pin 1.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 4-5: Port x configuration pin 2.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 6-7: Port x configuration pin 3.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 8-9: Port x configuration pin 4.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 10-11: Port x configuration pin 5.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 12-13: Port x configuration pin 6.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 14-15: Port x configuration pin 7.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 16-17: Port x configuration pin 8.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 18-19: Port x configuration pin 9.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 20-21: Port x configuration pin 10.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 22-23: Port x configuration pin 11.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 24-25: Port x configuration pin 12.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 26-27: Port x configuration pin 13.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 28-29: Port x configuration pin 14.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 30-31: Port x configuration pin 15.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PUPDR[15]
rw |
PUPDR[14]
rw |
PUPDR[13]
rw |
PUPDR[12]
rw |
PUPDR[11]
rw |
PUPDR[10]
rw |
PUPDR[9]
rw |
PUPDR[8]
rw |
||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PUPDR[7]
rw |
PUPDR[6]
rw |
PUPDR[5]
rw |
PUPDR[4]
rw |
PUPDR[3]
rw |
PUPDR[2]
rw |
PUPDR[1]
rw |
PUPDR[0]
rw |
Bits 0-1: Port x configuration pin 0.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 2-3: Port x configuration pin 1.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 4-5: Port x configuration pin 2.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 6-7: Port x configuration pin 3.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 8-9: Port x configuration pin 4.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 10-11: Port x configuration pin 5.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 12-13: Port x configuration pin 6.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 14-15: Port x configuration pin 7.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 16-17: Port x configuration pin 8.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 18-19: Port x configuration pin 9.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 20-21: Port x configuration pin 10.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 22-23: Port x configuration pin 11.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 24-25: Port x configuration pin 12.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 26-27: Port x configuration pin 13.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 28-29: Port x configuration pin 14.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 30-31: Port x configuration pin 15.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
GPIO port input data register
Offset: 0x10, size: 32, reset: 0x00000000, access: read-only
16/16 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
IDR[15]
r |
IDR[14]
r |
IDR[13]
r |
IDR[12]
r |
IDR[11]
r |
IDR[10]
r |
IDR[9]
r |
IDR[8]
r |
IDR[7]
r |
IDR[6]
r |
IDR[5]
r |
IDR[4]
r |
IDR[3]
r |
IDR[2]
r |
IDR[1]
r |
IDR[0]
r |
Bit 0: Port input data pin 0.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 1: Port input data pin 1.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 2: Port input data pin 2.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 3: Port input data pin 3.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 4: Port input data pin 4.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 5: Port input data pin 5.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 6: Port input data pin 6.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 7: Port input data pin 7.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 8: Port input data pin 8.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 9: Port input data pin 9.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 10: Port input data pin 10.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 11: Port input data pin 11.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 12: Port input data pin 12.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 13: Port input data pin 13.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 14: Port input data pin 14.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 15: Port input data pin 15.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
GPIO port output data register
Offset: 0x14, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ODR[15]
rw |
ODR[14]
rw |
ODR[13]
rw |
ODR[12]
rw |
ODR[11]
rw |
ODR[10]
rw |
ODR[9]
rw |
ODR[8]
rw |
ODR[7]
rw |
ODR[6]
rw |
ODR[5]
rw |
ODR[4]
rw |
ODR[3]
rw |
ODR[2]
rw |
ODR[1]
rw |
ODR[0]
rw |
Bit 0: Port output data pin 0.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 1: Port output data pin 1.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 2: Port output data pin 2.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 3: Port output data pin 3.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 4: Port output data pin 4.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 5: Port output data pin 5.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 6: Port output data pin 6.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 7: Port output data pin 7.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 8: Port output data pin 8.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 9: Port output data pin 9.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 10: Port output data pin 10.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 11: Port output data pin 11.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 12: Port output data pin 12.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 13: Port output data pin 13.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 14: Port output data pin 14.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 15: Port output data pin 15.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BR[15]
w |
BR[14]
w |
BR[13]
w |
BR[12]
w |
BR[11]
w |
BR[10]
w |
BR[9]
w |
BR[8]
w |
BR[7]
w |
BR[6]
w |
BR[5]
w |
BR[4]
w |
BR[3]
w |
BR[2]
w |
BR[1]
w |
BR[0]
w |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
BS[15]
w |
BS[14]
w |
BS[13]
w |
BS[12]
w |
BS[11]
w |
BS[10]
w |
BS[9]
w |
BS[8]
w |
BS[7]
w |
BS[6]
w |
BS[5]
w |
BS[4]
w |
BS[3]
w |
BS[2]
w |
BS[1]
w |
BS[0]
w |
Bit 0: Port x set pin 0.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 1: Port x set pin 1.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 2: Port x set pin 2.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 3: Port x set pin 3.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 4: Port x set pin 4.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 5: Port x set pin 5.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 6: Port x set pin 6.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 7: Port x set pin 7.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 8: Port x set pin 8.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 9: Port x set pin 9.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 10: Port x set pin 10.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 11: Port x set pin 11.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 12: Port x set pin 12.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 13: Port x set pin 13.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 14: Port x set pin 14.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 15: Port x set pin 15.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 16: Port x reset pin 0.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 17: Port x reset pin 1.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 18: Port x reset pin 2.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 19: Port x reset pin 3.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 20: Port x reset pin 4.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 21: Port x reset pin 5.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 22: Port x reset pin 6.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 23: Port x reset pin 7.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 24: Port x reset pin 8.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 25: Port x reset pin 9.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 26: Port x reset pin 10.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 27: Port x reset pin 11.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 28: Port x reset pin 12.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 29: Port x reset pin 13.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 30: Port x reset pin 14.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 31: Port x reset pin 15.
Allowed values:
1: Reset: Resets the corresponding ODx bit
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 |
LCK[15]
rw |
LCK[14]
rw |
LCK[13]
rw |
LCK[12]
rw |
LCK[11]
rw |
LCK[10]
rw |
LCK[9]
rw |
LCK[8]
rw |
LCK[7]
rw |
LCK[6]
rw |
LCK[5]
rw |
LCK[4]
rw |
LCK[3]
rw |
LCK[2]
rw |
LCK[1]
rw |
LCK[0]
rw |
Bit 0: Port x lock pin 0.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 1: Port x lock pin 1.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 2: Port x lock pin 2.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 3: Port x lock pin 3.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 4: Port x lock pin 4.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 5: Port x lock pin 5.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 6: Port x lock pin 6.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 7: Port x lock pin 7.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 8: Port x lock pin 8.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 9: Port x lock pin 9.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 10: Port x lock pin 10.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 11: Port x lock pin 11.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 12: Port x lock pin 12.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 13: Port x lock pin 13.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 14: Port x lock pin 14.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 15: Port x lock pin 15.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 16: Port x lock bit y (y= 0..15).
Allowed values:
0: NotActive: Port configuration lock key not active
1: Active: Port configuration lock key active
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AFR[EL7]
rw |
AFR[EL6]
rw |
AFR[EL5]
rw |
AFR[EL4]
rw |
||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
AFR[EL3]
rw |
AFR[EL2]
rw |
AFR[EL1]
rw |
AFR[EL0]
rw |
Bits 0-3: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 4-7: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 8-11: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 12-15: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 16-19: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 20-23: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 24-27: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 28-31: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AFR[EL15]
rw |
AFR[EL14]
rw |
AFR[EL13]
rw |
AFR[EL12]
rw |
||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
AFR[EL11]
rw |
AFR[EL10]
rw |
AFR[EL9]
rw |
AFR[EL8]
rw |
Bits 0-3: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 4-7: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 8-11: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 12-15: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 16-19: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 20-23: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 24-27: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 28-31: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
port bit reset register
Offset: 0x28, size: 32, reset: 0x00000000, access: write-only
16/16 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BR[15]
w |
BR[14]
w |
BR[13]
w |
BR[12]
w |
BR[11]
w |
BR[10]
w |
BR[9]
w |
BR[8]
w |
BR[7]
w |
BR[6]
w |
BR[5]
w |
BR[4]
w |
BR[3]
w |
BR[2]
w |
BR[1]
w |
BR[0]
w |
Bit 0: Port x reset pin 0.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 1: Port x reset pin 1.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 2: Port x reset pin 2.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 3: Port x reset pin 3.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 4: Port x reset pin 4.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 5: Port x reset pin 5.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 6: Port x reset pin 6.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 7: Port x reset pin 7.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 8: Port x reset pin 8.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 9: Port x reset pin 9.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 10: Port x reset pin 10.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 11: Port x reset pin 11.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 12: Port x reset pin 12.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 13: Port x reset pin 13.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 14: Port x reset pin 14.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 15: Port x reset pin 15.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
0x50001000: General-purpose I/Os
177/177 fields covered.
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 | MODER | ||||||||||||||||||||||||||||||||
0x4 | OTYPER | ||||||||||||||||||||||||||||||||
0x8 | OSPEEDR | ||||||||||||||||||||||||||||||||
0xc | PUPDR | ||||||||||||||||||||||||||||||||
0x10 | IDR | ||||||||||||||||||||||||||||||||
0x14 | ODR | ||||||||||||||||||||||||||||||||
0x18 | BSRR | ||||||||||||||||||||||||||||||||
0x1c | LCKR | ||||||||||||||||||||||||||||||||
0x20 | AFRL | ||||||||||||||||||||||||||||||||
0x24 | AFRH | ||||||||||||||||||||||||||||||||
0x28 | BRR |
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MODER[15]
rw |
MODER[14]
rw |
MODER[13]
rw |
MODER[12]
rw |
MODER[11]
rw |
MODER[10]
rw |
MODER[9]
rw |
MODER[8]
rw |
||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
MODER[7]
rw |
MODER[6]
rw |
MODER[5]
rw |
MODER[4]
rw |
MODER[3]
rw |
MODER[2]
rw |
MODER[1]
rw |
MODER[0]
rw |
Bits 0-1: Port x configuration pin 0.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 2-3: Port x configuration pin 1.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 4-5: Port x configuration pin 2.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 6-7: Port x configuration pin 3.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 8-9: Port x configuration pin 4.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 10-11: Port x configuration pin 5.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 12-13: Port x configuration pin 6.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 14-15: Port x configuration pin 7.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 16-17: Port x configuration pin 8.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 18-19: Port x configuration pin 9.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 20-21: Port x configuration pin 10.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 22-23: Port x configuration pin 11.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 24-25: Port x configuration pin 12.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 26-27: Port x configuration pin 13.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 28-29: Port x configuration pin 14.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 30-31: Port x configuration pin 15.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OT[15]
rw |
OT[14]
rw |
OT[13]
rw |
OT[12]
rw |
OT[11]
rw |
OT[10]
rw |
OT[9]
rw |
OT[8]
rw |
OT[7]
rw |
OT[6]
rw |
OT[5]
rw |
OT[4]
rw |
OT[3]
rw |
OT[2]
rw |
OT[1]
rw |
OT[0]
rw |
Bit 0: Port x configuration pin 0.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 1: Port x configuration pin 1.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 2: Port x configuration pin 2.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 3: Port x configuration pin 3.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 4: Port x configuration pin 4.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 5: Port x configuration pin 5.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 6: Port x configuration pin 6.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 7: Port x configuration pin 7.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 8: Port x configuration pin 8.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 9: Port x configuration pin 9.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 10: Port x configuration pin 10.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 11: Port x configuration pin 11.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 12: Port x configuration pin 12.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 13: Port x configuration pin 13.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 14: Port x configuration pin 14.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 15: Port x configuration pin 15.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OSPEEDR[15]
rw |
OSPEEDR[14]
rw |
OSPEEDR[13]
rw |
OSPEEDR[12]
rw |
OSPEEDR[11]
rw |
OSPEEDR[10]
rw |
OSPEEDR[9]
rw |
OSPEEDR[8]
rw |
||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
OSPEEDR[7]
rw |
OSPEEDR[6]
rw |
OSPEEDR[5]
rw |
OSPEEDR[4]
rw |
OSPEEDR[3]
rw |
OSPEEDR[2]
rw |
OSPEEDR[1]
rw |
OSPEEDR[0]
rw |
Bits 0-1: Port x configuration pin 0.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 2-3: Port x configuration pin 1.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 4-5: Port x configuration pin 2.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 6-7: Port x configuration pin 3.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 8-9: Port x configuration pin 4.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 10-11: Port x configuration pin 5.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 12-13: Port x configuration pin 6.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 14-15: Port x configuration pin 7.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 16-17: Port x configuration pin 8.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 18-19: Port x configuration pin 9.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 20-21: Port x configuration pin 10.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 22-23: Port x configuration pin 11.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 24-25: Port x configuration pin 12.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 26-27: Port x configuration pin 13.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 28-29: Port x configuration pin 14.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 30-31: Port x configuration pin 15.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PUPDR[15]
rw |
PUPDR[14]
rw |
PUPDR[13]
rw |
PUPDR[12]
rw |
PUPDR[11]
rw |
PUPDR[10]
rw |
PUPDR[9]
rw |
PUPDR[8]
rw |
||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PUPDR[7]
rw |
PUPDR[6]
rw |
PUPDR[5]
rw |
PUPDR[4]
rw |
PUPDR[3]
rw |
PUPDR[2]
rw |
PUPDR[1]
rw |
PUPDR[0]
rw |
Bits 0-1: Port x configuration pin 0.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 2-3: Port x configuration pin 1.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 4-5: Port x configuration pin 2.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 6-7: Port x configuration pin 3.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 8-9: Port x configuration pin 4.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 10-11: Port x configuration pin 5.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 12-13: Port x configuration pin 6.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 14-15: Port x configuration pin 7.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 16-17: Port x configuration pin 8.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 18-19: Port x configuration pin 9.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 20-21: Port x configuration pin 10.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 22-23: Port x configuration pin 11.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 24-25: Port x configuration pin 12.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 26-27: Port x configuration pin 13.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 28-29: Port x configuration pin 14.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 30-31: Port x configuration pin 15.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
GPIO port input data register
Offset: 0x10, size: 32, reset: 0x00000000, access: read-only
16/16 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
IDR[15]
r |
IDR[14]
r |
IDR[13]
r |
IDR[12]
r |
IDR[11]
r |
IDR[10]
r |
IDR[9]
r |
IDR[8]
r |
IDR[7]
r |
IDR[6]
r |
IDR[5]
r |
IDR[4]
r |
IDR[3]
r |
IDR[2]
r |
IDR[1]
r |
IDR[0]
r |
Bit 0: Port input data pin 0.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 1: Port input data pin 1.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 2: Port input data pin 2.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 3: Port input data pin 3.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 4: Port input data pin 4.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 5: Port input data pin 5.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 6: Port input data pin 6.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 7: Port input data pin 7.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 8: Port input data pin 8.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 9: Port input data pin 9.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 10: Port input data pin 10.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 11: Port input data pin 11.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 12: Port input data pin 12.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 13: Port input data pin 13.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 14: Port input data pin 14.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 15: Port input data pin 15.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
GPIO port output data register
Offset: 0x14, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ODR[15]
rw |
ODR[14]
rw |
ODR[13]
rw |
ODR[12]
rw |
ODR[11]
rw |
ODR[10]
rw |
ODR[9]
rw |
ODR[8]
rw |
ODR[7]
rw |
ODR[6]
rw |
ODR[5]
rw |
ODR[4]
rw |
ODR[3]
rw |
ODR[2]
rw |
ODR[1]
rw |
ODR[0]
rw |
Bit 0: Port output data pin 0.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 1: Port output data pin 1.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 2: Port output data pin 2.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 3: Port output data pin 3.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 4: Port output data pin 4.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 5: Port output data pin 5.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 6: Port output data pin 6.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 7: Port output data pin 7.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 8: Port output data pin 8.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 9: Port output data pin 9.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 10: Port output data pin 10.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 11: Port output data pin 11.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 12: Port output data pin 12.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 13: Port output data pin 13.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 14: Port output data pin 14.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 15: Port output data pin 15.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BR[15]
w |
BR[14]
w |
BR[13]
w |
BR[12]
w |
BR[11]
w |
BR[10]
w |
BR[9]
w |
BR[8]
w |
BR[7]
w |
BR[6]
w |
BR[5]
w |
BR[4]
w |
BR[3]
w |
BR[2]
w |
BR[1]
w |
BR[0]
w |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
BS[15]
w |
BS[14]
w |
BS[13]
w |
BS[12]
w |
BS[11]
w |
BS[10]
w |
BS[9]
w |
BS[8]
w |
BS[7]
w |
BS[6]
w |
BS[5]
w |
BS[4]
w |
BS[3]
w |
BS[2]
w |
BS[1]
w |
BS[0]
w |
Bit 0: Port x set pin 0.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 1: Port x set pin 1.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 2: Port x set pin 2.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 3: Port x set pin 3.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 4: Port x set pin 4.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 5: Port x set pin 5.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 6: Port x set pin 6.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 7: Port x set pin 7.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 8: Port x set pin 8.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 9: Port x set pin 9.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 10: Port x set pin 10.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 11: Port x set pin 11.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 12: Port x set pin 12.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 13: Port x set pin 13.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 14: Port x set pin 14.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 15: Port x set pin 15.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 16: Port x reset pin 0.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 17: Port x reset pin 1.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 18: Port x reset pin 2.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 19: Port x reset pin 3.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 20: Port x reset pin 4.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 21: Port x reset pin 5.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 22: Port x reset pin 6.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 23: Port x reset pin 7.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 24: Port x reset pin 8.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 25: Port x reset pin 9.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 26: Port x reset pin 10.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 27: Port x reset pin 11.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 28: Port x reset pin 12.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 29: Port x reset pin 13.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 30: Port x reset pin 14.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 31: Port x reset pin 15.
Allowed values:
1: Reset: Resets the corresponding ODx bit
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 |
LCK[15]
rw |
LCK[14]
rw |
LCK[13]
rw |
LCK[12]
rw |
LCK[11]
rw |
LCK[10]
rw |
LCK[9]
rw |
LCK[8]
rw |
LCK[7]
rw |
LCK[6]
rw |
LCK[5]
rw |
LCK[4]
rw |
LCK[3]
rw |
LCK[2]
rw |
LCK[1]
rw |
LCK[0]
rw |
Bit 0: Port x lock pin 0.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 1: Port x lock pin 1.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 2: Port x lock pin 2.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 3: Port x lock pin 3.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 4: Port x lock pin 4.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 5: Port x lock pin 5.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 6: Port x lock pin 6.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 7: Port x lock pin 7.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 8: Port x lock pin 8.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 9: Port x lock pin 9.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 10: Port x lock pin 10.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 11: Port x lock pin 11.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 12: Port x lock pin 12.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 13: Port x lock pin 13.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 14: Port x lock pin 14.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 15: Port x lock pin 15.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 16: Port x lock bit y (y= 0..15).
Allowed values:
0: NotActive: Port configuration lock key not active
1: Active: Port configuration lock key active
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AFR[EL7]
rw |
AFR[EL6]
rw |
AFR[EL5]
rw |
AFR[EL4]
rw |
||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
AFR[EL3]
rw |
AFR[EL2]
rw |
AFR[EL1]
rw |
AFR[EL0]
rw |
Bits 0-3: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 4-7: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 8-11: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 12-15: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 16-19: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 20-23: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 24-27: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 28-31: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AFR[EL15]
rw |
AFR[EL14]
rw |
AFR[EL13]
rw |
AFR[EL12]
rw |
||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
AFR[EL11]
rw |
AFR[EL10]
rw |
AFR[EL9]
rw |
AFR[EL8]
rw |
Bits 0-3: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 4-7: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 8-11: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 12-15: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 16-19: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 20-23: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 24-27: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 28-31: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
port bit reset register
Offset: 0x28, size: 32, reset: 0x00000000, access: write-only
16/16 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BR[15]
w |
BR[14]
w |
BR[13]
w |
BR[12]
w |
BR[11]
w |
BR[10]
w |
BR[9]
w |
BR[8]
w |
BR[7]
w |
BR[6]
w |
BR[5]
w |
BR[4]
w |
BR[3]
w |
BR[2]
w |
BR[1]
w |
BR[0]
w |
Bit 0: Port x reset pin 0.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 1: Port x reset pin 1.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 2: Port x reset pin 2.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 3: Port x reset pin 3.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 4: Port x reset pin 4.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 5: Port x reset pin 5.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 6: Port x reset pin 6.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 7: Port x reset pin 7.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 8: Port x reset pin 8.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 9: Port x reset pin 9.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 10: Port x reset pin 10.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 11: Port x reset pin 11.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 12: Port x reset pin 12.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 13: Port x reset pin 13.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 14: Port x reset pin 14.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 15: Port x reset pin 15.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
0x50001400: General-purpose I/Os
177/177 fields covered.
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 | MODER | ||||||||||||||||||||||||||||||||
0x4 | OTYPER | ||||||||||||||||||||||||||||||||
0x8 | OSPEEDR | ||||||||||||||||||||||||||||||||
0xc | PUPDR | ||||||||||||||||||||||||||||||||
0x10 | IDR | ||||||||||||||||||||||||||||||||
0x14 | ODR | ||||||||||||||||||||||||||||||||
0x18 | BSRR | ||||||||||||||||||||||||||||||||
0x1c | LCKR | ||||||||||||||||||||||||||||||||
0x20 | AFRL | ||||||||||||||||||||||||||||||||
0x24 | AFRH | ||||||||||||||||||||||||||||||||
0x28 | BRR |
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MODER[15]
rw |
MODER[14]
rw |
MODER[13]
rw |
MODER[12]
rw |
MODER[11]
rw |
MODER[10]
rw |
MODER[9]
rw |
MODER[8]
rw |
||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
MODER[7]
rw |
MODER[6]
rw |
MODER[5]
rw |
MODER[4]
rw |
MODER[3]
rw |
MODER[2]
rw |
MODER[1]
rw |
MODER[0]
rw |
Bits 0-1: Port x configuration pin 0.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 2-3: Port x configuration pin 1.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 4-5: Port x configuration pin 2.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 6-7: Port x configuration pin 3.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 8-9: Port x configuration pin 4.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 10-11: Port x configuration pin 5.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 12-13: Port x configuration pin 6.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 14-15: Port x configuration pin 7.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 16-17: Port x configuration pin 8.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 18-19: Port x configuration pin 9.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 20-21: Port x configuration pin 10.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 22-23: Port x configuration pin 11.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 24-25: Port x configuration pin 12.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 26-27: Port x configuration pin 13.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 28-29: Port x configuration pin 14.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
Bits 30-31: Port x configuration pin 15.
Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OT[15]
rw |
OT[14]
rw |
OT[13]
rw |
OT[12]
rw |
OT[11]
rw |
OT[10]
rw |
OT[9]
rw |
OT[8]
rw |
OT[7]
rw |
OT[6]
rw |
OT[5]
rw |
OT[4]
rw |
OT[3]
rw |
OT[2]
rw |
OT[1]
rw |
OT[0]
rw |
Bit 0: Port x configuration pin 0.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 1: Port x configuration pin 1.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 2: Port x configuration pin 2.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 3: Port x configuration pin 3.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 4: Port x configuration pin 4.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 5: Port x configuration pin 5.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 6: Port x configuration pin 6.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 7: Port x configuration pin 7.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 8: Port x configuration pin 8.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 9: Port x configuration pin 9.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 10: Port x configuration pin 10.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 11: Port x configuration pin 11.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 12: Port x configuration pin 12.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 13: Port x configuration pin 13.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 14: Port x configuration pin 14.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
Bit 15: Port x configuration pin 15.
Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OSPEEDR[15]
rw |
OSPEEDR[14]
rw |
OSPEEDR[13]
rw |
OSPEEDR[12]
rw |
OSPEEDR[11]
rw |
OSPEEDR[10]
rw |
OSPEEDR[9]
rw |
OSPEEDR[8]
rw |
||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
OSPEEDR[7]
rw |
OSPEEDR[6]
rw |
OSPEEDR[5]
rw |
OSPEEDR[4]
rw |
OSPEEDR[3]
rw |
OSPEEDR[2]
rw |
OSPEEDR[1]
rw |
OSPEEDR[0]
rw |
Bits 0-1: Port x configuration pin 0.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 2-3: Port x configuration pin 1.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 4-5: Port x configuration pin 2.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 6-7: Port x configuration pin 3.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 8-9: Port x configuration pin 4.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 10-11: Port x configuration pin 5.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 12-13: Port x configuration pin 6.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 14-15: Port x configuration pin 7.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 16-17: Port x configuration pin 8.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 18-19: Port x configuration pin 9.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 20-21: Port x configuration pin 10.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 22-23: Port x configuration pin 11.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 24-25: Port x configuration pin 12.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 26-27: Port x configuration pin 13.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 28-29: Port x configuration pin 14.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
Bits 30-31: Port x configuration pin 15.
Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PUPDR[15]
rw |
PUPDR[14]
rw |
PUPDR[13]
rw |
PUPDR[12]
rw |
PUPDR[11]
rw |
PUPDR[10]
rw |
PUPDR[9]
rw |
PUPDR[8]
rw |
||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PUPDR[7]
rw |
PUPDR[6]
rw |
PUPDR[5]
rw |
PUPDR[4]
rw |
PUPDR[3]
rw |
PUPDR[2]
rw |
PUPDR[1]
rw |
PUPDR[0]
rw |
Bits 0-1: Port x configuration pin 0.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 2-3: Port x configuration pin 1.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 4-5: Port x configuration pin 2.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 6-7: Port x configuration pin 3.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 8-9: Port x configuration pin 4.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 10-11: Port x configuration pin 5.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 12-13: Port x configuration pin 6.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 14-15: Port x configuration pin 7.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 16-17: Port x configuration pin 8.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 18-19: Port x configuration pin 9.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 20-21: Port x configuration pin 10.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 22-23: Port x configuration pin 11.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 24-25: Port x configuration pin 12.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 26-27: Port x configuration pin 13.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 28-29: Port x configuration pin 14.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
Bits 30-31: Port x configuration pin 15.
Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down
GPIO port input data register
Offset: 0x10, size: 32, reset: 0x00000000, access: read-only
16/16 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
IDR[15]
r |
IDR[14]
r |
IDR[13]
r |
IDR[12]
r |
IDR[11]
r |
IDR[10]
r |
IDR[9]
r |
IDR[8]
r |
IDR[7]
r |
IDR[6]
r |
IDR[5]
r |
IDR[4]
r |
IDR[3]
r |
IDR[2]
r |
IDR[1]
r |
IDR[0]
r |
Bit 0: Port input data pin 0.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 1: Port input data pin 1.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 2: Port input data pin 2.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 3: Port input data pin 3.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 4: Port input data pin 4.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 5: Port input data pin 5.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 6: Port input data pin 6.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 7: Port input data pin 7.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 8: Port input data pin 8.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 9: Port input data pin 9.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 10: Port input data pin 10.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 11: Port input data pin 11.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 12: Port input data pin 12.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 13: Port input data pin 13.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 14: Port input data pin 14.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
Bit 15: Port input data pin 15.
Allowed values:
0: Low: Input is logic low
1: High: Input is logic high
GPIO port output data register
Offset: 0x14, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ODR[15]
rw |
ODR[14]
rw |
ODR[13]
rw |
ODR[12]
rw |
ODR[11]
rw |
ODR[10]
rw |
ODR[9]
rw |
ODR[8]
rw |
ODR[7]
rw |
ODR[6]
rw |
ODR[5]
rw |
ODR[4]
rw |
ODR[3]
rw |
ODR[2]
rw |
ODR[1]
rw |
ODR[0]
rw |
Bit 0: Port output data pin 0.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 1: Port output data pin 1.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 2: Port output data pin 2.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 3: Port output data pin 3.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 4: Port output data pin 4.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 5: Port output data pin 5.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 6: Port output data pin 6.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 7: Port output data pin 7.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 8: Port output data pin 8.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 9: Port output data pin 9.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 10: Port output data pin 10.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 11: Port output data pin 11.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 12: Port output data pin 12.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 13: Port output data pin 13.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 14: Port output data pin 14.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
Bit 15: Port output data pin 15.
Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BR[15]
w |
BR[14]
w |
BR[13]
w |
BR[12]
w |
BR[11]
w |
BR[10]
w |
BR[9]
w |
BR[8]
w |
BR[7]
w |
BR[6]
w |
BR[5]
w |
BR[4]
w |
BR[3]
w |
BR[2]
w |
BR[1]
w |
BR[0]
w |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
BS[15]
w |
BS[14]
w |
BS[13]
w |
BS[12]
w |
BS[11]
w |
BS[10]
w |
BS[9]
w |
BS[8]
w |
BS[7]
w |
BS[6]
w |
BS[5]
w |
BS[4]
w |
BS[3]
w |
BS[2]
w |
BS[1]
w |
BS[0]
w |
Bit 0: Port x set pin 0.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 1: Port x set pin 1.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 2: Port x set pin 2.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 3: Port x set pin 3.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 4: Port x set pin 4.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 5: Port x set pin 5.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 6: Port x set pin 6.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 7: Port x set pin 7.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 8: Port x set pin 8.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 9: Port x set pin 9.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 10: Port x set pin 10.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 11: Port x set pin 11.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 12: Port x set pin 12.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 13: Port x set pin 13.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 14: Port x set pin 14.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 15: Port x set pin 15.
Allowed values:
1: Set: Sets the corresponding ODx bit
Bit 16: Port x reset pin 0.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 17: Port x reset pin 1.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 18: Port x reset pin 2.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 19: Port x reset pin 3.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 20: Port x reset pin 4.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 21: Port x reset pin 5.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 22: Port x reset pin 6.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 23: Port x reset pin 7.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 24: Port x reset pin 8.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 25: Port x reset pin 9.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 26: Port x reset pin 10.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 27: Port x reset pin 11.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 28: Port x reset pin 12.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 29: Port x reset pin 13.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 30: Port x reset pin 14.
Allowed values:
1: Reset: Resets the corresponding ODx bit
Bit 31: Port x reset pin 15.
Allowed values:
1: Reset: Resets the corresponding ODx bit
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 |
LCK[15]
rw |
LCK[14]
rw |
LCK[13]
rw |
LCK[12]
rw |
LCK[11]
rw |
LCK[10]
rw |
LCK[9]
rw |
LCK[8]
rw |
LCK[7]
rw |
LCK[6]
rw |
LCK[5]
rw |
LCK[4]
rw |
LCK[3]
rw |
LCK[2]
rw |
LCK[1]
rw |
LCK[0]
rw |
Bit 0: Port x lock pin 0.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 1: Port x lock pin 1.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 2: Port x lock pin 2.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 3: Port x lock pin 3.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 4: Port x lock pin 4.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 5: Port x lock pin 5.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 6: Port x lock pin 6.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 7: Port x lock pin 7.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 8: Port x lock pin 8.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 9: Port x lock pin 9.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 10: Port x lock pin 10.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 11: Port x lock pin 11.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 12: Port x lock pin 12.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 13: Port x lock pin 13.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 14: Port x lock pin 14.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 15: Port x lock pin 15.
Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked
Bit 16: Port x lock bit y (y= 0..15).
Allowed values:
0: NotActive: Port configuration lock key not active
1: Active: Port configuration lock key active
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AFR[EL7]
rw |
AFR[EL6]
rw |
AFR[EL5]
rw |
AFR[EL4]
rw |
||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
AFR[EL3]
rw |
AFR[EL2]
rw |
AFR[EL1]
rw |
AFR[EL0]
rw |
Bits 0-3: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 4-7: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 8-11: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 12-15: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 16-19: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 20-23: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 24-27: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 28-31: Alternate function selection for port x bit y (y = 0..7).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AFR[EL15]
rw |
AFR[EL14]
rw |
AFR[EL13]
rw |
AFR[EL12]
rw |
||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
AFR[EL11]
rw |
AFR[EL10]
rw |
AFR[EL9]
rw |
AFR[EL8]
rw |
Bits 0-3: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 4-7: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 8-11: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 12-15: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 16-19: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 20-23: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 24-27: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
Bits 28-31: Alternate function selection for port x bit y (y = 8..15).
Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
port bit reset register
Offset: 0x28, size: 32, reset: 0x00000000, access: write-only
16/16 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BR[15]
w |
BR[14]
w |
BR[13]
w |
BR[12]
w |
BR[11]
w |
BR[10]
w |
BR[9]
w |
BR[8]
w |
BR[7]
w |
BR[6]
w |
BR[5]
w |
BR[4]
w |
BR[3]
w |
BR[2]
w |
BR[1]
w |
BR[0]
w |
Bit 0: Port x reset pin 0.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 1: Port x reset pin 1.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 2: Port x reset pin 2.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 3: Port x reset pin 3.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 4: Port x reset pin 4.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 5: Port x reset pin 5.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 6: Port x reset pin 6.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 7: Port x reset pin 7.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 8: Port x reset pin 8.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 9: Port x reset pin 9.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 10: Port x reset pin 10.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 11: Port x reset pin 11.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 12: Port x reset pin 12.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 13: Port x reset pin 13.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 14: Port x reset pin 14.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
Bit 15: Port x reset pin 15.
Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit
0x40005400: Inter-integrated circuit
76/76 fields covered.
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 | CR1 | ||||||||||||||||||||||||||||||||
0x4 | CR2 | ||||||||||||||||||||||||||||||||
0x8 | OAR1 | ||||||||||||||||||||||||||||||||
0xc | OAR2 | ||||||||||||||||||||||||||||||||
0x10 | TIMINGR | ||||||||||||||||||||||||||||||||
0x14 | TIMEOUTR | ||||||||||||||||||||||||||||||||
0x18 | ISR | ||||||||||||||||||||||||||||||||
0x1c | ICR | ||||||||||||||||||||||||||||||||
0x20 | PECR | ||||||||||||||||||||||||||||||||
0x24 | RXDR | ||||||||||||||||||||||||||||||||
0x28 | TXDR |
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 |
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 3 APB clock cycles..
Allowed values:
0: Disabled: Peripheral disabled
1: Enabled: Peripheral enabled
Bit 1: TX Interrupt enable.
Allowed values:
0: Disabled: Transmit (TXIS) interrupt disabled
1: Enabled: Transmit (TXIS) interrupt enabled
Bit 2: RX Interrupt enable.
Allowed values:
0: Disabled: Receive (RXNE) interrupt disabled
1: Enabled: Receive (RXNE) interrupt enabled
Bit 3: Address match Interrupt enable (slave only).
Allowed values:
0: Disabled: Address match (ADDR) interrupts disabled
1: Enabled: Address match (ADDR) interrupts enabled
Bit 4: Not acknowledge received Interrupt enable.
Allowed values:
0: Disabled: Not acknowledge (NACKF) received interrupts disabled
1: Enabled: Not acknowledge (NACKF) received interrupts enabled
Bit 5: Stop detection Interrupt enable.
Allowed values:
0: Disabled: Stop detection (STOPF) interrupt disabled
1: Enabled: Stop detection (STOPF) interrupt enabled
Bit 6: Transfer Complete interrupt enable Note: Any of these events generate an interrupt: Transfer Complete (TC) Transfer Complete Reload (TCR).
Allowed values:
0: Disabled: Transfer Complete interrupt disabled
1: Enabled: Transfer Complete interrupt enabled
Bit 7: Error interrupts enable Note: Any of these errors generate an interrupt: Arbitration Loss (ARLO) Bus Error detection (BERR) Overrun/Underrun (OVR) Timeout detection (TIMEOUT) PEC error detection (PECERR) Alert pin event detection (ALERT).
Allowed values:
0: Disabled: Error detection interrupts disabled
1: Enabled: Error detection interrupts enabled
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] * tI2CCLK ... Note: If the analog filter is also enabled, the digital filter is added to the analog filter. This filter can only be programmed when the I2C is disabled (PE = 0)..
Allowed values:
0: NoFilter: Digital filter disabled
1: Filter1: Digital filter enabled and filtering capability up to 1 tI2CCLK
2: Filter2: Digital filter enabled and filtering capability up to 2 tI2CCLK
3: Filter3: Digital filter enabled and filtering capability up to 3 tI2CCLK
4: Filter4: Digital filter enabled and filtering capability up to 4 tI2CCLK
5: Filter5: Digital filter enabled and filtering capability up to 5 tI2CCLK
6: Filter6: Digital filter enabled and filtering capability up to 6 tI2CCLK
7: Filter7: Digital filter enabled and filtering capability up to 7 tI2CCLK
8: Filter8: Digital filter enabled and filtering capability up to 8 tI2CCLK
9: Filter9: Digital filter enabled and filtering capability up to 9 tI2CCLK
10: Filter10: Digital filter enabled and filtering capability up to 10 tI2CCLK
11: Filter11: Digital filter enabled and filtering capability up to 11 tI2CCLK
12: Filter12: Digital filter enabled and filtering capability up to 12 tI2CCLK
13: Filter13: Digital filter enabled and filtering capability up to 13 tI2CCLK
14: Filter14: Digital filter enabled and filtering capability up to 14 tI2CCLK
15: Filter15: Digital filter enabled and filtering capability up to 15 tI2CCLK
Bit 12: Analog noise filter OFF Note: This bit can only be programmed when the I2C is disabled (PE = 0)..
Allowed values:
0: Enabled: Analog noise filter enabled
1: Disabled: Analog noise filter disabled
Bit 14: DMA transmission requests enable.
Allowed values:
0: Disabled: DMA mode disabled for transmission
1: Enabled: DMA mode enabled for transmission
Bit 15: DMA reception requests enable.
Allowed values:
0: Disabled: DMA mode disabled for reception
1: Enabled: DMA mode enabled for reception
Bit 16: Slave byte control This bit is used to enable hardware byte control in slave mode..
Allowed values:
0: Disabled: Slave byte control disabled
1: Enabled: Slave byte control enabled
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 only be programmed when the I2C is disabled (PE = 0)..
Allowed values:
0: Enabled: Clock stretching enabled
1: Disabled: Clock stretching disabled
Bit 18: Wakeup from Stop mode enable Note: If the Wakeup from Stop mode feature is not supported, this bit is reserved and forced by hardware to '0'. Refer to . Note: WUPEN can be set only when DNF = '0000'.
Allowed values:
0: Disabled: Wakeup from Stop mode disabled
1: Enabled: Wakeup from Stop mode enabled
Bit 19: General call enable.
Allowed values:
0: Disabled: General call disabled. Address 0b00000000 is NACKed
1: Enabled: General call enabled. Address 0b00000000 is ACKed
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 ..
Allowed values:
0: Disabled: Host address disabled. Address 0b0001000x is NACKed
1: Enabled: Host address enabled. Address 0b0001000x is ACKed
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 ..
Allowed values:
0: Disabled: Device default address disabled. Address 0b1100001x is NACKed
1: Enabled: Device default address enabled. Address 0b1100001x is ACKed
Bit 22: SMBus alert enable Note: When ALERTEN=0, the SMBA pin can be used as a standard GPIO. If the SMBus feature is not supported, this bit is reserved and forced by hardware to '0'. Refer to ..
Allowed values:
0: Disabled: In device mode (SMBHEN=Disabled) Releases SMBA pin high and Alert Response Address Header disabled (0001100x) followed by NACK. In host mode (SMBHEN=Enabled) SMBus Alert pin (SMBA) not supported
1: Enabled: In device mode (SMBHEN=Disabled) Drives SMBA pin low and Alert Response Address Header enabled (0001100x) followed by ACK.In host mode (SMBHEN=Enabled) SMBus Alert pin (SMBA) supported
Bit 23: PEC enable Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to '0'. Refer to ..
Allowed values:
0: Disabled: PEC calculation disabled
1: Enabled: PEC calculation enabled
Control register 2
Offset: 0x4, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 |
Bits 0-9: Slave address (master mode) In 7-bit addressing mode (ADD10 = 0): SADD[7:1] should be written with the 7-bit slave address to be sent. The bits SADD[9], SADD[8] and SADD[0] are don't care. In 10-bit addressing mode (ADD10 = 1): SADD[9:0] should be written with the 10-bit slave address to be sent. Note: Changing these bits when the START bit is set is not allowed..
Allowed values: 0x0-0x3ff
Bit 10: Transfer direction (master mode) Note: Changing this bit when the START bit is set is not allowed..
Allowed values:
0: Write: Master requests a write transfer
1: Read: Master requests a read transfer
Bit 11: 10-bit addressing mode (master mode) Note: Changing this bit when the START bit is set is not allowed..
Allowed values:
0: Bit7: The master operates in 7-bit addressing mode
1: Bit10: The master operates in 10-bit addressing mode
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: Complete: The master sends the complete 10 bit slave address read sequence
1: Partial: The master only sends the 1st 7 bits of the 10 bit address, followed by Read direction
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 a timeout error detection, or when PE = 0. It can also be cleared by software by writing '1' to the ADDRCF bit in the I2C_ICR register. 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. The START bit can be set even if the bus is BUSY or I2C is in slave mode. This bit has no effect when RELOAD is set..
Allowed values:
0: NoStart: No Start generation
1: Start: Restart/Start generation
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: NoStop: No Stop generation
1: Stop: Stop generation after current byte transfer
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. This bit is used in slave mode only: in master receiver mode, NACK is automatically generated after last byte preceding STOP or RESTART condition, whatever the NACK bit value. When an overrun occurs in slave receiver NOSTRETCH mode, a NACK is automatically generated whatever the NACK bit value. When hardware PEC checking is enabled (PECBYTE=1), the PEC acknowledge value does not depend on the NACK value..
Allowed values:
0: Ack: an ACK is sent after current received byte
1: Nack: a NACK is sent after current received byte
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..
Allowed values: 0x0-0xff
Bit 24: NBYTES reload mode This bit is set and cleared by software..
Allowed values:
0: Completed: The transfer is completed after the NBYTES data transfer (STOP or RESTART will follow)
1: NotCompleted: The transfer is not completed after the NBYTES data transfer (NBYTES will be reloaded)
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: Software: Software end mode: TC flag is set when NBYTES data are transferred, stretching SCL low
1: Automatic: Automatic end mode: a STOP condition is automatically sent when NBYTES data are transferred
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. This bit has no effect when RELOAD is set. This bit has no effect is slave mode when SBC=0. If the SMBus feature is not supported, this bit is reserved and forced by hardware to '0'. Refer to ..
Allowed values:
0: NoPec: No PEC transfer
1: Pec: PEC transmission/reception is requested
Own address register 1
Offset: 0x8, size: 32, reset: 0x00000000, access: read-write
3/3 fields covered.
Bits 0-9: Interface own slave address 7-bit addressing mode: OA1[7:1] contains the 7-bit own slave address. The 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..
Allowed values: 0x0-0x3ff
Bit 10: Own Address 1 10-bit mode Note: This bit can be written only when OA1EN=0..
Allowed values:
0: Bit7: Own address 1 is a 7-bit address
1: Bit10: Own address 1 is a 10-bit address
Bit 15: Own Address 1 enable.
Allowed values:
0: Disabled: Own address 1 disabled. The received slave address OA1 is NACKed
1: Enabled: Own address 1 enabled. The received slave address OA1 is ACKed
Own address register 2
Offset: 0xc, size: 32, reset: 0x00000000, access: read-write
3/3 fields covered.
Bits 1-7: Interface address 7-bit addressing mode: 7-bit address Note: These bits can be written only when OA2EN=0..
Allowed values: 0x0-0x7f
Bits 8-10: Own Address 2 masks Note: These bits can be written only when OA2EN=0. As soon as OA2MSK is not equal to 0, the reserved I2C addresses (0b0000xxx and 0b1111xxx) are not acknowledged even if the comparison matches..
Allowed values:
0: NoMask: No mask
1: Mask1: OA2[1] is masked and don’t care. Only OA2[7:2] are compared
2: Mask2: OA2[2:1] are masked and don’t care. Only OA2[7:3] are compared
3: Mask3: OA2[3:1] are masked and don’t care. Only OA2[7:4] are compared
4: Mask4: OA2[4:1] are masked and don’t care. Only OA2[7:5] are compared
5: Mask5: OA2[5:1] are masked and don’t care. Only OA2[7:6] are compared
6: Mask6: OA2[6:1] are masked and don’t care. Only OA2[7] is compared.
7: Mask7: OA2[7:1] are masked and don’t care. No comparison is done, and all (except reserved) 7-bit received addresses are acknowledged
Bit 15: Own Address 2 enable.
Allowed values:
0: Disabled: Own address 2 disabled. The received slave address OA2 is NACKed
1: Enabled: Own address 2 enabled. The received slave address OA2 is ACKed
Timing register
Offset: 0x10, size: 32, reset: 0x00000000, access: read-write
5/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 |
Bits 0-7: SCL low period (master mode).
Allowed values: 0x0-0xff
Bits 8-15: SCL high period (master mode).
Allowed values: 0x0-0xff
Bits 16-19: Data hold time.
Allowed values: 0x0-0xf
Bits 20-23: Data setup time.
Allowed values: 0x0-0xf
Bits 28-31: Timing prescaler.
Allowed values: 0x0-0xf
Status register 1
Offset: 0x14, size: 32, reset: 0x00000000, access: read-write
5/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 |
Bits 0-11: Bus Timeout A This field is used to configure: The SCL low timeout condition tTIMEOUT when TIDLE=0 tTIMEOUT= (TIMEOUTA+1) x 2048 x tI2CCLK The bus idle condition (both SCL and SDA high) when TIDLE=1 tIDLE= (TIMEOUTA+1) x 4 x tI2CCLK Note: These bits can be written only when TIMOUTEN=0..
Allowed values: 0x0-0xfff
Bit 12: Idle clock timeout detection Note: This bit can be written only when TIMOUTEN=0..
Allowed values:
0: Disabled: TIMEOUTA is used to detect SCL low timeout
1: Enabled: TIMEOUTA is used to detect both SCL and SDA high timeout (bus idle condition)
Bit 15: Clock timeout enable.
Allowed values:
0: Disabled: SCL timeout detection is disabled
1: Enabled: SCL timeout detection is enabled
Bits 16-27: Bus timeout B This field is used to configure the cumulative clock extension timeout: In master mode, the master cumulative clock low extend time (tLOW:MEXT) is detected In slave mode, the slave cumulative clock low extend time (tLOW:SEXT) is detected tLOW:EXT= (TIMEOUTB+1) x 2048 x tI2CCLK Note: These bits can be written only when TEXTEN=0..
Allowed values: 0x0-0xfff
Bit 31: Extended clock timeout enable.
Allowed values:
0: Disabled: Extended clock timeout detection is disabled
1: Enabled: Extended clock timeout detection is enabled
Interrupt and Status register
Offset: 0x18, size: 32, reset: 0x00000001, access: Unspecified
17/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 |
Bit 0: Transmit data register empty (transmitters).
Allowed values:
0: NotEmpty: TXDR register not empty
1: Empty: TXDR register empty
Bit 1: Transmit interrupt status (transmitters).
Allowed values:
0: NotEmpty: The TXDR register is not empty
1: Empty: The TXDR register is empty and the data to be transmitted must be written in the TXDR register
Bit 2: Receive data register not empty (receivers).
Allowed values:
0: Empty: The RXDR register is empty
1: NotEmpty: Received data is copied into the RXDR register, and is ready to be read
Bit 3: Address matched (slave mode).
Allowed values:
0: NotMatch: Adress mismatched or not received
1: Match: Received slave address matched with one of the enabled slave addresses
Bit 4: Not acknowledge received flag.
Allowed values:
0: NoNack: No NACK has been received
1: Nack: NACK has been received
Bit 5: Stop detection flag.
Allowed values:
0: NoStop: No Stop condition detected
1: Stop: Stop condition detected
Bit 6: Transfer Complete (master mode).
Allowed values:
0: NotComplete: Transfer is not complete
1: Complete: NBYTES has been transfered
Bit 7: Transfer Complete Reload.
Allowed values:
0: NotComplete: Transfer is not complete
1: Complete: NBYTES has been transfered
Bit 8: Bus error.
Allowed values:
0: NoError: No bus error
1: Error: Misplaced Start and Stop condition is detected
Bit 9: Arbitration lost.
Allowed values:
0: NotLost: No arbitration lost
1: Lost: Arbitration lost
Bit 10: Overrun/Underrun (slave mode).
Allowed values:
0: NoOverrun: No overrun/underrun error occurs
1: Overrun: slave mode with NOSTRETCH=1, when an overrun/underrun error occurs
Bit 11: PEC Error in reception.
Allowed values:
0: Match: Received PEC does match with PEC register
1: NoMatch: Received PEC does not match with PEC register
Bit 12: Timeout or t_low detection flag.
Allowed values:
0: NoTimeout: No timeout occured
1: Timeout: Timeout occured
Bit 13: SMBus alert.
Allowed values:
0: NoAlert: SMBA alert is not detected
1: Alert: SMBA alert event is detected on SMBA pin
Bit 15: Bus busy.
Allowed values:
0: NotBusy: No communication is in progress on the bus
1: Busy: A communication is in progress on the bus
Bit 16: Transfer direction (Slave mode) This flag is updated when an address match event occurs (ADDR=1)..
Allowed values:
0: Write: Write transfer, slave enters receiver mode
1: Read: Read transfer, slave enters transmitter mode
Bits 17-23: Address match code (Slave mode).
Allowed values: 0x0-0x7f
Interrupt clear register
Offset: 0x1c, size: 32, reset: 0x00000000, access: write-only
9/9 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ALERTCF
w |
TIMOUTCF
w |
PECCF
w |
OVRCF
w |
ARLOCF
w |
BERRCF
w |
STOPCF
w |
NACKCF
w |
ADDRCF
w |
Bit 3: Address Matched flag clear.
Allowed values:
1: Clear: Clears the ADDR flag in ISR register
Bit 4: Not Acknowledge flag clear.
Allowed values:
1: Clear: Clears the NACK flag in ISR register
Bit 5: Stop detection flag clear.
Allowed values:
1: Clear: Clears the STOP flag in ISR register
Bit 8: Bus error flag clear.
Allowed values:
1: Clear: Clears the BERR flag in ISR register
Bit 9: Arbitration lost flag clear.
Allowed values:
1: Clear: Clears the ARLO flag in ISR register
Bit 10: Overrun/Underrun flag clear.
Allowed values:
1: Clear: Clears the OVR flag in ISR register
Bit 11: PEC Error flag clear.
Allowed values:
1: Clear: Clears the PEC flag in ISR register
Bit 12: Timeout detection flag clear.
Allowed values:
1: Clear: Clears the TIMOUT flag in ISR register
Bit 13: Alert flag clear.
Allowed values:
1: Clear: Clears the ALERT flag in ISR register
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 |
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 |
Transmit data register
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TXDATA
rw |
0x40005800: Inter-integrated circuit
76/76 fields covered.
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 | CR1 | ||||||||||||||||||||||||||||||||
0x4 | CR2 | ||||||||||||||||||||||||||||||||
0x8 | OAR1 | ||||||||||||||||||||||||||||||||
0xc | OAR2 | ||||||||||||||||||||||||||||||||
0x10 | TIMINGR | ||||||||||||||||||||||||||||||||
0x14 | TIMEOUTR | ||||||||||||||||||||||||||||||||
0x18 | ISR | ||||||||||||||||||||||||||||||||
0x1c | ICR | ||||||||||||||||||||||||||||||||
0x20 | PECR | ||||||||||||||||||||||||||||||||
0x24 | RXDR | ||||||||||||||||||||||||||||||||
0x28 | TXDR |
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 |
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 3 APB clock cycles..
Allowed values:
0: Disabled: Peripheral disabled
1: Enabled: Peripheral enabled
Bit 1: TX Interrupt enable.
Allowed values:
0: Disabled: Transmit (TXIS) interrupt disabled
1: Enabled: Transmit (TXIS) interrupt enabled
Bit 2: RX Interrupt enable.
Allowed values:
0: Disabled: Receive (RXNE) interrupt disabled
1: Enabled: Receive (RXNE) interrupt enabled
Bit 3: Address match Interrupt enable (slave only).
Allowed values:
0: Disabled: Address match (ADDR) interrupts disabled
1: Enabled: Address match (ADDR) interrupts enabled
Bit 4: Not acknowledge received Interrupt enable.
Allowed values:
0: Disabled: Not acknowledge (NACKF) received interrupts disabled
1: Enabled: Not acknowledge (NACKF) received interrupts enabled
Bit 5: Stop detection Interrupt enable.
Allowed values:
0: Disabled: Stop detection (STOPF) interrupt disabled
1: Enabled: Stop detection (STOPF) interrupt enabled
Bit 6: Transfer Complete interrupt enable Note: Any of these events generate an interrupt: Transfer Complete (TC) Transfer Complete Reload (TCR).
Allowed values:
0: Disabled: Transfer Complete interrupt disabled
1: Enabled: Transfer Complete interrupt enabled
Bit 7: Error interrupts enable Note: Any of these errors generate an interrupt: Arbitration Loss (ARLO) Bus Error detection (BERR) Overrun/Underrun (OVR) Timeout detection (TIMEOUT) PEC error detection (PECERR) Alert pin event detection (ALERT).
Allowed values:
0: Disabled: Error detection interrupts disabled
1: Enabled: Error detection interrupts enabled
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] * tI2CCLK ... Note: If the analog filter is also enabled, the digital filter is added to the analog filter. This filter can only be programmed when the I2C is disabled (PE = 0)..
Allowed values:
0: NoFilter: Digital filter disabled
1: Filter1: Digital filter enabled and filtering capability up to 1 tI2CCLK
2: Filter2: Digital filter enabled and filtering capability up to 2 tI2CCLK
3: Filter3: Digital filter enabled and filtering capability up to 3 tI2CCLK
4: Filter4: Digital filter enabled and filtering capability up to 4 tI2CCLK
5: Filter5: Digital filter enabled and filtering capability up to 5 tI2CCLK
6: Filter6: Digital filter enabled and filtering capability up to 6 tI2CCLK
7: Filter7: Digital filter enabled and filtering capability up to 7 tI2CCLK
8: Filter8: Digital filter enabled and filtering capability up to 8 tI2CCLK
9: Filter9: Digital filter enabled and filtering capability up to 9 tI2CCLK
10: Filter10: Digital filter enabled and filtering capability up to 10 tI2CCLK
11: Filter11: Digital filter enabled and filtering capability up to 11 tI2CCLK
12: Filter12: Digital filter enabled and filtering capability up to 12 tI2CCLK
13: Filter13: Digital filter enabled and filtering capability up to 13 tI2CCLK
14: Filter14: Digital filter enabled and filtering capability up to 14 tI2CCLK
15: Filter15: Digital filter enabled and filtering capability up to 15 tI2CCLK
Bit 12: Analog noise filter OFF Note: This bit can only be programmed when the I2C is disabled (PE = 0)..
Allowed values:
0: Enabled: Analog noise filter enabled
1: Disabled: Analog noise filter disabled
Bit 14: DMA transmission requests enable.
Allowed values:
0: Disabled: DMA mode disabled for transmission
1: Enabled: DMA mode enabled for transmission
Bit 15: DMA reception requests enable.
Allowed values:
0: Disabled: DMA mode disabled for reception
1: Enabled: DMA mode enabled for reception
Bit 16: Slave byte control This bit is used to enable hardware byte control in slave mode..
Allowed values:
0: Disabled: Slave byte control disabled
1: Enabled: Slave byte control enabled
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 only be programmed when the I2C is disabled (PE = 0)..
Allowed values:
0: Enabled: Clock stretching enabled
1: Disabled: Clock stretching disabled
Bit 18: Wakeup from Stop mode enable Note: If the Wakeup from Stop mode feature is not supported, this bit is reserved and forced by hardware to '0'. Refer to . Note: WUPEN can be set only when DNF = '0000'.
Allowed values:
0: Disabled: Wakeup from Stop mode disabled
1: Enabled: Wakeup from Stop mode enabled
Bit 19: General call enable.
Allowed values:
0: Disabled: General call disabled. Address 0b00000000 is NACKed
1: Enabled: General call enabled. Address 0b00000000 is ACKed
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 ..
Allowed values:
0: Disabled: Host address disabled. Address 0b0001000x is NACKed
1: Enabled: Host address enabled. Address 0b0001000x is ACKed
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 ..
Allowed values:
0: Disabled: Device default address disabled. Address 0b1100001x is NACKed
1: Enabled: Device default address enabled. Address 0b1100001x is ACKed
Bit 22: SMBus alert enable Note: When ALERTEN=0, the SMBA pin can be used as a standard GPIO. If the SMBus feature is not supported, this bit is reserved and forced by hardware to '0'. Refer to ..
Allowed values:
0: Disabled: In device mode (SMBHEN=Disabled) Releases SMBA pin high and Alert Response Address Header disabled (0001100x) followed by NACK. In host mode (SMBHEN=Enabled) SMBus Alert pin (SMBA) not supported
1: Enabled: In device mode (SMBHEN=Disabled) Drives SMBA pin low and Alert Response Address Header enabled (0001100x) followed by ACK.In host mode (SMBHEN=Enabled) SMBus Alert pin (SMBA) supported
Bit 23: PEC enable Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to '0'. Refer to ..
Allowed values:
0: Disabled: PEC calculation disabled
1: Enabled: PEC calculation enabled
Control register 2
Offset: 0x4, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 |
Bits 0-9: Slave address (master mode) In 7-bit addressing mode (ADD10 = 0): SADD[7:1] should be written with the 7-bit slave address to be sent. The bits SADD[9], SADD[8] and SADD[0] are don't care. In 10-bit addressing mode (ADD10 = 1): SADD[9:0] should be written with the 10-bit slave address to be sent. Note: Changing these bits when the START bit is set is not allowed..
Allowed values: 0x0-0x3ff
Bit 10: Transfer direction (master mode) Note: Changing this bit when the START bit is set is not allowed..
Allowed values:
0: Write: Master requests a write transfer
1: Read: Master requests a read transfer
Bit 11: 10-bit addressing mode (master mode) Note: Changing this bit when the START bit is set is not allowed..
Allowed values:
0: Bit7: The master operates in 7-bit addressing mode
1: Bit10: The master operates in 10-bit addressing mode
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: Complete: The master sends the complete 10 bit slave address read sequence
1: Partial: The master only sends the 1st 7 bits of the 10 bit address, followed by Read direction
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 a timeout error detection, or when PE = 0. It can also be cleared by software by writing '1' to the ADDRCF bit in the I2C_ICR register. 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. The START bit can be set even if the bus is BUSY or I2C is in slave mode. This bit has no effect when RELOAD is set..
Allowed values:
0: NoStart: No Start generation
1: Start: Restart/Start generation
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: NoStop: No Stop generation
1: Stop: Stop generation after current byte transfer
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. This bit is used in slave mode only: in master receiver mode, NACK is automatically generated after last byte preceding STOP or RESTART condition, whatever the NACK bit value. When an overrun occurs in slave receiver NOSTRETCH mode, a NACK is automatically generated whatever the NACK bit value. When hardware PEC checking is enabled (PECBYTE=1), the PEC acknowledge value does not depend on the NACK value..
Allowed values:
0: Ack: an ACK is sent after current received byte
1: Nack: a NACK is sent after current received byte
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..
Allowed values: 0x0-0xff
Bit 24: NBYTES reload mode This bit is set and cleared by software..
Allowed values:
0: Completed: The transfer is completed after the NBYTES data transfer (STOP or RESTART will follow)
1: NotCompleted: The transfer is not completed after the NBYTES data transfer (NBYTES will be reloaded)
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: Software: Software end mode: TC flag is set when NBYTES data are transferred, stretching SCL low
1: Automatic: Automatic end mode: a STOP condition is automatically sent when NBYTES data are transferred
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. This bit has no effect when RELOAD is set. This bit has no effect is slave mode when SBC=0. If the SMBus feature is not supported, this bit is reserved and forced by hardware to '0'. Refer to ..
Allowed values:
0: NoPec: No PEC transfer
1: Pec: PEC transmission/reception is requested
Own address register 1
Offset: 0x8, size: 32, reset: 0x00000000, access: read-write
3/3 fields covered.
Bits 0-9: Interface own slave address 7-bit addressing mode: OA1[7:1] contains the 7-bit own slave address. The 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..
Allowed values: 0x0-0x3ff
Bit 10: Own Address 1 10-bit mode Note: This bit can be written only when OA1EN=0..
Allowed values:
0: Bit7: Own address 1 is a 7-bit address
1: Bit10: Own address 1 is a 10-bit address
Bit 15: Own Address 1 enable.
Allowed values:
0: Disabled: Own address 1 disabled. The received slave address OA1 is NACKed
1: Enabled: Own address 1 enabled. The received slave address OA1 is ACKed
Own address register 2
Offset: 0xc, size: 32, reset: 0x00000000, access: read-write
3/3 fields covered.
Bits 1-7: Interface address 7-bit addressing mode: 7-bit address Note: These bits can be written only when OA2EN=0..
Allowed values: 0x0-0x7f
Bits 8-10: Own Address 2 masks Note: These bits can be written only when OA2EN=0. As soon as OA2MSK is not equal to 0, the reserved I2C addresses (0b0000xxx and 0b1111xxx) are not acknowledged even if the comparison matches..
Allowed values:
0: NoMask: No mask
1: Mask1: OA2[1] is masked and don’t care. Only OA2[7:2] are compared
2: Mask2: OA2[2:1] are masked and don’t care. Only OA2[7:3] are compared
3: Mask3: OA2[3:1] are masked and don’t care. Only OA2[7:4] are compared
4: Mask4: OA2[4:1] are masked and don’t care. Only OA2[7:5] are compared
5: Mask5: OA2[5:1] are masked and don’t care. Only OA2[7:6] are compared
6: Mask6: OA2[6:1] are masked and don’t care. Only OA2[7] is compared.
7: Mask7: OA2[7:1] are masked and don’t care. No comparison is done, and all (except reserved) 7-bit received addresses are acknowledged
Bit 15: Own Address 2 enable.
Allowed values:
0: Disabled: Own address 2 disabled. The received slave address OA2 is NACKed
1: Enabled: Own address 2 enabled. The received slave address OA2 is ACKed
Timing register
Offset: 0x10, size: 32, reset: 0x00000000, access: read-write
5/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 |
Bits 0-7: SCL low period (master mode).
Allowed values: 0x0-0xff
Bits 8-15: SCL high period (master mode).
Allowed values: 0x0-0xff
Bits 16-19: Data hold time.
Allowed values: 0x0-0xf
Bits 20-23: Data setup time.
Allowed values: 0x0-0xf
Bits 28-31: Timing prescaler.
Allowed values: 0x0-0xf
Status register 1
Offset: 0x14, size: 32, reset: 0x00000000, access: read-write
5/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 |
Bits 0-11: Bus Timeout A This field is used to configure: The SCL low timeout condition tTIMEOUT when TIDLE=0 tTIMEOUT= (TIMEOUTA+1) x 2048 x tI2CCLK The bus idle condition (both SCL and SDA high) when TIDLE=1 tIDLE= (TIMEOUTA+1) x 4 x tI2CCLK Note: These bits can be written only when TIMOUTEN=0..
Allowed values: 0x0-0xfff
Bit 12: Idle clock timeout detection Note: This bit can be written only when TIMOUTEN=0..
Allowed values:
0: Disabled: TIMEOUTA is used to detect SCL low timeout
1: Enabled: TIMEOUTA is used to detect both SCL and SDA high timeout (bus idle condition)
Bit 15: Clock timeout enable.
Allowed values:
0: Disabled: SCL timeout detection is disabled
1: Enabled: SCL timeout detection is enabled
Bits 16-27: Bus timeout B This field is used to configure the cumulative clock extension timeout: In master mode, the master cumulative clock low extend time (tLOW:MEXT) is detected In slave mode, the slave cumulative clock low extend time (tLOW:SEXT) is detected tLOW:EXT= (TIMEOUTB+1) x 2048 x tI2CCLK Note: These bits can be written only when TEXTEN=0..
Allowed values: 0x0-0xfff
Bit 31: Extended clock timeout enable.
Allowed values:
0: Disabled: Extended clock timeout detection is disabled
1: Enabled: Extended clock timeout detection is enabled
Interrupt and Status register
Offset: 0x18, size: 32, reset: 0x00000001, access: Unspecified
17/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 |
Bit 0: Transmit data register empty (transmitters).
Allowed values:
0: NotEmpty: TXDR register not empty
1: Empty: TXDR register empty
Bit 1: Transmit interrupt status (transmitters).
Allowed values:
0: NotEmpty: The TXDR register is not empty
1: Empty: The TXDR register is empty and the data to be transmitted must be written in the TXDR register
Bit 2: Receive data register not empty (receivers).
Allowed values:
0: Empty: The RXDR register is empty
1: NotEmpty: Received data is copied into the RXDR register, and is ready to be read
Bit 3: Address matched (slave mode).
Allowed values:
0: NotMatch: Adress mismatched or not received
1: Match: Received slave address matched with one of the enabled slave addresses
Bit 4: Not acknowledge received flag.
Allowed values:
0: NoNack: No NACK has been received
1: Nack: NACK has been received
Bit 5: Stop detection flag.
Allowed values:
0: NoStop: No Stop condition detected
1: Stop: Stop condition detected
Bit 6: Transfer Complete (master mode).
Allowed values:
0: NotComplete: Transfer is not complete
1: Complete: NBYTES has been transfered
Bit 7: Transfer Complete Reload.
Allowed values:
0: NotComplete: Transfer is not complete
1: Complete: NBYTES has been transfered
Bit 8: Bus error.
Allowed values:
0: NoError: No bus error
1: Error: Misplaced Start and Stop condition is detected
Bit 9: Arbitration lost.
Allowed values:
0: NotLost: No arbitration lost
1: Lost: Arbitration lost
Bit 10: Overrun/Underrun (slave mode).
Allowed values:
0: NoOverrun: No overrun/underrun error occurs
1: Overrun: slave mode with NOSTRETCH=1, when an overrun/underrun error occurs
Bit 11: PEC Error in reception.
Allowed values:
0: Match: Received PEC does match with PEC register
1: NoMatch: Received PEC does not match with PEC register
Bit 12: Timeout or t_low detection flag.
Allowed values:
0: NoTimeout: No timeout occured
1: Timeout: Timeout occured
Bit 13: SMBus alert.
Allowed values:
0: NoAlert: SMBA alert is not detected
1: Alert: SMBA alert event is detected on SMBA pin
Bit 15: Bus busy.
Allowed values:
0: NotBusy: No communication is in progress on the bus
1: Busy: A communication is in progress on the bus
Bit 16: Transfer direction (Slave mode) This flag is updated when an address match event occurs (ADDR=1)..
Allowed values:
0: Write: Write transfer, slave enters receiver mode
1: Read: Read transfer, slave enters transmitter mode
Bits 17-23: Address match code (Slave mode).
Allowed values: 0x0-0x7f
Interrupt clear register
Offset: 0x1c, size: 32, reset: 0x00000000, access: write-only
9/9 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ALERTCF
w |
TIMOUTCF
w |
PECCF
w |
OVRCF
w |
ARLOCF
w |
BERRCF
w |
STOPCF
w |
NACKCF
w |
ADDRCF
w |
Bit 3: Address Matched flag clear.
Allowed values:
1: Clear: Clears the ADDR flag in ISR register
Bit 4: Not Acknowledge flag clear.
Allowed values:
1: Clear: Clears the NACK flag in ISR register
Bit 5: Stop detection flag clear.
Allowed values:
1: Clear: Clears the STOP flag in ISR register
Bit 8: Bus error flag clear.
Allowed values:
1: Clear: Clears the BERR flag in ISR register
Bit 9: Arbitration lost flag clear.
Allowed values:
1: Clear: Clears the ARLO flag in ISR register
Bit 10: Overrun/Underrun flag clear.
Allowed values:
1: Clear: Clears the OVR flag in ISR register
Bit 11: PEC Error flag clear.
Allowed values:
1: Clear: Clears the PEC flag in ISR register
Bit 12: Timeout detection flag clear.
Allowed values:
1: Clear: Clears the TIMOUT flag in ISR register
Bit 13: Alert flag clear.
Allowed values:
1: Clear: Clears the ALERT flag in ISR register
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 |
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 |
Transmit data register
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TXDATA
rw |
0x40008800: Inter-integrated circuit
76/76 fields covered.
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 | CR1 | ||||||||||||||||||||||||||||||||
0x4 | CR2 | ||||||||||||||||||||||||||||||||
0x8 | OAR1 | ||||||||||||||||||||||||||||||||
0xc | OAR2 | ||||||||||||||||||||||||||||||||
0x10 | TIMINGR | ||||||||||||||||||||||||||||||||
0x14 | TIMEOUTR | ||||||||||||||||||||||||||||||||
0x18 | ISR | ||||||||||||||||||||||||||||||||
0x1c | ICR | ||||||||||||||||||||||||||||||||
0x20 | PECR | ||||||||||||||||||||||||||||||||
0x24 | RXDR | ||||||||||||||||||||||||||||||||
0x28 | TXDR |
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 |
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 3 APB clock cycles..
Allowed values:
0: Disabled: Peripheral disabled
1: Enabled: Peripheral enabled
Bit 1: TX Interrupt enable.
Allowed values:
0: Disabled: Transmit (TXIS) interrupt disabled
1: Enabled: Transmit (TXIS) interrupt enabled
Bit 2: RX Interrupt enable.
Allowed values:
0: Disabled: Receive (RXNE) interrupt disabled
1: Enabled: Receive (RXNE) interrupt enabled
Bit 3: Address match Interrupt enable (slave only).
Allowed values:
0: Disabled: Address match (ADDR) interrupts disabled
1: Enabled: Address match (ADDR) interrupts enabled
Bit 4: Not acknowledge received Interrupt enable.
Allowed values:
0: Disabled: Not acknowledge (NACKF) received interrupts disabled
1: Enabled: Not acknowledge (NACKF) received interrupts enabled
Bit 5: Stop detection Interrupt enable.
Allowed values:
0: Disabled: Stop detection (STOPF) interrupt disabled
1: Enabled: Stop detection (STOPF) interrupt enabled
Bit 6: Transfer Complete interrupt enable Note: Any of these events generate an interrupt: Transfer Complete (TC) Transfer Complete Reload (TCR).
Allowed values:
0: Disabled: Transfer Complete interrupt disabled
1: Enabled: Transfer Complete interrupt enabled
Bit 7: Error interrupts enable Note: Any of these errors generate an interrupt: Arbitration Loss (ARLO) Bus Error detection (BERR) Overrun/Underrun (OVR) Timeout detection (TIMEOUT) PEC error detection (PECERR) Alert pin event detection (ALERT).
Allowed values:
0: Disabled: Error detection interrupts disabled
1: Enabled: Error detection interrupts enabled
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] * tI2CCLK ... Note: If the analog filter is also enabled, the digital filter is added to the analog filter. This filter can only be programmed when the I2C is disabled (PE = 0)..
Allowed values:
0: NoFilter: Digital filter disabled
1: Filter1: Digital filter enabled and filtering capability up to 1 tI2CCLK
2: Filter2: Digital filter enabled and filtering capability up to 2 tI2CCLK
3: Filter3: Digital filter enabled and filtering capability up to 3 tI2CCLK
4: Filter4: Digital filter enabled and filtering capability up to 4 tI2CCLK
5: Filter5: Digital filter enabled and filtering capability up to 5 tI2CCLK
6: Filter6: Digital filter enabled and filtering capability up to 6 tI2CCLK
7: Filter7: Digital filter enabled and filtering capability up to 7 tI2CCLK
8: Filter8: Digital filter enabled and filtering capability up to 8 tI2CCLK
9: Filter9: Digital filter enabled and filtering capability up to 9 tI2CCLK
10: Filter10: Digital filter enabled and filtering capability up to 10 tI2CCLK
11: Filter11: Digital filter enabled and filtering capability up to 11 tI2CCLK
12: Filter12: Digital filter enabled and filtering capability up to 12 tI2CCLK
13: Filter13: Digital filter enabled and filtering capability up to 13 tI2CCLK
14: Filter14: Digital filter enabled and filtering capability up to 14 tI2CCLK
15: Filter15: Digital filter enabled and filtering capability up to 15 tI2CCLK
Bit 12: Analog noise filter OFF Note: This bit can only be programmed when the I2C is disabled (PE = 0)..
Allowed values:
0: Enabled: Analog noise filter enabled
1: Disabled: Analog noise filter disabled
Bit 14: DMA transmission requests enable.
Allowed values:
0: Disabled: DMA mode disabled for transmission
1: Enabled: DMA mode enabled for transmission
Bit 15: DMA reception requests enable.
Allowed values:
0: Disabled: DMA mode disabled for reception
1: Enabled: DMA mode enabled for reception
Bit 16: Slave byte control This bit is used to enable hardware byte control in slave mode..
Allowed values:
0: Disabled: Slave byte control disabled
1: Enabled: Slave byte control enabled
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 only be programmed when the I2C is disabled (PE = 0)..
Allowed values:
0: Enabled: Clock stretching enabled
1: Disabled: Clock stretching disabled
Bit 18: Wakeup from Stop mode enable Note: If the Wakeup from Stop mode feature is not supported, this bit is reserved and forced by hardware to '0'. Refer to . Note: WUPEN can be set only when DNF = '0000'.
Allowed values:
0: Disabled: Wakeup from Stop mode disabled
1: Enabled: Wakeup from Stop mode enabled
Bit 19: General call enable.
Allowed values:
0: Disabled: General call disabled. Address 0b00000000 is NACKed
1: Enabled: General call enabled. Address 0b00000000 is ACKed
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 ..
Allowed values:
0: Disabled: Host address disabled. Address 0b0001000x is NACKed
1: Enabled: Host address enabled. Address 0b0001000x is ACKed
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 ..
Allowed values:
0: Disabled: Device default address disabled. Address 0b1100001x is NACKed
1: Enabled: Device default address enabled. Address 0b1100001x is ACKed
Bit 22: SMBus alert enable Note: When ALERTEN=0, the SMBA pin can be used as a standard GPIO. If the SMBus feature is not supported, this bit is reserved and forced by hardware to '0'. Refer to ..
Allowed values:
0: Disabled: In device mode (SMBHEN=Disabled) Releases SMBA pin high and Alert Response Address Header disabled (0001100x) followed by NACK. In host mode (SMBHEN=Enabled) SMBus Alert pin (SMBA) not supported
1: Enabled: In device mode (SMBHEN=Disabled) Drives SMBA pin low and Alert Response Address Header enabled (0001100x) followed by ACK.In host mode (SMBHEN=Enabled) SMBus Alert pin (SMBA) supported
Bit 23: PEC enable Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to '0'. Refer to ..
Allowed values:
0: Disabled: PEC calculation disabled
1: Enabled: PEC calculation enabled
Control register 2
Offset: 0x4, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 |
Bits 0-9: Slave address (master mode) In 7-bit addressing mode (ADD10 = 0): SADD[7:1] should be written with the 7-bit slave address to be sent. The bits SADD[9], SADD[8] and SADD[0] are don't care. In 10-bit addressing mode (ADD10 = 1): SADD[9:0] should be written with the 10-bit slave address to be sent. Note: Changing these bits when the START bit is set is not allowed..
Allowed values: 0x0-0x3ff
Bit 10: Transfer direction (master mode) Note: Changing this bit when the START bit is set is not allowed..
Allowed values:
0: Write: Master requests a write transfer
1: Read: Master requests a read transfer
Bit 11: 10-bit addressing mode (master mode) Note: Changing this bit when the START bit is set is not allowed..
Allowed values:
0: Bit7: The master operates in 7-bit addressing mode
1: Bit10: The master operates in 10-bit addressing mode
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: Complete: The master sends the complete 10 bit slave address read sequence
1: Partial: The master only sends the 1st 7 bits of the 10 bit address, followed by Read direction
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 a timeout error detection, or when PE = 0. It can also be cleared by software by writing '1' to the ADDRCF bit in the I2C_ICR register. 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. The START bit can be set even if the bus is BUSY or I2C is in slave mode. This bit has no effect when RELOAD is set..
Allowed values:
0: NoStart: No Start generation
1: Start: Restart/Start generation
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: NoStop: No Stop generation
1: Stop: Stop generation after current byte transfer
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. This bit is used in slave mode only: in master receiver mode, NACK is automatically generated after last byte preceding STOP or RESTART condition, whatever the NACK bit value. When an overrun occurs in slave receiver NOSTRETCH mode, a NACK is automatically generated whatever the NACK bit value. When hardware PEC checking is enabled (PECBYTE=1), the PEC acknowledge value does not depend on the NACK value..
Allowed values:
0: Ack: an ACK is sent after current received byte
1: Nack: a NACK is sent after current received byte
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..
Allowed values: 0x0-0xff
Bit 24: NBYTES reload mode This bit is set and cleared by software..
Allowed values:
0: Completed: The transfer is completed after the NBYTES data transfer (STOP or RESTART will follow)
1: NotCompleted: The transfer is not completed after the NBYTES data transfer (NBYTES will be reloaded)
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: Software: Software end mode: TC flag is set when NBYTES data are transferred, stretching SCL low
1: Automatic: Automatic end mode: a STOP condition is automatically sent when NBYTES data are transferred
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. This bit has no effect when RELOAD is set. This bit has no effect is slave mode when SBC=0. If the SMBus feature is not supported, this bit is reserved and forced by hardware to '0'. Refer to ..
Allowed values:
0: NoPec: No PEC transfer
1: Pec: PEC transmission/reception is requested
Own address register 1
Offset: 0x8, size: 32, reset: 0x00000000, access: read-write
3/3 fields covered.
Bits 0-9: Interface own slave address 7-bit addressing mode: OA1[7:1] contains the 7-bit own slave address. The 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..
Allowed values: 0x0-0x3ff
Bit 10: Own Address 1 10-bit mode Note: This bit can be written only when OA1EN=0..
Allowed values:
0: Bit7: Own address 1 is a 7-bit address
1: Bit10: Own address 1 is a 10-bit address
Bit 15: Own Address 1 enable.
Allowed values:
0: Disabled: Own address 1 disabled. The received slave address OA1 is NACKed
1: Enabled: Own address 1 enabled. The received slave address OA1 is ACKed
Own address register 2
Offset: 0xc, size: 32, reset: 0x00000000, access: read-write
3/3 fields covered.
Bits 1-7: Interface address 7-bit addressing mode: 7-bit address Note: These bits can be written only when OA2EN=0..
Allowed values: 0x0-0x7f
Bits 8-10: Own Address 2 masks Note: These bits can be written only when OA2EN=0. As soon as OA2MSK is not equal to 0, the reserved I2C addresses (0b0000xxx and 0b1111xxx) are not acknowledged even if the comparison matches..
Allowed values:
0: NoMask: No mask
1: Mask1: OA2[1] is masked and don’t care. Only OA2[7:2] are compared
2: Mask2: OA2[2:1] are masked and don’t care. Only OA2[7:3] are compared
3: Mask3: OA2[3:1] are masked and don’t care. Only OA2[7:4] are compared
4: Mask4: OA2[4:1] are masked and don’t care. Only OA2[7:5] are compared
5: Mask5: OA2[5:1] are masked and don’t care. Only OA2[7:6] are compared
6: Mask6: OA2[6:1] are masked and don’t care. Only OA2[7] is compared.
7: Mask7: OA2[7:1] are masked and don’t care. No comparison is done, and all (except reserved) 7-bit received addresses are acknowledged
Bit 15: Own Address 2 enable.
Allowed values:
0: Disabled: Own address 2 disabled. The received slave address OA2 is NACKed
1: Enabled: Own address 2 enabled. The received slave address OA2 is ACKed
Timing register
Offset: 0x10, size: 32, reset: 0x00000000, access: read-write
5/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 |
Bits 0-7: SCL low period (master mode).
Allowed values: 0x0-0xff
Bits 8-15: SCL high period (master mode).
Allowed values: 0x0-0xff
Bits 16-19: Data hold time.
Allowed values: 0x0-0xf
Bits 20-23: Data setup time.
Allowed values: 0x0-0xf
Bits 28-31: Timing prescaler.
Allowed values: 0x0-0xf
Status register 1
Offset: 0x14, size: 32, reset: 0x00000000, access: read-write
5/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 |
Bits 0-11: Bus Timeout A This field is used to configure: The SCL low timeout condition tTIMEOUT when TIDLE=0 tTIMEOUT= (TIMEOUTA+1) x 2048 x tI2CCLK The bus idle condition (both SCL and SDA high) when TIDLE=1 tIDLE= (TIMEOUTA+1) x 4 x tI2CCLK Note: These bits can be written only when TIMOUTEN=0..
Allowed values: 0x0-0xfff
Bit 12: Idle clock timeout detection Note: This bit can be written only when TIMOUTEN=0..
Allowed values:
0: Disabled: TIMEOUTA is used to detect SCL low timeout
1: Enabled: TIMEOUTA is used to detect both SCL and SDA high timeout (bus idle condition)
Bit 15: Clock timeout enable.
Allowed values:
0: Disabled: SCL timeout detection is disabled
1: Enabled: SCL timeout detection is enabled
Bits 16-27: Bus timeout B This field is used to configure the cumulative clock extension timeout: In master mode, the master cumulative clock low extend time (tLOW:MEXT) is detected In slave mode, the slave cumulative clock low extend time (tLOW:SEXT) is detected tLOW:EXT= (TIMEOUTB+1) x 2048 x tI2CCLK Note: These bits can be written only when TEXTEN=0..
Allowed values: 0x0-0xfff
Bit 31: Extended clock timeout enable.
Allowed values:
0: Disabled: Extended clock timeout detection is disabled
1: Enabled: Extended clock timeout detection is enabled
Interrupt and Status register
Offset: 0x18, size: 32, reset: 0x00000001, access: Unspecified
17/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 |
Bit 0: Transmit data register empty (transmitters).
Allowed values:
0: NotEmpty: TXDR register not empty
1: Empty: TXDR register empty
Bit 1: Transmit interrupt status (transmitters).
Allowed values:
0: NotEmpty: The TXDR register is not empty
1: Empty: The TXDR register is empty and the data to be transmitted must be written in the TXDR register
Bit 2: Receive data register not empty (receivers).
Allowed values:
0: Empty: The RXDR register is empty
1: NotEmpty: Received data is copied into the RXDR register, and is ready to be read
Bit 3: Address matched (slave mode).
Allowed values:
0: NotMatch: Adress mismatched or not received
1: Match: Received slave address matched with one of the enabled slave addresses
Bit 4: Not acknowledge received flag.
Allowed values:
0: NoNack: No NACK has been received
1: Nack: NACK has been received
Bit 5: Stop detection flag.
Allowed values:
0: NoStop: No Stop condition detected
1: Stop: Stop condition detected
Bit 6: Transfer Complete (master mode).
Allowed values:
0: NotComplete: Transfer is not complete
1: Complete: NBYTES has been transfered
Bit 7: Transfer Complete Reload.
Allowed values:
0: NotComplete: Transfer is not complete
1: Complete: NBYTES has been transfered
Bit 8: Bus error.
Allowed values:
0: NoError: No bus error
1: Error: Misplaced Start and Stop condition is detected
Bit 9: Arbitration lost.
Allowed values:
0: NotLost: No arbitration lost
1: Lost: Arbitration lost
Bit 10: Overrun/Underrun (slave mode).
Allowed values:
0: NoOverrun: No overrun/underrun error occurs
1: Overrun: slave mode with NOSTRETCH=1, when an overrun/underrun error occurs
Bit 11: PEC Error in reception.
Allowed values:
0: Match: Received PEC does match with PEC register
1: NoMatch: Received PEC does not match with PEC register
Bit 12: Timeout or t_low detection flag.
Allowed values:
0: NoTimeout: No timeout occured
1: Timeout: Timeout occured
Bit 13: SMBus alert.
Allowed values:
0: NoAlert: SMBA alert is not detected
1: Alert: SMBA alert event is detected on SMBA pin
Bit 15: Bus busy.
Allowed values:
0: NotBusy: No communication is in progress on the bus
1: Busy: A communication is in progress on the bus
Bit 16: Transfer direction (Slave mode) This flag is updated when an address match event occurs (ADDR=1)..
Allowed values:
0: Write: Write transfer, slave enters receiver mode
1: Read: Read transfer, slave enters transmitter mode
Bits 17-23: Address match code (Slave mode).
Allowed values: 0x0-0x7f
Interrupt clear register
Offset: 0x1c, size: 32, reset: 0x00000000, access: write-only
9/9 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ALERTCF
w |
TIMOUTCF
w |
PECCF
w |
OVRCF
w |
ARLOCF
w |
BERRCF
w |
STOPCF
w |
NACKCF
w |
ADDRCF
w |
Bit 3: Address Matched flag clear.
Allowed values:
1: Clear: Clears the ADDR flag in ISR register
Bit 4: Not Acknowledge flag clear.
Allowed values:
1: Clear: Clears the NACK flag in ISR register
Bit 5: Stop detection flag clear.
Allowed values:
1: Clear: Clears the STOP flag in ISR register
Bit 8: Bus error flag clear.
Allowed values:
1: Clear: Clears the BERR flag in ISR register
Bit 9: Arbitration lost flag clear.
Allowed values:
1: Clear: Clears the ARLO flag in ISR register
Bit 10: Overrun/Underrun flag clear.
Allowed values:
1: Clear: Clears the OVR flag in ISR register
Bit 11: PEC Error flag clear.
Allowed values:
1: Clear: Clears the PEC flag in ISR register
Bit 12: Timeout detection flag clear.
Allowed values:
1: Clear: Clears the TIMOUT flag in ISR register
Bit 13: Alert flag clear.
Allowed values:
1: Clear: Clears the ALERT flag in ISR register
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 |
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 |
Transmit data register
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TXDATA
rw |
0x40003000: Independent watchdog
7/7 fields covered.
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 | KR | ||||||||||||||||||||||||||||||||
0x4 | PR | ||||||||||||||||||||||||||||||||
0x8 | RLR | ||||||||||||||||||||||||||||||||
0xc | SR | ||||||||||||||||||||||||||||||||
0x10 | WINR |
Key register
Offset: 0x0, size: 32, reset: 0x00000000, access: write-only
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
KEY
w |
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 |
Bits 0-2: Prescaler divider These bits are write access protected see . They are written by software to select the prescaler divider feeding the counter clock. PVU bit of the must be reset in order to be able to change the prescaler divider. Note: Reading this register returns the prescaler value from the VDD 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 status register (IWDG_SR) is reset..
Allowed values:
0: DivideBy4: Divider /4
1: DivideBy8: Divider /8
2: DivideBy16: Divider /16
3: DivideBy32: Divider /32
4: DivideBy64: Divider /64
5: DivideBy128: Divider /128
6: DivideBy256: Divider /256
Reload register
Offset: 0x8, size: 32, reset: 0x00000FFF, access: read-write
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
RL
rw |
Status register
Offset: 0xc, size: 32, reset: 0x00000000, access: read-only
3/3 fields covered.
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 VDD voltage domain (takes up to five LSI cycles). Prescaler value can be updated only when PVU bit is reset..
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 VDD voltage domain (takes up to five LSI cycles). Reload value can be updated only when RVU bit is reset..
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 VDD voltage domain (takes up to five LSI cycles). Window value can be updated only when WVU bit is reset..
Window register
Offset: 0x10, size: 32, reset: 0x00000FFF, access: read-write
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
WIN
rw |
0x40007000: Power control
12/231 fields covered.
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 | CR1 | ||||||||||||||||||||||||||||||||
0x4 | CR2 | ||||||||||||||||||||||||||||||||
0x8 | CR3 | ||||||||||||||||||||||||||||||||
0xc | CR4 | ||||||||||||||||||||||||||||||||
0x10 | SR1 | ||||||||||||||||||||||||||||||||
0x14 | SR2 | ||||||||||||||||||||||||||||||||
0x18 | SCR | ||||||||||||||||||||||||||||||||
0x20 | PUCRA | ||||||||||||||||||||||||||||||||
0x24 | PDCRA | ||||||||||||||||||||||||||||||||
0x28 | PUCRB | ||||||||||||||||||||||||||||||||
0x2c | PDCRB | ||||||||||||||||||||||||||||||||
0x30 | PUCRC | ||||||||||||||||||||||||||||||||
0x34 | PDCRC | ||||||||||||||||||||||||||||||||
0x38 | PUCRD | ||||||||||||||||||||||||||||||||
0x3c | PDCRD | ||||||||||||||||||||||||||||||||
0x40 | PUCRE | ||||||||||||||||||||||||||||||||
0x44 | PDCRE | ||||||||||||||||||||||||||||||||
0x48 | PUCRF | ||||||||||||||||||||||||||||||||
0x4c | PDCRF |
Power control register 1
Offset: 0x0, size: 32, reset: 0x00000208, access: read-write
0/7 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
LPR
rw |
VOS
rw |
DBP
rw |
FPD_LPSLP
rw |
FPD_LPRUN
rw |
FPD_STOP
rw |
LPMS
rw |
Bits 0-2: Low-power mode selection.
Bit 3: Flash memory powered down during Stop mode.
Bit 4: Flash memory powered down during Low-power run mode.
Bit 5: Flash memory powered down during Low-power sleep mode.
Bit 8: Disable backup domain write protection.
Bits 9-10: Voltage scaling range selection.
Bit 14: Low-power run.
Power control register 2
Offset: 0x4, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
USV
rw |
Power control register 3
Offset: 0x8, size: 32, reset: 0x00008000, access: read-write
0/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 |
Bit 0: Enable Wakeup pin WKUP1.
Bit 1: Enable Wakeup pin WKUP2.
Bit 2: Enable Wakeup pin WKUP3.
Bit 3: Enable Wakeup pin WKUP4.
Bit 4: Enable WKUP5 wakeup pin.
Bit 5: Enable WKUP6 wakeup pin.
Bit 10: Apply pull-up and pull-down configuration.
Bit 15: Enable internal wakeup line.
Power control register 4
Offset: 0xc, size: 32, reset: 0x00000000, access: read-write
0/8 fields covered.
Bit 0: Wakeup pin WKUP1 polarity.
Bit 1: Wakeup pin WKUP2 polarity.
Bit 2: Wakeup pin WKUP3 polarity.
Bit 3: Wakeup pin WKUP4 polarity.
Bit 4: Wakeup pin WKUP5 polarity.
Bit 5: WKUP6 wakeup pin polarity.
Bit 8: VBAT battery charging enable.
Bit 9: VBAT battery charging resistor selection.
Power status register 1
Offset: 0x10, size: 32, reset: 0x00000000, access: read-only
8/8 fields covered.
Power status register 2
Offset: 0x14, size: 32, reset: 0x00000000, access: read-only
4/4 fields covered.
Power status clear register
Offset: 0x18, size: 32, reset: 0x00000000, access: write-only
0/7 fields covered.
Power 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 |
Bit 0: Port A pull-up bit y (y=0..15).
Bit 1: Port A pull-up bit y (y=0..15).
Bit 2: Port A pull-up bit y (y=0..15).
Bit 3: Port A pull-up bit y (y=0..15).
Bit 4: Port A pull-up bit y (y=0..15).
Bit 5: Port A pull-up bit y (y=0..15).
Bit 6: Port A pull-up bit y (y=0..15).
Bit 7: Port A pull-up bit y (y=0..15).
Bit 8: Port A pull-up bit y (y=0..15).
Bit 9: Port A pull-up bit y (y=0..15).
Bit 10: Port A pull-up bit y (y=0..15).
Bit 11: Port A pull-up bit y (y=0..15).
Bit 12: Port A pull-up bit y (y=0..15).
Bit 13: Port A pull-up bit y (y=0..15).
Bit 14: Port A pull-up bit y (y=0..15).
Bit 15: Port A pull-up bit y (y=0..15).
Power 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 |
Bit 0: Port A pull-down bit y (y=0..15).
Bit 1: Port A pull-down bit y (y=0..15).
Bit 2: Port A pull-down bit y (y=0..15).
Bit 3: Port A pull-down bit y (y=0..15).
Bit 4: Port A pull-down bit y (y=0..15).
Bit 5: Port A pull-down bit y (y=0..15).
Bit 6: Port A pull-down bit y (y=0..15).
Bit 7: Port A pull-down bit y (y=0..15).
Bit 8: Port A pull-down bit y (y=0..15).
Bit 9: Port A pull-down bit y (y=0..15).
Bit 10: Port A pull-down bit y (y=0..15).
Bit 11: Port A pull-down bit y (y=0..15).
Bit 12: Port A pull-down bit y (y=0..15).
Bit 13: Port A pull-down bit y (y=0..15).
Bit 14: Port A pull-down bit y (y=0..15).
Bit 15: Port A pull-down bit y (y=0..15).
Power 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 |
Bit 0: Port B pull-up bit y (y=0..15).
Bit 1: Port B pull-up bit y (y=0..15).
Bit 2: Port B pull-up bit y (y=0..15).
Bit 3: Port B pull-up bit y (y=0..15).
Bit 4: Port B pull-up bit y (y=0..15).
Bit 5: Port B pull-up bit y (y=0..15).
Bit 6: Port B pull-up bit y (y=0..15).
Bit 7: Port B pull-up bit y (y=0..15).
Bit 8: Port B pull-up bit y (y=0..15).
Bit 9: Port B pull-up bit y (y=0..15).
Bit 10: Port B pull-up bit y (y=0..15).
Bit 11: Port B pull-up bit y (y=0..15).
Bit 12: Port B pull-up bit y (y=0..15).
Bit 13: Port B pull-up bit y (y=0..15).
Bit 14: Port B pull-up bit y (y=0..15).
Bit 15: Port B pull-up bit y (y=0..15).
Power 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 |
Bit 0: Port B pull-down bit y (y=0..15).
Bit 1: Port B pull-down bit y (y=0..15).
Bit 2: Port B pull-down bit y (y=0..15).
Bit 3: Port B pull-down bit y (y=0..15).
Bit 4: Port B pull-down bit y (y=0..15).
Bit 5: Port B pull-down bit y (y=0..15).
Bit 6: Port B pull-down bit y (y=0..15).
Bit 7: Port B pull-down bit y (y=0..15).
Bit 8: Port B pull-down bit y (y=0..15).
Bit 9: Port B pull-down bit y (y=0..15).
Bit 10: Port B pull-down bit y (y=0..15).
Bit 11: Port B pull-down bit y (y=0..15).
Bit 12: Port B pull-down bit y (y=0..15).
Bit 13: Port B pull-down bit y (y=0..15).
Bit 14: Port B pull-down bit y (y=0..15).
Bit 15: Port B pull-down bit y (y=0..15).
Power 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 |
Bit 0: Port C pull-up bit y (y=0..15).
Bit 1: Port C pull-up bit y (y=0..15).
Bit 2: Port C pull-up bit y (y=0..15).
Bit 3: Port C pull-up bit y (y=0..15).
Bit 4: Port C pull-up bit y (y=0..15).
Bit 5: Port C pull-up bit y (y=0..15).
Bit 6: Port C pull-up bit y (y=0..15).
Bit 7: Port C pull-up bit y (y=0..15).
Bit 8: Port C pull-up bit y (y=0..15).
Bit 9: Port C pull-up bit y (y=0..15).
Bit 10: Port C pull-up bit y (y=0..15).
Bit 11: Port C pull-up bit y (y=0..15).
Bit 12: Port C pull-up bit y (y=0..15).
Bit 13: Port C pull-up bit y (y=0..15).
Bit 14: Port C pull-up bit y (y=0..15).
Bit 15: Port C pull-up bit y (y=0..15).
Power 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 |
Bit 0: Port C pull-down bit y (y=0..15).
Bit 1: Port C pull-down bit y (y=0..15).
Bit 2: Port C pull-down bit y (y=0..15).
Bit 3: Port C pull-down bit y (y=0..15).
Bit 4: Port C pull-down bit y (y=0..15).
Bit 5: Port C pull-down bit y (y=0..15).
Bit 6: Port C pull-down bit y (y=0..15).
Bit 7: Port C pull-down bit y (y=0..15).
Bit 8: Port C pull-down bit y (y=0..15).
Bit 9: Port C pull-down bit y (y=0..15).
Bit 10: Port C pull-down bit y (y=0..15).
Bit 11: Port C pull-down bit y (y=0..15).
Bit 12: Port C pull-down bit y (y=0..15).
Bit 13: Port C pull-down bit y (y=0..15).
Bit 14: Port C pull-down bit y (y=0..15).
Bit 15: Port C pull-down bit y (y=0..15).
Power Port D pull-up control register
Offset: 0x38, 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 |
Bit 0: Port D pull-up bit y (y=0..15).
Bit 1: Port D pull-up bit y (y=0..15).
Bit 2: Port D pull-up bit y (y=0..15).
Bit 3: Port D pull-up bit y (y=0..15).
Bit 4: Port D pull-up bit y (y=0..15).
Bit 5: Port D pull-up bit y (y=0..15).
Bit 6: Port D pull-up bit y (y=0..15).
Bit 7: Port D pull-up bit y (y=0..15).
Bit 8: Port D pull-up bit y (y=0..15).
Bit 9: Port D pull-up bit y (y=0..15).
Bit 10: Port D pull-up bit y (y=0..15).
Bit 11: Port D pull-up bit y (y=0..15).
Bit 12: Port D pull-up bit y (y=0..15).
Bit 13: Port D pull-up bit y (y=0..15).
Bit 14: Port D pull-up bit y (y=0..15).
Bit 15: Port D pull-up bit y (y=0..15).
Power Port D pull-down control register
Offset: 0x3c, 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 |
Bit 0: Port D pull-down bit y (y=0..15).
Bit 1: Port D pull-down bit y (y=0..15).
Bit 2: Port D pull-down bit y (y=0..15).
Bit 3: Port D pull-down bit y (y=0..15).
Bit 4: Port D pull-down bit y (y=0..15).
Bit 5: Port D pull-down bit y (y=0..15).
Bit 6: Port D pull-down bit y (y=0..15).
Bit 7: Port D pull-down bit y (y=0..15).
Bit 8: Port D pull-down bit y (y=0..15).
Bit 9: Port D pull-down bit y (y=0..15).
Bit 10: Port D pull-down bit y (y=0..15).
Bit 11: Port D pull-down bit y (y=0..15).
Bit 12: Port D pull-down bit y (y=0..15).
Bit 13: Port D pull-down bit y (y=0..15).
Bit 14: Port D pull-down bit y (y=0..15).
Bit 15: Port D pull-down bit y (y=0..15).
Power Port E pull-UP control register
Offset: 0x40, 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 |
Bit 0: Port E pull-up bit y (y=0..15).
Bit 1: Port E pull-up bit y (y=0..15).
Bit 2: Port E pull-up bit y (y=0..15).
Bit 3: Port E pull-up bit y (y=0..15).
Bit 4: Port E pull-up bit y (y=0..15).
Bit 5: Port E pull-up bit y (y=0..15).
Bit 6: Port E pull-up bit y (y=0..15).
Bit 7: Port E pull-up bit y (y=0..15).
Bit 8: Port E pull-up bit y (y=0..15).
Bit 9: Port E pull-up bit y (y=0..15).
Bit 10: Port E pull-up bit y (y=0..15).
Bit 11: Port E pull-up bit y (y=0..15).
Bit 12: Port E pull-up bit y (y=0..15).
Bit 13: Port E pull-up bit y (y=0..15).
Bit 14: Port E pull-up bit y (y=0..15).
Bit 15: Port E pull-up bit y (y=0..15).
Power Port E pull-down control register
Offset: 0x44, 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 |
Bit 0: Port E pull-down bit y (y=0..15).
Bit 1: Port E pull-down bit y (y=0..15).
Bit 2: Port E pull-down bit y (y=0..15).
Bit 3: Port E pull-down bit y (y=0..15).
Bit 4: Port E pull-down bit y (y=0..15).
Bit 5: Port E pull-down bit y (y=0..15).
Bit 6: Port E pull-down bit y (y=0..15).
Bit 7: Port E pull-down bit y (y=0..15).
Bit 8: Port E pull-down bit y (y=0..15).
Bit 9: Port E pull-down bit y (y=0..15).
Bit 10: Port E pull-down bit y (y=0..15).
Bit 11: Port E pull-down bit y (y=0..15).
Bit 12: Port E pull-down bit y (y=0..15).
Bit 13: Port E pull-down bit y (y=0..15).
Bit 14: Port E pull-down bit y (y=0..15).
Bit 15: Port E pull-down bit y (y=0..15).
Power Port F pull-up control register
Offset: 0x48, size: 32, reset: 0x00000000, access: read-write
0/14 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 |
Bit 0: Port F pull-up bit y (y=0..15).
Bit 1: Port F pull-up bit y (y=0..15).
Bit 2: Port F pull-up bit y (y=0..15).
Bit 3: Port F pull-up bit y (y=0..15).
Bit 4: Port F pull-up bit y (y=0..15).
Bit 5: Port F pull-up bit y (y=0..15).
Bit 6: Port F pull-up bit y (y=0..15).
Bit 7: Port F pull-up bit y (y=0..15).
Bit 8: Port F pull-up bit y (y=0..15).
Bit 9: Port F pull-up bit y (y=0..15).
Bit 10: Port F pull-up bit y (y=0..15).
Bit 11: Port F pull-up bit y (y=0..15).
Bit 12: Port F pull-up bit y (y=0..15).
Bit 13: Port F pull-up bit y (y=0..15).
Power Port F pull-down control register
Offset: 0x4c, size: 32, reset: 0x00000000, access: read-write
0/14 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 |
Bit 0: Port F pull-down bit y (y=0..15).
Bit 1: Port F pull-down bit y (y=0..15).
Bit 2: Port F pull-down bit y (y=0..15).
Bit 3: Port F pull-down bit y (y=0..15).
Bit 4: Port F pull-down bit y (y=0..15).
Bit 5: Port F pull-down bit y (y=0..15).
Bit 6: Port F pull-down bit y (y=0..15).
Bit 7: Port F pull-down bit y (y=0..15).
Bit 8: Port F pull-down bit y (y=0..15).
Bit 9: Port F pull-down bit y (y=0..15).
Bit 10: Port F pull-down bit y (y=0..15).
Bit 11: Port F pull-down bit y (y=0..15).
Bit 12: Port F pull-down bit y (y=0..15).
Bit 13: Port F pull-down bit y (y=0..15).
0x40021000: Reset and clock control
193/193 fields covered.
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 | CR | ||||||||||||||||||||||||||||||||
0x4 | ICSCR | ||||||||||||||||||||||||||||||||
0x8 | CFGR | ||||||||||||||||||||||||||||||||
0xc | PLLCFGR | ||||||||||||||||||||||||||||||||
0x18 | CIER | ||||||||||||||||||||||||||||||||
0x1c | CIFR | ||||||||||||||||||||||||||||||||
0x20 | CICR | ||||||||||||||||||||||||||||||||
0x24 | IOPRSTR | ||||||||||||||||||||||||||||||||
0x28 | AHBRSTR | ||||||||||||||||||||||||||||||||
0x2c | APBRSTR1 | ||||||||||||||||||||||||||||||||
0x30 | APBRSTR2 | ||||||||||||||||||||||||||||||||
0x34 | IOPENR | ||||||||||||||||||||||||||||||||
0x38 | AHBENR | ||||||||||||||||||||||||||||||||
0x3c | APBENR1 | ||||||||||||||||||||||||||||||||
0x40 | APBENR2 | ||||||||||||||||||||||||||||||||
0x44 | IOPSMENR | ||||||||||||||||||||||||||||||||
0x48 | AHBSMENR | ||||||||||||||||||||||||||||||||
0x4c | APBSMENR1 | ||||||||||||||||||||||||||||||||
0x50 | APBSMENR2 | ||||||||||||||||||||||||||||||||
0x54 | CCIPR | ||||||||||||||||||||||||||||||||
0x58 | CCIPR2 | ||||||||||||||||||||||||||||||||
0x5c | BDCR | ||||||||||||||||||||||||||||||||
0x60 | CSR |
Clock control register
Offset: 0x0, size: 32, reset: 0x00000063, access: read-write
10/10 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PLLRDY
rw |
PLLON
rw |
CSSON
rw |
HSEBYP
rw |
HSERDY
rw |
HSEON
rw |
||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
HSIDIV
rw |
HSIRDY
rw |
HSIKERON
rw |
HSION
rw |
Bit 8: HSI16 clock enable.
Allowed values:
0: Disabled: HSI oscillator powered off
1: Enabled: HSI oscillator enabled
Bit 9: HSI16 always enable for peripheral kernels.
Allowed values:
0: NotForce: No effect on HSI16 oscillator
1: Forced: HSI16 oscillator forced on even in Stop modes
Bit 10: HSI16 clock ready flag.
Allowed values:
0: NotReady: HSI oscillator not ready
1: Ready: HSI oscillator ready
Bits 11-13: HSI16 clock division factor.
Allowed values:
0: Div1: Divide HSI16 by 1
1: Div2: Divide HSI16 by 2
2: Div4: Divide HSI16 by 4
3: Div8: Divide HSI16 by 8
4: Div16: Divide HSI16 by 16
5: Div32: Divide HSI16 by 32
6: Div64: Divide HSI16 by 64
7: Div128: Divide HSI16 by 128
Bit 16: HSE clock enable.
Allowed values:
0: Disabled: HSE oscillator powered off
1: Enabled: HSE oscillator enabled
Bit 17: HSE clock ready flag.
Allowed values:
0: NotReady: HSE oscillator not ready
1: Ready: HSE oscillator ready
Bit 18: HSE crystal oscillator bypass.
Allowed values:
0: Crystal: HSE is a crystal oscillator or ceramic resonator
1: ExtClock: HSE is driven by an external clock
Bit 19: Clock security system enable.
Allowed values:
0: Disabled: HSE clock is not monitored
1: Enabled: HSE clock monitor enabled when HSE is ready, otherwise disabled
Bit 24: PLL enable.
Allowed values:
0: Disabled: PLL powered off
1: Enabled: PLL enabled
Bit 25: PLL clock ready flag.
Allowed values:
0: Unlocked: PLL unlocked
1: Locked: PLL locked
Internal clock sources calibration register
Offset: 0x4, size: 32, reset: 0x10000000, access: Unspecified
2/2 fields covered.
Clock configuration register
Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified
8/8 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MCOPRE
r |
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 |
Bits 0-2: System clock switch.
Allowed values:
0: HSISYS: HSISYS clock selected
1: HSE: HSE clock selected
2: PLLR: PLLRCLK clock selected
3: LSI: LSI clock selected
4: LSE: LSE clock selected
Bits 3-5: System clock switch status.
Allowed values:
0: HSISYS: HSISYS clock selected
1: HSE: HSE clock selected
2: PLLR: PLLRCLK clock selected
3: LSI: LSI clock selected
4: LSE: LSE clock selected
Bits 8-11: AHB prescaler.
Allowed values:
8: Div2: Divide by 2
9: Div4: Divide by 4
10: Div8: Divide by 8
11: Div16: Divide by 16
12: Div64: Divide by 64
13: Div128: Divide by 128
14: Div256: Divide by 256
15: Div512: Divide by 512
0 (+): Div1: Divide by 1
Bits 12-14: APB prescaler.
Allowed values:
4: Div2: Divide by 2
5: Div4: Divide by 4
6: Div8: Divide by 8
7: Div16: Divide by 16
0 (+): Div1: Divide by 1
Bits 16-19: MCO2SEL.
Allowed values:
0: NoClock: No clock
1: SYSCLK: SYSCLK clock selected
3: HSI16: HSI16 oscillator clock selected
4: HSE: HSE oscillator clock selected
5: PLLR: PLLRCLK clock selected
6: LSI: LSI oscillator clock selected
7: LSE: LSE oscillator clock selected
8: PLLP: PLLPCLK clock selected
9: PLLQ: PLLQCLK clock selected
10: RTC: RTC clock selected
11: RTCWake: RTC wakeup output selected
Bits 20-23: MCO2PRE.
Allowed values:
0: Div1: Divide by 1
1: Div2: Divide by 2
2: Div3: Divide by 4
3: Div8: Divide by 8
4: Div16: Divide by 16
5: Div32: Divide by 32
6: Div64: Divide by 64
7: Div128: Divide by 128
8: Div256: Divide by 256
9: Div512: Divide by 512
10: Div1024: Divide by 1024
Bits 24-27: Microcontroller clock output.
Allowed values:
0: NoClock: No clock
1: SYSCLK: SYSCLK clock selected
3: HSI16: HSI16 oscillator clock selected
4: HSE: HSE oscillator clock selected
5: PLLR: PLLRCLK clock selected
6: LSI: LSI oscillator clock selected
7: LSE: LSE oscillator clock selected
8: PLLP: PLLPCLK clock selected
9: PLLQ: PLLQCLK clock selected
10: RTC: RTC clock selected
11: RTCWake: RTC wakeup output selected
Bits 28-31: Microcontroller clock output prescaler.
Allowed values:
0: Div1: Divide by 1
1: Div2: Divide by 2
2: Div3: Divide by 4
3: Div8: Divide by 8
4: Div16: Divide by 16
5: Div32: Divide by 32
6: Div64: Divide by 64
7: Div128: Divide by 128
8: Div256: Divide by 256
9: Div512: Divide by 512
10: Div1024: Divide by 1024
PLL configuration register
Offset: 0xc, size: 32, reset: 0x00001000, access: read-write
9/9 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PLLR
rw |
PLLREN
rw |
PLLQ
rw |
PLLQEN
rw |
PLLP
rw |
PLLPEN
rw |
||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PLLN
rw |
PLLM
rw |
PLLSRC
rw |
Bits 0-1: PLL input clock source.
Allowed values:
0: NoClock: No clock selected (saves power)
2: HSI16: HSI16 clock selected
3: HSE: HSE clock selected
Bits 4-6: Division factor M of the PLL input clock divider.
Allowed values: 0x0-0x7
Bits 8-15: PLL frequency multiplication factor N.
Allowed values: 0x8-0x56
Bit 16: PLLPCLK clock output enable.
Allowed values:
0: Disabled: PLL output disabled (saves power)
1: Enabled: PLL output enabled
Bits 17-21: PLL VCO division factor P for PLLPCLK clock output.
Allowed values: 0x1-0x1f
Bit 24: PLLQCLK clock output enable.
Allowed values:
0: Disabled: PLL output disabled (saves power)
1: Enabled: PLL output enabled
Bits 25-27: PLL VCO division factor Q for PLLQCLK clock output.
Allowed values: 0x1-0x7
Bit 28: PLLRCLK clock output enable.
Allowed values:
0: Disabled: PLL output disabled (saves power)
1: Enabled: PLL output enabled
Bits 29-31: PLL VCO division factor R for PLLRCLK clock output.
Allowed values: 0x1-0x7
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PLLSYSRDYIE
rw |
HSERDYIE
rw |
HSIRDYIE
rw |
LSERDYIE
rw |
LSIRDYIE
rw |
Bit 0: LSI ready interrupt enable.
Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled
Bit 1: LSE ready interrupt enable.
Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled
Bit 3: HSI ready interrupt enable.
Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled
Bit 4: HSE ready interrupt enable.
Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled
Bit 5: PLL ready interrupt enable.
Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled
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 |
PLLSYSRDYF
r |
HSERDYF
r |
HSIRDYF
r |
LSERDYF
r |
LSIRDYF
r |
Bit 0: LSI ready interrupt flag.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 1: LSE ready interrupt flag.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 3: HSI ready interrupt flag.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 4: HSE ready interrupt flag.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 5: PLL ready interrupt flag.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 8: Clock security system interrupt flag.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 9: LSE Clock security system interrupt flag.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
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 |
PLLSYSRDYC
w |
HSERDYC
w |
HSIRDYC
w |
LSERDYC
w |
LSIRDYC
w |
Bit 0: LSI ready interrupt clear.
Allowed values:
1: Clear: Clear interrupt flag
Bit 1: LSE ready interrupt clear.
Allowed values:
1: Clear: Clear interrupt flag
Bit 3: HSI ready interrupt clear.
Allowed values:
1: Clear: Clear interrupt flag
Bit 4: HSE ready interrupt clear.
Allowed values:
1: Clear: Clear interrupt flag
Bit 5: PLL ready interrupt clear.
Allowed values:
1: Clear: Clear interrupt flag
Bit 8: Clock security system interrupt clear.
Allowed values:
1: Clear: Clear interrupt flag
Bit 9: LSE Clock security system interrupt clear.
Allowed values:
1: Clear: Clear interrupt flag
I/O port reset register
Offset: 0x24, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
GPIOFRST
rw |
GPIOERST
rw |
GPIODRST
rw |
GPIOCRST
rw |
GPIOBRST
rw |
GPIOARST
rw |
Bit 0: GPIOARST.
Allowed values:
1: Reset: Reset peripheral
Bit 1: GPIOBRST.
Allowed values:
1: Reset: Reset peripheral
Bit 2: GPIOCRST.
Allowed values:
1: Reset: Reset peripheral
Bit 3: GPIODRST.
Allowed values:
1: Reset: Reset peripheral
Bit 4: GPIOERST.
Allowed values:
1: Reset: Reset peripheral
Bit 5: GPIOFRST.
Allowed values:
1: Reset: Reset peripheral
AHB peripheral reset register
Offset: 0x28, size: 32, reset: 0x00000000, access: read-write
4/4 fields covered.
APB peripheral reset register 1
Offset: 0x2c, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PWRRST
rw |
DBGRST
rw |
I2C3RST
rw |
I2C2RST
rw |
I2C1RST
rw |
USART4RST
rw |
USART3RST
rw |
USART2RST
rw |
||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
SPI3RST
rw |
SPI2RST
rw |
USBRST
rw |
USART6RST
rw |
USART5RST
rw |
TIM7RST
rw |
TIM6RST
rw |
TIM4RST
rw |
TIM3RST
rw |
Bit 1: TIM3 timer reset.
Allowed values:
1: Reset: Reset peripheral
Bit 2: TIM4 timer reset.
Allowed values:
1: Reset: Reset peripheral
Bit 4: TIM6 timer reset.
Allowed values:
1: Reset: Reset peripheral
Bit 5: TIM7 timer reset.
Allowed values:
1: Reset: Reset peripheral
Bit 8: USART5RST.
Allowed values:
1: Reset: Reset peripheral
Bit 9: USART6RST.
Allowed values:
1: Reset: Reset peripheral
Bit 13: USBRST.
Allowed values:
1: Reset: Reset peripheral
Bit 14: SPI2 reset.
Allowed values:
1: Reset: Reset peripheral
Bit 15: SPI3 reset.
Allowed values:
1: Reset: Reset peripheral
Bit 17: USART2 reset.
Allowed values:
1: Reset: Reset peripheral
Bit 18: USART3 reset.
Allowed values:
1: Reset: Reset peripheral
Bit 19: USART4 reset.
Allowed values:
1: Reset: Reset peripheral
Bit 21: I2C1 reset.
Allowed values:
1: Reset: Reset peripheral
Bit 22: I2C2 reset.
Allowed values:
1: Reset: Reset peripheral
Bit 23: I2C3RST reset.
Allowed values:
1: Reset: Reset peripheral
Bit 27: Debug support reset.
Allowed values:
1: Reset: Reset peripheral
Bit 28: Power interface reset.
Allowed values:
1: Reset: Reset peripheral
APB peripheral reset register 2
Offset: 0x30, size: 32, reset: 0x00000000, access: read-write
9/9 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ADCRST
rw |
TIM17RST
rw |
TIM16RST
rw |
TIM15RST
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 |
Bit 0: SYSCFG, COMP and VREFBUF reset.
Allowed values:
1: Reset: Reset peripheral
Bit 11: TIM1 timer reset.
Allowed values:
1: Reset: Reset peripheral
Bit 12: SPI1 reset.
Allowed values:
1: Reset: Reset peripheral
Bit 14: USART1 reset.
Allowed values:
1: Reset: Reset peripheral
Bit 15: TIM14 timer reset.
Allowed values:
1: Reset: Reset peripheral
Bit 16: TIM15 timer reset.
Allowed values:
1: Reset: Reset peripheral
Bit 17: TIM16 timer reset.
Allowed values:
1: Reset: Reset peripheral
Bit 18: TIM17 timer reset.
Allowed values:
1: Reset: Reset peripheral
Bit 20: ADC reset.
Allowed values:
1: Reset: Reset peripheral
GPIO clock enable register
Offset: 0x34, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
GPIOFEN
rw |
GPIOEEN
rw |
GPIODEN
rw |
GPIOCEN
rw |
GPIOBEN
rw |
GPIOAEN
rw |
Bit 0: I/O port A clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 1: I/O port B clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 2: I/O port C clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 3: I/O port D clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 4: I/O port E clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 5: I/O port F clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
AHB peripheral clock enable register
Offset: 0x38, size: 32, reset: 0x00000100, access: read-write
4/4 fields covered.
Bit 0: DMA1 clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 1: DMA2 clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 8: Flash memory interface clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 12: CRC clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
APB peripheral clock enable register 1
Offset: 0x3c, size: 32, reset: 0x00000000, access: read-write
19/19 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PWREN
rw |
DBGEN
rw |
I2C3EN
rw |
I2C2EN
rw |
I2C1EN
rw |
USART4EN
rw |
USART3EN
rw |
USART2EN
rw |
||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
SPI3EN
rw |
SPI2EN
rw |
USBEN
rw |
WWDGEN
rw |
RTCAPBEN
rw |
USART6EN
rw |
USART5EN
rw |
TIM7EN
rw |
TIM6EN
rw |
TIM4EN
rw |
TIM3EN
rw |
Bit 1: TIM3 timer clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 2: TIM4 timer clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 4: TIM6 timer clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 5: TIM7 timer clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 8: USART5EN.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 9: USART6EN.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 10: RTC APB clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 11: WWDG clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 13: USBEN.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 14: SPI2 clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 15: SPI3 clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 17: USART2 clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 18: USART3 clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 19: USART4 clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 21: I2C1 clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 22: I2C2 clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 23: I2C3 clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 27: Debug support clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 28: Power interface clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
APB peripheral clock enable register 2
Offset: 0x40, size: 32, reset: 0x00000000, access: read-write
9/9 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ADCEN
rw |
TIM17EN
rw |
TIM16EN
rw |
TIM15EN
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 |
Bit 0: SYSCFG, COMP and VREFBUF clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 11: TIM1 timer clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 12: SPI1 clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 14: USART1 clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 15: TIM14 timer clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 16: TIM15 timer clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 17: TIM16 timer clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 18: TIM16 timer clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 20: ADC clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
GPIO in Sleep mode clock enable register
Offset: 0x44, size: 32, reset: 0x0000003F, access: read-write
6/6 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
GPIOFSMEN
rw |
GPIOESMEN
rw |
GPIODSMEN
rw |
GPIOCSMEN
rw |
GPIOBSMEN
rw |
GPIOASMEN
rw |
Bit 0: I/O port A clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 1: I/O port B clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 2: I/O port C clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 3: I/O port D clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 4: I/O port E clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 5: I/O port F clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
AHB peripheral clock enable in Sleep mode register
Offset: 0x48, size: 32, reset: 0x00051303, access: read-write
5/5 fields covered.
Bit 0: DMA1 clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 1: DMA2 clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 8: Flash memory interface clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 9: SRAM clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 12: CRC clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
APB peripheral clock enable in Sleep mode register 1
Offset: 0x4c, size: 32, reset: 0xFFFFFFB7, access: read-write
19/19 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PWRSMEN
rw |
DBGSMEN
rw |
I2C3SMEN
rw |
I2C2SMEN
rw |
I2C1SMEN
rw |
USART4SMEN
rw |
USART3SMEN
rw |
USART2SMEN
rw |
||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
SPI3SMEN
rw |
SPI2SMEN
rw |
USBSMEN
rw |
WWDGSMEN
rw |
RTCAPBSMEN
rw |
USART6SMEN
rw |
USART5SMEN
rw |
TIM7SMEN
rw |
TIM6SMEN
rw |
TIM4SMEN
rw |
TIM3SMEN
rw |
Bit 1: TIM3 timer clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 2: TIM4 timer clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 4: TIM6 timer clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 5: TIM7 timer clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 8: USART5 clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 9: USART6 clock enable.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 10: RTC APB clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 11: WWDG clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 13: USB clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 14: SPI2 clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 15: SPI3 clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 17: USART2 clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 18: USART3 clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 19: USART4 clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 21: I2C1 clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 22: I2C2 clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 23: I2C3 clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 27: Debug support clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 28: Power interface clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
APB peripheral clock enable in Sleep mode register 2
Offset: 0x50, size: 32, reset: 0x0017D801, access: read-write
9/9 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ADCSMEN
rw |
TIM17SMEN
rw |
TIM16SMEN
rw |
TIM15SMEN
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 |
Bit 0: SYSCFG, COMP and VREFBUF clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 11: TIM1 timer clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 12: SPI1 clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 14: USART1 clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 15: TIM14 timer clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 16: TIM15 timer clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 17: TIM16 timer clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 18: TIM16 timer clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Bit 20: ADC clock enable during Sleep mode.
Allowed values:
0: Disabled: Peripheral disabled (typically saves power)
1: Enabled: Peripheral enabled
Peripherals independent clock configuration register
Offset: 0x54, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ADCSEL
rw |
TIM15SEL
rw |
TIM1SEL
rw |
|||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
I2C2SEL
rw |
I2C1SEL
rw |
USART3SEL
rw |
USART2SEL
rw |
USART1SEL
rw |
Bits 0-1: USART1 clock source selection.
Allowed values:
0: PCLK: PCLK clock selected
1: SYSCLK: SYSCLK clock selected
2: HSI16: HSI16 clock selected
3: LSE: LSE clock selected
Bits 2-3: USART2 clock source selection.
Allowed values:
0: PCLK: PCLK clock selected
1: SYSCLK: SYSCLK clock selected
2: HSI16: HSI16 clock selected
3: LSE: LSE clock selected
Bits 4-5: USART3 clock source selection.
Allowed values:
0: PCLK: PCLK clock selected
1: SYSCLK: SYSCLK clock selected
2: HSI16: HSI16 clock selected
3: LSE: LSE clock selected
Bits 12-13: I2C1 clock source selection.
Allowed values:
0: PCLK: PCLK clock selected
1: SYSCLK: SYSCLK clock selected
2: HSI16: HSI16 clock selected
Bits 14-15: I2S1 clock source selection.
Allowed values:
0: PCLK: PCLK clock selected
1: SYSCLK: SYSCLK clock selected
2: HSI16: HSI16 clock selected
Bit 22: TIM1 clock source selection.
Allowed values:
0: TIMP: TIMPCLK clock selected
1: PLLQ: PLLQCLK clock selected
Bit 24: TIM15 clock source selection.
Allowed values:
0: TIMP: TIMPCLK clock selected
1: PLLQ: PLLQCLK clock selected
Bits 30-31: ADCs clock source selection.
Allowed values:
0: SYSCLK: System clock selected
1: PLLP: PLLPCLK clock selected
2: HSI16: HSI16 clock selected
Peripherals independent clock configuration register 2
Offset: 0x58, size: 32, reset: 0x00000000, access: read-write
3/3 fields covered.
Bits 0-1: 2S1SEL.
Allowed values:
0: SYSCLK: SYSCLK clock selected
1: PLLP: PLLPCLK clock selected
2: HSI16: HSI16 clock selected
3: CKIN: I2S_CKIN clock selected
Bits 2-3: I2S2SEL.
Allowed values:
0: SYSCLK: SYSCLK clock selected
1: PLLP: PLLPCLK clock selected
2: HSI16: HSI16 clock selected
3: CKIN: I2S_CKIN clock selected
Bits 12-13: USBSEL.
Allowed values:
1: PLLQ: PLLQCLK clock selected
2: HSE: HSE clock selected
RTC domain control register
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 |
BDRST
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 |
Bit 0: LSE oscillator enable.
Allowed values:
0: Disabled: LSE oscillator powered off
1: Enabled: LSE oscillator enabled
Bit 1: LSE oscillator ready.
Allowed values:
0: NotReady: LSE oscillator not ready
1: Ready: LSE oscillator ready
Bit 2: LSE oscillator bypass.
Allowed values:
0: Crystal: LSE is a crystal oscillator or ceramic resonator
1: ExtClock: LSE is driven by an external clock
Bits 3-4: LSE oscillator drive capability.
Allowed values:
0: Low: Xtal mode lower driving capability
1: MedLow: Xtal mode medium-low driving capability
2: MedHigh: Xtal mode medium-high driving capability
3: High: Xtal mode higher driving capability
Bit 5: CSS on LSE enable.
Allowed values:
0: Disabled: LSE clock is not monitored
1: Enabled: LSE clock monitor enabled
Bit 6: CSS on LSE failure Detection.
Allowed values:
0: NoFailure: No failure detected
1: Failure: Failure detected
Bits 8-9: RTC clock source selection.
Allowed values:
0: NoClock: No clock selected
1: LSE: LSE clock selected
2: LSI: LSI clock selected
3: HSE32: HSI clock divided by 32 selected
Bit 15: RTC clock enable.
Allowed values:
0: Disabled: RTC disabled (saves power)
1: Enabled: RTC enabled
Bit 16: RTC domain software reset.
Allowed values:
1: Reset: RTC domain software reset
Bit 24: Low-speed clock output (LSCO) enable.
Allowed values:
0: Disabled: Low-speed clock output disabled
1: Enabled: Low-speed clock output enabled
Bit 25: Low-speed clock output selection.
Allowed values:
0: LSI: LSI clock selected
1: LSE: LSE clock selected
Control/status register
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 |
Bit 0: LSI oscillator enable.
Allowed values:
0: Disabled: LSI oscillator powered off
1: Enabled: LSI oscillator enabled
Bit 1: LSI oscillator ready.
Allowed values:
0: NotReady: LSI oscillator not ready
1: Ready: LSI oscillator ready
Bit 23: Remove reset flags.
Allowed values:
1: Clear: Clear reset flags
Bit 25: Option byte loader reset flag.
Allowed values:
0: NoReset: This reset type has not occurred
1: Reset: This reset type has occurred
Bit 26: Pin reset flag.
Allowed values:
0: NoReset: This reset type has not occurred
1: Reset: This reset type has occurred
Bit 27: BOR or POR/PDR flag.
Allowed values:
0: NoReset: This reset type has not occurred
1: Reset: This reset type has occurred
Bit 28: Software reset flag.
Allowed values:
0: NoReset: This reset type has not occurred
1: Reset: This reset type has occurred
Bit 29: Independent window watchdog reset flag.
Allowed values:
0: NoReset: This reset type has not occurred
1: Reset: This reset type has occurred
Bit 30: Window watchdog reset flag.
Allowed values:
0: NoReset: This reset type has not occurred
1: Reset: This reset type has occurred
Bit 31: Low-power reset flag.
Allowed values:
0: NoReset: This reset type has not occurred
1: Reset: This reset type has occurred
0x40002800: Real-time clock
21/125 fields covered.
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 | TR | ||||||||||||||||||||||||||||||||
0x4 | DR | ||||||||||||||||||||||||||||||||
0x8 | SSR | ||||||||||||||||||||||||||||||||
0xc | ICSR | ||||||||||||||||||||||||||||||||
0x10 | PRER | ||||||||||||||||||||||||||||||||
0x14 | WUTR | ||||||||||||||||||||||||||||||||
0x18 | CR | ||||||||||||||||||||||||||||||||
0x24 | WPR | ||||||||||||||||||||||||||||||||
0x28 | CALR | ||||||||||||||||||||||||||||||||
0x2c | SHIFTR | ||||||||||||||||||||||||||||||||
0x30 | TSTR | ||||||||||||||||||||||||||||||||
0x34 | TSDR | ||||||||||||||||||||||||||||||||
0x38 | TSSSR | ||||||||||||||||||||||||||||||||
0x40 | ALRM[A]R | ||||||||||||||||||||||||||||||||
0x44 | ALRM[A]SSR | ||||||||||||||||||||||||||||||||
0x48 | ALRM[B]R | ||||||||||||||||||||||||||||||||
0x4c | ALRM[B]SSR | ||||||||||||||||||||||||||||||||
0x50 | SR | ||||||||||||||||||||||||||||||||
0x54 | MISR | ||||||||||||||||||||||||||||||||
0x5c | SCR |
RTC time register
Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified
0/7 fields covered.
RTC date register
Offset: 0x4, size: 32, reset: 0x00002101, access: Unspecified
0/7 fields covered.
RTC sub second register
Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SS
r |
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 initialization control and status register
Offset: 0xc, size: 32, reset: 0x00000007, access: Unspecified
7/9 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 |
WUTWF
r |
ALRBWF
r |
ALRAWF
r |
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..
Bit 1: Alarm B write flag This bit is set by hardware when alarm B values can be changed, after the ALRBE bit has been set to 0 in RTC_CR. It is cleared by hardware in initialization mode..
Bit 2: Wakeup timer write flag This bit is set by hardware when WUT value can be changed, after the WUTE bit has been set to 0 in RTC_CR. It is cleared by hardware in initialization mode..
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..
Bit 4: Initialization status flag This bit is set by hardware when the calendar year field is different from 0 (Backup domain reset state)..
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..
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..
Bit 7: Initialization mode.
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 ..
RTC prescaler register
Offset: 0x10, size: 32, reset: 0x007F00FF, access: Unspecified
0/2 fields covered.
RTC wakeup timer register
Offset: 0x14, size: 32, reset: 0x0000FFFF, access: Unspecified
0/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
WUT
rw |
Bits 0-15: Wakeup auto-reload value bits When the wakeup timer is enabled (WUTE set to 1), the WUTF flag is set every (WUT[15:0]+1) ck_wut cycles. The ck_wut period is selected through WUCKSEL[2:0] bits of the RTC_CR register. When WUCKSEL[2] = 1, the wakeup timer becomes 17-bits and WUCKSEL[1] effectively becomes WUT[16] the most-significant bit to be reloaded into the timer. The first assertion of WUTF occurs between WUT and (WUT + 1) ck_wut cycles after WUTE is set. Setting WUT[15:0] to 0x0000 with WUCKSEL[2:0] = 011 (RTCCLK/2) is forbidden..
control register
Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified
0/26 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 |
TAMPOE
rw |
TAMPTS
rw |
ITSE
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 |
WUTIE
rw |
ALRBIE
rw |
ALRAIE
rw |
TSE
rw |
WUTE
rw |
ALRBE
rw |
ALRAE
rw |
FMT
rw |
BYPSHAD
rw |
REFCKON
rw |
TSEDGE
rw |
WUCKSEL
rw |
Bits 0-2: ck_wut wakeup clock selection 10x: ck_spre (usually 1Hz) clock is selected 11x: ck_spre (usually 1Hz) clock is selected and 216is added to the WUT counter value.
Bit 3: Timestamp event active edge TSE must be reset when TSEDGE is changed to avoid unwanted TSF setting..
Bit 4: RTC_REFIN reference clock detection enable (50 or 60Hz) Note: PREDIV_S must be 0x00FF..
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..
Bit 6: Hour format.
Bit 8: Alarm A enable.
Bit 9: Alarm B enable.
Bit 10: Wakeup timer enable Note: When the wakeup timer is disabled, wait for WUTWF=1 before enabling it again..
Bit 11: timestamp enable.
Bit 12: Alarm A interrupt enable.
Bit 13: Alarm B interrupt enable.
Bit 14: Wakeup timer interrupt enable.
Bit 15: Timestamp interrupt enable.
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..
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..
Bit 18: Backup This bit can be written by the user to memorize whether the daylight saving time change has been performed or not..
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.768kHz and prescalers at their default values (PREDIV_A = 127 and PREDIV_S = 255). Refer to ..
Bit 20: Output polarity This bit is used to configure the polarity of TAMPALRM output..
Bits 21-22: Output selection These bits are used to select the flag to be routed to TAMPALRM output..
Bit 23: Calibration output enable This bit enables the CALIB output.
Bit 24: timestamp on internal event enable.
Bit 25: Activate timestamp on tamper detection event TAMPTS is valid even if TSE = 0 in the RTC_CR register. Timestamp flag is set after the tamper flags, therefore if TAMPTS and TSIE are set, it is recommended to disable the tamper interrupts in order to avoid servicing 2 interrupts..
Bit 26: Tamper detection output enable on TAMPALRM.
Bit 29: TAMPALRM pull-up enable.
Bit 30: TAMPALRM output type.
Bit 31: RTC_OUT2 output enable Setting this bit allows to remap the RTC outputs on RTC_OUT2 as follows: OUT2EN = 0: RTC output 2 disable If OSEL different 00 or TAMPOE = 1: TAMPALRM is output on RTC_OUT1 If OSEL = 00 and TAMPOE = 0 and COE = 1: CALIB is output on RTC_OUT1 OUT2EN = 1: RTC output 2 enable If (OSEL different 00 or TAMPOE = 1) and COE = 0: TAMPALRM is output on RTC_OUT2 If OSEL = 00 and TAMPOE = 0 and COE = 1: CALIB is output on RTC_OUT2 If (OSEL different 00 or TAMPOE = 1) and COE = 1: CALIB is output on RTC_OUT2 and TAMPALRM is output on RTC_OUT1..
write protection register
Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
KEY
w |
RTC calibration register
Offset: 0x28, size: 32, reset: 0x00000000, access: Unspecified
0/4 fields covered.
Bits 0-8: Calibration minus The frequency of the calendar is reduced by masking CALM out of 220 RTCCLK pulses (32 seconds if the input frequency is 32768Hz). This decreases the frequency of the calendar with a resolution of 0.9537ppm. To increase the frequency of the calendar, this feature should be used in conjunction with CALP. See ..
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 calibration..
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 digital calibration..
Bit 15: Increase frequency of RTC by 488.
RTC shift control register
Offset: 0x2c, size: 32, reset: 0x00000000, access: Unspecified
0/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 |
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..
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..
RTC timestamp time register
Offset: 0x30, size: 32, reset: 0x00000000, access: Unspecified
0/7 fields covered.
RTC timestamp date register
Offset: 0x34, size: 32, reset: 0x00002101, access: Unspecified
0/7 fields covered.
RTC timestamp sub second register
Offset: 0x38, size: 32, reset: 0x00000000, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SS
r |
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..
Alarm A register
Offset: 0x40, size: 32, reset: 0x00000000, access: Unspecified
0/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 |
Bits 0-3: Second units in BCD format.
Bits 4-6: Second tens in BCD format.
Bit 7: Alarm seconds mask.
Bits 8-11: Minute units in BCD format.
Bits 12-14: Minute tens in BCD format.
Bit 15: Alarm minutes mask.
Bits 16-19: Hour units in BCD format.
Bits 20-21: Hour tens in BCD format.
Bit 22: AM/PM notation.
Bit 23: Alarm hours mask.
Bits 24-27: Date units or day in BCD format.
Bits 28-29: Date tens in BCD format.
Bit 30: Week day selection.
Bit 31: Alarm date mask.
Alarm A sub-second register
Offset: 0x44, size: 32, reset: 0x00000000, access: Unspecified
0/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 |
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..
Bits 24-27: Mask the most-significant bits starting at this bit 2: SS[14:2] are don't care in alarm A comparison. Only SS[1:0] are compared. 3: SS[14:3] are don't care in alarm A comparison. Only SS[2:0] are compared. ... 12: SS[14:12] are don't care in alarm A comparison. SS[11:0] are compared. 13: SS[14:13] are don't care in alarm A comparison. SS[12:0] are compared. 14: SS[14] is don't care in alarm A comparison. SS[13:0] are compared. 15: All 15 SS bits are compared and must match to activate alarm. 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..
Alarm B register
Offset: 0x48, size: 32, reset: 0x00000000, access: Unspecified
0/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 |
Bits 0-3: Second units in BCD format.
Bits 4-6: Second tens in BCD format.
Bit 7: Alarm seconds mask.
Bits 8-11: Minute units in BCD format.
Bits 12-14: Minute tens in BCD format.
Bit 15: Alarm minutes mask.
Bits 16-19: Hour units in BCD format.
Bits 20-21: Hour tens in BCD format.
Bit 22: AM/PM notation.
Bit 23: Alarm hours mask.
Bits 24-27: Date units or day in BCD format.
Bits 28-29: Date tens in BCD format.
Bit 30: Week day selection.
Bit 31: Alarm date mask.
Alarm B sub-second register
Offset: 0x4c, size: 32, reset: 0x00000000, access: Unspecified
0/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 |
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..
Bits 24-27: Mask the most-significant bits starting at this bit 2: SS[14:2] are don't care in alarm A comparison. Only SS[1:0] are compared. 3: SS[14:3] are don't care in alarm A comparison. Only SS[2:0] are compared. ... 12: SS[14:12] are don't care in alarm A comparison. SS[11:0] are compared. 13: SS[14:13] are don't care in alarm A comparison. SS[12:0] are compared. 14: SS[14] is don't care in alarm A comparison. SS[13:0] are compared. 15: All 15 SS bits are compared and must match to activate alarm. 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..
RTC status register
Offset: 0x50, size: 32, reset: 0x00000000, access: Unspecified
6/6 fields covered.
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)..
Bit 1: Alarm B flag This flag is set by hardware when the time/date registers (RTC_TR and RTC_DR) match the alarm B register (RTC_ALRMBR)..
Bit 2: Wakeup timer flag This flag is set by hardware when the wakeup auto-reload counter reaches 0. This flag must be cleared by software at least 1.5 RTCCLK periods before WUTF is set to 1 again..
Bit 3: Timestamp flag This flag is set by hardware when a timestamp event occurs. If ITSF flag is set, TSF must be cleared together with ITSF..
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..
Bit 5: Internal timestamp flag This flag is set by hardware when a timestamp on the internal event occurs..
RTC masked interrupt status register
Offset: 0x54, size: 32, reset: 0x00000000, access: Unspecified
6/6 fields covered.
Bit 0: Alarm A masked flag This flag is set by hardware when the alarm A interrupt occurs..
Bit 1: Alarm B masked flag This flag is set by hardware when the alarm B interrupt occurs..
Bit 2: Wakeup timer masked flag This flag is set by hardware when the wakeup timer interrupt occurs. This flag must be cleared by software at least 1.5 RTCCLK periods before WUTF is set to 1 again..
Bit 3: Timestamp masked flag This flag is set by hardware when a timestamp interrupt occurs. If ITSF flag is set, TSF must be cleared together with ITSF..
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..
Bit 5: Internal timestamp masked flag This flag is set by hardware when a timestamp on the internal event occurs and timestampinterrupt is raised..
RTC status clear register
Offset: 0x5c, size: 32, reset: 0x00000000, access: Unspecified
0/6 fields covered.
Bit 0: Clear alarm A flag Writing 1 in this bit clears the ALRAF bit in the RTC_SR register..
Bit 1: Clear alarm B flag Writing 1 in this bit clears the ALRBF bit in the RTC_SR register..
Bit 2: Clear wakeup timer flag Writing 1 in this bit clears the WUTF bit in the RTC_SR register..
Bit 3: Clear timestamp flag Writing 1 in this bit clears the TSOVF bit in the RTC_SR register. If ITSF flag is set, TSF must be cleared together with ITSF by setting CRSF and CITSF..
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..
Bit 5: Clear internal timestamp flag Writing 1 in this bit clears the ITSF bit in the RTC_SR register..
0x40013000: Serial peripheral interface/Inter-IC sound
54/54 fields covered.
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) | CR1 | ||||||||||||||||||||||||||||||||
0x4 (16-bit) | CR2 | ||||||||||||||||||||||||||||||||
0x8 (16-bit) | SR | ||||||||||||||||||||||||||||||||
0xc (16-bit) | DR | ||||||||||||||||||||||||||||||||
0xc (8-bit) | DR8 | ||||||||||||||||||||||||||||||||
0x10 (16-bit) | CRCPR | ||||||||||||||||||||||||||||||||
0x14 (16-bit) | RXCRCR | ||||||||||||||||||||||||||||||||
0x18 (16-bit) | TXCRCR | ||||||||||||||||||||||||||||||||
0x1c (16-bit) | I2SCFGR | ||||||||||||||||||||||||||||||||
0x20 (16-bit) | I2SPR |
Offset: 0x0, size: 16, reset: 0x00000000, access: Unspecified
14/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 |
Bit 0: Clock phase Note: This bit should not be changed when communication is ongoing. This bit is not used in I2S mode and SPI TI mode except the case when CRC is applied at TI mode..
Allowed values:
0: FirstEdge: The first clock transition is the first data capture edge
1: SecondEdge: The second clock transition is the first data capture edge
Bit 1: Clock polarity Note: This bit should not be changed when communication is ongoing. This bit is not used in I2S mode and SPI TI mode except the case when CRC is applied at TI mode..
Allowed values:
0: IdleLow: CK to 0 when idle
1: IdleHigh: CK to 1 when idle
Bit 2: Master selection Note: This bit should not be changed when communication is ongoing. This bit is not used in I2S mode..
Allowed values:
0: Slave: Slave configuration
1: Master: Master configuration
Bits 3-5: Baud rate control Note: These bits should not be changed when communication is ongoing. These bits are not used in I2S mode..
Allowed values:
0: Div2: f_PCLK / 2
1: Div4: f_PCLK / 4
2: Div8: f_PCLK / 8
3: Div16: f_PCLK / 16
4: Div32: f_PCLK / 32
5: Div64: f_PCLK / 64
6: Div128: f_PCLK / 128
7: Div256: f_PCLK / 256
Bit 6: SPI enable Note: When disabling the SPI, follow the procedure described in SPI on page1020. This bit is not used in I2S mode..
Allowed values:
0: Disabled: Peripheral disabled
1: Enabled: Peripheral enabled
Bit 7: Frame format Note: 1. This bit should not be changed when communication is ongoing. 2. This bit is not used in I2S mode and SPI TI mode..
Allowed values:
0: MSBFirst: Data is transmitted/received with the MSB first
1: LSBFirst: Data is transmitted/received with the LSB first
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 I2S mode and SPI TI mode..
Allowed values:
0: SlaveSelected: 0 is forced onto the NSS pin and the I/O value of the NSS pin is ignored
1: SlaveNotSelected: 1 is forced onto the NSS pin and the I/O value of the NSS pin is ignored
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 I2S mode and SPI TI mode..
Allowed values:
0: Disabled: Software slave management disabled
1: Enabled: Software slave management enabled
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 I2S mode..
Allowed values:
0: FullDuplex: Full duplex (Transmit and receive)
1: OutputDisabled: Output disabled (Receive-only mode)
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. This bit is not used in I2S mode..
Allowed values:
0: EightBit: 8-bit CRC length
1: SixteenBit: 16-bit CRC length
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. This bit is not used in I2S mode..
Allowed values:
0: TxBuffer: Next transmit value is from Tx buffer
1: CRC: Next transmit value is from Tx CRC register
Bit 13: Hardware CRC calculation enable Note: This bit should be written only when SPI is disabled (SPE = '0') for correct operation. This bit is not used in I2S mode..
Allowed values:
0: Disabled: CRC calculation disabled
1: Enabled: CRC calculation enabled
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. This bit is not used in I2S mode..
Allowed values:
0: OutputDisabled: Output disabled (receive-only mode)
1: OutputEnabled: Output enabled (transmit-only mode)
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 I2S mode..
Allowed values:
0: Unidirectional: 2-line unidirectional data mode selected
1: Bidirectional: 1-line bidirectional data mode selected
Offset: 0x4, size: 16, reset: 0x00000700, access: Unspecified
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 |
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: Disabled: Rx buffer DMA disabled
1: Enabled: Rx buffer DMA enabled
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: Disabled: Tx buffer DMA disabled
1: Enabled: Tx buffer DMA enabled
Bit 2: SS output enable Note: This bit is not used in I2S mode and SPI TI mode..
Allowed values:
0: Disabled: SS output is disabled in master mode
1: Enabled: SS output is enabled in master mode
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). 2. This bit is not used in I2S mode and SPI TI mode..
Allowed values:
0: NoPulse: No NSS pulse
1: PulseGenerated: NSS pulse generated
Bit 4: Frame format 1 SPI TI mode Note: This bit must be written only when the SPI is disabled (SPE=0). This bit is not used in I2S mode..
Allowed values:
0: Motorola: SPI Motorola mode
1: TI: SPI TI mode
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 I2S mode)..
Allowed values:
0: Masked: Error interrupt masked
1: NotMasked: Error interrupt not masked
Bit 6: RX buffer not empty interrupt enable.
Allowed values:
0: Masked: RXE interrupt masked
1: NotMasked: RXE interrupt not masked
Bit 7: Tx buffer empty interrupt enable.
Allowed values:
0: Masked: TXE interrupt masked
1: NotMasked: TXE interrupt not masked
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 I2S mode..
Allowed values:
3: FourBit: 4-bit
4: FiveBit: 5-bit
5: SixBit: 6-bit
6: SevenBit: 7-bit
7: EightBit: 8-bit
8: NineBit: 9-bit
9: TenBit: 10-bit
10: ElevenBit: 11-bit
11: TwelveBit: 12-bit
12: ThirteenBit: 13-bit
13: FourteenBit: 14-bit
14: FifteenBit: 15-bit
15: SixteenBit: 16-bit
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 I2S mode..
Allowed values:
0: Half: RXNE event is generated if the FIFO level is greater than or equal to 1/2 (16-bit)
1: Quarter: RXNE event is generated if the FIFO level is greater than or equal to 1/4 (8-bit)
Bit 13: Last DMA transfer for reception.
Allowed values:
0: Even: Number of data to transfer for receive is even
1: Odd: Number of data to transfer for receive is odd
Bit 14: Last DMA transfer for transmission.
Allowed values:
0: Even: Number of data to transfer for transmit is even
1: Odd: Number of data to transfer for transmit is odd
Offset: 0x8, size: 16, reset: 0x00000002, access: Unspecified
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 |
Bit 0: Receive buffer not empty.
Allowed values:
0: Empty: Rx buffer empty
1: NotEmpty: Rx buffer not empty
Bit 1: Transmit buffer empty.
Allowed values:
0: NotEmpty: Tx buffer not empty
1: Empty: Tx buffer empty
Bit 2: Channel side Note: This bit is not used in SPI mode. It has no significance in PCM mode..
Bit 3: Underrun flag This flag is set by hardware and reset by a software sequence. Refer to page1056 for the software sequence. Note: This bit is not used in SPI mode..
Bit 4: CRC error flag Note: This flag is set by hardware and cleared by software writing 0. This bit is not used in I2S mode..
Allowed values:
0: Match: CRC value received matches the SPIx_RXCRCR value
1: NoMatch: CRC value received does not match the SPIx_RXCRCR value
Bit 5: Mode fault This flag is set by hardware and reset by a software sequence. Refer to (MODF) on page1030 for the software sequence. Note: This bit is not used in I2S mode..
Allowed values:
0: NoFault: No mode fault occurred
1: Fault: Mode fault occurred
Bit 6: Overrun flag This flag is set by hardware and reset by a software sequence. Refer to page1056 for the software sequence..
Allowed values:
0: NoOverrun: No overrun occurred
1: Overrun: Overrun occurred
Bit 7: Busy flag This flag is set and cleared by hardware. Note: The BSY flag must be used with caution: refer to and ..
Allowed values:
0: NotBusy: SPI not busy
1: Busy: SPI busy
Bit 8: Frame format error This flag is used for SPI in TI slave mode and I2S slave mode. Refer to error flags and . This flag is set by hardware and reset when SPIx_SR is read by software..
Allowed values:
0: NoError: No frame format error
1: Error: A frame format error occurred
Bits 9-10: FIFO reception level.
Allowed values:
0: Empty: Rx FIFO Empty
1: Quarter: Rx 1/4 FIFO
2: Half: Rx 1/2 FIFO
3: Full: Rx FIFO full
Bits 11-12: FIFO transmission level These bits are set and cleared by hardware. Note: This bit is not used in I2S mode..
Allowed values:
0: Empty: Tx FIFO Empty
1: Quarter: Tx 1/4 FIFO
2: Half: Tx 1/2 FIFO
3: Full: Tx FIFO full
Offset: 0xc, size: 16, reset: 0x00000000, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DR
rw |
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 ). 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..
Allowed values: 0x0-0xffff
Direct 8-bit access to data register
Offset: 0xc, size: 8, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DR
rw |
Offset: 0x10, size: 16, reset: 0x00000007, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CRCPOLY
rw |
Offset: 0x14, size: 16, reset: 0x00000000, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
RXCRC
r |
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. These bits are not used in I2S mode..
Allowed values: 0x0-0xffff
Offset: 0x18, size: 16, reset: 0x00000000, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TXCRC
r |
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. These bits are not used in I2S mode..
Allowed values: 0x0-0xffff
Offset: 0x1c, size: 16, reset: 0x00000000, access: Unspecified
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 |
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. It is not used in SPI mode..
Allowed values:
0: SixteenBit: 16-bit wide
1: ThirtyTwoBit: 32-bit wide
Bits 1-2: Data length to be transferred Note: For correct operation, these bits should be configured when the I2S is disabled. They are not used in SPI mode..
Allowed values:
0: SixteenBit: 16-bit data length
1: TwentyFourBit: 24-bit data length
2: ThirtyTwoBit: 32-bit data length
Bit 3: Inactive state clock polarity Note: For correct operation, this bit should be configured when the I2S is disabled. It is not used in SPI mode. The bit CKPOL does not affect the CK edge sensitivity used to receive or transmit the SD and WS signals..
Allowed values:
0: IdleLow: I2S clock inactive state is low level
1: IdleHigh: I2S clock inactive state is high level
Bits 4-5: I2S standard selection For more details on I2S standards, refer to Note: For correct operation, these bits should be configured when the I2S is disabled. They are not used in SPI mode..
Allowed values:
0: Philips: I2S Philips standard
1: MSB: MSB justified standard
2: LSB: LSB justified standard
3: PCM: PCM standard
Bit 7: PCM frame synchronization Note: This bit has a meaning only if I2SSTD = 11 (PCM standard is used). It is not used in SPI mode..
Allowed values:
0: Short: Short frame synchronisation
1: Long: Long frame synchronisation
Bits 8-9: I2S configuration mode Note: These bits should be configured when the I2S is disabled. They are not used in SPI mode..
Allowed values:
0: SlaveTx: Slave - transmit
1: SlaveRx: Slave - receive
2: MasterTx: Master - transmit
3: MasterRx: Master - receive
Bit 10: I2S enable Note: This bit is not used in SPI mode..
Allowed values:
0: Disabled: I2S peripheral is disabled
1: Enabled: I2S peripheral is enabled
Bit 11: I2S mode selection Note: This bit should be configured when the SPI is disabled..
Allowed values:
0: SPIMode: SPI mode is selected
1: I2SMode: I2S mode is selected
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 I2S Philips Standard is used, or a rising edge for other standards. The appropriate level is a low level on WS signal when I2S Philips Standard is used, or a high level for other standards. Please refer to for additional information..
Allowed values:
0: AsyncStartDisabled: Asynchronous start disabled
1: AsyncStartEnabled: Asynchronous start enabled
Offset: 0x20, size: 16, reset: 0x00000002, access: Unspecified
3/3 fields covered.
Bits 0-7: I2S linear prescaler I2SDIV [7:0] = 0 or I2SDIV [7:0] = 1 are forbidden values. Refer to . Note: These bits should be configured when the I2S is disabled. They are used only when the I2S is in master mode. They are not used in SPI mode..
Allowed values: 0x2-0xff
Bit 8: Odd factor for the prescaler Refer to . Note: This bit should be configured when the I2S is disabled. It is used only when the I2S is in master mode. It is not used in SPI mode..
Allowed values:
0: Even: Real divider value is I2SDIV * 2
1: Odd: Real divider value is (I2SDIV * 2) + 1
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. It is not used in SPI mode..
Allowed values:
0: Disabled: Master clock output is disabled
1: Enabled: Master clock output is enabled
0x40003800: Serial peripheral interface/Inter-IC sound
54/54 fields covered.
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) | CR1 | ||||||||||||||||||||||||||||||||
0x4 (16-bit) | CR2 | ||||||||||||||||||||||||||||||||
0x8 (16-bit) | SR | ||||||||||||||||||||||||||||||||
0xc (16-bit) | DR | ||||||||||||||||||||||||||||||||
0xc (8-bit) | DR8 | ||||||||||||||||||||||||||||||||
0x10 (16-bit) | CRCPR | ||||||||||||||||||||||||||||||||
0x14 (16-bit) | RXCRCR | ||||||||||||||||||||||||||||||||
0x18 (16-bit) | TXCRCR | ||||||||||||||||||||||||||||||||
0x1c (16-bit) | I2SCFGR | ||||||||||||||||||||||||||||||||
0x20 (16-bit) | I2SPR |
Offset: 0x0, size: 16, reset: 0x00000000, access: Unspecified
14/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 |
Bit 0: Clock phase Note: This bit should not be changed when communication is ongoing. This bit is not used in I2S mode and SPI TI mode except the case when CRC is applied at TI mode..
Allowed values:
0: FirstEdge: The first clock transition is the first data capture edge
1: SecondEdge: The second clock transition is the first data capture edge
Bit 1: Clock polarity Note: This bit should not be changed when communication is ongoing. This bit is not used in I2S mode and SPI TI mode except the case when CRC is applied at TI mode..
Allowed values:
0: IdleLow: CK to 0 when idle
1: IdleHigh: CK to 1 when idle
Bit 2: Master selection Note: This bit should not be changed when communication is ongoing. This bit is not used in I2S mode..
Allowed values:
0: Slave: Slave configuration
1: Master: Master configuration
Bits 3-5: Baud rate control Note: These bits should not be changed when communication is ongoing. These bits are not used in I2S mode..
Allowed values:
0: Div2: f_PCLK / 2
1: Div4: f_PCLK / 4
2: Div8: f_PCLK / 8
3: Div16: f_PCLK / 16
4: Div32: f_PCLK / 32
5: Div64: f_PCLK / 64
6: Div128: f_PCLK / 128
7: Div256: f_PCLK / 256
Bit 6: SPI enable Note: When disabling the SPI, follow the procedure described in SPI on page1020. This bit is not used in I2S mode..
Allowed values:
0: Disabled: Peripheral disabled
1: Enabled: Peripheral enabled
Bit 7: Frame format Note: 1. This bit should not be changed when communication is ongoing. 2. This bit is not used in I2S mode and SPI TI mode..
Allowed values:
0: MSBFirst: Data is transmitted/received with the MSB first
1: LSBFirst: Data is transmitted/received with the LSB first
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 I2S mode and SPI TI mode..
Allowed values:
0: SlaveSelected: 0 is forced onto the NSS pin and the I/O value of the NSS pin is ignored
1: SlaveNotSelected: 1 is forced onto the NSS pin and the I/O value of the NSS pin is ignored
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 I2S mode and SPI TI mode..
Allowed values:
0: Disabled: Software slave management disabled
1: Enabled: Software slave management enabled
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 I2S mode..
Allowed values:
0: FullDuplex: Full duplex (Transmit and receive)
1: OutputDisabled: Output disabled (Receive-only mode)
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. This bit is not used in I2S mode..
Allowed values:
0: EightBit: 8-bit CRC length
1: SixteenBit: 16-bit CRC length
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. This bit is not used in I2S mode..
Allowed values:
0: TxBuffer: Next transmit value is from Tx buffer
1: CRC: Next transmit value is from Tx CRC register
Bit 13: Hardware CRC calculation enable Note: This bit should be written only when SPI is disabled (SPE = '0') for correct operation. This bit is not used in I2S mode..
Allowed values:
0: Disabled: CRC calculation disabled
1: Enabled: CRC calculation enabled
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. This bit is not used in I2S mode..
Allowed values:
0: OutputDisabled: Output disabled (receive-only mode)
1: OutputEnabled: Output enabled (transmit-only mode)
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 I2S mode..
Allowed values:
0: Unidirectional: 2-line unidirectional data mode selected
1: Bidirectional: 1-line bidirectional data mode selected
Offset: 0x4, size: 16, reset: 0x00000700, access: Unspecified
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 |
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: Disabled: Rx buffer DMA disabled
1: Enabled: Rx buffer DMA enabled
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: Disabled: Tx buffer DMA disabled
1: Enabled: Tx buffer DMA enabled
Bit 2: SS output enable Note: This bit is not used in I2S mode and SPI TI mode..
Allowed values:
0: Disabled: SS output is disabled in master mode
1: Enabled: SS output is enabled in master mode
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). 2. This bit is not used in I2S mode and SPI TI mode..
Allowed values:
0: NoPulse: No NSS pulse
1: PulseGenerated: NSS pulse generated
Bit 4: Frame format 1 SPI TI mode Note: This bit must be written only when the SPI is disabled (SPE=0). This bit is not used in I2S mode..
Allowed values:
0: Motorola: SPI Motorola mode
1: TI: SPI TI mode
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 I2S mode)..
Allowed values:
0: Masked: Error interrupt masked
1: NotMasked: Error interrupt not masked
Bit 6: RX buffer not empty interrupt enable.
Allowed values:
0: Masked: RXE interrupt masked
1: NotMasked: RXE interrupt not masked
Bit 7: Tx buffer empty interrupt enable.
Allowed values:
0: Masked: TXE interrupt masked
1: NotMasked: TXE interrupt not masked
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 I2S mode..
Allowed values:
3: FourBit: 4-bit
4: FiveBit: 5-bit
5: SixBit: 6-bit
6: SevenBit: 7-bit
7: EightBit: 8-bit
8: NineBit: 9-bit
9: TenBit: 10-bit
10: ElevenBit: 11-bit
11: TwelveBit: 12-bit
12: ThirteenBit: 13-bit
13: FourteenBit: 14-bit
14: FifteenBit: 15-bit
15: SixteenBit: 16-bit
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 I2S mode..
Allowed values:
0: Half: RXNE event is generated if the FIFO level is greater than or equal to 1/2 (16-bit)
1: Quarter: RXNE event is generated if the FIFO level is greater than or equal to 1/4 (8-bit)
Bit 13: Last DMA transfer for reception.
Allowed values:
0: Even: Number of data to transfer for receive is even
1: Odd: Number of data to transfer for receive is odd
Bit 14: Last DMA transfer for transmission.
Allowed values:
0: Even: Number of data to transfer for transmit is even
1: Odd: Number of data to transfer for transmit is odd
Offset: 0x8, size: 16, reset: 0x00000002, access: Unspecified
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 |
Bit 0: Receive buffer not empty.
Allowed values:
0: Empty: Rx buffer empty
1: NotEmpty: Rx buffer not empty
Bit 1: Transmit buffer empty.
Allowed values:
0: NotEmpty: Tx buffer not empty
1: Empty: Tx buffer empty
Bit 2: Channel side Note: This bit is not used in SPI mode. It has no significance in PCM mode..
Bit 3: Underrun flag This flag is set by hardware and reset by a software sequence. Refer to page1056 for the software sequence. Note: This bit is not used in SPI mode..
Bit 4: CRC error flag Note: This flag is set by hardware and cleared by software writing 0. This bit is not used in I2S mode..
Allowed values:
0: Match: CRC value received matches the SPIx_RXCRCR value
1: NoMatch: CRC value received does not match the SPIx_RXCRCR value
Bit 5: Mode fault This flag is set by hardware and reset by a software sequence. Refer to (MODF) on page1030 for the software sequence. Note: This bit is not used in I2S mode..
Allowed values:
0: NoFault: No mode fault occurred
1: Fault: Mode fault occurred
Bit 6: Overrun flag This flag is set by hardware and reset by a software sequence. Refer to page1056 for the software sequence..
Allowed values:
0: NoOverrun: No overrun occurred
1: Overrun: Overrun occurred
Bit 7: Busy flag This flag is set and cleared by hardware. Note: The BSY flag must be used with caution: refer to and ..
Allowed values:
0: NotBusy: SPI not busy
1: Busy: SPI busy
Bit 8: Frame format error This flag is used for SPI in TI slave mode and I2S slave mode. Refer to error flags and . This flag is set by hardware and reset when SPIx_SR is read by software..
Allowed values:
0: NoError: No frame format error
1: Error: A frame format error occurred
Bits 9-10: FIFO reception level.
Allowed values:
0: Empty: Rx FIFO Empty
1: Quarter: Rx 1/4 FIFO
2: Half: Rx 1/2 FIFO
3: Full: Rx FIFO full
Bits 11-12: FIFO transmission level These bits are set and cleared by hardware. Note: This bit is not used in I2S mode..
Allowed values:
0: Empty: Tx FIFO Empty
1: Quarter: Tx 1/4 FIFO
2: Half: Tx 1/2 FIFO
3: Full: Tx FIFO full
Offset: 0xc, size: 16, reset: 0x00000000, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DR
rw |
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 ). 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..
Allowed values: 0x0-0xffff
Direct 8-bit access to data register
Offset: 0xc, size: 8, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DR
rw |
Offset: 0x10, size: 16, reset: 0x00000007, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CRCPOLY
rw |
Offset: 0x14, size: 16, reset: 0x00000000, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
RXCRC
r |
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. These bits are not used in I2S mode..
Allowed values: 0x0-0xffff
Offset: 0x18, size: 16, reset: 0x00000000, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TXCRC
r |
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. These bits are not used in I2S mode..
Allowed values: 0x0-0xffff
Offset: 0x1c, size: 16, reset: 0x00000000, access: Unspecified
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 |
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. It is not used in SPI mode..
Allowed values:
0: SixteenBit: 16-bit wide
1: ThirtyTwoBit: 32-bit wide
Bits 1-2: Data length to be transferred Note: For correct operation, these bits should be configured when the I2S is disabled. They are not used in SPI mode..
Allowed values:
0: SixteenBit: 16-bit data length
1: TwentyFourBit: 24-bit data length
2: ThirtyTwoBit: 32-bit data length
Bit 3: Inactive state clock polarity Note: For correct operation, this bit should be configured when the I2S is disabled. It is not used in SPI mode. The bit CKPOL does not affect the CK edge sensitivity used to receive or transmit the SD and WS signals..
Allowed values:
0: IdleLow: I2S clock inactive state is low level
1: IdleHigh: I2S clock inactive state is high level
Bits 4-5: I2S standard selection For more details on I2S standards, refer to Note: For correct operation, these bits should be configured when the I2S is disabled. They are not used in SPI mode..
Allowed values:
0: Philips: I2S Philips standard
1: MSB: MSB justified standard
2: LSB: LSB justified standard
3: PCM: PCM standard
Bit 7: PCM frame synchronization Note: This bit has a meaning only if I2SSTD = 11 (PCM standard is used). It is not used in SPI mode..
Allowed values:
0: Short: Short frame synchronisation
1: Long: Long frame synchronisation
Bits 8-9: I2S configuration mode Note: These bits should be configured when the I2S is disabled. They are not used in SPI mode..
Allowed values:
0: SlaveTx: Slave - transmit
1: SlaveRx: Slave - receive
2: MasterTx: Master - transmit
3: MasterRx: Master - receive
Bit 10: I2S enable Note: This bit is not used in SPI mode..
Allowed values:
0: Disabled: I2S peripheral is disabled
1: Enabled: I2S peripheral is enabled
Bit 11: I2S mode selection Note: This bit should be configured when the SPI is disabled..
Allowed values:
0: SPIMode: SPI mode is selected
1: I2SMode: I2S mode is selected
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 I2S Philips Standard is used, or a rising edge for other standards. The appropriate level is a low level on WS signal when I2S Philips Standard is used, or a high level for other standards. Please refer to for additional information..
Allowed values:
0: AsyncStartDisabled: Asynchronous start disabled
1: AsyncStartEnabled: Asynchronous start enabled
Offset: 0x20, size: 16, reset: 0x00000002, access: Unspecified
3/3 fields covered.
Bits 0-7: I2S linear prescaler I2SDIV [7:0] = 0 or I2SDIV [7:0] = 1 are forbidden values. Refer to . Note: These bits should be configured when the I2S is disabled. They are used only when the I2S is in master mode. They are not used in SPI mode..
Allowed values: 0x2-0xff
Bit 8: Odd factor for the prescaler Refer to . Note: This bit should be configured when the I2S is disabled. It is used only when the I2S is in master mode. It is not used in SPI mode..
Allowed values:
0: Even: Real divider value is I2SDIV * 2
1: Odd: Real divider value is (I2SDIV * 2) + 1
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. It is not used in SPI mode..
Allowed values:
0: Disabled: Master clock output is disabled
1: Enabled: Master clock output is enabled
0x40003c00: Serial peripheral interface/Inter-IC sound
54/54 fields covered.
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) | CR1 | ||||||||||||||||||||||||||||||||
0x4 (16-bit) | CR2 | ||||||||||||||||||||||||||||||||
0x8 (16-bit) | SR | ||||||||||||||||||||||||||||||||
0xc (16-bit) | DR | ||||||||||||||||||||||||||||||||
0xc (8-bit) | DR8 | ||||||||||||||||||||||||||||||||
0x10 (16-bit) | CRCPR | ||||||||||||||||||||||||||||||||
0x14 (16-bit) | RXCRCR | ||||||||||||||||||||||||||||||||
0x18 (16-bit) | TXCRCR | ||||||||||||||||||||||||||||||||
0x1c (16-bit) | I2SCFGR | ||||||||||||||||||||||||||||||||
0x20 (16-bit) | I2SPR |
Offset: 0x0, size: 16, reset: 0x00000000, access: Unspecified
14/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 |
Bit 0: Clock phase Note: This bit should not be changed when communication is ongoing. This bit is not used in I2S mode and SPI TI mode except the case when CRC is applied at TI mode..
Allowed values:
0: FirstEdge: The first clock transition is the first data capture edge
1: SecondEdge: The second clock transition is the first data capture edge
Bit 1: Clock polarity Note: This bit should not be changed when communication is ongoing. This bit is not used in I2S mode and SPI TI mode except the case when CRC is applied at TI mode..
Allowed values:
0: IdleLow: CK to 0 when idle
1: IdleHigh: CK to 1 when idle
Bit 2: Master selection Note: This bit should not be changed when communication is ongoing. This bit is not used in I2S mode..
Allowed values:
0: Slave: Slave configuration
1: Master: Master configuration
Bits 3-5: Baud rate control Note: These bits should not be changed when communication is ongoing. These bits are not used in I2S mode..
Allowed values:
0: Div2: f_PCLK / 2
1: Div4: f_PCLK / 4
2: Div8: f_PCLK / 8
3: Div16: f_PCLK / 16
4: Div32: f_PCLK / 32
5: Div64: f_PCLK / 64
6: Div128: f_PCLK / 128
7: Div256: f_PCLK / 256
Bit 6: SPI enable Note: When disabling the SPI, follow the procedure described in SPI on page1020. This bit is not used in I2S mode..
Allowed values:
0: Disabled: Peripheral disabled
1: Enabled: Peripheral enabled
Bit 7: Frame format Note: 1. This bit should not be changed when communication is ongoing. 2. This bit is not used in I2S mode and SPI TI mode..
Allowed values:
0: MSBFirst: Data is transmitted/received with the MSB first
1: LSBFirst: Data is transmitted/received with the LSB first
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 I2S mode and SPI TI mode..
Allowed values:
0: SlaveSelected: 0 is forced onto the NSS pin and the I/O value of the NSS pin is ignored
1: SlaveNotSelected: 1 is forced onto the NSS pin and the I/O value of the NSS pin is ignored
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 I2S mode and SPI TI mode..
Allowed values:
0: Disabled: Software slave management disabled
1: Enabled: Software slave management enabled
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 I2S mode..
Allowed values:
0: FullDuplex: Full duplex (Transmit and receive)
1: OutputDisabled: Output disabled (Receive-only mode)
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. This bit is not used in I2S mode..
Allowed values:
0: EightBit: 8-bit CRC length
1: SixteenBit: 16-bit CRC length
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. This bit is not used in I2S mode..
Allowed values:
0: TxBuffer: Next transmit value is from Tx buffer
1: CRC: Next transmit value is from Tx CRC register
Bit 13: Hardware CRC calculation enable Note: This bit should be written only when SPI is disabled (SPE = '0') for correct operation. This bit is not used in I2S mode..
Allowed values:
0: Disabled: CRC calculation disabled
1: Enabled: CRC calculation enabled
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. This bit is not used in I2S mode..
Allowed values:
0: OutputDisabled: Output disabled (receive-only mode)
1: OutputEnabled: Output enabled (transmit-only mode)
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 I2S mode..
Allowed values:
0: Unidirectional: 2-line unidirectional data mode selected
1: Bidirectional: 1-line bidirectional data mode selected
Offset: 0x4, size: 16, reset: 0x00000700, access: Unspecified
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 |
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: Disabled: Rx buffer DMA disabled
1: Enabled: Rx buffer DMA enabled
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: Disabled: Tx buffer DMA disabled
1: Enabled: Tx buffer DMA enabled
Bit 2: SS output enable Note: This bit is not used in I2S mode and SPI TI mode..
Allowed values:
0: Disabled: SS output is disabled in master mode
1: Enabled: SS output is enabled in master mode
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). 2. This bit is not used in I2S mode and SPI TI mode..
Allowed values:
0: NoPulse: No NSS pulse
1: PulseGenerated: NSS pulse generated
Bit 4: Frame format 1 SPI TI mode Note: This bit must be written only when the SPI is disabled (SPE=0). This bit is not used in I2S mode..
Allowed values:
0: Motorola: SPI Motorola mode
1: TI: SPI TI mode
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 I2S mode)..
Allowed values:
0: Masked: Error interrupt masked
1: NotMasked: Error interrupt not masked
Bit 6: RX buffer not empty interrupt enable.
Allowed values:
0: Masked: RXE interrupt masked
1: NotMasked: RXE interrupt not masked
Bit 7: Tx buffer empty interrupt enable.
Allowed values:
0: Masked: TXE interrupt masked
1: NotMasked: TXE interrupt not masked
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 I2S mode..
Allowed values:
3: FourBit: 4-bit
4: FiveBit: 5-bit
5: SixBit: 6-bit
6: SevenBit: 7-bit
7: EightBit: 8-bit
8: NineBit: 9-bit
9: TenBit: 10-bit
10: ElevenBit: 11-bit
11: TwelveBit: 12-bit
12: ThirteenBit: 13-bit
13: FourteenBit: 14-bit
14: FifteenBit: 15-bit
15: SixteenBit: 16-bit
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 I2S mode..
Allowed values:
0: Half: RXNE event is generated if the FIFO level is greater than or equal to 1/2 (16-bit)
1: Quarter: RXNE event is generated if the FIFO level is greater than or equal to 1/4 (8-bit)
Bit 13: Last DMA transfer for reception.
Allowed values:
0: Even: Number of data to transfer for receive is even
1: Odd: Number of data to transfer for receive is odd
Bit 14: Last DMA transfer for transmission.
Allowed values:
0: Even: Number of data to transfer for transmit is even
1: Odd: Number of data to transfer for transmit is odd
Offset: 0x8, size: 16, reset: 0x00000002, access: Unspecified
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 |
Bit 0: Receive buffer not empty.
Allowed values:
0: Empty: Rx buffer empty
1: NotEmpty: Rx buffer not empty
Bit 1: Transmit buffer empty.
Allowed values:
0: NotEmpty: Tx buffer not empty
1: Empty: Tx buffer empty
Bit 2: Channel side Note: This bit is not used in SPI mode. It has no significance in PCM mode..
Bit 3: Underrun flag This flag is set by hardware and reset by a software sequence. Refer to page1056 for the software sequence. Note: This bit is not used in SPI mode..
Bit 4: CRC error flag Note: This flag is set by hardware and cleared by software writing 0. This bit is not used in I2S mode..
Allowed values:
0: Match: CRC value received matches the SPIx_RXCRCR value
1: NoMatch: CRC value received does not match the SPIx_RXCRCR value
Bit 5: Mode fault This flag is set by hardware and reset by a software sequence. Refer to (MODF) on page1030 for the software sequence. Note: This bit is not used in I2S mode..
Allowed values:
0: NoFault: No mode fault occurred
1: Fault: Mode fault occurred
Bit 6: Overrun flag This flag is set by hardware and reset by a software sequence. Refer to page1056 for the software sequence..
Allowed values:
0: NoOverrun: No overrun occurred
1: Overrun: Overrun occurred
Bit 7: Busy flag This flag is set and cleared by hardware. Note: The BSY flag must be used with caution: refer to and ..
Allowed values:
0: NotBusy: SPI not busy
1: Busy: SPI busy
Bit 8: Frame format error This flag is used for SPI in TI slave mode and I2S slave mode. Refer to error flags and . This flag is set by hardware and reset when SPIx_SR is read by software..
Allowed values:
0: NoError: No frame format error
1: Error: A frame format error occurred
Bits 9-10: FIFO reception level.
Allowed values:
0: Empty: Rx FIFO Empty
1: Quarter: Rx 1/4 FIFO
2: Half: Rx 1/2 FIFO
3: Full: Rx FIFO full
Bits 11-12: FIFO transmission level These bits are set and cleared by hardware. Note: This bit is not used in I2S mode..
Allowed values:
0: Empty: Tx FIFO Empty
1: Quarter: Tx 1/4 FIFO
2: Half: Tx 1/2 FIFO
3: Full: Tx FIFO full
Offset: 0xc, size: 16, reset: 0x00000000, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DR
rw |
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 ). 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..
Allowed values: 0x0-0xffff
Direct 8-bit access to data register
Offset: 0xc, size: 8, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DR
rw |
Offset: 0x10, size: 16, reset: 0x00000007, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CRCPOLY
rw |
Offset: 0x14, size: 16, reset: 0x00000000, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
RXCRC
r |
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. These bits are not used in I2S mode..
Allowed values: 0x0-0xffff
Offset: 0x18, size: 16, reset: 0x00000000, access: Unspecified
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TXCRC
r |
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. These bits are not used in I2S mode..
Allowed values: 0x0-0xffff
Offset: 0x1c, size: 16, reset: 0x00000000, access: Unspecified
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 |
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. It is not used in SPI mode..
Allowed values:
0: SixteenBit: 16-bit wide
1: ThirtyTwoBit: 32-bit wide
Bits 1-2: Data length to be transferred Note: For correct operation, these bits should be configured when the I2S is disabled. They are not used in SPI mode..
Allowed values:
0: SixteenBit: 16-bit data length
1: TwentyFourBit: 24-bit data length
2: ThirtyTwoBit: 32-bit data length
Bit 3: Inactive state clock polarity Note: For correct operation, this bit should be configured when the I2S is disabled. It is not used in SPI mode. The bit CKPOL does not affect the CK edge sensitivity used to receive or transmit the SD and WS signals..
Allowed values:
0: IdleLow: I2S clock inactive state is low level
1: IdleHigh: I2S clock inactive state is high level
Bits 4-5: I2S standard selection For more details on I2S standards, refer to Note: For correct operation, these bits should be configured when the I2S is disabled. They are not used in SPI mode..
Allowed values:
0: Philips: I2S Philips standard
1: MSB: MSB justified standard
2: LSB: LSB justified standard
3: PCM: PCM standard
Bit 7: PCM frame synchronization Note: This bit has a meaning only if I2SSTD = 11 (PCM standard is used). It is not used in SPI mode..
Allowed values:
0: Short: Short frame synchronisation
1: Long: Long frame synchronisation
Bits 8-9: I2S configuration mode Note: These bits should be configured when the I2S is disabled. They are not used in SPI mode..
Allowed values:
0: SlaveTx: Slave - transmit
1: SlaveRx: Slave - receive
2: MasterTx: Master - transmit
3: MasterRx: Master - receive
Bit 10: I2S enable Note: This bit is not used in SPI mode..
Allowed values:
0: Disabled: I2S peripheral is disabled
1: Enabled: I2S peripheral is enabled
Bit 11: I2S mode selection Note: This bit should be configured when the SPI is disabled..
Allowed values:
0: SPIMode: SPI mode is selected
1: I2SMode: I2S mode is selected
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 I2S Philips Standard is used, or a rising edge for other standards. The appropriate level is a low level on WS signal when I2S Philips Standard is used, or a high level for other standards. Please refer to for additional information..
Allowed values:
0: AsyncStartDisabled: Asynchronous start disabled
1: AsyncStartEnabled: Asynchronous start enabled
Offset: 0x20, size: 16, reset: 0x00000002, access: Unspecified
3/3 fields covered.
Bits 0-7: I2S linear prescaler I2SDIV [7:0] = 0 or I2SDIV [7:0] = 1 are forbidden values. Refer to . Note: These bits should be configured when the I2S is disabled. They are used only when the I2S is in master mode. They are not used in SPI mode..
Allowed values: 0x2-0xff
Bit 8: Odd factor for the prescaler Refer to . Note: This bit should be configured when the I2S is disabled. It is used only when the I2S is in master mode. It is not used in SPI mode..
Allowed values:
0: Even: Real divider value is I2SDIV * 2
1: Odd: Real divider value is (I2SDIV * 2) + 1
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. It is not used in SPI mode..
Allowed values:
0: Disabled: Master clock output is disabled
1: Enabled: Master clock output is enabled
0x40010000: System configuration controller
83/83 fields covered.
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 | CFGR1 | ||||||||||||||||||||||||||||||||
0x18 | CFGR2 | ||||||||||||||||||||||||||||||||
0x80 | ITLINE0 | ||||||||||||||||||||||||||||||||
0x88 | ITLINE2 | ||||||||||||||||||||||||||||||||
0x8c | ITLINE3 | ||||||||||||||||||||||||||||||||
0x90 | ITLINE4 | ||||||||||||||||||||||||||||||||
0x94 | ITLINE5 | ||||||||||||||||||||||||||||||||
0x98 | ITLINE6 | ||||||||||||||||||||||||||||||||
0x9c | ITLINE7 | ||||||||||||||||||||||||||||||||
0xa0 | ITLINE8 | ||||||||||||||||||||||||||||||||
0xa4 | ITLINE9 | ||||||||||||||||||||||||||||||||
0xa8 | ITLINE10 | ||||||||||||||||||||||||||||||||
0xac | ITLINE11 | ||||||||||||||||||||||||||||||||
0xb0 | ITLINE12 | ||||||||||||||||||||||||||||||||
0xb4 | ITLINE13 | ||||||||||||||||||||||||||||||||
0xb8 | ITLINE14 | ||||||||||||||||||||||||||||||||
0xc0 | ITLINE16 | ||||||||||||||||||||||||||||||||
0xc4 | ITLINE17 | ||||||||||||||||||||||||||||||||
0xc8 | ITLINE18 | ||||||||||||||||||||||||||||||||
0xcc | ITLINE19 | ||||||||||||||||||||||||||||||||
0xd0 | ITLINE20 | ||||||||||||||||||||||||||||||||
0xd4 | ITLINE21 | ||||||||||||||||||||||||||||||||
0xd8 | ITLINE22 | ||||||||||||||||||||||||||||||||
0xdc | ITLINE23 | ||||||||||||||||||||||||||||||||
0xe0 | ITLINE24 | ||||||||||||||||||||||||||||||||
0xe4 | ITLINE25 | ||||||||||||||||||||||||||||||||
0xe8 | ITLINE26 | ||||||||||||||||||||||||||||||||
0xec | ITLINE27 | ||||||||||||||||||||||||||||||||
0xf0 | ITLINE28 | ||||||||||||||||||||||||||||||||
0xf4 | ITLINE29 |
SYSCFG configuration register 1
Offset: 0x0, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
I2C3_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_PBx_FMP
rw |
|||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
UCPD2_STROBE
rw |
UCPD1_STROBE
rw |
BOOSTEN
rw |
IR_MOD
rw |
IR_POL
rw |
PA12_RMP
rw |
PA11_RMP
rw |
MEM_MODE
rw |
Bits 0-1: Memory mapping selection bits.
Allowed values:
0: MainFlash: Main flash memory mapped at zero address
2: SystemFlash: System flash memory mapped at zero address
3: SRAM: Embedded SRAM mapped at zero address
Bit 3: PA11_RMP.
Allowed values:
0: Normal: PA11 pin connected to PA11 GPIO
1: Remap: PA11 pin connected to PA9 GPIO
Bit 4: PA11 and PA12 remapping bit..
Allowed values:
0: Normal: PA12 pin connected to PA12 GPIO
1: Remap: PA12 pin connected to PA10 GPIO
Bit 5: IR output polarity selection.
Allowed values:
0: Normal: Output of IRTIM is not inverted
1: Inverted: Output of IRTIM is inverted
Bits 6-7: IR Modulation Envelope signal selection..
Allowed values:
0: TIM16: IR modulation envelope from TIM16
1: USART1: IR modulation envelope from USART1
2: USART4: IR modulation envelope from USART4
Bit 8: I/O analog switch voltage booster enable.
Allowed values:
0: VDD: supply analog switches from VDD
1: BOOST: supply analog switches from dedicated voltage booster
Bit 9: Strobe signal bit for UCPD1.
Allowed values:
1: Disconnect: Disconnect the UCPD pull-down resistors
Bit 10: Strobe signal bit for UCPD2.
Allowed values:
1: Disconnect: Disconnect the UCPD pull-down resistors
Bit 16: Fast Mode Plus (FM+) driving capability activation bits.
Allowed values:
0: Disabled: Uses normal GPIO drive
1: Enabled: Uses I2C FastMode+ drive
Bit 17: I2C_PB7_FMP.
Allowed values:
0: Disabled: Uses normal GPIO drive
1: Enabled: Uses I2C FastMode+ drive
Bit 18: I2C_PB8_FMP.
Allowed values:
0: Disabled: Uses normal GPIO drive
1: Enabled: Uses I2C FastMode+ drive
Bit 19: I2C_PB9_FMP.
Allowed values:
0: Disabled: Uses normal GPIO drive
1: Enabled: Uses I2C FastMode+ drive
Bit 20: FM+ driving capability activation for I2C1.
Allowed values:
0: Disabled: Uses normal GPIO drive
1: Enabled: Uses I2C FastMode+ drive
Bit 21: FM+ driving capability activation for I2C2.
Allowed values:
0: Disabled: Uses normal GPIO drive
1: Enabled: Uses I2C FastMode+ drive
Bit 22: Fast Mode Plus (FM+) driving capability activation bits.
Allowed values:
0: Disabled: Uses normal GPIO drive
1: Enabled: Uses I2C FastMode+ drive
Bit 23: Fast Mode Plus (FM+) driving capability activation bits.
Allowed values:
0: Disabled: Uses normal GPIO drive
1: Enabled: Uses I2C FastMode+ drive
Bit 24: I2C3_FMP.
Allowed values:
0: Disabled: Uses normal GPIO drive
1: Enabled: Uses I2C FastMode+ drive
SYSCFG configuration register 1
Offset: 0x18, size: 32, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SRAM_PEF
rw |
ECC_LOCK
rw |
SRAM_PARITY_LOCK
rw |
LOCKUP_LOCK
rw |
Bit 0: Cortex-M0+ LOCKUP bit enable bit.
Allowed values:
0: Disabled: error not connected to timers
1: Enabled: error triggers TIM1/15/16/17 break input
Bit 1: SRAM parity lock bit.
Allowed values:
0: Disabled: error not connected to timers
1: Enabled: error triggers TIM1/15/16/17 break input
Bit 3: ECC error lock bit.
Allowed values:
0: Disabled: error not connected to timers
1: Enabled: error triggers TIM1/15/16/17 break input
Bit 8: SRAM parity error flag.
Allowed values:
0: Normal: No SRAM parity error detected
1: Error: SRAM parity error detected
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 |
interrupt line 2 status register
Offset: 0x88, size: 32, reset: 0x00000000, access: read-only
2/2 fields covered.
interrupt line 3 status register
Offset: 0x8c, size: 32, reset: 0x00000000, access: read-only
2/2 fields covered.
interrupt line 4 status register
Offset: 0x90, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
RCC
r |
interrupt line 5 status register
Offset: 0x94, size: 32, reset: 0x00000000, access: read-only
2/2 fields covered.
interrupt line 6 status register
Offset: 0x98, size: 32, reset: 0x00000000, access: read-only
2/2 fields covered.
interrupt line 7 status register
Offset: 0x9c, size: 32, reset: 0x00000000, access: read-only
12/12 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
EXTI15
r |
EXTI14
r |
EXTI13
r |
EXTI12
r |
EXTI11
r |
EXTI10
r |
EXTI9
r |
EXTI8
r |
EXTI7
r |
EXTI6
r |
EXTI5
r |
EXTI4
r |
Bit 0: EXTI4.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 1: EXTI5.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 2: EXTI6.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 3: EXTI7.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 4: EXTI8.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 5: EXTI9.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 6: EXTI10.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 7: EXTI11.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 8: EXTI12.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 9: EXTI13.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 10: EXTI14.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 11: EXTI15.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
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 |
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 |
interrupt line 10 status register
Offset: 0xa8, size: 32, reset: 0x00000000, access: read-only
2/2 fields covered.
interrupt line 11 status register
Offset: 0xac, size: 32, reset: 0x00000000, access: read-only
10/10 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DMA2_CH5
r |
DMA2_CH4
r |
DMA2_CH3
r |
DMA2_CH2
r |
DMA2_CH1
r |
DMA1_CH7
r |
DMA1_CH6
r |
DMA1_CH5
r |
DMA1_CH4
r |
DMAMUX
r |
Bit 0: DMAMUX.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 1: DMA1_CH4.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 2: DMA1_CH5.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 3: DMA1_CH6.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 4: DMA1_CH7.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 5: DMA2_CH1.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 6: DMA2_CH2.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 7: DMA2_CH3.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 8: DMA2_CH4.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 9: DMA2_CH5.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
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 |
interrupt line 13 status register
Offset: 0xb4, size: 32, reset: 0x00000000, access: read-only
4/4 fields covered.
Bit 0: TIM1_CCU.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 1: TIM1_TRG.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 2: TIM1_UPD.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 3: TIM1_BRK.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
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 |
interrupt line 16 status register
Offset: 0xc0, size: 32, reset: 0x00000000, access: read-only
2/2 fields covered.
interrupt line 17 status register
Offset: 0xc4, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TIM6
r |
interrupt line 18 status register
Offset: 0xc8, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TIM7
r |
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 |
interrupt line 20 status register
Offset: 0xd0, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TIM15
r |
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 |
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 |
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 |
interrupt line 24 status register
Offset: 0xe0, size: 32, reset: 0x00000000, access: read-only
2/2 fields covered.
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 |
interrupt line 26 status register
Offset: 0xe8, size: 32, reset: 0x00000000, access: read-only
2/2 fields covered.
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 |
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 |
interrupt line 29 status register
Offset: 0xf4, size: 32, reset: 0x00000000, access: read-only
4/4 fields covered.
Bit 0: USART3.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 1: USART4.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 3: USART5.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
Bit 4: USART6.
Allowed values:
0: NotInterrupted: Interrupt not triggered
1: Interrupted: Interrup triggered
0x4000b000: Tamper and backup registers
14/53 fields covered.
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 | CR1 | ||||||||||||||||||||||||||||||||
0x4 | CR2 | ||||||||||||||||||||||||||||||||
0xc | FLTCR | ||||||||||||||||||||||||||||||||
0x2c | IER | ||||||||||||||||||||||||||||||||
0x30 | SR | ||||||||||||||||||||||||||||||||
0x34 | MISR | ||||||||||||||||||||||||||||||||
0x3c | SCR | ||||||||||||||||||||||||||||||||
0x100 | BKP[0]R | ||||||||||||||||||||||||||||||||
0x104 | BKP[1]R | ||||||||||||||||||||||||||||||||
0x108 | BKP[2]R | ||||||||||||||||||||||||||||||||
0x10c | BKP[3]R | ||||||||||||||||||||||||||||||||
0x110 | BKP[4]R |
TAMP control register 1
Offset: 0x0, size: 32, reset: 0xFFFF0000, access: Unspecified
0/7 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ITAMP6E
rw |
ITAMP5E
rw |
ITAMP4E
rw |
ITAMP3E
rw |
||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TAMP3E
rw |
TAMP2E
rw |
TAMP1E
rw |
Bit 0: Tamper detection on TAMP_IN1 enable.
Bit 1: Tamper detection on TAMP_IN2 enable.
Bit 2: Tamper detection on TAMP_IN3 enable.
Bit 18: Internal tamper 3 enable: LSE monitoring.
Bit 19: Internal tamper 4 enable: HSE monitoring.
Bit 20: Internal tamper 5 enable: RTC calendar overflow.
Bit 21: Internal tamper 6 enable: ST manufacturer readout.
TAMP control register 2
Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified
0/9 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TAMP3TRG
rw |
TAMP2TRG
rw |
TAMP1TRG
rw |
TAMP3MSK
rw |
TAMP2MSK
rw |
TAMP1MSK
rw |
||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TAMP3NOER
rw |
TAMP2NOER
rw |
TAMP1NOER
rw |
Bit 0: Tamper 1 no erase.
Bit 1: Tamper 2 no erase.
Bit 2: Tamper 3 no erase.
Bit 16: Tamper 1 mask The tamper 1 interrupt must not be enabled when TAMP1MSK is set..
Bit 17: Tamper 2 mask The tamper 2 interrupt must not be enabled when TAMP2MSK is set..
Bit 18: Tamper 3 mask The tamper 3 interrupt must not be enabled when TAMP3MSK is set..
Bit 24: Active level for tamper 1 input (active mode disabled) If TAMPFLT = 00 Tamper 1 input rising edge and high level triggers a tamper detection event. If TAMPFLT = 00 Tamper 1 input falling edge and low level triggers a tamper detection event..
Bit 25: Active level for tamper 2 input (active mode disabled) If TAMPFLT = 00 Tamper 2 input rising edge and high level triggers a tamper detection event. If TAMPFLT = 00 Tamper 2 input falling edge and low level triggers a tamper detection event..
Bit 26: Active level for tamper 3 input (active mode disabled) If TAMPFLT = 00 Tamper 3 input rising edge and high level triggers a tamper detection event. If TAMPFLT = 00 Tamper 3 input falling edge and low level triggers a tamper detection event..
TAMP filter control register
Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified
0/4 fields covered.
Bits 0-2: Tamper sampling frequency Determines the frequency at which each of the TAMP_INx inputs are sampled..
Bits 3-4: TAMP_INx filter count These bits determines the number of consecutive samples at the specified level (TAMP*TRG) needed to activate a tamper event. TAMPFLT is valid for each of the TAMP_INx inputs..
Bits 5-6: TAMP_INx precharge duration These bit determines the duration of time during which the pull-up/is activated before each sample. TAMPPRCH is valid for each of the TAMP_INx inputs..
Bit 7: TAMP_INx pull-up disable This bit determines if each of the TAMPx pins are precharged before each sample..
TAMP interrupt enable register
Offset: 0x2c, size: 32, reset: 0x00000000, access: Unspecified
0/7 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ITAMP6IE
rw |
ITAMP5IE
rw |
ITAMP4IE
rw |
ITAMP3IE
rw |
||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TAMP3IE
rw |
TAMP2IE
rw |
TAMP1IE
rw |
Bit 0: Tamper 1 interrupt enable.
Bit 1: Tamper 2 interrupt enable.
Bit 2: Tamper 3 interrupt enable.
Bit 18: Internal tamper 3 interrupt enable: LSE monitoring.
Bit 19: Internal tamper 4 interrupt enable: HSE monitoring.
Bit 20: Internal tamper 5 interrupt enable: RTC calendar overflow.
Bit 21: Internal tamper 6 interrupt enable: ST manufacturer readout.
TAMP status register
Offset: 0x30, size: 32, reset: 0x00000000, access: Unspecified
7/7 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ITAMP6F
r |
ITAMP5F
r |
ITAMP4F
r |
ITAMP3F
r |
||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TAMP3F
r |
TAMP2F
r |
TAMP1F
r |
Bit 0: TAMP1 detection flag This flag is set by hardware when a tamper detection event is detected on the TAMP1 input..
Bit 1: TAMP2 detection flag This flag is set by hardware when a tamper detection event is detected on the TAMP2 input..
Bit 2: TAMP3 detection flag This flag is set by hardware when a tamper detection event is detected on the TAMP3 input..
Bit 18: LSE monitoring tamper detection flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 3..
Bit 19: HSE monitoring tamper detection flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 4..
Bit 20: RTC calendar overflow tamper detection flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 5..
Bit 21: ST manufacturer readout tamper detection flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 6..
TAMP masked interrupt status register
Offset: 0x34, size: 32, reset: 0x00000000, access: Unspecified
7/7 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ITAMP6MF
r |
ITAMP5MF
r |
ITAMP4MF
r |
ITAMP3MF
r |
||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TAMP3MF
r |
TAMP2MF
r |
TAMP1MF
r |
Bit 0: TAMP1 interrupt masked flag This flag is set by hardware when the tamper 1 interrupt is raised..
Bit 1: TAMP2 interrupt masked flag This flag is set by hardware when the tamper 2 interrupt is raised..
Bit 2: TAMP3 interrupt masked flag This flag is set by hardware when the tamper 3 interrupt is raised..
Bit 18: LSE monitoring tamper interrupt masked flag This flag is set by hardware when the internal tamper 3 interrupt is raised..
Bit 19: HSE monitoring tamper interrupt masked flag This flag is set by hardware when the internal tamper 4 interrupt is raised..
Bit 20: RTC calendar overflow tamper interrupt masked flag This flag is set by hardware when the internal tamper 5 interrupt is raised..
Bit 21: ST manufacturer readout tamper interrupt masked flag This flag is set by hardware when the internal tamper 6 interrupt is raised..
TAMP status clear register
Offset: 0x3c, size: 32, reset: 0x00000000, access: Unspecified
0/7 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CITAMP6F
w |
CITAMP5F
w |
CITAMP4F
w |
CITAMP3F
w |
||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
CTAMP3F
w |
CTAMP2F
w |
CTAMP1F
w |
Bit 0: Clear TAMP1 detection flag Writing 1 in this bit clears the TAMP1F bit in the TAMP_SR register..
Bit 1: Clear TAMP2 detection flag Writing 1 in this bit clears the TAMP2F bit in the TAMP_SR register..
Bit 2: Clear TAMP3 detection flag Writing 1 in this bit clears the TAMP3F bit in the TAMP_SR register..
Bit 18: Clear ITAMP3 detection flag Writing 1 in this bit clears the ITAMP3F bit in the TAMP_SR register..
Bit 19: Clear ITAMP4 detection flag Writing 1 in this bit clears the ITAMP4F bit in the TAMP_SR register..
Bit 20: Clear ITAMP5 detection flag Writing 1 in this bit clears the ITAMP5F bit in the TAMP_SR register..
Bit 21: Clear ITAMP6 detection flag Writing 1 in this bit clears the ITAMP6F bit in the TAMP_SR register..
TAMP backup 0 register
Offset: 0x100, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: The application can write or read data to and from these registers. They are powered-on by VBAT when VDD is switched off, so that they are not reset by System reset, and their contents remain valid when the device operates in low-power mode. In the default configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set. This register is also reset when the readout protection (RDP) is disabled..
TAMP backup 1 register
Offset: 0x104, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: The application can write or read data to and from these registers. They are powered-on by VBAT when VDD is switched off, so that they are not reset by System reset, and their contents remain valid when the device operates in low-power mode. In the default configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set. This register is also reset when the readout protection (RDP) is disabled..
TAMP backup 2 register
Offset: 0x108, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: The application can write or read data to and from these registers. They are powered-on by VBAT when VDD is switched off, so that they are not reset by System reset, and their contents remain valid when the device operates in low-power mode. In the default configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set. This register is also reset when the readout protection (RDP) is disabled..
TAMP backup 3 register
Offset: 0x10c, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: The application can write or read data to and from these registers. They are powered-on by VBAT when VDD is switched off, so that they are not reset by System reset, and their contents remain valid when the device operates in low-power mode. In the default configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set. This register is also reset when the readout protection (RDP) is disabled..
TAMP backup 4 register
Offset: 0x110, size: 32, reset: 0x00000000, access: Unspecified
0/1 fields covered.
Bits 0-31: The application can write or read data to and from these registers. They are powered-on by VBAT when VDD is switched off, so that they are not reset by System reset, and their contents remain valid when the device operates in low-power mode. In the default configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set. This register is also reset when the readout protection (RDP) is disabled..
0x40012c00: Advanced-timers
50/190 fields covered.
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 | CR1 | ||||||||||||||||||||||||||||||||
0x4 | CR2 | ||||||||||||||||||||||||||||||||
0x8 | SMCR | ||||||||||||||||||||||||||||||||
0xc | DIER | ||||||||||||||||||||||||||||||||
0x10 | SR | ||||||||||||||||||||||||||||||||
0x14 | EGR | ||||||||||||||||||||||||||||||||
0x18 | CCMR1_Input | ||||||||||||||||||||||||||||||||
0x18 | CCMR1_Output | ||||||||||||||||||||||||||||||||
0x1c | CCMR2_Input | ||||||||||||||||||||||||||||||||
0x1c | CCMR2_Output | ||||||||||||||||||||||||||||||||
0x20 | CCER | ||||||||||||||||||||||||||||||||
0x24 | CNT | ||||||||||||||||||||||||||||||||
0x28 | PSC | ||||||||||||||||||||||||||||||||
0x2c | ARR | ||||||||||||||||||||||||||||||||
0x30 | RCR | ||||||||||||||||||||||||||||||||
0x34 | CCR[1] | ||||||||||||||||||||||||||||||||
0x38 | CCR[2] | ||||||||||||||||||||||||||||||||
0x3c | CCR[3] | ||||||||||||||||||||||||||||||||
0x40 | CCR[4] | ||||||||||||||||||||||||||||||||
0x44 | BDTR | ||||||||||||||||||||||||||||||||
0x48 | DCR | ||||||||||||||||||||||||||||||||
0x4c | DMAR | ||||||||||||||||||||||||||||||||
0x50 | OR1 | ||||||||||||||||||||||||||||||||
0x54 | CCMR3_Output | ||||||||||||||||||||||||||||||||
0x58 | CCR5 | ||||||||||||||||||||||||||||||||
0x5c | CCR6 | ||||||||||||||||||||||||||||||||
0x60 | AF1 | ||||||||||||||||||||||||||||||||
0x64 | AF2 | ||||||||||||||||||||||||||||||||
0x68 | TISEL |
control register 1
Offset: 0x0, size: 32, reset: 0x00000000, access: read-write
8/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 |
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: Disabled: Counter disabled
1: Enabled: Counter enabled
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: Enabled: Update event enabled
1: Disabled: Update event disabled
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: AnyEvent: Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request
1: CounterOnly: Only counter overflow/underflow generates an update interrupt or DMA request
Bit 3: One pulse mode.
Allowed values:
0: Disabled: Counter is not stopped at update event
1: Enabled: Counter stops counting at the next update event (clearing the CEN bit)
Bit 4: Direction Note: This bit is read only when the timer is configured in Center-aligned mode or Encoder mode..
Allowed values:
0: Up: Counter used as upcounter
1: Down: Counter used as downcounter
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: EdgeAligned: The counter counts up or down depending on the direction bit
1: CenterAligned1: The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting down.
2: CenterAligned2: The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting up.
3: CenterAligned3: The counter counts up and down alternatively. Output compare interrupt flags are set both when the counter is counting up or down.
Bit 7: Auto-reload preload enable.
Allowed values:
0: Disabled: TIMx_APRR register is not buffered
1: Enabled: TIMx_APRR register is buffered
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 (tDTS)used by the dead-time generators and the digital filters (ETR, TIx): Note: tDTS = 1/fDTS, tCK_INT = 1/fCK_INT..
Allowed values:
0: Div1: t_DTS = t_CK_INT
1: Div2: t_DTS = 2 × t_CK_INT
2: Div4: t_DTS = 4 × t_CK_INT
Bit 11: UIF status bit remapping.
control register 2
Offset: 0x4, size: 32, reset: 0x00000000, access: read-write
9/15 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MMS2
rw |
OIS[6]
rw |
OIS[5]
rw |
|||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
OIS[4]
rw |
OIS[3]N
rw |
OIS[3]
rw |
OIS[2]N
rw |
OIS[2]
rw |
OIS[1]N
rw |
OIS[1]
rw |
TI1S
rw |
MMS
rw |
CCDS
rw |
CCUS
rw |
CCPC
rw |
Bit 0: Capture/compare preloaded control Note: This bit acts only on channels that have a complementary output..
Bit 2: Capture/compare control update selection Note: This bit acts only on channels that have a complementary output..
Bit 3: Capture/compare DMA selection.
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..
Bit 7: TI1 selection.
Bit 8: Output Idle state (OC1 output).
Allowed values:
0: Reset: OCx=0 (after a dead-time if OCx(N) is implemented) when MOE=0
1: Set: OCx=1 (after a dead-time if OCx(N) is implemented) when MOE=0
Bit 9: Output Idle state (OC1N output).
Allowed values:
0: Reset: OCxN=0 after a dead-time when MOE=0
1: Set: OCxN=1 after a dead-time when MOE=0
Bit 10: Output Idle state (OC2 output).
Allowed values:
0: Reset: OCx=0 (after a dead-time if OCx(N) is implemented) when MOE=0
1: Set: OCx=1 (after a dead-time if OCx(N) is implemented) when MOE=0
Bit 11: Output Idle state (OC2N output).
Allowed values:
0: Reset: OCxN=0 after a dead-time when MOE=0
1: Set: OCxN=1 after a dead-time when MOE=0
Bit 12: Output Idle state (OC3 output).
Allowed values:
0: Reset: OCx=0 (after a dead-time if OCx(N) is implemented) when MOE=0
1: Set: OCx=1 (after a dead-time if OCx(N) is implemented) when MOE=0
Bit 13: Output Idle state (OC3N output).
Allowed values:
0: Reset: OCxN=0 after a dead-time when MOE=0
1: Set: OCxN=1 after a dead-time when MOE=0
Bit 14: Output Idle state (OC4 output).
Allowed values:
0: Reset: OCx=0 (after a dead-time if OCx(N) is implemented) when MOE=0
1: Set: OCx=1 (after a dead-time if OCx(N) is implemented) when MOE=0
Bit 16: Output Idle state (OC5 output).
Allowed values:
0: Reset: OCx=0 (after a dead-time if OCx(N) is implemented) when MOE=0
1: Set: OCx=1 (after a dead-time if OCx(N) is implemented) when MOE=0
Bit 18: Output Idle state (OC6 output).
Allowed values:
0: Reset: OCx=0 (after a dead-time if OCx(N) is implemented) when MOE=0
1: Set: OCx=1 (after a dead-time if OCx(N) is implemented) when MOE=0
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..
slave mode control register
Offset: 0x8, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TS2
rw |
SMS2
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 |
TS1
rw |
OCCS
rw |
SMS1
rw |
Bits 0-2: 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. 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..
Bit 3: OCREF clear selection This bit is used to select the OCREF clear source..
Bits 4-6: Trigger selection This bit-field selects the trigger input to be used to synchronize the counter. Others: Reserved See 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..
Bit 7: Master/slave mode.
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:.
Bits 12-13: External trigger prescaler External trigger signal ETRP frequency must be at most 1/4 of fCK_INT frequency. A prescaler can be enabled to reduce ETRP frequency. It is useful when inputting fast external clocks..
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). If external clock mode 1 and external clock mode 2 are enabled at the same time, the external clock input is ETRF..
Bit 15: External trigger polarity This bit selects whether ETR or ETR is used for trigger operations.
Bit 16: 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. 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..
Bits 20-21: Trigger selection This bit-field selects the trigger input to be used to synchronize the counter. Others: Reserved See 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..
DMA/Interrupt enable register
Offset: 0xc, size: 32, reset: 0x00000000, access: read-write
1/15 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TDE
rw |
COMDE
rw |
CC[4]DE
rw |
CC[3]DE
rw |
CC[2]DE
rw |
CC[1]DE
rw |
UDE
rw |
BIE
rw |
TIE
rw |
COMIE
rw |
CC[4]IE
rw |
CC[3]IE
rw |
CC[2]IE
rw |
CC[1]IE
rw |
UIE
rw |
Bit 0: Update interrupt enable.
Allowed values:
0: Disabled: Update interrupt disabled
1: Enabled: Update interrupt enabled
Bit 1: Capture/Compare 1 interrupt enable.
Bit 2: Capture/Compare 2 interrupt enable.
Bit 3: Capture/Compare 3 interrupt enable.
Bit 4: Capture/Compare 4 interrupt enable.
Bit 5: COM interrupt enable.
Bit 6: Trigger interrupt enable.
Bit 7: Break interrupt enable.
Bit 8: Update DMA request enable.
Bit 9: Capture/Compare 1 DMA request enable.
Bit 10: Capture/Compare 2 DMA request enable.
Bit 11: Capture/Compare 3 DMA request enable.
Bit 12: Capture/Compare 4 DMA request enable.
Bit 13: COM DMA request enable.
Bit 14: Trigger DMA request enable.
status register
Offset: 0x10, size: 32, reset: 0x00000000, access: read-write
1/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 |
CC[4]OF
rw |
CC[3]OF
rw |
CC[2]OF
rw |
CC[1]OF
rw |
B2IF
rw |
BIF
rw |
TIF
rw |
COMIF
rw |
CC[4]IF
rw |
CC[3]IF
rw |
CC[2]IF
rw |
CC[1]IF
rw |
UIF
rw |
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 control register (TIM1_SMCRTIMx_SMCR)N/A), if URS=0 and UDIS=0 in the TIMx_CR1 register..
Allowed values:
0: NoUpdateOccurred: No update occurred
1: UpdatePending: Update interrupt pending
Bit 1: Capture/compare 1 interrupt flag.
Bit 2: Capture/compare 2 interrupt flag.
Bit 3: Capture/compare 3 interrupt flag.
Bit 4: Capture/compare 4 interrupt flag.
Bit 5: COM interrupt flag.
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..
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..
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..
Bit 9: Capture/Compare 1 overcapture flag.
Bit 10: Capture/Compare 2 overcapture flag.
Bit 11: Capture/Compare 3 overcapture flag.
Bit 12: Capture/Compare 4 overcapture flag.
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..
Bit 16: Compare 5 interrupt flag Refer to CC1IF description (Note: Channel 5 can only be configured as output).
Bit 17: Compare 6 interrupt flag Refer to CC1IF description (Note: Channel 6 can only be configured as output).
event generation register
Offset: 0x14, size: 32, reset: 0x00000000, access: write-only
1/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 |
CC[4]G
w |
CC[3]G
w |
CC[2]G
w |
CC[1]G
w |
UG
w |
Bit 0: Update generation This bit can be set by software, it is automatically cleared by hardware..
Allowed values:
1: Update: Re-initializes the timer counter and generates an update of the registers.
Bit 1: Capture/compare 1 generation.
Bit 2: Capture/compare 2 generation.
Bit 3: Capture/compare 3 generation.
Bit 4: Capture/compare 4 generation.
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..
Bit 6: Trigger generation This bit is set by software in order to generate an event, it is automatically cleared by hardware..
Bit 7: Break generation This bit is set by software in order to generate an event, it is automatically cleared by hardware..
Bit 8: Break 2 generation This bit is set by software in order to generate an event, it is automatically cleared by hardware..
capture/compare mode register 1 (output mode)
Offset: 0x18, size: 32, reset: 0x00000000, access: read-write
0/6 fields covered.
capture/compare mode register 1 (output mode)
Offset: 0x18, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OC[2]M_3
rw |
OC1M2
rw |
||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
OC[2]CE
rw |
OC[2]M
rw |
OC[2]PE
rw |
OC[2]FE
rw |
CC[2]S
rw |
OC[1]CE
rw |
OC1M1
rw |
OC[1]PE
rw |
OC[1]FE
rw |
CC[1]S
rw |
Bits 0-1: Capture/Compare 1 selection.
Bit 2: Output compare 1 fast enable.
Bit 3: Output compare 1 preload enable.
Bits 4-6: 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..
Bit 7: Output compare 1 clear enable.
Bits 8-9: Capture/Compare 2 selection.
Bit 10: Output compare 2 fast enable.
Bit 11: Output compare 2 preload enable.
Bits 12-14: Output compare 2 mode.
Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved
4: ForceInactive: OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF
5: ForceActive: OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down
7: PwmMode2: Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1
Bit 15: Output compare 2 clear enable.
Bit 16: 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..
Bit 24: Output compare 2 mode, bit 3.
Allowed values:
0: Normal: Normal output compare mode (modes 0-7)
1: Extended: Extended output compare mode (modes 7-15)
capture/compare mode register 2 (output mode)
Offset: 0x1c, size: 32, reset: 0x00000000, access: read-write
0/6 fields covered.
capture/compare mode register 2 (output mode)
Offset: 0x1c, size: 32, reset: 0x00000000, access: read-write
4/12 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OC[4]M_3
rw |
OC[3]M_3
rw |
||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
OC[4]CE
rw |
OC[4]M
rw |
OC[4]PE
rw |
OC[4]FE
rw |
CC[4]S
rw |
OC[3]CE
rw |
OC[3]M
rw |
OC[3]PE
rw |
OC[3]FE
rw |
CC[3]S
rw |
Bits 0-1: Capture/Compare 3 selection.
Bit 2: Output compare 3 fast enable.
Bit 3: Output compare 3 preload enable.
Bits 4-6: Output compare 3 mode.
Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved
4: ForceInactive: OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF
5: ForceActive: OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down
7: PwmMode2: Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1
Bit 7: Output compare 3 clear enable.
Bits 8-9: Capture/Compare 4 selection.
Bit 10: Output compare 4 fast enable.
Bit 11: Output compare 4 preload enable.
Bits 12-14: Output compare 4 mode.
Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved
4: ForceInactive: OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF
5: ForceActive: OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down
7: PwmMode2: Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1
Bit 15: Output compare 4 clear enable.
Bit 16: Output compare 3 mode, bit 3.
Allowed values:
0: Normal: Normal output compare mode (modes 0-7)
1: Extended: Extended output compare mode (modes 7-15)
Bit 24: Output compare 4 mode, bit 3.
Allowed values:
0: Normal: Normal output compare mode (modes 0-7)
1: Extended: Extended output compare mode (modes 7-15)
capture/compare enable register
Offset: 0x20, size: 32, reset: 0x00000000, access: read-write
0/19 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CC[6]P
rw |
CC[6]E
rw |
CC[5]P
rw |
CC[5]E
rw |
||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
CC[4]NP
rw |
CC[4]P
rw |
CC[4]E
rw |
CC[3]NP
rw |
CC[3]NE
rw |
CC[3]P
rw |
CC[3]E
rw |
CC[2]NP
rw |
CC[2]NE
rw |
CC[2]P
rw |
CC[2]E
rw |
CC[1]NP
rw |
CC[1]NE
rw |
CC[1]P
rw |
CC[1]E
rw |
Bit 0: Capture/Compare 1 output enable.
Bit 1: Capture/Compare 1 output Polarity.
Bit 2: Capture/Compare 1 complementary output enable.
Bit 3: Capture/Compare 1 output Polarity.
Bit 4: Capture/Compare 2 output enable.
Bit 5: Capture/Compare 2 output Polarity.
Bit 6: Capture/Compare 2 complementary output enable.
Bit 7: Capture/Compare 2 output Polarity.
Bit 8: Capture/Compare 3 output enable.
Bit 9: Capture/Compare 3 output Polarity.
Bit 10: Capture/Compare 3 complementary output enable.
Bit 11: Capture/Compare 3 output Polarity.
Bit 12: Capture/Compare 4 output enable.
Bit 13: Capture/Compare 4 output Polarity.
Bit 15: Capture/Compare 4 output Polarity.
Bit 16: Capture/Compare 5 output enable.
Bit 17: Capture/Compare 5 output Polarity.
Bit 20: Capture/Compare 6 output enable.
Bit 21: Capture/Compare 6 output Polarity.
counter
Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified
2/2 fields covered.
prescaler
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PSC
rw |
Bits 0-15: Prescaler value The counter clock frequency (CK_CNT) is equal to fCK_PSC / (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')..
Allowed values: 0x0-0xffff
auto-reload register
Offset: 0x2c, size: 32, reset: 0x0000FFFF, access: read-write
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ARR
rw |
repetition counter register
Offset: 0x30, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
REP
rw |
capture/compare register
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CCR
rw |
capture/compare register
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CCR
rw |
capture/compare register
Offset: 0x3c, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CCR
rw |
capture/compare register
Offset: 0x40, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CCR
rw |
break and dead-time register
Offset: 0x44, size: 32, reset: 0x00000000, access: read-write
10/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 |
Bits 0-7: Dead-time generator setup.
Allowed values: 0x0-0xff
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: Off: No bit is write protected
1: Level1: Any bits except MOE, OSSR, OSSI and LOCK in TIMx_BDTR register, OISx and OISxN bits in TIMx_CR2 register can no longer be written
2: Level2: 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: Level3: 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
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 (enable register (TIM1_CCERTIMx_CCER)N/A). 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: Disabled: When inactive, OC/OCN outputs are disabled
1: IdleLevel: When inactive, OC/OCN outputs are forced to idle level
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 (enable register (TIM1_CCERTIMx_CCER)N/A). 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: Disabled: When inactive, OC/OCN outputs are disabled
1: IdleLevel: When inactive, OC/OCN outputs are enabled with their inactive level
Bit 12: Break enable This bit enables the complete break protection (including all sources connected to bk_acth and BKIN sources, as per ). 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: Disabled: Break function x disabled
1: Enabled: Break function x disabled
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: ActiveLow: Break input BRKx is active low
1: ActiveHigh: Break input BRKx is active high
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: Manual: MOE can be set only by software
1: Automatic: MOE can be set by software or automatically at the next update event (if none of the break inputs BRK and BRK2 is active)
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 (enable register (TIM1_CCERTIMx_CCER)N/A)..
Allowed values:
0: DisabledIdle: OC/OCN are disabled or forced idle depending on OSSI
1: Enabled: OC/OCN are enabled if CCxE/CCxNE are set
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)..
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)..
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: Disabled: Break function x disabled
1: Enabled: Break function x disabled
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: ActiveLow: Break input BRKx is active low
1: ActiveHigh: Break input BRKx is active high
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..
Bit 27: Break2 Disarm Refer to BKDSRM description.
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..
Bit 29: Break2 bidirectional Refer to BKBID description.
DMA control register
Offset: 0x48, size: 32, reset: 0x00000000, access: read-write
0/2 fields covered.
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: ....
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..
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 |
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)..
option register 1
Offset: 0x50, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OCREF_CLR
rw |
capture/compare mode register 2 (output mode)
Offset: 0x54, size: 32, reset: 0x00000000, access: read-write
4/10 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OC[6]M_3
rw |
OC[5]M_3
rw |
||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
OC[6]CE
rw |
OC[6]M
rw |
OC[6]PE
rw |
OC[6]FE
rw |
OC[5]CE
rw |
OC[5]M
rw |
OC[5]PE
rw |
OC[5]FE
rw |
Bit 2: Output compare 5 fast enable.
Bit 3: Output compare 5 preload enable.
Bits 4-6: Output compare 5 mode.
Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved
4: ForceInactive: OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF
5: ForceActive: OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down
7: PwmMode2: Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1
Bit 7: Output compare 5 clear enable.
Bit 10: Output compare 6 fast enable.
Bit 11: Output compare 6 preload enable.
Bits 12-14: Output compare 6 mode.
Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved
4: ForceInactive: OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF
5: ForceActive: OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down
7: PwmMode2: Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1
Bit 15: Output compare 6 clear enable.
Bit 16: Output compare 5 mode, bit 3.
Allowed values:
0: Normal: Normal output compare mode (modes 0-7)
1: Extended: Extended output compare mode (modes 7-15)
Bit 24: Output compare 6 mode, bit 3.
Allowed values:
0: Normal: Normal output compare mode (modes 0-7)
1: Extended: Extended output compare mode (modes 7-15)
capture/compare register
Offset: 0x58, size: 32, reset: 0x00000000, access: read-write
1/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 |
CCR
rw |
Bits 0-15: Capture/Compare value.
Allowed values: 0x0-0xffff
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..
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..
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..
capture/compare register
Offset: 0x5c, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CCR
rw |
DMA address for full transfer
Offset: 0x60, size: 32, reset: 0x00000001, access: read-write
0/7 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 |
BKCMP2P
rw |
BKCMP1P
rw |
BKINP
rw |
BKCMP2E
rw |
BKCMP1E
rw |
BKINE
rw |
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)..
Bit 1: BRK COMP1 enable This bit enables the COMP1 for the timer's BRK input. COMP1 output 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)..
Bit 2: BRK COMP2 enable This bit enables the COMP2 for the timer's BRK input. COMP2 output 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)..
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)..
Bit 10: BRK COMP1 input polarity This bit selects the COMP1 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)..
Bit 11: BRK COMP2 input polarity This bit selects the COMP2 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)..
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)..
DMA address for full transfer
Offset: 0x64, size: 32, reset: 0x00000001, access: read-write
0/6 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BK2CMP2P
rw |
BK2CMP1P
rw |
BK2INP
rw |
BK2CMP2E
rw |
BK2CMP1E
rw |
BK2INE
rw |
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)..
Bit 1: BRK2 COMP1 enable This bit enables the COMP1 for the timer's BRK2 input. COMP1 output 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)..
Bit 2: BRK2 COMP2 enable This bit enables the COMP2 for the timer's BRK2 input. COMP2 output 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)..
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)..
Bit 10: BRK2 COMP1 input polarity This bit selects the COMP1 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)..
Bit 11: BRK2 COMP2 input polarity This bit selects the COMP2 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)..
0x40002000: General purpose timers
11/31 fields covered.
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 | CR1 | ||||||||||||||||||||||||||||||||
0xc | DIER | ||||||||||||||||||||||||||||||||
0x10 | SR | ||||||||||||||||||||||||||||||||
0x14 | EGR | ||||||||||||||||||||||||||||||||
0x18 | CCMR1_Input | ||||||||||||||||||||||||||||||||
0x18 | CCMR1_Output | ||||||||||||||||||||||||||||||||
0x20 | CCER | ||||||||||||||||||||||||||||||||
0x24 | CNT | ||||||||||||||||||||||||||||||||
0x28 | PSC | ||||||||||||||||||||||||||||||||
0x2c | ARR | ||||||||||||||||||||||||||||||||
0x34 | CCR[1] | ||||||||||||||||||||||||||||||||
0x68 | TISEL |
control register 1
Offset: 0x0, size: 32, reset: 0x00000000, access: read-write
6/7 fields covered.
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: Disabled: Counter disabled
1: Enabled: Counter enabled
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: Enabled: Update event enabled
1: Disabled: Update event disabled
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: AnyEvent: Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request
1: CounterOnly: Only counter overflow/underflow generates an update interrupt or DMA request
Bit 3: One-pulse mode.
Allowed values:
0: Disabled: Counter is not stopped at update event
1: Enabled: Counter stops counting at the next update event (clearing the CEN bit)
Bit 7: Auto-reload preload enable.
Allowed values:
0: Disabled: TIMx_APRR register is not buffered
1: Enabled: TIMx_APRR register is buffered
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: Div1: t_DTS = t_CK_INT
1: Div2: t_DTS = 2 × t_CK_INT
2: Div4: t_DTS = 4 × t_CK_INT
Bit 11: UIF status bit remapping.
DMA/Interrupt enable register
Offset: 0xc, size: 32, reset: 0x00000000, access: read-write
1/2 fields covered.
status register
Offset: 0x10, size: 32, reset: 0x00000000, access: read-write
1/3 fields covered.
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: NoUpdateOccurred: No update occurred
1: UpdatePending: Update interrupt pending
Bit 1: Capture/compare 1 interrupt flag.
Bit 9: Capture/Compare 1 overcapture flag.
event generation register
Offset: 0x14, size: 32, reset: 0x00000000, access: write-only
1/2 fields covered.
capture/compare mode register 1 (input mode)
Offset: 0x18, size: 32, reset: 0x00000000, access: read-write
0/3 fields covered.
capture/compare mode register 1 (output mode)
Offset: 0x18, size: 32, reset: 0x00000000, access: read-write
1/5 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OC[1]M_3
rw |
|||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
OC[1]M
rw |
OC[1]PE
rw |
OC[1]FE
rw |
CC[1]S
rw |
Bits 0-1: Capture/Compare 1 selection.
Bit 2: Output compare 1 fast enable.
Bit 3: Output compare 1 preload enable.
Bits 4-6: Output compare 1 mode.
Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy
4: ForceInactive: OCyREF is forced low
5: ForceActive: OCyREF is forced high
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active
7: PwmMode2: Inversely to PwmMode1
Bit 16: Output compare 1 mode, bit 3.
capture/compare enable register
Offset: 0x20, size: 32, reset: 0x00000000, access: read-write
0/3 fields covered.
counter
Offset: 0x24, size: 32, reset: 0x00000000, access: read-write
0/2 fields covered.
prescaler
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PSC
rw |
auto-reload register
Offset: 0x2c, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ARR
rw |
capture/compare 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CCR
rw |
TIM timer input selection register
Offset: 0x68, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TI1SEL
rw |
0x40014000: General purpose timers
13/97 fields covered.
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 | CR1 | ||||||||||||||||||||||||||||||||
0x4 | CR2 | ||||||||||||||||||||||||||||||||
0x8 | SMCR | ||||||||||||||||||||||||||||||||
0xc | DIER | ||||||||||||||||||||||||||||||||
0x10 | SR | ||||||||||||||||||||||||||||||||
0x14 | EGR | ||||||||||||||||||||||||||||||||
0x18 | CCMR1_Input | ||||||||||||||||||||||||||||||||
0x18 | CCMR1_Output | ||||||||||||||||||||||||||||||||
0x20 | CCER | ||||||||||||||||||||||||||||||||
0x24 | CNT | ||||||||||||||||||||||||||||||||
0x28 | PSC | ||||||||||||||||||||||||||||||||
0x2c | ARR | ||||||||||||||||||||||||||||||||
0x30 | RCR | ||||||||||||||||||||||||||||||||
0x34 | CCR[1] | ||||||||||||||||||||||||||||||||
0x38 | CCR[2] | ||||||||||||||||||||||||||||||||
0x44 | BDTR | ||||||||||||||||||||||||||||||||
0x48 | DCR | ||||||||||||||||||||||||||||||||
0x4c | DMAR | ||||||||||||||||||||||||||||||||
0x60 | AF1 | ||||||||||||||||||||||||||||||||
0x68 | TISEL |
control register 1
Offset: 0x0, size: 32, reset: 0x00000000, access: read-write
6/7 fields covered.
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: Disabled: Counter disabled
1: Enabled: Counter enabled
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: Enabled: Update event enabled
1: Disabled: Update event disabled
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: AnyEvent: Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request
1: CounterOnly: Only counter overflow/underflow generates an update interrupt or DMA request
Bit 3: One-pulse mode.
Allowed values:
0: Disabled: Counter is not stopped at update event
1: Enabled: Counter stops counting at the next update event (clearing the CEN bit)
Bit 7: Auto-reload preload enable.
Allowed values:
0: Disabled: TIMx_APRR register is not buffered
1: Enabled: TIMx_APRR register is buffered
Bits 8-9: Clock division This bitfield indicates the division ratio between the timer clock (CK_INT) frequency and the dead-time and sampling clock (tDTS) used by the dead-time generators and the digital filters (TIx).
Allowed values:
0: Div1: t_DTS = t_CK_INT
1: Div2: t_DTS = 2 × t_CK_INT
2: Div4: t_DTS = 4 × t_CK_INT
Bit 11: UIF status bit remapping.
control register 2
Offset: 0x4, size: 32, reset: 0x00000000, access: read-write
0/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 |
Bit 0: Capture/compare preloaded control Note: This bit acts only on channels that have a complementary output..
Bit 2: Capture/compare control update selection Note: This bit acts only on channels that have a complementary output..
Bit 3: Capture/compare DMA selection.
Bits 4-6: Master mode selection These bits allow to select the information to be sent in master mode to slave timers for synchronization (TRGO). The combination is as follows:.
Bit 7: TI1 selection.
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 TIM15_BDTR register)..
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 TIM15_BDTR register)..
Bit 10: Output idle state 2 (OC2 output) Note: This bit cannot be modified as long as LOCK level 1, 2 or 3 has been programmed (LOCK bits in the TIM15_BDTR register)..
slave mode control register
Offset: 0x8, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TS2
rw |
SMS2
rw |
||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
MSM
rw |
TS1
rw |
SMS1
rw |
Bits 0-2: 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. Other codes: 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..
Bits 4-6: Trigger selection This bit field selects the trigger input to be used to synchronize the counter. Other: Reserved See 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..
Bit 7: Master/slave mode.
Bit 16: 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. Other codes: 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..
Bits 20-21: Trigger selection This bit field selects the trigger input to be used to synchronize the counter. Other: Reserved See 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..
DMA/Interrupt enable register
Offset: 0xc, size: 32, reset: 0x00000000, access: read-write
1/11 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TDE
rw |
COMDE
rw |
CC[2]DE
rw |
CC[1]DE
rw |
UDE
rw |
BIE
rw |
TIE
rw |
COMIE
rw |
CC[2]IE
rw |
CC[1]IE
rw |
UIE
rw |
Bit 0: Update interrupt enable.
Allowed values:
0: Disabled: Update interrupt disabled
1: Enabled: Update interrupt enabled
Bit 1: Capture/Compare 1 interrupt enable.
Bit 2: Capture/Compare 2 interrupt enable.
Bit 5: COM interrupt enable.
Bit 6: Trigger interrupt enable.
Bit 7: Break interrupt enable.
Bit 8: Update DMA request enable.
Bit 9: Capture/Compare 1 DMA request enable.
Bit 10: Capture/Compare 2 DMA request enable.
Bit 13: COM DMA request enable.
Bit 14: Trigger DMA request enable.
status register
Offset: 0x10, size: 32, reset: 0x00000000, access: read-write
1/8 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CC[2]OF
rw |
CC[1]OF
rw |
BIF
rw |
TIF
rw |
COMIF
rw |
CC[2]IF
rw |
CC[1]IF
rw |
UIF
rw |
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. When CNT is reinitialized by a trigger event (refer to control register (TIM15_SMCR)), if URS=0 and UDIS=0 in the TIMx_CR1 register..
Allowed values:
0: NoUpdateOccurred: No update occurred
1: UpdatePending: Update interrupt pending
Bit 1: Capture/compare 1 interrupt flag.
Bit 2: Capture/compare 2 interrupt flag.
Bit 5: COM interrupt flag.
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, both edges in case gated mode is selected). It is set when the counter starts or stops when gated mode is selected. It is cleared by software..
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..
Bit 9: Capture/Compare 1 overcapture flag.
Bit 10: Capture/Compare 2 overcapture flag.
event generation register
Offset: 0x14, size: 32, reset: 0x00000000, access: write-only
1/6 fields covered.
Bit 0: Update generation This bit can be set by software, it is automatically cleared by hardware..
Allowed values:
1: Update: Re-initializes the timer counter and generates an update of the registers.
Bit 1: Capture/compare 1 generation.
Bit 2: Capture/compare 2 generation.
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..
Bit 6: Trigger generation This bit is set by software in order to generate an event, it is automatically cleared by hardware..
Bit 7: Break generation This bit is set by software in order to generate an event, it is automatically cleared by hardware..
capture/compare mode register 1 (input mode)
Offset: 0x18, size: 32, reset: 0x00000000, access: read-write
0/6 fields covered.
capture/compare mode register (output mode)
Offset: 0x18, size: 32, reset: 0x00000000, access: read-write
2/10 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OC[2]M_3
rw |
OC1M2
rw |
||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
OC[2]M
rw |
OC[2]PE
rw |
OC[2]FE
rw |
CC[2]S
rw |
OC1M1
rw |
OC[1]PE
rw |
OC[1]FE
rw |
CC[1]S
rw |
Bits 0-1: Capture/Compare 1 selection.
Bit 2: Output compare 1 fast enable.
Bit 3: Output compare 1 preload enable.
Bits 4-6: 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). 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. On channels that have 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. The OC1M[3] bit is not contiguous, located in bit 16..
Bits 8-9: Capture/Compare 2 selection.
Bit 10: Output compare 2 fast enable.
Bit 11: Output compare 2 preload enable.
Bits 12-14: Output compare 2 mode.
Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved
4: ForceInactive: OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF
5: ForceActive: OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active / Reserved
7: PwmMode2: Inversely to PwmMode1 / Reserved
Bit 16: 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). 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. On channels that have 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. The OC1M[3] bit is not contiguous, located in bit 16..
Bit 24: Output compare 2 mode, bit 3.
Allowed values:
0: Normal: Normal output compare mode (modes 0-7)
1: Extended: Extended output compare mode (modes 7-15)
capture/compare enable register
Offset: 0x20, size: 32, reset: 0x00000000, access: read-write
0/7 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CC[2]NP
rw |
CC[2]P
rw |
CC[2]E
rw |
CC[1]NP
rw |
CC[1]NE
rw |
CC[1]P
rw |
CC[1]E
rw |
Bit 0: Capture/Compare 1 output enable.
Bit 1: Capture/Compare 1 output Polarity.
Bit 2: Capture/Compare 1 complementary output enable.
Bit 3: Capture/Compare 1 output Polarity.
Bit 4: Capture/Compare 2 output enable.
Bit 5: Capture/Compare 2 output Polarity.
Bit 7: Capture/Compare 2 output Polarity.
counter
Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified
1/2 fields covered.
prescaler
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PSC
rw |
auto-reload register
Offset: 0x2c, size: 32, 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 |
repetition counter register
Offset: 0x30, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
REP
rw |
capture/compare 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CCR
rw |
capture/compare 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CCR
rw |
break and dead-time register
Offset: 0x44, size: 32, reset: 0x00000000, access: read-write
0/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 |
Bits 0-7: Dead-time generator setup.
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..
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 (enable register (TIM15_CCER) on page818). Note: This bit can not be modified as soon as the LOCK level 2 has been programmed (LOCK bits in TIMx_BDTR register)..
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 (enable register (TIM15_CCER) on page818). Note: This bit can not be modified as soon as the LOCK level 2 has been programmed (LOCK bits in TIMx_BDTR register)..
Bit 12: Break enable 1; Break inputs (BRK and CCS clock failure event) enabled 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..
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). Any write operation to this bit takes a delay of 1 APB clock cycle to become effective..
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)..
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 (enable register (TIM15_CCER) on page818)..
Bits 16-19: Break filter This bit-field defines the frequency used to sample the BRK input signal 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: Note: This bit cannot be modified when LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..
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..
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..
DMA control register
Offset: 0x48, size: 32, reset: 0x00000000, access: read-write
0/2 fields covered.
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: ....
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). ....
DMA address for full transfer
Offset: 0x4c, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DMAB
rw |
TIM15 alternate register 1
Offset: 0x60, size: 32, reset: 0x00000001, access: read-write
0/6 fields covered.
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)..
Bit 1: BRK COMP1 enable This bit enables the COMP1 for the timer's BRK input. COMP1 output 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)..
Bit 2: BRK COMP2 enable This bit enables the COMP2 for the timer's BRK input. COMP2 output 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)..
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)..
Bit 10: BRK COMP1 input polarity This bit selects the COMP1 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)..
Bit 11: BRK COMP2 input polarity This bit selects the COMP2 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)..
0x40014400: General purpose timers
12/66 fields covered.
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 | CR1 | ||||||||||||||||||||||||||||||||
0x4 | CR2 | ||||||||||||||||||||||||||||||||
0xc | DIER | ||||||||||||||||||||||||||||||||
0x10 | SR | ||||||||||||||||||||||||||||||||
0x14 | EGR | ||||||||||||||||||||||||||||||||
0x18 | CCMR1_Input | ||||||||||||||||||||||||||||||||
0x18 | CCMR1_Output | ||||||||||||||||||||||||||||||||
0x20 | CCER | ||||||||||||||||||||||||||||||||
0x24 | CNT | ||||||||||||||||||||||||||||||||
0x28 | PSC | ||||||||||||||||||||||||||||||||
0x2c | ARR | ||||||||||||||||||||||||||||||||
0x30 | RCR | ||||||||||||||||||||||||||||||||
0x34 | CCR[1] | ||||||||||||||||||||||||||||||||
0x44 | BDTR | ||||||||||||||||||||||||||||||||
0x48 | DCR | ||||||||||||||||||||||||||||||||
0x4c | DMAR | ||||||||||||||||||||||||||||||||
0x60 | AF1 | ||||||||||||||||||||||||||||||||
0x68 | TISEL |
control register 1
Offset: 0x0, size: 32, reset: 0x00000000, access: read-write
6/7 fields covered.
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: Disabled: Counter disabled
1: Enabled: Counter enabled
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: Enabled: Update event enabled
1: Disabled: Update event disabled
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: AnyEvent: Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request
1: CounterOnly: Only counter overflow/underflow generates an update interrupt or DMA request
Bit 3: One pulse mode.
Allowed values:
0: Disabled: Counter is not stopped at update event
1: Enabled: Counter stops counting at the next update event (clearing the CEN bit)
Bit 7: Auto-reload preload enable.
Allowed values:
0: Disabled: TIMx_APRR register is not buffered
1: Enabled: TIMx_APRR register is buffered
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 (tDTS)used by the dead-time generators and the digital filters (TIx),.
Allowed values:
0: Div1: t_DTS = t_CK_INT
1: Div2: t_DTS = 2 × t_CK_INT
2: Div4: t_DTS = 4 × t_CK_INT
Bit 11: UIF status bit remapping.
control register 2
Offset: 0x4, size: 32, reset: 0x00000000, access: read-write
0/5 fields covered.
Bit 0: Capture/compare preloaded control Note: This bit acts only on channels that have a complementary output..
Bit 2: Capture/compare control update selection Note: This bit acts only on channels that have a complementary output..
Bit 3: Capture/compare DMA selection.
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)..
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)..
DMA/Interrupt enable register
Offset: 0xc, size: 32, reset: 0x00000000, access: read-write
1/6 fields covered.
Bit 0: Update interrupt enable.
Allowed values:
0: Disabled: Update interrupt disabled
1: Enabled: Update interrupt enabled
Bit 1: Capture/Compare 1 interrupt enable.
Bit 5: COM interrupt enable.
Bit 7: Break interrupt enable.
Bit 8: Update DMA request enable.
Bit 9: Capture/Compare 1 DMA request enable.
status register
Offset: 0x10, size: 32, reset: 0x00000000, access: read-write
1/5 fields covered.
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: NoUpdateOccurred: No update occurred
1: UpdatePending: Update interrupt pending
Bit 1: Capture/compare 1 interrupt flag.
Bit 5: COM interrupt flag.
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..
Bit 9: Capture/Compare 1 overcapture flag.
event generation register
Offset: 0x14, size: 32, reset: 0x00000000, access: write-only
1/4 fields covered.
Bit 0: Update generation This bit can be set by software, it is automatically cleared by hardware..
Allowed values:
1: Update: Re-initializes the timer counter and generates an update of the registers.
Bit 1: Capture/compare 1 generation.
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..
Bit 7: Break generation This bit is set by software in order to generate an event, it is automatically cleared by hardware..
capture/compare mode register 1 (input mode)
Offset: 0x18, size: 32, reset: 0x00000000, access: read-write
0/3 fields covered.
capture/compare mode register (output mode)
Offset: 0x18, size: 32, reset: 0x00000000, access: read-write
1/5 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OC[1]M_3
rw |
|||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
OC[1]M
rw |
OC[1]PE
rw |
OC[1]FE
rw |
CC[1]S
rw |
Bits 0-1: Capture/Compare 1 selection.
Bit 2: Output compare 1 fast enable.
Bit 3: Output compare 1 preload enable.
Bits 4-6: Output compare 1 mode.
Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy
4: ForceInactive: OCyREF is forced low
5: ForceActive: OCyREF is forced high
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active
7: PwmMode2: Inversely to PwmMode1
Bit 16: Output compare 1 mode, bit 3.
capture/compare enable register
Offset: 0x20, size: 32, reset: 0x00000000, access: read-write
0/4 fields covered.
counter
Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified
1/2 fields covered.
prescaler
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PSC
rw |
auto-reload register
Offset: 0x2c, size: 32, 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 |
repetition counter register
Offset: 0x30, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
REP
rw |
capture/compare 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CCR
rw |
break and dead-time register
Offset: 0x44, size: 32, reset: 0x00000000, access: read-write
0/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 |
Bits 0-7: Dead-time generator setup.
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..
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 (enable register (TIM16_CCER)(TIMx_CCER)(x = 16 to 17) on page846). Note: This bit can not be modified as soon as the LOCK level 2 has been programmed (LOCK bits in TIMx_BDTR register)..
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 (enable register (TIM16_CCER)(TIMx_CCER)(x = 16 to 17) on page846). Note: This bit can not be modified as soon as the LOCK level 2 has been programmed (LOCK bits in TIMx_BDTR register)..
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). Any write operation to this bit takes a delay of 1 APB clock cycle to become effective..
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). Any write operation to this bit takes a delay of 1 APB clock cycle to become effective..
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)..
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. enable register (TIM16_CCER)(TIMx_CCER)(x = 16 to 17) on page846)..
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)..
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..
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..
DMA control register
Offset: 0x48, size: 32, reset: 0x00000000, access: read-write
0/2 fields covered.
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..
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). ....
DMA address for full transfer
Offset: 0x4c, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DMAB
rw |
TIM17 option register 1
Offset: 0x60, size: 32, reset: 0x00000001, access: read-write
0/6 fields covered.
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)..
Bit 1: BRK COMP1 enable This bit enables the COMP1 for the timer's BRK input. COMP1 output 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)..
Bit 2: BRK COMP2 enable This bit enables the COMP2 for the timer's BRK input. COMP2 output 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)..
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)..
Bit 10: BRK COMP1 input polarity This bit selects the COMP1 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)..
Bit 11: BRK COMP2 input polarity This bit selects the COMP2 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)..
input selection register
Offset: 0x68, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TI1SEL
rw |
0x40014800: General purpose timers
12/66 fields covered.
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 | CR1 | ||||||||||||||||||||||||||||||||
0x4 | CR2 | ||||||||||||||||||||||||||||||||
0xc | DIER | ||||||||||||||||||||||||||||||||
0x10 | SR | ||||||||||||||||||||||||||||||||
0x14 | EGR | ||||||||||||||||||||||||||||||||
0x18 | CCMR1_Input | ||||||||||||||||||||||||||||||||
0x18 | CCMR1_Output | ||||||||||||||||||||||||||||||||
0x20 | CCER | ||||||||||||||||||||||||||||||||
0x24 | CNT | ||||||||||||||||||||||||||||||||
0x28 | PSC | ||||||||||||||||||||||||||||||||
0x2c | ARR | ||||||||||||||||||||||||||||||||
0x30 | RCR | ||||||||||||||||||||||||||||||||
0x34 | CCR[1] | ||||||||||||||||||||||||||||||||
0x44 | BDTR | ||||||||||||||||||||||||||||||||
0x48 | DCR | ||||||||||||||||||||||||||||||||
0x4c | DMAR | ||||||||||||||||||||||||||||||||
0x60 | AF1 | ||||||||||||||||||||||||||||||||
0x68 | TISEL |
control register 1
Offset: 0x0, size: 32, reset: 0x00000000, access: read-write
6/7 fields covered.
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: Disabled: Counter disabled
1: Enabled: Counter enabled
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: Enabled: Update event enabled
1: Disabled: Update event disabled
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: AnyEvent: Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request
1: CounterOnly: Only counter overflow/underflow generates an update interrupt or DMA request
Bit 3: One pulse mode.
Allowed values:
0: Disabled: Counter is not stopped at update event
1: Enabled: Counter stops counting at the next update event (clearing the CEN bit)
Bit 7: Auto-reload preload enable.
Allowed values:
0: Disabled: TIMx_APRR register is not buffered
1: Enabled: TIMx_APRR register is buffered
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 (tDTS)used by the dead-time generators and the digital filters (TIx),.
Allowed values:
0: Div1: t_DTS = t_CK_INT
1: Div2: t_DTS = 2 × t_CK_INT
2: Div4: t_DTS = 4 × t_CK_INT
Bit 11: UIF status bit remapping.
control register 2
Offset: 0x4, size: 32, reset: 0x00000000, access: read-write
0/5 fields covered.
Bit 0: Capture/compare preloaded control Note: This bit acts only on channels that have a complementary output..
Bit 2: Capture/compare control update selection Note: This bit acts only on channels that have a complementary output..
Bit 3: Capture/compare DMA selection.
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)..
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)..
DMA/Interrupt enable register
Offset: 0xc, size: 32, reset: 0x00000000, access: read-write
1/6 fields covered.
Bit 0: Update interrupt enable.
Allowed values:
0: Disabled: Update interrupt disabled
1: Enabled: Update interrupt enabled
Bit 1: Capture/Compare 1 interrupt enable.
Bit 5: COM interrupt enable.
Bit 7: Break interrupt enable.
Bit 8: Update DMA request enable.
Bit 9: Capture/Compare 1 DMA request enable.
status register
Offset: 0x10, size: 32, reset: 0x00000000, access: read-write
1/5 fields covered.
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: NoUpdateOccurred: No update occurred
1: UpdatePending: Update interrupt pending
Bit 1: Capture/compare 1 interrupt flag.
Bit 5: COM interrupt flag.
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..
Bit 9: Capture/Compare 1 overcapture flag.
event generation register
Offset: 0x14, size: 32, reset: 0x00000000, access: write-only
1/4 fields covered.
Bit 0: Update generation This bit can be set by software, it is automatically cleared by hardware..
Allowed values:
1: Update: Re-initializes the timer counter and generates an update of the registers.
Bit 1: Capture/compare 1 generation.
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..
Bit 7: Break generation This bit is set by software in order to generate an event, it is automatically cleared by hardware..
capture/compare mode register 1 (input mode)
Offset: 0x18, size: 32, reset: 0x00000000, access: read-write
0/3 fields covered.
capture/compare mode register (output mode)
Offset: 0x18, size: 32, reset: 0x00000000, access: read-write
1/5 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OC[1]M_3
rw |
|||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
OC[1]M
rw |
OC[1]PE
rw |
OC[1]FE
rw |
CC[1]S
rw |
Bits 0-1: Capture/Compare 1 selection.
Bit 2: Output compare 1 fast enable.
Bit 3: Output compare 1 preload enable.
Bits 4-6: Output compare 1 mode.
Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy
4: ForceInactive: OCyREF is forced low
5: ForceActive: OCyREF is forced high
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active
7: PwmMode2: Inversely to PwmMode1
Bit 16: Output compare 1 mode, bit 3.
capture/compare enable register
Offset: 0x20, size: 32, reset: 0x00000000, access: read-write
0/4 fields covered.
counter
Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified
1/2 fields covered.
prescaler
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PSC
rw |
auto-reload register
Offset: 0x2c, size: 32, 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 |
repetition counter register
Offset: 0x30, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
REP
rw |
capture/compare 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CCR
rw |
break and dead-time register
Offset: 0x44, size: 32, reset: 0x00000000, access: read-write
0/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 |
Bits 0-7: Dead-time generator setup.
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..
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 (enable register (TIM16_CCER)(TIMx_CCER)(x = 16 to 17) on page846). Note: This bit can not be modified as soon as the LOCK level 2 has been programmed (LOCK bits in TIMx_BDTR register)..
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 (enable register (TIM16_CCER)(TIMx_CCER)(x = 16 to 17) on page846). Note: This bit can not be modified as soon as the LOCK level 2 has been programmed (LOCK bits in TIMx_BDTR register)..
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). Any write operation to this bit takes a delay of 1 APB clock cycle to become effective..
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). Any write operation to this bit takes a delay of 1 APB clock cycle to become effective..
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)..
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. enable register (TIM16_CCER)(TIMx_CCER)(x = 16 to 17) on page846)..
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)..
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..
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..
DMA control register
Offset: 0x48, size: 32, reset: 0x00000000, access: read-write
0/2 fields covered.
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..
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). ....
DMA address for full transfer
Offset: 0x4c, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DMAB
rw |
TIM17 option register 1
Offset: 0x60, size: 32, reset: 0x00000001, access: read-write
0/6 fields covered.
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)..
Bit 1: BRK COMP1 enable This bit enables the COMP1 for the timer's BRK input. COMP1 output 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)..
Bit 2: BRK COMP2 enable This bit enables the COMP2 for the timer's BRK input. COMP2 output 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)..
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)..
Bit 10: BRK COMP1 input polarity This bit selects the COMP1 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)..
Bit 11: BRK COMP2 input polarity This bit selects the COMP2 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)..
input selection register
Offset: 0x68, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TI1SEL
rw |
0x40000400: General-purpose-timers
20/114 fields covered.
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 | CR1 | ||||||||||||||||||||||||||||||||
0x4 | CR2 | ||||||||||||||||||||||||||||||||
0x8 | SMCR | ||||||||||||||||||||||||||||||||
0xc | DIER | ||||||||||||||||||||||||||||||||
0x10 | SR | ||||||||||||||||||||||||||||||||
0x14 | EGR | ||||||||||||||||||||||||||||||||
0x18 | CCMR1_Input | ||||||||||||||||||||||||||||||||
0x18 | CCMR1_Output | ||||||||||||||||||||||||||||||||
0x1c | CCMR2_Input | ||||||||||||||||||||||||||||||||
0x1c | CCMR2_Output | ||||||||||||||||||||||||||||||||
0x20 | CCER | ||||||||||||||||||||||||||||||||
0x24 | CNT | ||||||||||||||||||||||||||||||||
0x24 | CNT_ALTERNATE5 | ||||||||||||||||||||||||||||||||
0x28 | PSC | ||||||||||||||||||||||||||||||||
0x2c | ARR | ||||||||||||||||||||||||||||||||
0x34 | CCR[1] | ||||||||||||||||||||||||||||||||
0x38 | CCR[2] | ||||||||||||||||||||||||||||||||
0x3c | CCR[3] | ||||||||||||||||||||||||||||||||
0x40 | CCR[4] | ||||||||||||||||||||||||||||||||
0x48 | DCR | ||||||||||||||||||||||||||||||||
0x4c | DMAR | ||||||||||||||||||||||||||||||||
0x50 | OR1 | ||||||||||||||||||||||||||||||||
0x60 | AF1 | ||||||||||||||||||||||||||||||||
0x68 | TISEL |
control register 1
Offset: 0x0, size: 32, reset: 0x00000000, access: read-write
8/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 |
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: Disabled: Counter disabled
1: Enabled: Counter enabled
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: Enabled: Update event enabled
1: Disabled: Update event disabled
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: AnyEvent: Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request
1: CounterOnly: Only counter overflow/underflow generates an update interrupt or DMA request
Bit 3: One-pulse mode.
Allowed values:
0: Disabled: Counter is not stopped at update event
1: Enabled: Counter stops counting at the next update event (clearing the CEN bit)
Bit 4: Direction Note: This bit is read only when the timer is configured in Center-aligned mode or Encoder mode..
Allowed values:
0: Up: Counter used as upcounter
1: Down: Counter used as downcounter
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: EdgeAligned: The counter counts up or down depending on the direction bit
1: CenterAligned1: The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting down.
2: CenterAligned2: The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting up.
3: CenterAligned3: The counter counts up and down alternatively. Output compare interrupt flags are set both when the counter is counting up or down.
Bit 7: Auto-reload preload enable.
Allowed values:
0: Disabled: TIMx_APRR register is not buffered
1: Enabled: TIMx_APRR register is buffered
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: Div1: t_DTS = t_CK_INT
1: Div2: t_DTS = 2 × t_CK_INT
2: Div4: t_DTS = 4 × t_CK_INT
Bit 11: UIF status bit remapping.
control register 2
Offset: 0x4, size: 32, reset: 0x00000000, access: read-write
0/3 fields covered.
Bit 3: Capture/compare DMA selection.
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..
Bit 7: TI1 selection.
slave mode control register
Offset: 0x8, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TS2
rw |
SMS2
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 |
TS1
rw |
OCCS
rw |
SMS1
rw |
Bits 0-2: 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..
Bit 3: OCREF clear selection This bit is used to select the OCREF clear source.
Bits 4-6: Trigger selection This bit-field selects the trigger input to be used to synchronize the counter. Others: Reserved See 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..
Bit 7: Master/Slave mode.
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:.
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..
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). If external clock mode 1 and external clock mode 2 are enabled at the same time, the external clock input is ETRF..
Bit 15: External trigger polarity This bit selects whether ETR or ETR is used for trigger operations.
Bit 16: 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..
Bits 20-21: Trigger selection This bit-field selects the trigger input to be used to synchronize the counter. Others: Reserved See 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..
DMA/Interrupt enable register
Offset: 0xc, size: 32, reset: 0x00000000, access: read-write
1/12 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TDE
rw |
CC[4]DE
rw |
CC[3]DE
rw |
CC[2]DE
rw |
CC[1]DE
rw |
UDE
rw |
TIE
rw |
CC[4]IE
rw |
CC[3]IE
rw |
CC[2]IE
rw |
CC[1]IE
rw |
UIE
rw |
Bit 0: Update interrupt enable.
Allowed values:
0: Disabled: Update interrupt disabled
1: Enabled: Update interrupt enabled
Bit 1: Capture/Compare 1 interrupt enable.
Bit 2: Capture/Compare 2 interrupt enable.
Bit 3: Capture/Compare 3 interrupt enable.
Bit 4: Capture/Compare 4 interrupt enable.
Bit 6: Trigger interrupt enable.
Bit 8: Update DMA request enable.
Bit 9: Capture/Compare 1 DMA request enable.
Bit 10: Capture/Compare 2 DMA request enable.
Bit 11: Capture/Compare 3 DMA request enable.
Bit 12: Capture/Compare 4 DMA request enable.
Bit 14: Trigger DMA request enable.
status register
Offset: 0x10, size: 32, reset: 0x00000000, access: read-write
1/10 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CC[4]OF
rw |
CC[3]OF
rw |
CC[2]OF
rw |
CC[1]OF
rw |
TIF
rw |
CC[4]IF
rw |
CC[3]IF
rw |
CC[2]IF
rw |
CC[1]IF
rw |
UIF
rw |
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: NoUpdateOccurred: No update occurred
1: UpdatePending: Update interrupt pending
Bit 1: Capture/compare 1 interrupt flag.
Bit 2: Capture/compare 2 interrupt flag.
Bit 3: Capture/compare 3 interrupt flag.
Bit 4: Capture/compare 4 interrupt flag.
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..
Bit 9: Capture/Compare 1 overcapture flag.
Bit 10: Capture/Compare 2 overcapture flag.
Bit 11: Capture/Compare 3 overcapture flag.
Bit 12: Capture/Compare 4 overcapture flag.
event generation register
Offset: 0x14, size: 32, reset: 0x00000000, access: write-only
1/6 fields covered.
Bit 0: Update generation This bit can be set by software, it is automatically cleared by hardware..
Allowed values:
1: Update: Re-initializes the timer counter and generates an update of the registers.
Bit 1: Capture/compare 1 generation.
Bit 2: Capture/compare 2 generation.
Bit 3: Capture/compare 3 generation.
Bit 4: Capture/compare 4 generation.
Bit 6: Trigger generation This bit is set by software in order to generate an event, it is automatically cleared by hardware..
capture/compare mode register 1 (input mode)
Offset: 0x18, size: 32, reset: 0x00000000, access: read-write
0/6 fields covered.
capture/compare mode register 1 (output mode)
Offset: 0x18, size: 32, reset: 0x00000000, access: read-write
4/12 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OC[2]M_3
rw |
OC[1]M_3
rw |
||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
OC[2]CE
rw |
OC[2]M
rw |
OC[2]PE
rw |
OC[2]FE
rw |
CC[2]S
rw |
OC[1]CE
rw |
OC[1]M
rw |
OC[1]PE
rw |
OC[1]FE
rw |
CC[1]S
rw |
Bits 0-1: Capture/Compare 1 selection.
Bit 2: Output compare 1 fast enable.
Bit 3: Output compare 1 preload enable.
Bits 4-6: Output compare 1 mode.
Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved
4: ForceInactive: OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF
5: ForceActive: OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down
7: PwmMode2: Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1
Bit 7: Output compare 1 clear enable.
Bits 8-9: Capture/Compare 2 selection.
Bit 10: Output compare 2 fast enable.
Bit 11: Output compare 2 preload enable.
Bits 12-14: Output compare 2 mode.
Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved
4: ForceInactive: OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF
5: ForceActive: OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down
7: PwmMode2: Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1
Bit 15: Output compare 2 clear enable.
Bit 16: Output compare 1 mode, bit 3.
Allowed values:
0: Normal: Normal output compare mode (modes 0-7)
1: Extended: Extended output compare mode (modes 7-15)
Bit 24: Output compare 2 mode, bit 3.
Allowed values:
0: Normal: Normal output compare mode (modes 0-7)
1: Extended: Extended output compare mode (modes 7-15)
capture/compare mode register 2 (input mode)
Offset: 0x1c, size: 32, reset: 0x00000000, access: read-write
0/6 fields covered.
capture/compare mode register 2 (output mode)
Offset: 0x1c, size: 32, reset: 0x00000000, access: read-write
4/12 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OC[4]M_3
rw |
OC[3]M_3
rw |
||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
OC[4]CE
rw |
OC[4]M
rw |
OC[4]PE
rw |
OC[4]FE
rw |
CC[4]S
rw |
OC[3]CE
rw |
OC[3]M
rw |
OC[3]PE
rw |
OC[3]FE
rw |
CC[3]S
rw |
Bits 0-1: Capture/Compare 3 selection.
Bit 2: Output compare 3 fast enable.
Bit 3: Output compare 3 preload enable.
Bits 4-6: Output compare 3 mode.
Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved
4: ForceInactive: OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF
5: ForceActive: OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down
7: PwmMode2: Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1
Bit 7: Output compare 3 clear enable.
Bits 8-9: Capture/Compare 4 selection.
Bit 10: Output compare 4 fast enable.
Bit 11: Output compare 4 preload enable.
Bits 12-14: Output compare 4 mode.
Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved
4: ForceInactive: OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF
5: ForceActive: OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down
7: PwmMode2: Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1
Bit 15: Output compare 4 clear enable.
Bit 16: Output compare 3 mode, bit 3.
Allowed values:
0: Normal: Normal output compare mode (modes 0-7)
1: Extended: Extended output compare mode (modes 7-15)
Bit 24: Output compare 4 mode, bit 3.
Allowed values:
0: Normal: Normal output compare mode (modes 0-7)
1: Extended: Extended output compare mode (modes 7-15)
capture/compare enable register
Offset: 0x20, size: 32, reset: 0x00000000, access: read-write
0/12 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CC[4]NP
rw |
CC[4]P
rw |
CC[4]E
rw |
CC[3]NP
rw |
CC[3]P
rw |
CC[3]E
rw |
CC[2]NP
rw |
CC[2]P
rw |
CC[2]E
rw |
CC[1]NP
rw |
CC[1]P
rw |
CC[1]E
rw |
Bit 0: Capture/Compare 1 output enable.
Bit 1: Capture/Compare 1 output Polarity.
Bit 3: Capture/Compare 1 output Polarity.
Bit 4: Capture/Compare 2 output enable.
Bit 5: Capture/Compare 2 output Polarity.
Bit 7: Capture/Compare 2 output Polarity.
Bit 8: Capture/Compare 3 output enable.
Bit 9: Capture/Compare 3 output Polarity.
Bit 11: Capture/Compare 3 output Polarity.
Bit 12: Capture/Compare 4 output enable.
Bit 13: Capture/Compare 4 output Polarity.
Bit 15: Capture/Compare 4 output Polarity.
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 |
counter
Offset: 0x24, size: 32, reset: 0x00000000, access: read-write
0/2 fields covered.
prescaler
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PSC
rw |
auto-reload register
Offset: 0x2c, size: 32, reset: 0xFFFFFFFF, access: read-write
0/1 fields covered.
capture/compare register
Offset: 0x34, size: 32, reset: 0x00000000, access: read-write
0/1 fields covered.
capture/compare register
Offset: 0x38, size: 32, reset: 0x00000000, access: read-write
0/1 fields covered.
capture/compare register
Offset: 0x3c, size: 32, reset: 0x00000000, access: read-write
0/1 fields covered.
capture/compare register
Offset: 0x40, size: 32, reset: 0x00000000, access: read-write
0/1 fields covered.
DMA control register
Offset: 0x48, size: 32, reset: 0x00000000, access: read-write
0/2 fields covered.
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..
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). ....
DMA address for full transfer
Offset: 0x4c, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DMAB
rw |
TIM option register
Offset: 0x50, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OCREF_CLR
rw |
TIM alternate function option register 1
Offset: 0x60, size: 32, reset: 0x00000000, access: read-write
0/1 fields covered.
0x40000800: General-purpose-timers
20/114 fields covered.
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 | CR1 | ||||||||||||||||||||||||||||||||
0x4 | CR2 | ||||||||||||||||||||||||||||||||
0x8 | SMCR | ||||||||||||||||||||||||||||||||
0xc | DIER | ||||||||||||||||||||||||||||||||
0x10 | SR | ||||||||||||||||||||||||||||||||
0x14 | EGR | ||||||||||||||||||||||||||||||||
0x18 | CCMR1_Input | ||||||||||||||||||||||||||||||||
0x18 | CCMR1_Output | ||||||||||||||||||||||||||||||||
0x1c | CCMR2_Input | ||||||||||||||||||||||||||||||||
0x1c | CCMR2_Output | ||||||||||||||||||||||||||||||||
0x20 | CCER | ||||||||||||||||||||||||||||||||
0x24 | CNT | ||||||||||||||||||||||||||||||||
0x24 | CNT_ALTERNATE5 | ||||||||||||||||||||||||||||||||
0x28 | PSC | ||||||||||||||||||||||||||||||||
0x2c | ARR | ||||||||||||||||||||||||||||||||
0x34 | CCR[1] | ||||||||||||||||||||||||||||||||
0x38 | CCR[2] | ||||||||||||||||||||||||||||||||
0x3c | CCR[3] | ||||||||||||||||||||||||||||||||
0x40 | CCR[4] | ||||||||||||||||||||||||||||||||
0x48 | DCR | ||||||||||||||||||||||||||||||||
0x4c | DMAR | ||||||||||||||||||||||||||||||||
0x50 | OR1 | ||||||||||||||||||||||||||||||||
0x60 | AF1 | ||||||||||||||||||||||||||||||||
0x68 | TISEL |
control register 1
Offset: 0x0, size: 32, reset: 0x00000000, access: read-write
8/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 |
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: Disabled: Counter disabled
1: Enabled: Counter enabled
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: Enabled: Update event enabled
1: Disabled: Update event disabled
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: AnyEvent: Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request
1: CounterOnly: Only counter overflow/underflow generates an update interrupt or DMA request
Bit 3: One-pulse mode.
Allowed values:
0: Disabled: Counter is not stopped at update event
1: Enabled: Counter stops counting at the next update event (clearing the CEN bit)
Bit 4: Direction Note: This bit is read only when the timer is configured in Center-aligned mode or Encoder mode..
Allowed values:
0: Up: Counter used as upcounter
1: Down: Counter used as downcounter
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: EdgeAligned: The counter counts up or down depending on the direction bit
1: CenterAligned1: The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting down.
2: CenterAligned2: The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting up.
3: CenterAligned3: The counter counts up and down alternatively. Output compare interrupt flags are set both when the counter is counting up or down.
Bit 7: Auto-reload preload enable.
Allowed values:
0: Disabled: TIMx_APRR register is not buffered
1: Enabled: TIMx_APRR register is buffered
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: Div1: t_DTS = t_CK_INT
1: Div2: t_DTS = 2 × t_CK_INT
2: Div4: t_DTS = 4 × t_CK_INT
Bit 11: UIF status bit remapping.
control register 2
Offset: 0x4, size: 32, reset: 0x00000000, access: read-write
0/3 fields covered.
Bit 3: Capture/compare DMA selection.
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..
Bit 7: TI1 selection.
slave mode control register
Offset: 0x8, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TS2
rw |
SMS2
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 |
TS1
rw |
OCCS
rw |
SMS1
rw |
Bits 0-2: 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..
Bit 3: OCREF clear selection This bit is used to select the OCREF clear source.
Bits 4-6: Trigger selection This bit-field selects the trigger input to be used to synchronize the counter. Others: Reserved See 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..
Bit 7: Master/Slave mode.
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:.
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..
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). If external clock mode 1 and external clock mode 2 are enabled at the same time, the external clock input is ETRF..
Bit 15: External trigger polarity This bit selects whether ETR or ETR is used for trigger operations.
Bit 16: 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..
Bits 20-21: Trigger selection This bit-field selects the trigger input to be used to synchronize the counter. Others: Reserved See 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..
DMA/Interrupt enable register
Offset: 0xc, size: 32, reset: 0x00000000, access: read-write
1/12 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TDE
rw |
CC[4]DE
rw |
CC[3]DE
rw |
CC[2]DE
rw |
CC[1]DE
rw |
UDE
rw |
TIE
rw |
CC[4]IE
rw |
CC[3]IE
rw |
CC[2]IE
rw |
CC[1]IE
rw |
UIE
rw |
Bit 0: Update interrupt enable.
Allowed values:
0: Disabled: Update interrupt disabled
1: Enabled: Update interrupt enabled
Bit 1: Capture/Compare 1 interrupt enable.
Bit 2: Capture/Compare 2 interrupt enable.
Bit 3: Capture/Compare 3 interrupt enable.
Bit 4: Capture/Compare 4 interrupt enable.
Bit 6: Trigger interrupt enable.
Bit 8: Update DMA request enable.
Bit 9: Capture/Compare 1 DMA request enable.
Bit 10: Capture/Compare 2 DMA request enable.
Bit 11: Capture/Compare 3 DMA request enable.
Bit 12: Capture/Compare 4 DMA request enable.
Bit 14: Trigger DMA request enable.
status register
Offset: 0x10, size: 32, reset: 0x00000000, access: read-write
1/10 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CC[4]OF
rw |
CC[3]OF
rw |
CC[2]OF
rw |
CC[1]OF
rw |
TIF
rw |
CC[4]IF
rw |
CC[3]IF
rw |
CC[2]IF
rw |
CC[1]IF
rw |
UIF
rw |
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: NoUpdateOccurred: No update occurred
1: UpdatePending: Update interrupt pending
Bit 1: Capture/compare 1 interrupt flag.
Bit 2: Capture/compare 2 interrupt flag.
Bit 3: Capture/compare 3 interrupt flag.
Bit 4: Capture/compare 4 interrupt flag.
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..
Bit 9: Capture/Compare 1 overcapture flag.
Bit 10: Capture/Compare 2 overcapture flag.
Bit 11: Capture/Compare 3 overcapture flag.
Bit 12: Capture/Compare 4 overcapture flag.
event generation register
Offset: 0x14, size: 32, reset: 0x00000000, access: write-only
1/6 fields covered.
Bit 0: Update generation This bit can be set by software, it is automatically cleared by hardware..
Allowed values:
1: Update: Re-initializes the timer counter and generates an update of the registers.
Bit 1: Capture/compare 1 generation.
Bit 2: Capture/compare 2 generation.
Bit 3: Capture/compare 3 generation.
Bit 4: Capture/compare 4 generation.
Bit 6: Trigger generation This bit is set by software in order to generate an event, it is automatically cleared by hardware..
capture/compare mode register 1 (input mode)
Offset: 0x18, size: 32, reset: 0x00000000, access: read-write
0/6 fields covered.
capture/compare mode register 1 (output mode)
Offset: 0x18, size: 32, reset: 0x00000000, access: read-write
4/12 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OC[2]M_3
rw |
OC[1]M_3
rw |
||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
OC[2]CE
rw |
OC[2]M
rw |
OC[2]PE
rw |
OC[2]FE
rw |
CC[2]S
rw |
OC[1]CE
rw |
OC[1]M
rw |
OC[1]PE
rw |
OC[1]FE
rw |
CC[1]S
rw |
Bits 0-1: Capture/Compare 1 selection.
Bit 2: Output compare 1 fast enable.
Bit 3: Output compare 1 preload enable.
Bits 4-6: Output compare 1 mode.
Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved
4: ForceInactive: OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF
5: ForceActive: OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down
7: PwmMode2: Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1
Bit 7: Output compare 1 clear enable.
Bits 8-9: Capture/Compare 2 selection.
Bit 10: Output compare 2 fast enable.
Bit 11: Output compare 2 preload enable.
Bits 12-14: Output compare 2 mode.
Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved
4: ForceInactive: OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF
5: ForceActive: OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down
7: PwmMode2: Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1
Bit 15: Output compare 2 clear enable.
Bit 16: Output compare 1 mode, bit 3.
Allowed values:
0: Normal: Normal output compare mode (modes 0-7)
1: Extended: Extended output compare mode (modes 7-15)
Bit 24: Output compare 2 mode, bit 3.
Allowed values:
0: Normal: Normal output compare mode (modes 0-7)
1: Extended: Extended output compare mode (modes 7-15)
capture/compare mode register 2 (input mode)
Offset: 0x1c, size: 32, reset: 0x00000000, access: read-write
0/6 fields covered.
capture/compare mode register 2 (output mode)
Offset: 0x1c, size: 32, reset: 0x00000000, access: read-write
4/12 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OC[4]M_3
rw |
OC[3]M_3
rw |
||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
OC[4]CE
rw |
OC[4]M
rw |
OC[4]PE
rw |
OC[4]FE
rw |
CC[4]S
rw |
OC[3]CE
rw |
OC[3]M
rw |
OC[3]PE
rw |
OC[3]FE
rw |
CC[3]S
rw |
Bits 0-1: Capture/Compare 3 selection.
Bit 2: Output compare 3 fast enable.
Bit 3: Output compare 3 preload enable.
Bits 4-6: Output compare 3 mode.
Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved
4: ForceInactive: OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF
5: ForceActive: OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down
7: PwmMode2: Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1
Bit 7: Output compare 3 clear enable.
Bits 8-9: Capture/Compare 4 selection.
Bit 10: Output compare 4 fast enable.
Bit 11: Output compare 4 preload enable.
Bits 12-14: Output compare 4 mode.
Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved
4: ForceInactive: OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF
5: ForceActive: OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down
7: PwmMode2: Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1
Bit 15: Output compare 4 clear enable.
Bit 16: Output compare 3 mode, bit 3.
Allowed values:
0: Normal: Normal output compare mode (modes 0-7)
1: Extended: Extended output compare mode (modes 7-15)
Bit 24: Output compare 4 mode, bit 3.
Allowed values:
0: Normal: Normal output compare mode (modes 0-7)
1: Extended: Extended output compare mode (modes 7-15)
capture/compare enable register
Offset: 0x20, size: 32, reset: 0x00000000, access: read-write
0/12 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CC[4]NP
rw |
CC[4]P
rw |
CC[4]E
rw |
CC[3]NP
rw |
CC[3]P
rw |
CC[3]E
rw |
CC[2]NP
rw |
CC[2]P
rw |
CC[2]E
rw |
CC[1]NP
rw |
CC[1]P
rw |
CC[1]E
rw |
Bit 0: Capture/Compare 1 output enable.
Bit 1: Capture/Compare 1 output Polarity.
Bit 3: Capture/Compare 1 output Polarity.
Bit 4: Capture/Compare 2 output enable.
Bit 5: Capture/Compare 2 output Polarity.
Bit 7: Capture/Compare 2 output Polarity.
Bit 8: Capture/Compare 3 output enable.
Bit 9: Capture/Compare 3 output Polarity.
Bit 11: Capture/Compare 3 output Polarity.
Bit 12: Capture/Compare 4 output enable.
Bit 13: Capture/Compare 4 output Polarity.
Bit 15: Capture/Compare 4 output Polarity.
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 |
counter
Offset: 0x24, size: 32, reset: 0x00000000, access: read-write
0/2 fields covered.
prescaler
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PSC
rw |
auto-reload register
Offset: 0x2c, size: 32, reset: 0xFFFFFFFF, access: read-write
0/1 fields covered.
capture/compare register
Offset: 0x34, size: 32, reset: 0x00000000, access: read-write
0/1 fields covered.
capture/compare register
Offset: 0x38, size: 32, reset: 0x00000000, access: read-write
0/1 fields covered.
capture/compare register
Offset: 0x3c, size: 32, reset: 0x00000000, access: read-write
0/1 fields covered.
capture/compare register
Offset: 0x40, size: 32, reset: 0x00000000, access: read-write
0/1 fields covered.
DMA control register
Offset: 0x48, size: 32, reset: 0x00000000, access: read-write
0/2 fields covered.
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..
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). ....
DMA address for full transfer
Offset: 0x4c, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DMAB
rw |
TIM option register
Offset: 0x50, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OCREF_CLR
rw |
TIM alternate function option register 1
Offset: 0x60, size: 32, reset: 0x00000000, access: read-write
0/1 fields covered.
0x40001000: Basic timers
14/15 fields covered.
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 | CR1 | ||||||||||||||||||||||||||||||||
0x4 | CR2 | ||||||||||||||||||||||||||||||||
0xc | DIER | ||||||||||||||||||||||||||||||||
0x10 | SR | ||||||||||||||||||||||||||||||||
0x14 | EGR | ||||||||||||||||||||||||||||||||
0x24 | CNT | ||||||||||||||||||||||||||||||||
0x28 | PSC | ||||||||||||||||||||||||||||||||
0x2c | ARR |
control register 1
Offset: 0x0, size: 32, reset: 0x00000000, access: read-write
5/6 fields covered.
Bit 0: Counter enable Note: 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. CEN is cleared automatically in one-pulse mode, when an update event occurs..
Allowed values:
0: Disabled: Counter disabled
1: Enabled: Counter enabled
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: Enabled: Update event enabled
1: Disabled: Update event disabled
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: AnyEvent: Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request
1: CounterOnly: Only counter overflow/underflow generates an update interrupt or DMA request
Bit 3: One-pulse mode.
Allowed values:
0: Disabled: Counter is not stopped at update event
1: Enabled: Counter stops counting at the next update event (clearing the CEN bit)
Bit 7: Auto-reload preload enable.
Allowed values:
0: Disabled: TIMx_APRR register is not buffered
1: Enabled: TIMx_APRR register is buffered
Bit 11: UIF status bit remapping.
control register 2
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MMS
rw |
Bits 4-6: Master mode selection These bits are used 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 the 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: Reset: Use UG bit from TIMx_EGR register
1: Enable: Use CNT bit from TIMx_CEN register
2: Update: Use the update event
DMA/Interrupt enable register
Offset: 0xc, size: 32, reset: 0x00000000, access: read-write
2/2 fields covered.
status register
Offset: 0x10, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
UIF
rw |
event generation register
Offset: 0x14, size: 32, reset: 0x00000000, access: write-only
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
UG
w |
counter
Offset: 0x24, size: 32, reset: 0x00000000, access: read-write
2/2 fields covered.
prescaler
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PSC
rw |
auto-reload register
Offset: 0x2c, size: 32, reset: 0x0000FFFF, access: read-write
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ARR
rw |
0x40001400: Basic timers
14/15 fields covered.
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 | CR1 | ||||||||||||||||||||||||||||||||
0x4 | CR2 | ||||||||||||||||||||||||||||||||
0xc | DIER | ||||||||||||||||||||||||||||||||
0x10 | SR | ||||||||||||||||||||||||||||||||
0x14 | EGR | ||||||||||||||||||||||||||||||||
0x24 | CNT | ||||||||||||||||||||||||||||||||
0x28 | PSC | ||||||||||||||||||||||||||||||||
0x2c | ARR |
control register 1
Offset: 0x0, size: 32, reset: 0x00000000, access: read-write
5/6 fields covered.
Bit 0: Counter enable Note: 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. CEN is cleared automatically in one-pulse mode, when an update event occurs..
Allowed values:
0: Disabled: Counter disabled
1: Enabled: Counter enabled
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: Enabled: Update event enabled
1: Disabled: Update event disabled
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: AnyEvent: Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request
1: CounterOnly: Only counter overflow/underflow generates an update interrupt or DMA request
Bit 3: One-pulse mode.
Allowed values:
0: Disabled: Counter is not stopped at update event
1: Enabled: Counter stops counting at the next update event (clearing the CEN bit)
Bit 7: Auto-reload preload enable.
Allowed values:
0: Disabled: TIMx_APRR register is not buffered
1: Enabled: TIMx_APRR register is buffered
Bit 11: UIF status bit remapping.
control register 2
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MMS
rw |
Bits 4-6: Master mode selection These bits are used 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 the 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: Reset: Use UG bit from TIMx_EGR register
1: Enable: Use CNT bit from TIMx_CEN register
2: Update: Use the update event
DMA/Interrupt enable register
Offset: 0xc, size: 32, reset: 0x00000000, access: read-write
2/2 fields covered.
status register
Offset: 0x10, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
UIF
rw |
event generation register
Offset: 0x14, size: 32, reset: 0x00000000, access: write-only
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
UG
w |
counter
Offset: 0x24, size: 32, reset: 0x00000000, access: read-write
2/2 fields covered.
prescaler
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PSC
rw |
auto-reload register
Offset: 0x2c, size: 32, reset: 0x0000FFFF, access: read-write
1/1 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ARR
rw |
0x40013800: Universal synchronous asynchronous receiver transmitter
47/124 fields covered.
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 | CR1 | ||||||||||||||||||||||||||||||||
0x4 | CR2 | ||||||||||||||||||||||||||||||||
0x8 | CR3 | ||||||||||||||||||||||||||||||||
0xc | BRR | ||||||||||||||||||||||||||||||||
0x10 | GTPR | ||||||||||||||||||||||||||||||||
0x14 | RTOR | ||||||||||||||||||||||||||||||||
0x18 | RQR | ||||||||||||||||||||||||||||||||
0x1c | ISR | ||||||||||||||||||||||||||||||||
0x20 | ICR | ||||||||||||||||||||||||||||||||
0x24 | RDR | ||||||||||||||||||||||||||||||||
0x28 | TDR | ||||||||||||||||||||||||||||||||
0x2c | PRESC |
Control register 1
Offset: 0x0, size: 32, reset: 0x00000000, access: read-write
4/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 |
TXEIE
rw |
TCIE
rw |
RXNEIE
rw |
IDLEIE
rw |
TE
rw |
RE
rw |
UESM
rw |
UE
rw |
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. The DMA requests are also reset when UE = 0 so the DMA channel must be disabled before resetting the UE bit. In Smartcard mode, (SCEN = 1), the SCLK is always available when CLKEN = 1, regardless of the UE bit value..
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. If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to ..
Allowed values:
0: Disabled: USART not able to wake up the MCU from Stop mode
1: Enabled: USART able to wake up the MCU from Stop mode
Bit 2: Receiver enable This bit enables the receiver. It is set and cleared by software..
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. In Smartcard mode, when TE is set, there is a 1 bit-time delay before the transmission starts..
Bit 4: IDLE interrupt enable This bit is set and cleared by software..
Bit 5: RXFIFO not empty interrupt enable This bit is set and cleared by software..
Bit 6: Transmission complete interrupt enable This bit is set and cleared by software..
Bit 7: TXFIFO not full interrupt enable This bit is set and cleared by software..
Bit 8: PE interrupt enable This bit is set and cleared by software..
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)..
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)..
Bit 11: Receiver wakeup method This bit determines the USART wakeup method from Mute mode. It is set or cleared by software. This bitfield can only be written when the USART is disabled (UE=0)..
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)..
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..
Bit 14: Character match interrupt enable This bit is set and cleared by software..
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..
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 ..
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 ..
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. ..
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 ..
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..
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: Disabled: FIFO mode is disabled
1: Enabled: FIFO mode is enabled
Bit 30: TXFIFO empty interrupt enable This bit is set and cleared by software..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when TXFE = 1 in the USART_ISR register
Bit 31: RXFIFO Full interrupt enable This bit is set and cleared by software..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when RXFF = 1 in the USART_ISR register
Control register 2
Offset: 0x4, size: 32, reset: 0x00000000, access: read-write
2/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 |
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 ..
Allowed values:
0: Disabled: Slave mode disabled
1: Enabled: Slave mode enabled
Bit 3: 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 ..
Allowed values:
0: Disabled: SPI slave selection depends on NSS input pin
1: Enabled: SPI slave is always selected and NSS input pin is ignored
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..
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 ..
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 ..
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 SCLK 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 ..
Bit 9: Clock phase This bit is used to select the phase of the clock output on the SCLK pin in synchronous mode. It works in conjunction with the CPOL bit to produce the desired clock/data relationship (see and ) 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 ..
Bit 10: Clock polarity This bit enables the user to select the polarity of the clock output on the SCLK 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 ..
Bit 11: Clock enable This bit enables the user to enable the SCLK 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 . In Smartcard mode, in order to provide correctly the SCLK clock to the smartcard, the steps below must be respected: UE = 0 SCEN = 1 GTPR configuration CLKEN= 1 UE = 1.
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)..
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 ..
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)..
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)..
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)..
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)..
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)..
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 ..
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) If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to ..
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 ..
Bits 24-31: Address of the USART node ADD[7:4]: These bits give the address of the USART node or a character code to be recognized. They are used to wake up the MCU with 7-bit address mark detection in multiprocessor communication during Mute mode or low-power mode. The MSB of the character sent by the transmitter should be equal to 1. They can also be used for character detection during normal reception, Mute mode inactive (for example, end of block detection in ModBus protocol). In this case, the whole received character (8-bit) is compared to the ADD[7:0] value and CMF flag is set on match. These bits can only be written when reception is disabled (RE = 0) or the USART is disabled (UE=0). ADD[3:0]: These bits give the address of the USART node or a character code to be recognized. They are used for wakeup with address mark detection, in multiprocessor communication during Mute mode or low-power mode. These bits can only be written when reception is disabled (RE = 0) or the USART is disabled (UE=0)..
Control register 3
Offset: 0x8, size: 32, reset: 0x00000000, access: read-write
7/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 |
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)..
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 ..
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 ..
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)..
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 ..
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 ..
Bit 6: DMA enable receiver This bit is set/reset by software.
Bit 7: DMA enable transmitter This bit is set/reset by software.
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 ..
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 ..
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 ..
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)..
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.
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..
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. ..
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 ..
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. Note: If Smartcard mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..
Bits 20-21: Wakeup from low-power mode interrupt flag selection This bitfield specifies the event which activates the WUF (Wakeup from low-power mode flag). This bitfield can only be written when the USART is disabled (UE=0). If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page835..
Allowed values:
0: Address: WUF active on address match
2: Start: WuF active on Start bit detection
3: RXNE: WUF active on RXNE
Bit 22: Wakeup 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. If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page835..
Allowed values:
0: Disabled: Interrupt is inhibited
1: Enabled: An USART interrupt is generated whenever WUF=1 in the ISR register
Bit 23: TXFIFO threshold interrupt enable This bit is set and cleared by software..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when Transmit FIFO reaches the threshold programmed in TXFTCFG
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 ..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated whenever TCBGT=1 in the USART_ISR register
Bits 25-27: Receive FIFO threshold configuration Remaining combinations: Reserved.
Allowed values:
0: Depth_1_8: RXFIFO reaches 1/8 of its depth
1: Depth_1_4: RXFIFO reaches 1/4 of its depth
2: Depth_1_2: RXFIFO reaches 1/2 of its depth
3: Depth_3_4: RXFIFO reaches 3/4 of its depth
4: Depth_7_8: RXFIFO reaches 7/8 of its depth
5: Full: RXFIFO becomes full
Bit 28: RXFIFO threshold interrupt enable This bit is set and cleared by software..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when Receive FIFO reaches the threshold programmed in RXFTCFG
Bits 29-31: TXFIFO threshold configuration Remaining combinations: Reserved.
Allowed values:
0: Depth_1_8: TXFIFO reaches 1/8 of its depth
1: Depth_1_4: TXFIFO reaches 1/4 of its depth
2: Depth_1_2: TXFIFO reaches 1/2 of its depth
3: Depth_3_4: TXFIFO reaches 3/4 of its depth
4: Depth_7_8: TXFIFO reaches 7/8 of its depth
5: Empty: TXFIFO becomes empty
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 |
Guard time and prescaler register
Offset: 0x10, size: 32, reset: 0x00000000, access: read-write
0/2 fields covered.
Bits 0-7: Prescaler value In IrDA low-power and normal IrDA mode: PSC[7:0] = IrDA Normal and Low-Power baud rate PSC[7:0] is used to program the prescaler for dividing the USART source clock to achieve the low-power frequency: the source clock is divided by the value given in the register (8 significant bits): In Smartcard mode: PSC[4:0]=Prescaler value PSC[4:0] is used to program the prescaler for dividing the USART source clock to provide the Smartcard clock. The value given in the register (5 significant bits) is multiplied by 2 to give the division factor of the source clock frequency: ... 00100000: Divides the source clock by 32 (IrDA mode) ... 11111111: Divides the source clock by 255 (IrDA mode) This bitfield can only be written when the USART is disabled (UE=0). Note: Bits [7:5] must be kept cleared if Smartcard mode is used. This bitfield is reserved and forced by hardware to '0' when the Smartcard and IrDA modes are not supported. Refer to ..
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 ..
Receiver timeout register
Offset: 0x14, size: 32, reset: 0x00000000, access: read-write
0/2 fields covered.
Request register
Offset: 0x18, size: 32, reset: 0x00000000, access: write-only
0/5 fields covered.
Bit 0: Auto baud rate request Writing 1 to this bit resets the ABRF flag 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 ..
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..
Bit 2: Mute mode request Writing 1 to this bit puts the USART in Mute mode and resets the RWU flag..
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..
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..
Interrupt & 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 |
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..
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_CR1 register. Note: This error is associated with the character in the USART_RDR..
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. 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 Tolerance of the USART receiver to clock deviation on page861). This error is associated with the character in the USART_RDR..
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 or EIE = 1 in the USART_CR1 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. This bit is permanently forced to 0 (no overrun detection) when the bit OVRDIS is set in the USART_CR3 register..
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). 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..
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..
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..
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). This bit is used during single buffer transmission..
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 ..
Bit 9: CTS interrupt flag This bit is set by hardware when the nCTS 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..
Bit 10: CTS flag This bit is set/reset by hardware. It is an inverted copy of the status of the nCTS input pin. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..
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. 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. If the USART does not support the Receiver timeout feature, this bit is reserved and kept at reset value..
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_CR2 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 ..
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 ..
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_CR3 register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..
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..
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)..
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..
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..
Bit 19: Receiver wakeup from Mute mode This bit indicates if the USART is in Mute mode. It is cleared/set by hardware when a wakeup/mute sequence is recognized. The Mute mode control sequence (address or IDLE) is selected by the WAKE bit in the USART_CR1 register. When wakeup 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 wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..
Bit 20: Wakeup from low-power mode flag This bit is set by hardware, when a wakeup 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. If the USART does not support the wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..
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..
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 wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..
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..
Bit 24: RXFIFO full This bit is set by hardware when the number of received data corresponds to RXFIFOsize+1 (RXFIFO full + 1 data in the USART_RDR register. An interrupt is generated if the RXFFIE bit =1 in the USART_CR1 register..
Bit 25: Transmission complete before guard time flag This bit is set when the last data written in the USART_TDR has been transmitted correctly out of the shift register. It is set by hardware in Smartcard mode, if the transmission of a frame containing data is complete and if the smartcard did not send back any NACK. An interrupt is generated if TCBGTIE=1 in the USART_CR3 register. This bit is cleared by software, by writing 1 to the TCBGTCF in the USART_ICR register or by a write to the USART_TDR register. Note: If the USART does not support the Smartcard mode, this bit is reserved and kept at reset value. If the USART supports the Smartcard mode and the Smartcard mode is enabled, the TCBGT reset value is '1'. Refer to on page835..
Allowed values:
0: NotCompleted: Transmission not completed
1: Completed: Transmission has completed
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..
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..
Interrupt flag clear register
Offset: 0x20, size: 32, reset: 0x00000000, access: write-only
4/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 |
Bit 0: Parity error clear flag Writing 1 to this bit clears the PE flag in the USART_ISR register..
Bit 1: Framing error clear flag Writing 1 to this bit clears the FE flag in the USART_ISR register..
Bit 2: Noise detected clear flag Writing 1 to this bit clears the NE flag in the USART_ISR register..
Bit 3: Overrun error clear flag Writing 1 to this bit clears the ORE flag in the USART_ISR register..
Bit 4: Idle line detected clear flag Writing 1 to this bit clears the IDLE flag in the USART_ISR register..
Bit 5: TXFIFO empty clear flag Writing 1 to this bit clears the TXFE flag in the USART_ISR register..
Allowed values:
1: Clear: Clear the TXFE flag in the ISR register
Bit 6: Transmission complete clear flag Writing 1 to this bit clears the TC flag in the USART_ISR register..
Bit 7: Transmission complete before Guard time clear flag Writing 1 to this bit clears the TCBGT flag in the USART_ISR register..
Allowed values:
1: Clear: Clear the TCBGT flag in the ISR register
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 ..
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 ..
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 page835..
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 ..
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.
Allowed values:
1: Clear: Clear the UDR flag in the ISR register
Bit 17: Character match clear flag Writing 1 to this bit clears the CMF flag in the USART_ISR register..
Bit 20: Wakeup 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 wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page835..
Allowed values:
1: Clear: Clears the WUF flag in the ISR register
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 |
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 |
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 |
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: Div1: Input clock divided by 1
1: Div2: Input clock divided by 2
2: Div4: Input clock divided by 4
3: Div6: Input clock divided by 6
4: Div8: Input clock divided by 8
5: Div10: Input clock divided by 10
6: Div12: Input clock divided by 12
7: Div16: Input clock divided by 16
8: Div32: Input clock divided by 32
9: Div64: Input clock divided by 64
10: Div128: Input clock divided by 128
11: Div256: Input clock divided by 256
0x40004400: Universal synchronous asynchronous receiver transmitter
47/124 fields covered.
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 | CR1 | ||||||||||||||||||||||||||||||||
0x4 | CR2 | ||||||||||||||||||||||||||||||||
0x8 | CR3 | ||||||||||||||||||||||||||||||||
0xc | BRR | ||||||||||||||||||||||||||||||||
0x10 | GTPR | ||||||||||||||||||||||||||||||||
0x14 | RTOR | ||||||||||||||||||||||||||||||||
0x18 | RQR | ||||||||||||||||||||||||||||||||
0x1c | ISR | ||||||||||||||||||||||||||||||||
0x20 | ICR | ||||||||||||||||||||||||||||||||
0x24 | RDR | ||||||||||||||||||||||||||||||||
0x28 | TDR | ||||||||||||||||||||||||||||||||
0x2c | PRESC |
Control register 1
Offset: 0x0, size: 32, reset: 0x00000000, access: read-write
4/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 |
TXEIE
rw |
TCIE
rw |
RXNEIE
rw |
IDLEIE
rw |
TE
rw |
RE
rw |
UESM
rw |
UE
rw |
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. The DMA requests are also reset when UE = 0 so the DMA channel must be disabled before resetting the UE bit. In Smartcard mode, (SCEN = 1), the SCLK is always available when CLKEN = 1, regardless of the UE bit value..
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. If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to ..
Allowed values:
0: Disabled: USART not able to wake up the MCU from Stop mode
1: Enabled: USART able to wake up the MCU from Stop mode
Bit 2: Receiver enable This bit enables the receiver. It is set and cleared by software..
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. In Smartcard mode, when TE is set, there is a 1 bit-time delay before the transmission starts..
Bit 4: IDLE interrupt enable This bit is set and cleared by software..
Bit 5: RXFIFO not empty interrupt enable This bit is set and cleared by software..
Bit 6: Transmission complete interrupt enable This bit is set and cleared by software..
Bit 7: TXFIFO not full interrupt enable This bit is set and cleared by software..
Bit 8: PE interrupt enable This bit is set and cleared by software..
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)..
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)..
Bit 11: Receiver wakeup method This bit determines the USART wakeup method from Mute mode. It is set or cleared by software. This bitfield can only be written when the USART is disabled (UE=0)..
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)..
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..
Bit 14: Character match interrupt enable This bit is set and cleared by software..
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..
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 ..
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 ..
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. ..
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 ..
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..
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: Disabled: FIFO mode is disabled
1: Enabled: FIFO mode is enabled
Bit 30: TXFIFO empty interrupt enable This bit is set and cleared by software..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when TXFE = 1 in the USART_ISR register
Bit 31: RXFIFO Full interrupt enable This bit is set and cleared by software..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when RXFF = 1 in the USART_ISR register
Control register 2
Offset: 0x4, size: 32, reset: 0x00000000, access: read-write
2/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 |
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 ..
Allowed values:
0: Disabled: Slave mode disabled
1: Enabled: Slave mode enabled
Bit 3: 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 ..
Allowed values:
0: Disabled: SPI slave selection depends on NSS input pin
1: Enabled: SPI slave is always selected and NSS input pin is ignored
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..
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 ..
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 ..
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 SCLK 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 ..
Bit 9: Clock phase This bit is used to select the phase of the clock output on the SCLK pin in synchronous mode. It works in conjunction with the CPOL bit to produce the desired clock/data relationship (see and ) 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 ..
Bit 10: Clock polarity This bit enables the user to select the polarity of the clock output on the SCLK 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 ..
Bit 11: Clock enable This bit enables the user to enable the SCLK 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 . In Smartcard mode, in order to provide correctly the SCLK clock to the smartcard, the steps below must be respected: UE = 0 SCEN = 1 GTPR configuration CLKEN= 1 UE = 1.
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)..
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 ..
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)..
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)..
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)..
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)..
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)..
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 ..
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) If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to ..
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 ..
Bits 24-31: Address of the USART node ADD[7:4]: These bits give the address of the USART node or a character code to be recognized. They are used to wake up the MCU with 7-bit address mark detection in multiprocessor communication during Mute mode or low-power mode. The MSB of the character sent by the transmitter should be equal to 1. They can also be used for character detection during normal reception, Mute mode inactive (for example, end of block detection in ModBus protocol). In this case, the whole received character (8-bit) is compared to the ADD[7:0] value and CMF flag is set on match. These bits can only be written when reception is disabled (RE = 0) or the USART is disabled (UE=0). ADD[3:0]: These bits give the address of the USART node or a character code to be recognized. They are used for wakeup with address mark detection, in multiprocessor communication during Mute mode or low-power mode. These bits can only be written when reception is disabled (RE = 0) or the USART is disabled (UE=0)..
Control register 3
Offset: 0x8, size: 32, reset: 0x00000000, access: read-write
7/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 |
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)..
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 ..
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 ..
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)..
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 ..
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 ..
Bit 6: DMA enable receiver This bit is set/reset by software.
Bit 7: DMA enable transmitter This bit is set/reset by software.
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 ..
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 ..
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 ..
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)..
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.
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..
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. ..
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 ..
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. Note: If Smartcard mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..
Bits 20-21: Wakeup from low-power mode interrupt flag selection This bitfield specifies the event which activates the WUF (Wakeup from low-power mode flag). This bitfield can only be written when the USART is disabled (UE=0). If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page835..
Allowed values:
0: Address: WUF active on address match
2: Start: WuF active on Start bit detection
3: RXNE: WUF active on RXNE
Bit 22: Wakeup 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. If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page835..
Allowed values:
0: Disabled: Interrupt is inhibited
1: Enabled: An USART interrupt is generated whenever WUF=1 in the ISR register
Bit 23: TXFIFO threshold interrupt enable This bit is set and cleared by software..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when Transmit FIFO reaches the threshold programmed in TXFTCFG
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 ..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated whenever TCBGT=1 in the USART_ISR register
Bits 25-27: Receive FIFO threshold configuration Remaining combinations: Reserved.
Allowed values:
0: Depth_1_8: RXFIFO reaches 1/8 of its depth
1: Depth_1_4: RXFIFO reaches 1/4 of its depth
2: Depth_1_2: RXFIFO reaches 1/2 of its depth
3: Depth_3_4: RXFIFO reaches 3/4 of its depth
4: Depth_7_8: RXFIFO reaches 7/8 of its depth
5: Full: RXFIFO becomes full
Bit 28: RXFIFO threshold interrupt enable This bit is set and cleared by software..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when Receive FIFO reaches the threshold programmed in RXFTCFG
Bits 29-31: TXFIFO threshold configuration Remaining combinations: Reserved.
Allowed values:
0: Depth_1_8: TXFIFO reaches 1/8 of its depth
1: Depth_1_4: TXFIFO reaches 1/4 of its depth
2: Depth_1_2: TXFIFO reaches 1/2 of its depth
3: Depth_3_4: TXFIFO reaches 3/4 of its depth
4: Depth_7_8: TXFIFO reaches 7/8 of its depth
5: Empty: TXFIFO becomes empty
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 |
Guard time and prescaler register
Offset: 0x10, size: 32, reset: 0x00000000, access: read-write
0/2 fields covered.
Bits 0-7: Prescaler value In IrDA low-power and normal IrDA mode: PSC[7:0] = IrDA Normal and Low-Power baud rate PSC[7:0] is used to program the prescaler for dividing the USART source clock to achieve the low-power frequency: the source clock is divided by the value given in the register (8 significant bits): In Smartcard mode: PSC[4:0]=Prescaler value PSC[4:0] is used to program the prescaler for dividing the USART source clock to provide the Smartcard clock. The value given in the register (5 significant bits) is multiplied by 2 to give the division factor of the source clock frequency: ... 00100000: Divides the source clock by 32 (IrDA mode) ... 11111111: Divides the source clock by 255 (IrDA mode) This bitfield can only be written when the USART is disabled (UE=0). Note: Bits [7:5] must be kept cleared if Smartcard mode is used. This bitfield is reserved and forced by hardware to '0' when the Smartcard and IrDA modes are not supported. Refer to ..
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 ..
Receiver timeout register
Offset: 0x14, size: 32, reset: 0x00000000, access: read-write
0/2 fields covered.
Request register
Offset: 0x18, size: 32, reset: 0x00000000, access: write-only
0/5 fields covered.
Bit 0: Auto baud rate request Writing 1 to this bit resets the ABRF flag 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 ..
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..
Bit 2: Mute mode request Writing 1 to this bit puts the USART in Mute mode and resets the RWU flag..
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..
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..
Interrupt & 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 |
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..
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_CR1 register. Note: This error is associated with the character in the USART_RDR..
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. 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 Tolerance of the USART receiver to clock deviation on page861). This error is associated with the character in the USART_RDR..
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 or EIE = 1 in the USART_CR1 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. This bit is permanently forced to 0 (no overrun detection) when the bit OVRDIS is set in the USART_CR3 register..
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). 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..
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..
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..
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). This bit is used during single buffer transmission..
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 ..
Bit 9: CTS interrupt flag This bit is set by hardware when the nCTS 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..
Bit 10: CTS flag This bit is set/reset by hardware. It is an inverted copy of the status of the nCTS input pin. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..
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. 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. If the USART does not support the Receiver timeout feature, this bit is reserved and kept at reset value..
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_CR2 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 ..
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 ..
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_CR3 register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..
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..
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)..
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..
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..
Bit 19: Receiver wakeup from Mute mode This bit indicates if the USART is in Mute mode. It is cleared/set by hardware when a wakeup/mute sequence is recognized. The Mute mode control sequence (address or IDLE) is selected by the WAKE bit in the USART_CR1 register. When wakeup 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 wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..
Bit 20: Wakeup from low-power mode flag This bit is set by hardware, when a wakeup 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. If the USART does not support the wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..
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..
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 wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..
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..
Bit 24: RXFIFO full This bit is set by hardware when the number of received data corresponds to RXFIFOsize+1 (RXFIFO full + 1 data in the USART_RDR register. An interrupt is generated if the RXFFIE bit =1 in the USART_CR1 register..
Bit 25: Transmission complete before guard time flag This bit is set when the last data written in the USART_TDR has been transmitted correctly out of the shift register. It is set by hardware in Smartcard mode, if the transmission of a frame containing data is complete and if the smartcard did not send back any NACK. An interrupt is generated if TCBGTIE=1 in the USART_CR3 register. This bit is cleared by software, by writing 1 to the TCBGTCF in the USART_ICR register or by a write to the USART_TDR register. Note: If the USART does not support the Smartcard mode, this bit is reserved and kept at reset value. If the USART supports the Smartcard mode and the Smartcard mode is enabled, the TCBGT reset value is '1'. Refer to on page835..
Allowed values:
0: NotCompleted: Transmission not completed
1: Completed: Transmission has completed
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..
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..
Interrupt flag clear register
Offset: 0x20, size: 32, reset: 0x00000000, access: write-only
4/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 |
Bit 0: Parity error clear flag Writing 1 to this bit clears the PE flag in the USART_ISR register..
Bit 1: Framing error clear flag Writing 1 to this bit clears the FE flag in the USART_ISR register..
Bit 2: Noise detected clear flag Writing 1 to this bit clears the NE flag in the USART_ISR register..
Bit 3: Overrun error clear flag Writing 1 to this bit clears the ORE flag in the USART_ISR register..
Bit 4: Idle line detected clear flag Writing 1 to this bit clears the IDLE flag in the USART_ISR register..
Bit 5: TXFIFO empty clear flag Writing 1 to this bit clears the TXFE flag in the USART_ISR register..
Allowed values:
1: Clear: Clear the TXFE flag in the ISR register
Bit 6: Transmission complete clear flag Writing 1 to this bit clears the TC flag in the USART_ISR register..
Bit 7: Transmission complete before Guard time clear flag Writing 1 to this bit clears the TCBGT flag in the USART_ISR register..
Allowed values:
1: Clear: Clear the TCBGT flag in the ISR register
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 ..
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 ..
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 page835..
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 ..
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.
Allowed values:
1: Clear: Clear the UDR flag in the ISR register
Bit 17: Character match clear flag Writing 1 to this bit clears the CMF flag in the USART_ISR register..
Bit 20: Wakeup 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 wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page835..
Allowed values:
1: Clear: Clears the WUF flag in the ISR register
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 |
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 |
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 |
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: Div1: Input clock divided by 1
1: Div2: Input clock divided by 2
2: Div4: Input clock divided by 4
3: Div6: Input clock divided by 6
4: Div8: Input clock divided by 8
5: Div10: Input clock divided by 10
6: Div12: Input clock divided by 12
7: Div16: Input clock divided by 16
8: Div32: Input clock divided by 32
9: Div64: Input clock divided by 64
10: Div128: Input clock divided by 128
11: Div256: Input clock divided by 256
0x40004800: Universal synchronous asynchronous receiver transmitter
47/124 fields covered.
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 | CR1 | ||||||||||||||||||||||||||||||||
0x4 | CR2 | ||||||||||||||||||||||||||||||||
0x8 | CR3 | ||||||||||||||||||||||||||||||||
0xc | BRR | ||||||||||||||||||||||||||||||||
0x10 | GTPR | ||||||||||||||||||||||||||||||||
0x14 | RTOR | ||||||||||||||||||||||||||||||||
0x18 | RQR | ||||||||||||||||||||||||||||||||
0x1c | ISR | ||||||||||||||||||||||||||||||||
0x20 | ICR | ||||||||||||||||||||||||||||||||
0x24 | RDR | ||||||||||||||||||||||||||||||||
0x28 | TDR | ||||||||||||||||||||||||||||||||
0x2c | PRESC |
Control register 1
Offset: 0x0, size: 32, reset: 0x00000000, access: read-write
4/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 |
TXEIE
rw |
TCIE
rw |
RXNEIE
rw |
IDLEIE
rw |
TE
rw |
RE
rw |
UESM
rw |
UE
rw |
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. The DMA requests are also reset when UE = 0 so the DMA channel must be disabled before resetting the UE bit. In Smartcard mode, (SCEN = 1), the SCLK is always available when CLKEN = 1, regardless of the UE bit value..
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. If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to ..
Allowed values:
0: Disabled: USART not able to wake up the MCU from Stop mode
1: Enabled: USART able to wake up the MCU from Stop mode
Bit 2: Receiver enable This bit enables the receiver. It is set and cleared by software..
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. In Smartcard mode, when TE is set, there is a 1 bit-time delay before the transmission starts..
Bit 4: IDLE interrupt enable This bit is set and cleared by software..
Bit 5: RXFIFO not empty interrupt enable This bit is set and cleared by software..
Bit 6: Transmission complete interrupt enable This bit is set and cleared by software..
Bit 7: TXFIFO not full interrupt enable This bit is set and cleared by software..
Bit 8: PE interrupt enable This bit is set and cleared by software..
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)..
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)..
Bit 11: Receiver wakeup method This bit determines the USART wakeup method from Mute mode. It is set or cleared by software. This bitfield can only be written when the USART is disabled (UE=0)..
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)..
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..
Bit 14: Character match interrupt enable This bit is set and cleared by software..
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..
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 ..
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 ..
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. ..
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 ..
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..
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: Disabled: FIFO mode is disabled
1: Enabled: FIFO mode is enabled
Bit 30: TXFIFO empty interrupt enable This bit is set and cleared by software..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when TXFE = 1 in the USART_ISR register
Bit 31: RXFIFO Full interrupt enable This bit is set and cleared by software..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when RXFF = 1 in the USART_ISR register
Control register 2
Offset: 0x4, size: 32, reset: 0x00000000, access: read-write
2/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 |
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 ..
Allowed values:
0: Disabled: Slave mode disabled
1: Enabled: Slave mode enabled
Bit 3: 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 ..
Allowed values:
0: Disabled: SPI slave selection depends on NSS input pin
1: Enabled: SPI slave is always selected and NSS input pin is ignored
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..
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 ..
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 ..
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 SCLK 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 ..
Bit 9: Clock phase This bit is used to select the phase of the clock output on the SCLK pin in synchronous mode. It works in conjunction with the CPOL bit to produce the desired clock/data relationship (see and ) 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 ..
Bit 10: Clock polarity This bit enables the user to select the polarity of the clock output on the SCLK 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 ..
Bit 11: Clock enable This bit enables the user to enable the SCLK 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 . In Smartcard mode, in order to provide correctly the SCLK clock to the smartcard, the steps below must be respected: UE = 0 SCEN = 1 GTPR configuration CLKEN= 1 UE = 1.
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)..
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 ..
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)..
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)..
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)..
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)..
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)..
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 ..
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) If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to ..
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 ..
Bits 24-31: Address of the USART node ADD[7:4]: These bits give the address of the USART node or a character code to be recognized. They are used to wake up the MCU with 7-bit address mark detection in multiprocessor communication during Mute mode or low-power mode. The MSB of the character sent by the transmitter should be equal to 1. They can also be used for character detection during normal reception, Mute mode inactive (for example, end of block detection in ModBus protocol). In this case, the whole received character (8-bit) is compared to the ADD[7:0] value and CMF flag is set on match. These bits can only be written when reception is disabled (RE = 0) or the USART is disabled (UE=0). ADD[3:0]: These bits give the address of the USART node or a character code to be recognized. They are used for wakeup with address mark detection, in multiprocessor communication during Mute mode or low-power mode. These bits can only be written when reception is disabled (RE = 0) or the USART is disabled (UE=0)..
Control register 3
Offset: 0x8, size: 32, reset: 0x00000000, access: read-write
7/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 |
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)..
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 ..
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 ..
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)..
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 ..
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 ..
Bit 6: DMA enable receiver This bit is set/reset by software.
Bit 7: DMA enable transmitter This bit is set/reset by software.
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 ..
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 ..
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 ..
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)..
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.
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..
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. ..
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 ..
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. Note: If Smartcard mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..
Bits 20-21: Wakeup from low-power mode interrupt flag selection This bitfield specifies the event which activates the WUF (Wakeup from low-power mode flag). This bitfield can only be written when the USART is disabled (UE=0). If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page835..
Allowed values:
0: Address: WUF active on address match
2: Start: WuF active on Start bit detection
3: RXNE: WUF active on RXNE
Bit 22: Wakeup 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. If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page835..
Allowed values:
0: Disabled: Interrupt is inhibited
1: Enabled: An USART interrupt is generated whenever WUF=1 in the ISR register
Bit 23: TXFIFO threshold interrupt enable This bit is set and cleared by software..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when Transmit FIFO reaches the threshold programmed in TXFTCFG
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 ..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated whenever TCBGT=1 in the USART_ISR register
Bits 25-27: Receive FIFO threshold configuration Remaining combinations: Reserved.
Allowed values:
0: Depth_1_8: RXFIFO reaches 1/8 of its depth
1: Depth_1_4: RXFIFO reaches 1/4 of its depth
2: Depth_1_2: RXFIFO reaches 1/2 of its depth
3: Depth_3_4: RXFIFO reaches 3/4 of its depth
4: Depth_7_8: RXFIFO reaches 7/8 of its depth
5: Full: RXFIFO becomes full
Bit 28: RXFIFO threshold interrupt enable This bit is set and cleared by software..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when Receive FIFO reaches the threshold programmed in RXFTCFG
Bits 29-31: TXFIFO threshold configuration Remaining combinations: Reserved.
Allowed values:
0: Depth_1_8: TXFIFO reaches 1/8 of its depth
1: Depth_1_4: TXFIFO reaches 1/4 of its depth
2: Depth_1_2: TXFIFO reaches 1/2 of its depth
3: Depth_3_4: TXFIFO reaches 3/4 of its depth
4: Depth_7_8: TXFIFO reaches 7/8 of its depth
5: Empty: TXFIFO becomes empty
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 |
Guard time and prescaler register
Offset: 0x10, size: 32, reset: 0x00000000, access: read-write
0/2 fields covered.
Bits 0-7: Prescaler value In IrDA low-power and normal IrDA mode: PSC[7:0] = IrDA Normal and Low-Power baud rate PSC[7:0] is used to program the prescaler for dividing the USART source clock to achieve the low-power frequency: the source clock is divided by the value given in the register (8 significant bits): In Smartcard mode: PSC[4:0]=Prescaler value PSC[4:0] is used to program the prescaler for dividing the USART source clock to provide the Smartcard clock. The value given in the register (5 significant bits) is multiplied by 2 to give the division factor of the source clock frequency: ... 00100000: Divides the source clock by 32 (IrDA mode) ... 11111111: Divides the source clock by 255 (IrDA mode) This bitfield can only be written when the USART is disabled (UE=0). Note: Bits [7:5] must be kept cleared if Smartcard mode is used. This bitfield is reserved and forced by hardware to '0' when the Smartcard and IrDA modes are not supported. Refer to ..
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 ..
Receiver timeout register
Offset: 0x14, size: 32, reset: 0x00000000, access: read-write
0/2 fields covered.
Request register
Offset: 0x18, size: 32, reset: 0x00000000, access: write-only
0/5 fields covered.
Bit 0: Auto baud rate request Writing 1 to this bit resets the ABRF flag 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 ..
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..
Bit 2: Mute mode request Writing 1 to this bit puts the USART in Mute mode and resets the RWU flag..
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..
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..
Interrupt & 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 |
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..
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_CR1 register. Note: This error is associated with the character in the USART_RDR..
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. 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 Tolerance of the USART receiver to clock deviation on page861). This error is associated with the character in the USART_RDR..
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 or EIE = 1 in the USART_CR1 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. This bit is permanently forced to 0 (no overrun detection) when the bit OVRDIS is set in the USART_CR3 register..
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). 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..
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..
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..
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). This bit is used during single buffer transmission..
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 ..
Bit 9: CTS interrupt flag This bit is set by hardware when the nCTS 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..
Bit 10: CTS flag This bit is set/reset by hardware. It is an inverted copy of the status of the nCTS input pin. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..
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. 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. If the USART does not support the Receiver timeout feature, this bit is reserved and kept at reset value..
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_CR2 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 ..
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 ..
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_CR3 register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..
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..
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)..
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..
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..
Bit 19: Receiver wakeup from Mute mode This bit indicates if the USART is in Mute mode. It is cleared/set by hardware when a wakeup/mute sequence is recognized. The Mute mode control sequence (address or IDLE) is selected by the WAKE bit in the USART_CR1 register. When wakeup 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 wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..
Bit 20: Wakeup from low-power mode flag This bit is set by hardware, when a wakeup 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. If the USART does not support the wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..
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..
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 wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..
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..
Bit 24: RXFIFO full This bit is set by hardware when the number of received data corresponds to RXFIFOsize+1 (RXFIFO full + 1 data in the USART_RDR register. An interrupt is generated if the RXFFIE bit =1 in the USART_CR1 register..
Bit 25: Transmission complete before guard time flag This bit is set when the last data written in the USART_TDR has been transmitted correctly out of the shift register. It is set by hardware in Smartcard mode, if the transmission of a frame containing data is complete and if the smartcard did not send back any NACK. An interrupt is generated if TCBGTIE=1 in the USART_CR3 register. This bit is cleared by software, by writing 1 to the TCBGTCF in the USART_ICR register or by a write to the USART_TDR register. Note: If the USART does not support the Smartcard mode, this bit is reserved and kept at reset value. If the USART supports the Smartcard mode and the Smartcard mode is enabled, the TCBGT reset value is '1'. Refer to on page835..
Allowed values:
0: NotCompleted: Transmission not completed
1: Completed: Transmission has completed
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..
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..
Interrupt flag clear register
Offset: 0x20, size: 32, reset: 0x00000000, access: write-only
4/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 |
Bit 0: Parity error clear flag Writing 1 to this bit clears the PE flag in the USART_ISR register..
Bit 1: Framing error clear flag Writing 1 to this bit clears the FE flag in the USART_ISR register..
Bit 2: Noise detected clear flag Writing 1 to this bit clears the NE flag in the USART_ISR register..
Bit 3: Overrun error clear flag Writing 1 to this bit clears the ORE flag in the USART_ISR register..
Bit 4: Idle line detected clear flag Writing 1 to this bit clears the IDLE flag in the USART_ISR register..
Bit 5: TXFIFO empty clear flag Writing 1 to this bit clears the TXFE flag in the USART_ISR register..
Allowed values:
1: Clear: Clear the TXFE flag in the ISR register
Bit 6: Transmission complete clear flag Writing 1 to this bit clears the TC flag in the USART_ISR register..
Bit 7: Transmission complete before Guard time clear flag Writing 1 to this bit clears the TCBGT flag in the USART_ISR register..
Allowed values:
1: Clear: Clear the TCBGT flag in the ISR register
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 ..
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 ..
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 page835..
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 ..
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.
Allowed values:
1: Clear: Clear the UDR flag in the ISR register
Bit 17: Character match clear flag Writing 1 to this bit clears the CMF flag in the USART_ISR register..
Bit 20: Wakeup 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 wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page835..
Allowed values:
1: Clear: Clears the WUF flag in the ISR register
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 |
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 |
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 |
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: Div1: Input clock divided by 1
1: Div2: Input clock divided by 2
2: Div4: Input clock divided by 4
3: Div6: Input clock divided by 6
4: Div8: Input clock divided by 8
5: Div10: Input clock divided by 10
6: Div12: Input clock divided by 12
7: Div16: Input clock divided by 16
8: Div32: Input clock divided by 32
9: Div64: Input clock divided by 64
10: Div128: Input clock divided by 128
11: Div256: Input clock divided by 256
0x40004c00: Universal synchronous asynchronous receiver transmitter
47/124 fields covered.
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 | CR1 | ||||||||||||||||||||||||||||||||
0x4 | CR2 | ||||||||||||||||||||||||||||||||
0x8 | CR3 | ||||||||||||||||||||||||||||||||
0xc | BRR | ||||||||||||||||||||||||||||||||
0x10 | GTPR | ||||||||||||||||||||||||||||||||
0x14 | RTOR | ||||||||||||||||||||||||||||||||
0x18 | RQR | ||||||||||||||||||||||||||||||||
0x1c | ISR | ||||||||||||||||||||||||||||||||
0x20 | ICR | ||||||||||||||||||||||||||||||||
0x24 | RDR | ||||||||||||||||||||||||||||||||
0x28 | TDR | ||||||||||||||||||||||||||||||||
0x2c | PRESC |
Control register 1
Offset: 0x0, size: 32, reset: 0x00000000, access: read-write
4/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 |
TXEIE
rw |
TCIE
rw |
RXNEIE
rw |
IDLEIE
rw |
TE
rw |
RE
rw |
UESM
rw |
UE
rw |
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. The DMA requests are also reset when UE = 0 so the DMA channel must be disabled before resetting the UE bit. In Smartcard mode, (SCEN = 1), the SCLK is always available when CLKEN = 1, regardless of the UE bit value..
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. If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to ..
Allowed values:
0: Disabled: USART not able to wake up the MCU from Stop mode
1: Enabled: USART able to wake up the MCU from Stop mode
Bit 2: Receiver enable This bit enables the receiver. It is set and cleared by software..
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. In Smartcard mode, when TE is set, there is a 1 bit-time delay before the transmission starts..
Bit 4: IDLE interrupt enable This bit is set and cleared by software..
Bit 5: RXFIFO not empty interrupt enable This bit is set and cleared by software..
Bit 6: Transmission complete interrupt enable This bit is set and cleared by software..
Bit 7: TXFIFO not full interrupt enable This bit is set and cleared by software..
Bit 8: PE interrupt enable This bit is set and cleared by software..
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)..
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)..
Bit 11: Receiver wakeup method This bit determines the USART wakeup method from Mute mode. It is set or cleared by software. This bitfield can only be written when the USART is disabled (UE=0)..
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)..
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..
Bit 14: Character match interrupt enable This bit is set and cleared by software..
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..
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 ..
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 ..
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. ..
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 ..
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..
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: Disabled: FIFO mode is disabled
1: Enabled: FIFO mode is enabled
Bit 30: TXFIFO empty interrupt enable This bit is set and cleared by software..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when TXFE = 1 in the USART_ISR register
Bit 31: RXFIFO Full interrupt enable This bit is set and cleared by software..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when RXFF = 1 in the USART_ISR register
Control register 2
Offset: 0x4, size: 32, reset: 0x00000000, access: read-write
2/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 |
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 ..
Allowed values:
0: Disabled: Slave mode disabled
1: Enabled: Slave mode enabled
Bit 3: 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 ..
Allowed values:
0: Disabled: SPI slave selection depends on NSS input pin
1: Enabled: SPI slave is always selected and NSS input pin is ignored
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..
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 ..
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 ..
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 SCLK 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 ..
Bit 9: Clock phase This bit is used to select the phase of the clock output on the SCLK pin in synchronous mode. It works in conjunction with the CPOL bit to produce the desired clock/data relationship (see and ) 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 ..
Bit 10: Clock polarity This bit enables the user to select the polarity of the clock output on the SCLK 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 ..
Bit 11: Clock enable This bit enables the user to enable the SCLK 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 . In Smartcard mode, in order to provide correctly the SCLK clock to the smartcard, the steps below must be respected: UE = 0 SCEN = 1 GTPR configuration CLKEN= 1 UE = 1.
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)..
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 ..
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)..
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)..
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)..
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)..
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)..
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 ..
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) If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to ..
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 ..
Bits 24-31: Address of the USART node ADD[7:4]: These bits give the address of the USART node or a character code to be recognized. They are used to wake up the MCU with 7-bit address mark detection in multiprocessor communication during Mute mode or low-power mode. The MSB of the character sent by the transmitter should be equal to 1. They can also be used for character detection during normal reception, Mute mode inactive (for example, end of block detection in ModBus protocol). In this case, the whole received character (8-bit) is compared to the ADD[7:0] value and CMF flag is set on match. These bits can only be written when reception is disabled (RE = 0) or the USART is disabled (UE=0). ADD[3:0]: These bits give the address of the USART node or a character code to be recognized. They are used for wakeup with address mark detection, in multiprocessor communication during Mute mode or low-power mode. These bits can only be written when reception is disabled (RE = 0) or the USART is disabled (UE=0)..
Control register 3
Offset: 0x8, size: 32, reset: 0x00000000, access: read-write
7/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 |
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)..
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 ..
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 ..
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)..
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 ..
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 ..
Bit 6: DMA enable receiver This bit is set/reset by software.
Bit 7: DMA enable transmitter This bit is set/reset by software.
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 ..
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 ..
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 ..
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)..
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.
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..
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. ..
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 ..
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. Note: If Smartcard mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..
Bits 20-21: Wakeup from low-power mode interrupt flag selection This bitfield specifies the event which activates the WUF (Wakeup from low-power mode flag). This bitfield can only be written when the USART is disabled (UE=0). If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page835..
Allowed values:
0: Address: WUF active on address match
2: Start: WuF active on Start bit detection
3: RXNE: WUF active on RXNE
Bit 22: Wakeup 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. If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page835..
Allowed values:
0: Disabled: Interrupt is inhibited
1: Enabled: An USART interrupt is generated whenever WUF=1 in the ISR register
Bit 23: TXFIFO threshold interrupt enable This bit is set and cleared by software..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when Transmit FIFO reaches the threshold programmed in TXFTCFG
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 ..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated whenever TCBGT=1 in the USART_ISR register
Bits 25-27: Receive FIFO threshold configuration Remaining combinations: Reserved.
Allowed values:
0: Depth_1_8: RXFIFO reaches 1/8 of its depth
1: Depth_1_4: RXFIFO reaches 1/4 of its depth
2: Depth_1_2: RXFIFO reaches 1/2 of its depth
3: Depth_3_4: RXFIFO reaches 3/4 of its depth
4: Depth_7_8: RXFIFO reaches 7/8 of its depth
5: Full: RXFIFO becomes full
Bit 28: RXFIFO threshold interrupt enable This bit is set and cleared by software..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when Receive FIFO reaches the threshold programmed in RXFTCFG
Bits 29-31: TXFIFO threshold configuration Remaining combinations: Reserved.
Allowed values:
0: Depth_1_8: TXFIFO reaches 1/8 of its depth
1: Depth_1_4: TXFIFO reaches 1/4 of its depth
2: Depth_1_2: TXFIFO reaches 1/2 of its depth
3: Depth_3_4: TXFIFO reaches 3/4 of its depth
4: Depth_7_8: TXFIFO reaches 7/8 of its depth
5: Empty: TXFIFO becomes empty
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 |
Guard time and prescaler register
Offset: 0x10, size: 32, reset: 0x00000000, access: read-write
0/2 fields covered.
Bits 0-7: Prescaler value In IrDA low-power and normal IrDA mode: PSC[7:0] = IrDA Normal and Low-Power baud rate PSC[7:0] is used to program the prescaler for dividing the USART source clock to achieve the low-power frequency: the source clock is divided by the value given in the register (8 significant bits): In Smartcard mode: PSC[4:0]=Prescaler value PSC[4:0] is used to program the prescaler for dividing the USART source clock to provide the Smartcard clock. The value given in the register (5 significant bits) is multiplied by 2 to give the division factor of the source clock frequency: ... 00100000: Divides the source clock by 32 (IrDA mode) ... 11111111: Divides the source clock by 255 (IrDA mode) This bitfield can only be written when the USART is disabled (UE=0). Note: Bits [7:5] must be kept cleared if Smartcard mode is used. This bitfield is reserved and forced by hardware to '0' when the Smartcard and IrDA modes are not supported. Refer to ..
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 ..
Receiver timeout register
Offset: 0x14, size: 32, reset: 0x00000000, access: read-write
0/2 fields covered.
Request register
Offset: 0x18, size: 32, reset: 0x00000000, access: write-only
0/5 fields covered.
Bit 0: Auto baud rate request Writing 1 to this bit resets the ABRF flag 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 ..
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..
Bit 2: Mute mode request Writing 1 to this bit puts the USART in Mute mode and resets the RWU flag..
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..
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..
Interrupt & 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 |
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..
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_CR1 register. Note: This error is associated with the character in the USART_RDR..
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. 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 Tolerance of the USART receiver to clock deviation on page861). This error is associated with the character in the USART_RDR..
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 or EIE = 1 in the USART_CR1 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. This bit is permanently forced to 0 (no overrun detection) when the bit OVRDIS is set in the USART_CR3 register..
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). 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..
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..
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..
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). This bit is used during single buffer transmission..
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 ..
Bit 9: CTS interrupt flag This bit is set by hardware when the nCTS 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..
Bit 10: CTS flag This bit is set/reset by hardware. It is an inverted copy of the status of the nCTS input pin. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..
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. 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. If the USART does not support the Receiver timeout feature, this bit is reserved and kept at reset value..
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_CR2 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 ..
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 ..
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_CR3 register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..
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..
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)..
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..
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..
Bit 19: Receiver wakeup from Mute mode This bit indicates if the USART is in Mute mode. It is cleared/set by hardware when a wakeup/mute sequence is recognized. The Mute mode control sequence (address or IDLE) is selected by the WAKE bit in the USART_CR1 register. When wakeup 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 wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..
Bit 20: Wakeup from low-power mode flag This bit is set by hardware, when a wakeup 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. If the USART does not support the wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..
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..
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 wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..
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..
Bit 24: RXFIFO full This bit is set by hardware when the number of received data corresponds to RXFIFOsize+1 (RXFIFO full + 1 data in the USART_RDR register. An interrupt is generated if the RXFFIE bit =1 in the USART_CR1 register..
Bit 25: Transmission complete before guard time flag This bit is set when the last data written in the USART_TDR has been transmitted correctly out of the shift register. It is set by hardware in Smartcard mode, if the transmission of a frame containing data is complete and if the smartcard did not send back any NACK. An interrupt is generated if TCBGTIE=1 in the USART_CR3 register. This bit is cleared by software, by writing 1 to the TCBGTCF in the USART_ICR register or by a write to the USART_TDR register. Note: If the USART does not support the Smartcard mode, this bit is reserved and kept at reset value. If the USART supports the Smartcard mode and the Smartcard mode is enabled, the TCBGT reset value is '1'. Refer to on page835..
Allowed values:
0: NotCompleted: Transmission not completed
1: Completed: Transmission has completed
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..
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..
Interrupt flag clear register
Offset: 0x20, size: 32, reset: 0x00000000, access: write-only
4/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 |
Bit 0: Parity error clear flag Writing 1 to this bit clears the PE flag in the USART_ISR register..
Bit 1: Framing error clear flag Writing 1 to this bit clears the FE flag in the USART_ISR register..
Bit 2: Noise detected clear flag Writing 1 to this bit clears the NE flag in the USART_ISR register..
Bit 3: Overrun error clear flag Writing 1 to this bit clears the ORE flag in the USART_ISR register..
Bit 4: Idle line detected clear flag Writing 1 to this bit clears the IDLE flag in the USART_ISR register..
Bit 5: TXFIFO empty clear flag Writing 1 to this bit clears the TXFE flag in the USART_ISR register..
Allowed values:
1: Clear: Clear the TXFE flag in the ISR register
Bit 6: Transmission complete clear flag Writing 1 to this bit clears the TC flag in the USART_ISR register..
Bit 7: Transmission complete before Guard time clear flag Writing 1 to this bit clears the TCBGT flag in the USART_ISR register..
Allowed values:
1: Clear: Clear the TCBGT flag in the ISR register
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 ..
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 ..
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 page835..
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 ..
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.
Allowed values:
1: Clear: Clear the UDR flag in the ISR register
Bit 17: Character match clear flag Writing 1 to this bit clears the CMF flag in the USART_ISR register..
Bit 20: Wakeup 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 wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page835..
Allowed values:
1: Clear: Clears the WUF flag in the ISR register
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 |
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 |
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 |
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: Div1: Input clock divided by 1
1: Div2: Input clock divided by 2
2: Div4: Input clock divided by 4
3: Div6: Input clock divided by 6
4: Div8: Input clock divided by 8
5: Div10: Input clock divided by 10
6: Div12: Input clock divided by 12
7: Div16: Input clock divided by 16
8: Div32: Input clock divided by 32
9: Div64: Input clock divided by 64
10: Div128: Input clock divided by 128
11: Div256: Input clock divided by 256
0x40005000: Universal synchronous asynchronous receiver transmitter
47/124 fields covered.
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 | CR1 | ||||||||||||||||||||||||||||||||
0x4 | CR2 | ||||||||||||||||||||||||||||||||
0x8 | CR3 | ||||||||||||||||||||||||||||||||
0xc | BRR | ||||||||||||||||||||||||||||||||
0x10 | GTPR | ||||||||||||||||||||||||||||||||
0x14 | RTOR | ||||||||||||||||||||||||||||||||
0x18 | RQR | ||||||||||||||||||||||||||||||||
0x1c | ISR | ||||||||||||||||||||||||||||||||
0x20 | ICR | ||||||||||||||||||||||||||||||||
0x24 | RDR | ||||||||||||||||||||||||||||||||
0x28 | TDR | ||||||||||||||||||||||||||||||||
0x2c | PRESC |
Control register 1
Offset: 0x0, size: 32, reset: 0x00000000, access: read-write
4/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 |
TXEIE
rw |
TCIE
rw |
RXNEIE
rw |
IDLEIE
rw |
TE
rw |
RE
rw |
UESM
rw |
UE
rw |
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. The DMA requests are also reset when UE = 0 so the DMA channel must be disabled before resetting the UE bit. In Smartcard mode, (SCEN = 1), the SCLK is always available when CLKEN = 1, regardless of the UE bit value..
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. If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to ..
Allowed values:
0: Disabled: USART not able to wake up the MCU from Stop mode
1: Enabled: USART able to wake up the MCU from Stop mode
Bit 2: Receiver enable This bit enables the receiver. It is set and cleared by software..
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. In Smartcard mode, when TE is set, there is a 1 bit-time delay before the transmission starts..
Bit 4: IDLE interrupt enable This bit is set and cleared by software..
Bit 5: RXFIFO not empty interrupt enable This bit is set and cleared by software..
Bit 6: Transmission complete interrupt enable This bit is set and cleared by software..
Bit 7: TXFIFO not full interrupt enable This bit is set and cleared by software..
Bit 8: PE interrupt enable This bit is set and cleared by software..
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)..
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)..
Bit 11: Receiver wakeup method This bit determines the USART wakeup method from Mute mode. It is set or cleared by software. This bitfield can only be written when the USART is disabled (UE=0)..
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)..
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..
Bit 14: Character match interrupt enable This bit is set and cleared by software..
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..
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 ..
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 ..
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. ..
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 ..
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..
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: Disabled: FIFO mode is disabled
1: Enabled: FIFO mode is enabled
Bit 30: TXFIFO empty interrupt enable This bit is set and cleared by software..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when TXFE = 1 in the USART_ISR register
Bit 31: RXFIFO Full interrupt enable This bit is set and cleared by software..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when RXFF = 1 in the USART_ISR register
Control register 2
Offset: 0x4, size: 32, reset: 0x00000000, access: read-write
2/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 |
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 ..
Allowed values:
0: Disabled: Slave mode disabled
1: Enabled: Slave mode enabled
Bit 3: 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 ..
Allowed values:
0: Disabled: SPI slave selection depends on NSS input pin
1: Enabled: SPI slave is always selected and NSS input pin is ignored
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..
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 ..
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 ..
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 SCLK 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 ..
Bit 9: Clock phase This bit is used to select the phase of the clock output on the SCLK pin in synchronous mode. It works in conjunction with the CPOL bit to produce the desired clock/data relationship (see and ) 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 ..
Bit 10: Clock polarity This bit enables the user to select the polarity of the clock output on the SCLK 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 ..
Bit 11: Clock enable This bit enables the user to enable the SCLK 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 . In Smartcard mode, in order to provide correctly the SCLK clock to the smartcard, the steps below must be respected: UE = 0 SCEN = 1 GTPR configuration CLKEN= 1 UE = 1.
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)..
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 ..
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)..
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)..
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)..
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)..
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)..
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 ..
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) If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to ..
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 ..
Bits 24-31: Address of the USART node ADD[7:4]: These bits give the address of the USART node or a character code to be recognized. They are used to wake up the MCU with 7-bit address mark detection in multiprocessor communication during Mute mode or low-power mode. The MSB of the character sent by the transmitter should be equal to 1. They can also be used for character detection during normal reception, Mute mode inactive (for example, end of block detection in ModBus protocol). In this case, the whole received character (8-bit) is compared to the ADD[7:0] value and CMF flag is set on match. These bits can only be written when reception is disabled (RE = 0) or the USART is disabled (UE=0). ADD[3:0]: These bits give the address of the USART node or a character code to be recognized. They are used for wakeup with address mark detection, in multiprocessor communication during Mute mode or low-power mode. These bits can only be written when reception is disabled (RE = 0) or the USART is disabled (UE=0)..
Control register 3
Offset: 0x8, size: 32, reset: 0x00000000, access: read-write
7/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 |
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)..
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 ..
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 ..
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)..
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 ..
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 ..
Bit 6: DMA enable receiver This bit is set/reset by software.
Bit 7: DMA enable transmitter This bit is set/reset by software.
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 ..
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 ..
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 ..
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)..
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.
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..
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. ..
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 ..
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. Note: If Smartcard mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..
Bits 20-21: Wakeup from low-power mode interrupt flag selection This bitfield specifies the event which activates the WUF (Wakeup from low-power mode flag). This bitfield can only be written when the USART is disabled (UE=0). If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page835..
Allowed values:
0: Address: WUF active on address match
2: Start: WuF active on Start bit detection
3: RXNE: WUF active on RXNE
Bit 22: Wakeup 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. If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page835..
Allowed values:
0: Disabled: Interrupt is inhibited
1: Enabled: An USART interrupt is generated whenever WUF=1 in the ISR register
Bit 23: TXFIFO threshold interrupt enable This bit is set and cleared by software..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when Transmit FIFO reaches the threshold programmed in TXFTCFG
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 ..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated whenever TCBGT=1 in the USART_ISR register
Bits 25-27: Receive FIFO threshold configuration Remaining combinations: Reserved.
Allowed values:
0: Depth_1_8: RXFIFO reaches 1/8 of its depth
1: Depth_1_4: RXFIFO reaches 1/4 of its depth
2: Depth_1_2: RXFIFO reaches 1/2 of its depth
3: Depth_3_4: RXFIFO reaches 3/4 of its depth
4: Depth_7_8: RXFIFO reaches 7/8 of its depth
5: Full: RXFIFO becomes full
Bit 28: RXFIFO threshold interrupt enable This bit is set and cleared by software..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when Receive FIFO reaches the threshold programmed in RXFTCFG
Bits 29-31: TXFIFO threshold configuration Remaining combinations: Reserved.
Allowed values:
0: Depth_1_8: TXFIFO reaches 1/8 of its depth
1: Depth_1_4: TXFIFO reaches 1/4 of its depth
2: Depth_1_2: TXFIFO reaches 1/2 of its depth
3: Depth_3_4: TXFIFO reaches 3/4 of its depth
4: Depth_7_8: TXFIFO reaches 7/8 of its depth
5: Empty: TXFIFO becomes empty
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 |
Guard time and prescaler register
Offset: 0x10, size: 32, reset: 0x00000000, access: read-write
0/2 fields covered.
Bits 0-7: Prescaler value In IrDA low-power and normal IrDA mode: PSC[7:0] = IrDA Normal and Low-Power baud rate PSC[7:0] is used to program the prescaler for dividing the USART source clock to achieve the low-power frequency: the source clock is divided by the value given in the register (8 significant bits): In Smartcard mode: PSC[4:0]=Prescaler value PSC[4:0] is used to program the prescaler for dividing the USART source clock to provide the Smartcard clock. The value given in the register (5 significant bits) is multiplied by 2 to give the division factor of the source clock frequency: ... 00100000: Divides the source clock by 32 (IrDA mode) ... 11111111: Divides the source clock by 255 (IrDA mode) This bitfield can only be written when the USART is disabled (UE=0). Note: Bits [7:5] must be kept cleared if Smartcard mode is used. This bitfield is reserved and forced by hardware to '0' when the Smartcard and IrDA modes are not supported. Refer to ..
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 ..
Receiver timeout register
Offset: 0x14, size: 32, reset: 0x00000000, access: read-write
0/2 fields covered.
Request register
Offset: 0x18, size: 32, reset: 0x00000000, access: write-only
0/5 fields covered.
Bit 0: Auto baud rate request Writing 1 to this bit resets the ABRF flag 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 ..
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..
Bit 2: Mute mode request Writing 1 to this bit puts the USART in Mute mode and resets the RWU flag..
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..
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..
Interrupt & 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 |
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..
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_CR1 register. Note: This error is associated with the character in the USART_RDR..
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. 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 Tolerance of the USART receiver to clock deviation on page861). This error is associated with the character in the USART_RDR..
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 or EIE = 1 in the USART_CR1 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. This bit is permanently forced to 0 (no overrun detection) when the bit OVRDIS is set in the USART_CR3 register..
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). 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..
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..
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..
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). This bit is used during single buffer transmission..
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 ..
Bit 9: CTS interrupt flag This bit is set by hardware when the nCTS 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..
Bit 10: CTS flag This bit is set/reset by hardware. It is an inverted copy of the status of the nCTS input pin. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..
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. 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. If the USART does not support the Receiver timeout feature, this bit is reserved and kept at reset value..
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_CR2 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 ..
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 ..
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_CR3 register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..
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..
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)..
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..
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..
Bit 19: Receiver wakeup from Mute mode This bit indicates if the USART is in Mute mode. It is cleared/set by hardware when a wakeup/mute sequence is recognized. The Mute mode control sequence (address or IDLE) is selected by the WAKE bit in the USART_CR1 register. When wakeup 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 wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..
Bit 20: Wakeup from low-power mode flag This bit is set by hardware, when a wakeup 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. If the USART does not support the wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..
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..
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 wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..
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..
Bit 24: RXFIFO full This bit is set by hardware when the number of received data corresponds to RXFIFOsize+1 (RXFIFO full + 1 data in the USART_RDR register. An interrupt is generated if the RXFFIE bit =1 in the USART_CR1 register..
Bit 25: Transmission complete before guard time flag This bit is set when the last data written in the USART_TDR has been transmitted correctly out of the shift register. It is set by hardware in Smartcard mode, if the transmission of a frame containing data is complete and if the smartcard did not send back any NACK. An interrupt is generated if TCBGTIE=1 in the USART_CR3 register. This bit is cleared by software, by writing 1 to the TCBGTCF in the USART_ICR register or by a write to the USART_TDR register. Note: If the USART does not support the Smartcard mode, this bit is reserved and kept at reset value. If the USART supports the Smartcard mode and the Smartcard mode is enabled, the TCBGT reset value is '1'. Refer to on page835..
Allowed values:
0: NotCompleted: Transmission not completed
1: Completed: Transmission has completed
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..
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..
Interrupt flag clear register
Offset: 0x20, size: 32, reset: 0x00000000, access: write-only
4/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 |
Bit 0: Parity error clear flag Writing 1 to this bit clears the PE flag in the USART_ISR register..
Bit 1: Framing error clear flag Writing 1 to this bit clears the FE flag in the USART_ISR register..
Bit 2: Noise detected clear flag Writing 1 to this bit clears the NE flag in the USART_ISR register..
Bit 3: Overrun error clear flag Writing 1 to this bit clears the ORE flag in the USART_ISR register..
Bit 4: Idle line detected clear flag Writing 1 to this bit clears the IDLE flag in the USART_ISR register..
Bit 5: TXFIFO empty clear flag Writing 1 to this bit clears the TXFE flag in the USART_ISR register..
Allowed values:
1: Clear: Clear the TXFE flag in the ISR register
Bit 6: Transmission complete clear flag Writing 1 to this bit clears the TC flag in the USART_ISR register..
Bit 7: Transmission complete before Guard time clear flag Writing 1 to this bit clears the TCBGT flag in the USART_ISR register..
Allowed values:
1: Clear: Clear the TCBGT flag in the ISR register
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 ..
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 ..
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 page835..
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 ..
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.
Allowed values:
1: Clear: Clear the UDR flag in the ISR register
Bit 17: Character match clear flag Writing 1 to this bit clears the CMF flag in the USART_ISR register..
Bit 20: Wakeup 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 wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page835..
Allowed values:
1: Clear: Clears the WUF flag in the ISR register
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 |
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 |
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 |
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: Div1: Input clock divided by 1
1: Div2: Input clock divided by 2
2: Div4: Input clock divided by 4
3: Div6: Input clock divided by 6
4: Div8: Input clock divided by 8
5: Div10: Input clock divided by 10
6: Div12: Input clock divided by 12
7: Div16: Input clock divided by 16
8: Div32: Input clock divided by 32
9: Div64: Input clock divided by 64
10: Div128: Input clock divided by 128
11: Div256: Input clock divided by 256
0x40013c00: Universal synchronous asynchronous receiver transmitter
47/124 fields covered.
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 | CR1 | ||||||||||||||||||||||||||||||||
0x4 | CR2 | ||||||||||||||||||||||||||||||||
0x8 | CR3 | ||||||||||||||||||||||||||||||||
0xc | BRR | ||||||||||||||||||||||||||||||||
0x10 | GTPR | ||||||||||||||||||||||||||||||||
0x14 | RTOR | ||||||||||||||||||||||||||||||||
0x18 | RQR | ||||||||||||||||||||||||||||||||
0x1c | ISR | ||||||||||||||||||||||||||||||||
0x20 | ICR | ||||||||||||||||||||||||||||||||
0x24 | RDR | ||||||||||||||||||||||||||||||||
0x28 | TDR | ||||||||||||||||||||||||||||||||
0x2c | PRESC |
Control register 1
Offset: 0x0, size: 32, reset: 0x00000000, access: read-write
4/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 |
TXEIE
rw |
TCIE
rw |
RXNEIE
rw |
IDLEIE
rw |
TE
rw |
RE
rw |
UESM
rw |
UE
rw |
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. The DMA requests are also reset when UE = 0 so the DMA channel must be disabled before resetting the UE bit. In Smartcard mode, (SCEN = 1), the SCLK is always available when CLKEN = 1, regardless of the UE bit value..
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. If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to ..
Allowed values:
0: Disabled: USART not able to wake up the MCU from Stop mode
1: Enabled: USART able to wake up the MCU from Stop mode
Bit 2: Receiver enable This bit enables the receiver. It is set and cleared by software..
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. In Smartcard mode, when TE is set, there is a 1 bit-time delay before the transmission starts..
Bit 4: IDLE interrupt enable This bit is set and cleared by software..
Bit 5: RXFIFO not empty interrupt enable This bit is set and cleared by software..
Bit 6: Transmission complete interrupt enable This bit is set and cleared by software..
Bit 7: TXFIFO not full interrupt enable This bit is set and cleared by software..
Bit 8: PE interrupt enable This bit is set and cleared by software..
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)..
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)..
Bit 11: Receiver wakeup method This bit determines the USART wakeup method from Mute mode. It is set or cleared by software. This bitfield can only be written when the USART is disabled (UE=0)..
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)..
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..
Bit 14: Character match interrupt enable This bit is set and cleared by software..
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..
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 ..
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 ..
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. ..
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 ..
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..
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: Disabled: FIFO mode is disabled
1: Enabled: FIFO mode is enabled
Bit 30: TXFIFO empty interrupt enable This bit is set and cleared by software..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when TXFE = 1 in the USART_ISR register
Bit 31: RXFIFO Full interrupt enable This bit is set and cleared by software..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when RXFF = 1 in the USART_ISR register
Control register 2
Offset: 0x4, size: 32, reset: 0x00000000, access: read-write
2/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 |
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 ..
Allowed values:
0: Disabled: Slave mode disabled
1: Enabled: Slave mode enabled
Bit 3: 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 ..
Allowed values:
0: Disabled: SPI slave selection depends on NSS input pin
1: Enabled: SPI slave is always selected and NSS input pin is ignored
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..
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 ..
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 ..
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 SCLK 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 ..
Bit 9: Clock phase This bit is used to select the phase of the clock output on the SCLK pin in synchronous mode. It works in conjunction with the CPOL bit to produce the desired clock/data relationship (see and ) 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 ..
Bit 10: Clock polarity This bit enables the user to select the polarity of the clock output on the SCLK 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 ..
Bit 11: Clock enable This bit enables the user to enable the SCLK 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 . In Smartcard mode, in order to provide correctly the SCLK clock to the smartcard, the steps below must be respected: UE = 0 SCEN = 1 GTPR configuration CLKEN= 1 UE = 1.
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)..
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 ..
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)..
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)..
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)..
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)..
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)..
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 ..
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) If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to ..
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 ..
Bits 24-31: Address of the USART node ADD[7:4]: These bits give the address of the USART node or a character code to be recognized. They are used to wake up the MCU with 7-bit address mark detection in multiprocessor communication during Mute mode or low-power mode. The MSB of the character sent by the transmitter should be equal to 1. They can also be used for character detection during normal reception, Mute mode inactive (for example, end of block detection in ModBus protocol). In this case, the whole received character (8-bit) is compared to the ADD[7:0] value and CMF flag is set on match. These bits can only be written when reception is disabled (RE = 0) or the USART is disabled (UE=0). ADD[3:0]: These bits give the address of the USART node or a character code to be recognized. They are used for wakeup with address mark detection, in multiprocessor communication during Mute mode or low-power mode. These bits can only be written when reception is disabled (RE = 0) or the USART is disabled (UE=0)..
Control register 3
Offset: 0x8, size: 32, reset: 0x00000000, access: read-write
7/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 |
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)..
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 ..
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 ..
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)..
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 ..
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 ..
Bit 6: DMA enable receiver This bit is set/reset by software.
Bit 7: DMA enable transmitter This bit is set/reset by software.
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 ..
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 ..
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 ..
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)..
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.
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..
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. ..
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 ..
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. Note: If Smartcard mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..
Bits 20-21: Wakeup from low-power mode interrupt flag selection This bitfield specifies the event which activates the WUF (Wakeup from low-power mode flag). This bitfield can only be written when the USART is disabled (UE=0). If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page835..
Allowed values:
0: Address: WUF active on address match
2: Start: WuF active on Start bit detection
3: RXNE: WUF active on RXNE
Bit 22: Wakeup 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. If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page835..
Allowed values:
0: Disabled: Interrupt is inhibited
1: Enabled: An USART interrupt is generated whenever WUF=1 in the ISR register
Bit 23: TXFIFO threshold interrupt enable This bit is set and cleared by software..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when Transmit FIFO reaches the threshold programmed in TXFTCFG
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 ..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated whenever TCBGT=1 in the USART_ISR register
Bits 25-27: Receive FIFO threshold configuration Remaining combinations: Reserved.
Allowed values:
0: Depth_1_8: RXFIFO reaches 1/8 of its depth
1: Depth_1_4: RXFIFO reaches 1/4 of its depth
2: Depth_1_2: RXFIFO reaches 1/2 of its depth
3: Depth_3_4: RXFIFO reaches 3/4 of its depth
4: Depth_7_8: RXFIFO reaches 7/8 of its depth
5: Full: RXFIFO becomes full
Bit 28: RXFIFO threshold interrupt enable This bit is set and cleared by software..
Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when Receive FIFO reaches the threshold programmed in RXFTCFG
Bits 29-31: TXFIFO threshold configuration Remaining combinations: Reserved.
Allowed values:
0: Depth_1_8: TXFIFO reaches 1/8 of its depth
1: Depth_1_4: TXFIFO reaches 1/4 of its depth
2: Depth_1_2: TXFIFO reaches 1/2 of its depth
3: Depth_3_4: TXFIFO reaches 3/4 of its depth
4: Depth_7_8: TXFIFO reaches 7/8 of its depth
5: Empty: TXFIFO becomes empty
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 |
Guard time and prescaler register
Offset: 0x10, size: 32, reset: 0x00000000, access: read-write
0/2 fields covered.
Bits 0-7: Prescaler value In IrDA low-power and normal IrDA mode: PSC[7:0] = IrDA Normal and Low-Power baud rate PSC[7:0] is used to program the prescaler for dividing the USART source clock to achieve the low-power frequency: the source clock is divided by the value given in the register (8 significant bits): In Smartcard mode: PSC[4:0]=Prescaler value PSC[4:0] is used to program the prescaler for dividing the USART source clock to provide the Smartcard clock. The value given in the register (5 significant bits) is multiplied by 2 to give the division factor of the source clock frequency: ... 00100000: Divides the source clock by 32 (IrDA mode) ... 11111111: Divides the source clock by 255 (IrDA mode) This bitfield can only be written when the USART is disabled (UE=0). Note: Bits [7:5] must be kept cleared if Smartcard mode is used. This bitfield is reserved and forced by hardware to '0' when the Smartcard and IrDA modes are not supported. Refer to ..
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 ..
Receiver timeout register
Offset: 0x14, size: 32, reset: 0x00000000, access: read-write
0/2 fields covered.
Request register
Offset: 0x18, size: 32, reset: 0x00000000, access: write-only
0/5 fields covered.
Bit 0: Auto baud rate request Writing 1 to this bit resets the ABRF flag 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 ..
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..
Bit 2: Mute mode request Writing 1 to this bit puts the USART in Mute mode and resets the RWU flag..
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..
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..
Interrupt & 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 |
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..
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_CR1 register. Note: This error is associated with the character in the USART_RDR..
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. 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 Tolerance of the USART receiver to clock deviation on page861). This error is associated with the character in the USART_RDR..
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 or EIE = 1 in the USART_CR1 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. This bit is permanently forced to 0 (no overrun detection) when the bit OVRDIS is set in the USART_CR3 register..
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). 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..
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..
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..
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). This bit is used during single buffer transmission..
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 ..
Bit 9: CTS interrupt flag This bit is set by hardware when the nCTS 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..
Bit 10: CTS flag This bit is set/reset by hardware. It is an inverted copy of the status of the nCTS input pin. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..
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. 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. If the USART does not support the Receiver timeout feature, this bit is reserved and kept at reset value..
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_CR2 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 ..
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 ..
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_CR3 register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..
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..
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)..
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..
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..
Bit 19: Receiver wakeup from Mute mode This bit indicates if the USART is in Mute mode. It is cleared/set by hardware when a wakeup/mute sequence is recognized. The Mute mode control sequence (address or IDLE) is selected by the WAKE bit in the USART_CR1 register. When wakeup 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 wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..
Bit 20: Wakeup from low-power mode flag This bit is set by hardware, when a wakeup 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. If the USART does not support the wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..
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..
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 wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..
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..
Bit 24: RXFIFO full This bit is set by hardware when the number of received data corresponds to RXFIFOsize+1 (RXFIFO full + 1 data in the USART_RDR register. An interrupt is generated if the RXFFIE bit =1 in the USART_CR1 register..
Bit 25: Transmission complete before guard time flag This bit is set when the last data written in the USART_TDR has been transmitted correctly out of the shift register. It is set by hardware in Smartcard mode, if the transmission of a frame containing data is complete and if the smartcard did not send back any NACK. An interrupt is generated if TCBGTIE=1 in the USART_CR3 register. This bit is cleared by software, by writing 1 to the TCBGTCF in the USART_ICR register or by a write to the USART_TDR register. Note: If the USART does not support the Smartcard mode, this bit is reserved and kept at reset value. If the USART supports the Smartcard mode and the Smartcard mode is enabled, the TCBGT reset value is '1'. Refer to on page835..
Allowed values:
0: NotCompleted: Transmission not completed
1: Completed: Transmission has completed
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..
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..
Interrupt flag clear register
Offset: 0x20, size: 32, reset: 0x00000000, access: write-only
4/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 |
Bit 0: Parity error clear flag Writing 1 to this bit clears the PE flag in the USART_ISR register..
Bit 1: Framing error clear flag Writing 1 to this bit clears the FE flag in the USART_ISR register..
Bit 2: Noise detected clear flag Writing 1 to this bit clears the NE flag in the USART_ISR register..
Bit 3: Overrun error clear flag Writing 1 to this bit clears the ORE flag in the USART_ISR register..
Bit 4: Idle line detected clear flag Writing 1 to this bit clears the IDLE flag in the USART_ISR register..
Bit 5: TXFIFO empty clear flag Writing 1 to this bit clears the TXFE flag in the USART_ISR register..
Allowed values:
1: Clear: Clear the TXFE flag in the ISR register
Bit 6: Transmission complete clear flag Writing 1 to this bit clears the TC flag in the USART_ISR register..
Bit 7: Transmission complete before Guard time clear flag Writing 1 to this bit clears the TCBGT flag in the USART_ISR register..
Allowed values:
1: Clear: Clear the TCBGT flag in the ISR register
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 ..
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 ..
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 page835..
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 ..
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.
Allowed values:
1: Clear: Clear the UDR flag in the ISR register
Bit 17: Character match clear flag Writing 1 to this bit clears the CMF flag in the USART_ISR register..
Bit 20: Wakeup 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 wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page835..
Allowed values:
1: Clear: Clears the WUF flag in the ISR register
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 |
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 |
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 |
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: Div1: Input clock divided by 1
1: Div2: Input clock divided by 2
2: Div4: Input clock divided by 4
3: Div6: Input clock divided by 6
4: Div8: Input clock divided by 8
5: Div10: Input clock divided by 10
6: Div12: Input clock divided by 12
7: Div16: Input clock divided by 16
8: Div32: Input clock divided by 32
9: Div64: Input clock divided by 64
10: Div128: Input clock divided by 128
11: Div256: Input clock divided by 256
0x40005c00: Universal serial bus full-speed host/device interface4
29/187 fields covered.
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 | CHEP0R | ||||||||||||||||||||||||||||||||
0x4 | CHEP1R | ||||||||||||||||||||||||||||||||
0x8 | CHEP2R | ||||||||||||||||||||||||||||||||
0xc | CHEP3R | ||||||||||||||||||||||||||||||||
0x10 | CHEP4R | ||||||||||||||||||||||||||||||||
0x14 | CHEP5R | ||||||||||||||||||||||||||||||||
0x18 | CHEP6R | ||||||||||||||||||||||||||||||||
0x1c | CHEP7R | ||||||||||||||||||||||||||||||||
0x40 | CNTR | ||||||||||||||||||||||||||||||||
0x44 | ISTR | ||||||||||||||||||||||||||||||||
0x48 | FNR | ||||||||||||||||||||||||||||||||
0x4c | DADDR | ||||||||||||||||||||||||||||||||
0x54 | LPMCSR | ||||||||||||||||||||||||||||||||
0x58 | BCDR |
USB endpoint/channel 0 register
Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified
1/17 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
THREE_ERR_RX
rw |
THREE_ERR_TX
rw |
ERR_RX
rw |
ERR_TX
rw |
LS_EP
rw |
NAK
rw |
DEVADDR
rw |
|||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
VTRX
rw |
DTOGRX
w |
STATRX
w |
SETUP
r |
UTYPE
rw |
EPKIND
rw |
VTTX
rw |
DTOGTX
w |
STATTX
w |
EA
rw |
Bits 0-3: endpoint/channel address Device mode Software must write in this field the 4-bit address used to identify the transactions directed to this endpoint. A value must be written before enabling the corresponding endpoint. Host mode Software must write in this field the 4-bit address used to identify the channel addressed by the host transaction..
Bits 4-5: Status bits, for transmission transfers Device mode These bits contain the information about the endpoint status, listed in . These bits can be toggled by the software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATTX bits to NAK, when a correct transfer has occurred (VTTX=1) corresponding to a IN or SETUP (control only) transaction addressed to this channel/endpoint. It then waits for the software to prepare the next set of data to be transmitted. Double-buffered bulk endpoints implement a special transaction flow control, which controls the status based on buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can only be 'VALID' or 'DISABLED'. Therefore, the hardware cannot change the status of the channel/endpoint/channel after a successful transaction. If the software sets the STATTX bits to 'STALL' or 'NAK' for an isochronous channel/endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode The STATTX bits contain the information about the channel status. Refer to for the full descriptions ('Host mode' descriptions). Whereas in Device mode, these bits contain the status that are given out on the following transaction, in Host mode they capture the status last received from the device. If a NAK is received, STATTX contains the value indicating NAK..
Bit 6: Data toggle, for transmission transfers If the endpoint/channel is non-isochronous, this bit contains the required value of the data toggle bit (0=DATA0, 1=DATA1) for the next data packet to be transmitted. Hardware toggles this bit when the ACK handshake is received from the USB host, following a data packet transmission. If the endpoint/channel is defined as a control one, hardware sets this bit to 1 at the reception of a SETUP PID addressed to this endpoint. If the endpoint/channel is using the double buffer feature, this bit is used to support packet buffer swapping too (Refer to Device mode) If the endpoint/channel is isochronous, this bit is used to support packet buffer swapping since no data toggling is used for this sort of endpoints and only DATA0 packet are transmitted (refer to ). Hardware toggles this bit just after the end of data packet transmission, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint/channel is not a control one) or to force a specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGTX remains unchanged, while writing 1 makes the bit value to toggle. This bit is read/write but it can only be toggled by writing 1..
Bit 7: Valid USB transaction transmitted Device mode This bit is set by the hardware when an IN transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in the USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written. Host mode Same as VTRX behavior but for USB OUT and SETUP transactions..
Bit 8: endpoint/channel kind The meaning of this bit depends on the endpoint/channel type configured by the UTYPE bits. summarizes the different meanings. DBL_BUF: This bit is set by the software to enable the double-buffering feature for this bulk endpoint. The usage of double-buffered bulk endpoints is explained in Double-buffered endpoints and usage in Device mode. STATUS_OUT: This bit is set by the software to indicate that a status out transaction is expected: in this case all OUT transactions containing more than zero data bytes are answered 'STALL' instead of 'ACK'. This bit may be used to improve the robustness of the application to protocol errors during control transfers and its usage is intended for control endpoints only. When STATUS_OUT is reset, OUT transactions can have any number of bytes, as required..
Bits 9-10: USB type of transaction These bits configure the behavior of this endpoint/channel as described in Endpoint/channel type encoding. Channel0/Endpoint0 must always be a control endpoint/channel and each USB function must have at least one control endpoint/channel which has address 0, but there may be other control channels/endpoints if required. Only control channels/endpoints handle SETUP transactions, which are ignored by endpoints of other kinds. SETUP transactions cannot be answered with NAK or STALL. If a control endpoint/channel is defined as NAK, the USB peripheral does not answer, simulating a receive error, in the receive direction when a SETUP transaction is received. If the control endpoint/channel is defined as STALL in the receive direction, then the SETUP packet is accepted anyway, transferring data and issuing the CTR interrupt. The reception of OUT transactions is handled in the normal way, even if the endpoint/channel is a control one. Bulk and interrupt endpoints have very similar behavior and they differ only in the special feature available using the EPKIND configuration bit. The usage of isochronous channels/endpoints is explained in transfers in Device mode.
Bit 11: Setup transaction completed Device mode This bit is read-only and it is set by the hardware when the last completed transaction is a SETUP. This bit changes its value only for control endpoints. It must be examined, in the case of a successful receive transaction (VTRX event), to determine the type of transaction occurred. To protect the interrupt service routine from the changes in SETUP bits due to next incoming tokens, this bit is kept frozen while VTRX bit is at 1; its state changes when VTRX is at 0. This bit is read-only. Host mode This bit is set by the software to send a SETUP transaction on a control endpoint. This bit changes its value only for control endpoints. It is cleared by hardware when the SETUP transaction is acknowledged and VTTX interrupt generated..
Bits 12-13: Status bits, for reception transfers Device mode These bits contain information about the endpoint status, which are listed in Reception status encoding on page2204. These bits can be toggled by software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATRX bits to NAK when a correct transfer has occurred (VTRX=1) corresponding to a OUT or SETUP (control only) transaction addressed to this endpoint, so the software has the time to elaborate the received data before it acknowledges a new transaction. Double-buffered bulk endpoints implement a special transaction flow control, which control the status based upon buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can be only 'VALID' or 'DISABLED', so that the hardware cannot change the status of the endpoint after a successful transaction. If the software sets the STATRX bits to 'STALL' or 'NAK' for an isochronous endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode These bits are the host application controls to start, retry, or abort host transactions driven by the channel. These bits also contain information about the device answer to the last IN channel transaction and report the current status of the channel according to the following STATRX table of states: - DISABLE DISABLE value is reported in case of ACK acknowledge is received on a single-buffer channel. When in DISABLE state the channel is unused or not active waiting for application to restart it by writing VALID. Application can reset a VALID channel to DISABLE to abort a transaction. In this case the transaction is immediately removed from the host execution list. If the aborted transaction was already under execution it is regularly terminated on the USB but the relative VTRX interrupt is not generated. - VALID A host channel is actively trying to submit USB transaction to device only when in VALID state.VALID state can be set by software or automatically by hardware on a NAKED channel at the start of a new frame. When set to VALID, an host channel enters the host execution queue and waits permission from the host frame scheduler to submit its configured transaction. VALID value is also reported in case of ACK acknowledge is received on a double-buffered channel. In this case the channel remains active on the alternate buffer while application needs to read the current buffer and toggle DTOGTX. In case software is late in reading and the alternate buffer is not ready, the host channel is automatically suspended transparently to the application. The suspended double buffered channel is re-activated as soon as delay is recovered and DTOGTX is toggled. - NAK NAK value is reported in case of NAK acknowledge received. When in NAK state the channel is suspended and does not try to transmit. NAK state is moved to VALID by hardware at the start of the next frame, or software can change it to immediately retry transmission by writing it to VALID, or can disable it and abort the transaction by writing DISABLE - STALL STALL value is reported in case of STALL acknowledge received. When in STALL state the channel behaves as disabled. Application should not retry transmission but reset the USB and re-enumerate..
Bit 14: Data Toggle, for reception transfers If the endpoint/channel is not isochronous, this bit contains the expected value of the data toggle bit (0=DATA0, 1=DATA1) for the next data packet to be received. Hardware toggles this bit, when the ACK handshake is sent following a data packet reception having a matching data PID value; if the endpoint is defined as a control one, hardware clears this bit at the reception of a SETUP PID received from host (in device) or acknowledged by device (in host). If the endpoint/channel is using the double-buffering feature this bit is used to support packet buffer swapping too (Refer to Device mode). If the endpoint/channel is isochronous, this bit is used only to support packet buffer swapping for data transmission since no data toggling is used for this kind of channels/endpoints and only DATA0 packet are transmitted (Refer to Isochronous transfers in Device mode). Hardware toggles this bit just after the end of data packet reception, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint is not a control one) or to force specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGRX remains unchanged, while writing 1 makes the bit value toggle. This bit is read/write but it can be only toggled by writing 1..
Bit 15: USB valid transaction received Device mode This bit is set by the hardware when an OUT/SETUP transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. The type of occurred transaction, OUT or SETUP, can be determined from the SETUP bit described below. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written, writing 1 has no effect. Host mode This bit is set by the hardware when an IN transaction is successfully completed on this channel. The software can only clear this bit. If the CTRM bit in USB_CNTR register is set a generic interrupt condition is generated together with the channel related flag, which is always activated. - A transaction ended with a NAK sets this bit and NAK answer is reported to application reading the NAK state from the STATRX field of this register. One NAKed transaction keeps pending and is automatically retried by the host at the next frame, or the host can immediately retry by resetting STATRX state to VALID. - A transaction ended by STALL handshake sets this bit and the STALL answer is reported to application reading the STALL state from the STATRX field of this register. Host application should consequently disable the channel and re-enumerate. - A transaction ended with ACK handshake sets this bit If double buffering is disabled, ACK answer is reported by application reading the DISABLE state from the STATRX field of this register. Host application should read received data from USBRAM and re-arm the channel by writing VALID to the STATRX field of this register. If double buffering is enabled, ACK answer is reported by application reading VALID state from the STATRX field of this register. Host application should read received data from USBRAM and toggle the DTOGTX bit of this register. - A transaction ended with error sets this bit. Errors can be seen via the bits ERR_RX (host mode only). This bit is read/write but only 0 can be written, writing 1 has no effect..
Bits 16-22: Host mode Device address assigned to the endpoint during the enumeration process..
Bit 23: Host mode This bit is set by the hardware when a device responds with a NAK. Software can use this bit to monitor the number of NAKs received from a device..
Bit 24: Low speed endpoint.
Bit 25: Received error for an OUT/SETUP transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an OUT or SETUP transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..
Bit 26: Received error for an IN transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an IN transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..
Bits 27-28: Three errors for an OUT or SETUP transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an OUT transaction. THREE_ERR_TX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.
Bits 29-30: Three errors for an IN transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an IN transaction. THREE_ERR_RX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.
USB endpoint/channel 1 register
Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified
1/17 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
THREE_ERR_RX
rw |
THREE_ERR_TX
rw |
ERR_RX
rw |
ERR_TX
rw |
LS_EP
rw |
NAK
rw |
DEVADDR
rw |
|||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
VTRX
rw |
DTOGRX
w |
STATRX
w |
SETUP
r |
UTYPE
rw |
EPKIND
rw |
VTTX
rw |
DTOGTX
w |
STATTX
w |
EA
rw |
Bits 0-3: endpoint/channel address Device mode Software must write in this field the 4-bit address used to identify the transactions directed to this endpoint. A value must be written before enabling the corresponding endpoint. Host mode Software must write in this field the 4-bit address used to identify the channel addressed by the host transaction..
Bits 4-5: Status bits, for transmission transfers Device mode These bits contain the information about the endpoint status, listed in . These bits can be toggled by the software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATTX bits to NAK, when a correct transfer has occurred (VTTX=1) corresponding to a IN or SETUP (control only) transaction addressed to this channel/endpoint. It then waits for the software to prepare the next set of data to be transmitted. Double-buffered bulk endpoints implement a special transaction flow control, which controls the status based on buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can only be 'VALID' or 'DISABLED'. Therefore, the hardware cannot change the status of the channel/endpoint/channel after a successful transaction. If the software sets the STATTX bits to 'STALL' or 'NAK' for an isochronous channel/endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode The STATTX bits contain the information about the channel status. Refer to for the full descriptions ('Host mode' descriptions). Whereas in Device mode, these bits contain the status that are given out on the following transaction, in Host mode they capture the status last received from the device. If a NAK is received, STATTX contains the value indicating NAK..
Bit 6: Data toggle, for transmission transfers If the endpoint/channel is non-isochronous, this bit contains the required value of the data toggle bit (0=DATA0, 1=DATA1) for the next data packet to be transmitted. Hardware toggles this bit when the ACK handshake is received from the USB host, following a data packet transmission. If the endpoint/channel is defined as a control one, hardware sets this bit to 1 at the reception of a SETUP PID addressed to this endpoint. If the endpoint/channel is using the double buffer feature, this bit is used to support packet buffer swapping too (Refer to Device mode) If the endpoint/channel is isochronous, this bit is used to support packet buffer swapping since no data toggling is used for this sort of endpoints and only DATA0 packet are transmitted (refer to ). Hardware toggles this bit just after the end of data packet transmission, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint/channel is not a control one) or to force a specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGTX remains unchanged, while writing 1 makes the bit value to toggle. This bit is read/write but it can only be toggled by writing 1..
Bit 7: Valid USB transaction transmitted Device mode This bit is set by the hardware when an IN transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in the USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written. Host mode Same as VTRX behavior but for USB OUT and SETUP transactions..
Bit 8: endpoint/channel kind The meaning of this bit depends on the endpoint/channel type configured by the UTYPE bits. summarizes the different meanings. DBL_BUF: This bit is set by the software to enable the double-buffering feature for this bulk endpoint. The usage of double-buffered bulk endpoints is explained in Double-buffered endpoints and usage in Device mode. STATUS_OUT: This bit is set by the software to indicate that a status out transaction is expected: in this case all OUT transactions containing more than zero data bytes are answered 'STALL' instead of 'ACK'. This bit may be used to improve the robustness of the application to protocol errors during control transfers and its usage is intended for control endpoints only. When STATUS_OUT is reset, OUT transactions can have any number of bytes, as required..
Bits 9-10: USB type of transaction These bits configure the behavior of this endpoint/channel as described in Endpoint/channel type encoding. Channel0/Endpoint0 must always be a control endpoint/channel and each USB function must have at least one control endpoint/channel which has address 0, but there may be other control channels/endpoints if required. Only control channels/endpoints handle SETUP transactions, which are ignored by endpoints of other kinds. SETUP transactions cannot be answered with NAK or STALL. If a control endpoint/channel is defined as NAK, the USB peripheral does not answer, simulating a receive error, in the receive direction when a SETUP transaction is received. If the control endpoint/channel is defined as STALL in the receive direction, then the SETUP packet is accepted anyway, transferring data and issuing the CTR interrupt. The reception of OUT transactions is handled in the normal way, even if the endpoint/channel is a control one. Bulk and interrupt endpoints have very similar behavior and they differ only in the special feature available using the EPKIND configuration bit. The usage of isochronous channels/endpoints is explained in transfers in Device mode.
Bit 11: Setup transaction completed Device mode This bit is read-only and it is set by the hardware when the last completed transaction is a SETUP. This bit changes its value only for control endpoints. It must be examined, in the case of a successful receive transaction (VTRX event), to determine the type of transaction occurred. To protect the interrupt service routine from the changes in SETUP bits due to next incoming tokens, this bit is kept frozen while VTRX bit is at 1; its state changes when VTRX is at 0. This bit is read-only. Host mode This bit is set by the software to send a SETUP transaction on a control endpoint. This bit changes its value only for control endpoints. It is cleared by hardware when the SETUP transaction is acknowledged and VTTX interrupt generated..
Bits 12-13: Status bits, for reception transfers Device mode These bits contain information about the endpoint status, which are listed in Reception status encoding on page2204. These bits can be toggled by software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATRX bits to NAK when a correct transfer has occurred (VTRX=1) corresponding to a OUT or SETUP (control only) transaction addressed to this endpoint, so the software has the time to elaborate the received data before it acknowledges a new transaction. Double-buffered bulk endpoints implement a special transaction flow control, which control the status based upon buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can be only 'VALID' or 'DISABLED', so that the hardware cannot change the status of the endpoint after a successful transaction. If the software sets the STATRX bits to 'STALL' or 'NAK' for an isochronous endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode These bits are the host application controls to start, retry, or abort host transactions driven by the channel. These bits also contain information about the device answer to the last IN channel transaction and report the current status of the channel according to the following STATRX table of states: - DISABLE DISABLE value is reported in case of ACK acknowledge is received on a single-buffer channel. When in DISABLE state the channel is unused or not active waiting for application to restart it by writing VALID. Application can reset a VALID channel to DISABLE to abort a transaction. In this case the transaction is immediately removed from the host execution list. If the aborted transaction was already under execution it is regularly terminated on the USB but the relative VTRX interrupt is not generated. - VALID A host channel is actively trying to submit USB transaction to device only when in VALID state.VALID state can be set by software or automatically by hardware on a NAKED channel at the start of a new frame. When set to VALID, an host channel enters the host execution queue and waits permission from the host frame scheduler to submit its configured transaction. VALID value is also reported in case of ACK acknowledge is received on a double-buffered channel. In this case the channel remains active on the alternate buffer while application needs to read the current buffer and toggle DTOGTX. In case software is late in reading and the alternate buffer is not ready, the host channel is automatically suspended transparently to the application. The suspended double buffered channel is re-activated as soon as delay is recovered and DTOGTX is toggled. - NAK NAK value is reported in case of NAK acknowledge received. When in NAK state the channel is suspended and does not try to transmit. NAK state is moved to VALID by hardware at the start of the next frame, or software can change it to immediately retry transmission by writing it to VALID, or can disable it and abort the transaction by writing DISABLE - STALL STALL value is reported in case of STALL acknowledge received. When in STALL state the channel behaves as disabled. Application should not retry transmission but reset the USB and re-enumerate..
Bit 14: Data Toggle, for reception transfers If the endpoint/channel is not isochronous, this bit contains the expected value of the data toggle bit (0=DATA0, 1=DATA1) for the next data packet to be received. Hardware toggles this bit, when the ACK handshake is sent following a data packet reception having a matching data PID value; if the endpoint is defined as a control one, hardware clears this bit at the reception of a SETUP PID received from host (in device) or acknowledged by device (in host). If the endpoint/channel is using the double-buffering feature this bit is used to support packet buffer swapping too (Refer to Device mode). If the endpoint/channel is isochronous, this bit is used only to support packet buffer swapping for data transmission since no data toggling is used for this kind of channels/endpoints and only DATA0 packet are transmitted (Refer to Isochronous transfers in Device mode). Hardware toggles this bit just after the end of data packet reception, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint is not a control one) or to force specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGRX remains unchanged, while writing 1 makes the bit value toggle. This bit is read/write but it can be only toggled by writing 1..
Bit 15: USB valid transaction received Device mode This bit is set by the hardware when an OUT/SETUP transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. The type of occurred transaction, OUT or SETUP, can be determined from the SETUP bit described below. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written, writing 1 has no effect. Host mode This bit is set by the hardware when an IN transaction is successfully completed on this channel. The software can only clear this bit. If the CTRM bit in USB_CNTR register is set a generic interrupt condition is generated together with the channel related flag, which is always activated. - A transaction ended with a NAK sets this bit and NAK answer is reported to application reading the NAK state from the STATRX field of this register. One NAKed transaction keeps pending and is automatically retried by the host at the next frame, or the host can immediately retry by resetting STATRX state to VALID. - A transaction ended by STALL handshake sets this bit and the STALL answer is reported to application reading the STALL state from the STATRX field of this register. Host application should consequently disable the channel and re-enumerate. - A transaction ended with ACK handshake sets this bit If double buffering is disabled, ACK answer is reported by application reading the DISABLE state from the STATRX field of this register. Host application should read received data from USBRAM and re-arm the channel by writing VALID to the STATRX field of this register. If double buffering is enabled, ACK answer is reported by application reading VALID state from the STATRX field of this register. Host application should read received data from USBRAM and toggle the DTOGTX bit of this register. - A transaction ended with error sets this bit. Errors can be seen via the bits ERR_RX (host mode only). This bit is read/write but only 0 can be written, writing 1 has no effect..
Bits 16-22: Host mode Device address assigned to the endpoint during the enumeration process..
Bit 23: Host mode This bit is set by the hardware when a device responds with a NAK. Software can use this bit to monitor the number of NAKs received from a device..
Bit 24: Low speed endpoint.
Bit 25: Received error for an OUT/SETUP transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an OUT or SETUP transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..
Bit 26: Received error for an IN transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an IN transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..
Bits 27-28: Three errors for an OUT or SETUP transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an OUT transaction. THREE_ERR_TX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.
Bits 29-30: Three errors for an IN transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an IN transaction. THREE_ERR_RX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.
USB endpoint/channel 2 register
Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified
1/17 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
THREE_ERR_RX
rw |
THREE_ERR_TX
rw |
ERR_RX
rw |
ERR_TX
rw |
LS_EP
rw |
NAK
rw |
DEVADDR
rw |
|||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
VTRX
rw |
DTOGRX
w |
STATRX
w |
SETUP
r |
UTYPE
rw |
EPKIND
rw |
VTTX
rw |
DTOGTX
w |
STATTX
w |
EA
rw |
Bits 0-3: endpoint/channel address Device mode Software must write in this field the 4-bit address used to identify the transactions directed to this endpoint. A value must be written before enabling the corresponding endpoint. Host mode Software must write in this field the 4-bit address used to identify the channel addressed by the host transaction..
Bits 4-5: Status bits, for transmission transfers Device mode These bits contain the information about the endpoint status, listed in . These bits can be toggled by the software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATTX bits to NAK, when a correct transfer has occurred (VTTX=1) corresponding to a IN or SETUP (control only) transaction addressed to this channel/endpoint. It then waits for the software to prepare the next set of data to be transmitted. Double-buffered bulk endpoints implement a special transaction flow control, which controls the status based on buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can only be 'VALID' or 'DISABLED'. Therefore, the hardware cannot change the status of the channel/endpoint/channel after a successful transaction. If the software sets the STATTX bits to 'STALL' or 'NAK' for an isochronous channel/endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode The STATTX bits contain the information about the channel status. Refer to for the full descriptions ('Host mode' descriptions). Whereas in Device mode, these bits contain the status that are given out on the following transaction, in Host mode they capture the status last received from the device. If a NAK is received, STATTX contains the value indicating NAK..
Bit 6: Data toggle, for transmission transfers If the endpoint/channel is non-isochronous, this bit contains the required value of the data toggle bit (0=DATA0, 1=DATA1) for the next data packet to be transmitted. Hardware toggles this bit when the ACK handshake is received from the USB host, following a data packet transmission. If the endpoint/channel is defined as a control one, hardware sets this bit to 1 at the reception of a SETUP PID addressed to this endpoint. If the endpoint/channel is using the double buffer feature, this bit is used to support packet buffer swapping too (Refer to Device mode) If the endpoint/channel is isochronous, this bit is used to support packet buffer swapping since no data toggling is used for this sort of endpoints and only DATA0 packet are transmitted (refer to ). Hardware toggles this bit just after the end of data packet transmission, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint/channel is not a control one) or to force a specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGTX remains unchanged, while writing 1 makes the bit value to toggle. This bit is read/write but it can only be toggled by writing 1..
Bit 7: Valid USB transaction transmitted Device mode This bit is set by the hardware when an IN transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in the USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written. Host mode Same as VTRX behavior but for USB OUT and SETUP transactions..
Bit 8: endpoint/channel kind The meaning of this bit depends on the endpoint/channel type configured by the UTYPE bits. summarizes the different meanings. DBL_BUF: This bit is set by the software to enable the double-buffering feature for this bulk endpoint. The usage of double-buffered bulk endpoints is explained in Double-buffered endpoints and usage in Device mode. STATUS_OUT: This bit is set by the software to indicate that a status out transaction is expected: in this case all OUT transactions containing more than zero data bytes are answered 'STALL' instead of 'ACK'. This bit may be used to improve the robustness of the application to protocol errors during control transfers and its usage is intended for control endpoints only. When STATUS_OUT is reset, OUT transactions can have any number of bytes, as required..
Bits 9-10: USB type of transaction These bits configure the behavior of this endpoint/channel as described in Endpoint/channel type encoding. Channel0/Endpoint0 must always be a control endpoint/channel and each USB function must have at least one control endpoint/channel which has address 0, but there may be other control channels/endpoints if required. Only control channels/endpoints handle SETUP transactions, which are ignored by endpoints of other kinds. SETUP transactions cannot be answered with NAK or STALL. If a control endpoint/channel is defined as NAK, the USB peripheral does not answer, simulating a receive error, in the receive direction when a SETUP transaction is received. If the control endpoint/channel is defined as STALL in the receive direction, then the SETUP packet is accepted anyway, transferring data and issuing the CTR interrupt. The reception of OUT transactions is handled in the normal way, even if the endpoint/channel is a control one. Bulk and interrupt endpoints have very similar behavior and they differ only in the special feature available using the EPKIND configuration bit. The usage of isochronous channels/endpoints is explained in transfers in Device mode.
Bit 11: Setup transaction completed Device mode This bit is read-only and it is set by the hardware when the last completed transaction is a SETUP. This bit changes its value only for control endpoints. It must be examined, in the case of a successful receive transaction (VTRX event), to determine the type of transaction occurred. To protect the interrupt service routine from the changes in SETUP bits due to next incoming tokens, this bit is kept frozen while VTRX bit is at 1; its state changes when VTRX is at 0. This bit is read-only. Host mode This bit is set by the software to send a SETUP transaction on a control endpoint. This bit changes its value only for control endpoints. It is cleared by hardware when the SETUP transaction is acknowledged and VTTX interrupt generated..
Bits 12-13: Status bits, for reception transfers Device mode These bits contain information about the endpoint status, which are listed in Reception status encoding on page2204. These bits can be toggled by software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATRX bits to NAK when a correct transfer has occurred (VTRX=1) corresponding to a OUT or SETUP (control only) transaction addressed to this endpoint, so the software has the time to elaborate the received data before it acknowledges a new transaction. Double-buffered bulk endpoints implement a special transaction flow control, which control the status based upon buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can be only 'VALID' or 'DISABLED', so that the hardware cannot change the status of the endpoint after a successful transaction. If the software sets the STATRX bits to 'STALL' or 'NAK' for an isochronous endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode These bits are the host application controls to start, retry, or abort host transactions driven by the channel. These bits also contain information about the device answer to the last IN channel transaction and report the current status of the channel according to the following STATRX table of states: - DISABLE DISABLE value is reported in case of ACK acknowledge is received on a single-buffer channel. When in DISABLE state the channel is unused or not active waiting for application to restart it by writing VALID. Application can reset a VALID channel to DISABLE to abort a transaction. In this case the transaction is immediately removed from the host execution list. If the aborted transaction was already under execution it is regularly terminated on the USB but the relative VTRX interrupt is not generated. - VALID A host channel is actively trying to submit USB transaction to device only when in VALID state.VALID state can be set by software or automatically by hardware on a NAKED channel at the start of a new frame. When set to VALID, an host channel enters the host execution queue and waits permission from the host frame scheduler to submit its configured transaction. VALID value is also reported in case of ACK acknowledge is received on a double-buffered channel. In this case the channel remains active on the alternate buffer while application needs to read the current buffer and toggle DTOGTX. In case software is late in reading and the alternate buffer is not ready, the host channel is automatically suspended transparently to the application. The suspended double buffered channel is re-activated as soon as delay is recovered and DTOGTX is toggled. - NAK NAK value is reported in case of NAK acknowledge received. When in NAK state the channel is suspended and does not try to transmit. NAK state is moved to VALID by hardware at the start of the next frame, or software can change it to immediately retry transmission by writing it to VALID, or can disable it and abort the transaction by writing DISABLE - STALL STALL value is reported in case of STALL acknowledge received. When in STALL state the channel behaves as disabled. Application should not retry transmission but reset the USB and re-enumerate..
Bit 14: Data Toggle, for reception transfers If the endpoint/channel is not isochronous, this bit contains the expected value of the data toggle bit (0=DATA0, 1=DATA1) for the next data packet to be received. Hardware toggles this bit, when the ACK handshake is sent following a data packet reception having a matching data PID value; if the endpoint is defined as a control one, hardware clears this bit at the reception of a SETUP PID received from host (in device) or acknowledged by device (in host). If the endpoint/channel is using the double-buffering feature this bit is used to support packet buffer swapping too (Refer to Device mode). If the endpoint/channel is isochronous, this bit is used only to support packet buffer swapping for data transmission since no data toggling is used for this kind of channels/endpoints and only DATA0 packet are transmitted (Refer to Isochronous transfers in Device mode). Hardware toggles this bit just after the end of data packet reception, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint is not a control one) or to force specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGRX remains unchanged, while writing 1 makes the bit value toggle. This bit is read/write but it can be only toggled by writing 1..
Bit 15: USB valid transaction received Device mode This bit is set by the hardware when an OUT/SETUP transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. The type of occurred transaction, OUT or SETUP, can be determined from the SETUP bit described below. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written, writing 1 has no effect. Host mode This bit is set by the hardware when an IN transaction is successfully completed on this channel. The software can only clear this bit. If the CTRM bit in USB_CNTR register is set a generic interrupt condition is generated together with the channel related flag, which is always activated. - A transaction ended with a NAK sets this bit and NAK answer is reported to application reading the NAK state from the STATRX field of this register. One NAKed transaction keeps pending and is automatically retried by the host at the next frame, or the host can immediately retry by resetting STATRX state to VALID. - A transaction ended by STALL handshake sets this bit and the STALL answer is reported to application reading the STALL state from the STATRX field of this register. Host application should consequently disable the channel and re-enumerate. - A transaction ended with ACK handshake sets this bit If double buffering is disabled, ACK answer is reported by application reading the DISABLE state from the STATRX field of this register. Host application should read received data from USBRAM and re-arm the channel by writing VALID to the STATRX field of this register. If double buffering is enabled, ACK answer is reported by application reading VALID state from the STATRX field of this register. Host application should read received data from USBRAM and toggle the DTOGTX bit of this register. - A transaction ended with error sets this bit. Errors can be seen via the bits ERR_RX (host mode only). This bit is read/write but only 0 can be written, writing 1 has no effect..
Bits 16-22: Host mode Device address assigned to the endpoint during the enumeration process..
Bit 23: Host mode This bit is set by the hardware when a device responds with a NAK. Software can use this bit to monitor the number of NAKs received from a device..
Bit 24: Low speed endpoint.
Bit 25: Received error for an OUT/SETUP transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an OUT or SETUP transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..
Bit 26: Received error for an IN transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an IN transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..
Bits 27-28: Three errors for an OUT or SETUP transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an OUT transaction. THREE_ERR_TX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.
Bits 29-30: Three errors for an IN transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an IN transaction. THREE_ERR_RX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.
USB endpoint/channel 3 register
Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified
1/17 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
THREE_ERR_RX
rw |
THREE_ERR_TX
rw |
ERR_RX
rw |
ERR_TX
rw |
LS_EP
rw |
NAK
rw |
DEVADDR
rw |
|||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
VTRX
rw |
DTOGRX
w |
STATRX
w |
SETUP
r |
UTYPE
rw |
EPKIND
rw |
VTTX
rw |
DTOGTX
w |
STATTX
w |
EA
rw |
Bits 0-3: endpoint/channel address Device mode Software must write in this field the 4-bit address used to identify the transactions directed to this endpoint. A value must be written before enabling the corresponding endpoint. Host mode Software must write in this field the 4-bit address used to identify the channel addressed by the host transaction..
Bits 4-5: Status bits, for transmission transfers Device mode These bits contain the information about the endpoint status, listed in . These bits can be toggled by the software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATTX bits to NAK, when a correct transfer has occurred (VTTX=1) corresponding to a IN or SETUP (control only) transaction addressed to this channel/endpoint. It then waits for the software to prepare the next set of data to be transmitted. Double-buffered bulk endpoints implement a special transaction flow control, which controls the status based on buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can only be 'VALID' or 'DISABLED'. Therefore, the hardware cannot change the status of the channel/endpoint/channel after a successful transaction. If the software sets the STATTX bits to 'STALL' or 'NAK' for an isochronous channel/endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode The STATTX bits contain the information about the channel status. Refer to for the full descriptions ('Host mode' descriptions). Whereas in Device mode, these bits contain the status that are given out on the following transaction, in Host mode they capture the status last received from the device. If a NAK is received, STATTX contains the value indicating NAK..
Bit 6: Data toggle, for transmission transfers If the endpoint/channel is non-isochronous, this bit contains the required value of the data toggle bit (0=DATA0, 1=DATA1) for the next data packet to be transmitted. Hardware toggles this bit when the ACK handshake is received from the USB host, following a data packet transmission. If the endpoint/channel is defined as a control one, hardware sets this bit to 1 at the reception of a SETUP PID addressed to this endpoint. If the endpoint/channel is using the double buffer feature, this bit is used to support packet buffer swapping too (Refer to Device mode) If the endpoint/channel is isochronous, this bit is used to support packet buffer swapping since no data toggling is used for this sort of endpoints and only DATA0 packet are transmitted (refer to ). Hardware toggles this bit just after the end of data packet transmission, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint/channel is not a control one) or to force a specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGTX remains unchanged, while writing 1 makes the bit value to toggle. This bit is read/write but it can only be toggled by writing 1..
Bit 7: Valid USB transaction transmitted Device mode This bit is set by the hardware when an IN transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in the USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written. Host mode Same as VTRX behavior but for USB OUT and SETUP transactions..
Bit 8: endpoint/channel kind The meaning of this bit depends on the endpoint/channel type configured by the UTYPE bits. summarizes the different meanings. DBL_BUF: This bit is set by the software to enable the double-buffering feature for this bulk endpoint. The usage of double-buffered bulk endpoints is explained in Double-buffered endpoints and usage in Device mode. STATUS_OUT: This bit is set by the software to indicate that a status out transaction is expected: in this case all OUT transactions containing more than zero data bytes are answered 'STALL' instead of 'ACK'. This bit may be used to improve the robustness of the application to protocol errors during control transfers and its usage is intended for control endpoints only. When STATUS_OUT is reset, OUT transactions can have any number of bytes, as required..
Bits 9-10: USB type of transaction These bits configure the behavior of this endpoint/channel as described in Endpoint/channel type encoding. Channel0/Endpoint0 must always be a control endpoint/channel and each USB function must have at least one control endpoint/channel which has address 0, but there may be other control channels/endpoints if required. Only control channels/endpoints handle SETUP transactions, which are ignored by endpoints of other kinds. SETUP transactions cannot be answered with NAK or STALL. If a control endpoint/channel is defined as NAK, the USB peripheral does not answer, simulating a receive error, in the receive direction when a SETUP transaction is received. If the control endpoint/channel is defined as STALL in the receive direction, then the SETUP packet is accepted anyway, transferring data and issuing the CTR interrupt. The reception of OUT transactions is handled in the normal way, even if the endpoint/channel is a control one. Bulk and interrupt endpoints have very similar behavior and they differ only in the special feature available using the EPKIND configuration bit. The usage of isochronous channels/endpoints is explained in transfers in Device mode.
Bit 11: Setup transaction completed Device mode This bit is read-only and it is set by the hardware when the last completed transaction is a SETUP. This bit changes its value only for control endpoints. It must be examined, in the case of a successful receive transaction (VTRX event), to determine the type of transaction occurred. To protect the interrupt service routine from the changes in SETUP bits due to next incoming tokens, this bit is kept frozen while VTRX bit is at 1; its state changes when VTRX is at 0. This bit is read-only. Host mode This bit is set by the software to send a SETUP transaction on a control endpoint. This bit changes its value only for control endpoints. It is cleared by hardware when the SETUP transaction is acknowledged and VTTX interrupt generated..
Bits 12-13: Status bits, for reception transfers Device mode These bits contain information about the endpoint status, which are listed in Reception status encoding on page2204. These bits can be toggled by software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATRX bits to NAK when a correct transfer has occurred (VTRX=1) corresponding to a OUT or SETUP (control only) transaction addressed to this endpoint, so the software has the time to elaborate the received data before it acknowledges a new transaction. Double-buffered bulk endpoints implement a special transaction flow control, which control the status based upon buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can be only 'VALID' or 'DISABLED', so that the hardware cannot change the status of the endpoint after a successful transaction. If the software sets the STATRX bits to 'STALL' or 'NAK' for an isochronous endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode These bits are the host application controls to start, retry, or abort host transactions driven by the channel. These bits also contain information about the device answer to the last IN channel transaction and report the current status of the channel according to the following STATRX table of states: - DISABLE DISABLE value is reported in case of ACK acknowledge is received on a single-buffer channel. When in DISABLE state the channel is unused or not active waiting for application to restart it by writing VALID. Application can reset a VALID channel to DISABLE to abort a transaction. In this case the transaction is immediately removed from the host execution list. If the aborted transaction was already under execution it is regularly terminated on the USB but the relative VTRX interrupt is not generated. - VALID A host channel is actively trying to submit USB transaction to device only when in VALID state.VALID state can be set by software or automatically by hardware on a NAKED channel at the start of a new frame. When set to VALID, an host channel enters the host execution queue and waits permission from the host frame scheduler to submit its configured transaction. VALID value is also reported in case of ACK acknowledge is received on a double-buffered channel. In this case the channel remains active on the alternate buffer while application needs to read the current buffer and toggle DTOGTX. In case software is late in reading and the alternate buffer is not ready, the host channel is automatically suspended transparently to the application. The suspended double buffered channel is re-activated as soon as delay is recovered and DTOGTX is toggled. - NAK NAK value is reported in case of NAK acknowledge received. When in NAK state the channel is suspended and does not try to transmit. NAK state is moved to VALID by hardware at the start of the next frame, or software can change it to immediately retry transmission by writing it to VALID, or can disable it and abort the transaction by writing DISABLE - STALL STALL value is reported in case of STALL acknowledge received. When in STALL state the channel behaves as disabled. Application should not retry transmission but reset the USB and re-enumerate..
Bit 14: Data Toggle, for reception transfers If the endpoint/channel is not isochronous, this bit contains the expected value of the data toggle bit (0=DATA0, 1=DATA1) for the next data packet to be received. Hardware toggles this bit, when the ACK handshake is sent following a data packet reception having a matching data PID value; if the endpoint is defined as a control one, hardware clears this bit at the reception of a SETUP PID received from host (in device) or acknowledged by device (in host). If the endpoint/channel is using the double-buffering feature this bit is used to support packet buffer swapping too (Refer to Device mode). If the endpoint/channel is isochronous, this bit is used only to support packet buffer swapping for data transmission since no data toggling is used for this kind of channels/endpoints and only DATA0 packet are transmitted (Refer to Isochronous transfers in Device mode). Hardware toggles this bit just after the end of data packet reception, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint is not a control one) or to force specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGRX remains unchanged, while writing 1 makes the bit value toggle. This bit is read/write but it can be only toggled by writing 1..
Bit 15: USB valid transaction received Device mode This bit is set by the hardware when an OUT/SETUP transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. The type of occurred transaction, OUT or SETUP, can be determined from the SETUP bit described below. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written, writing 1 has no effect. Host mode This bit is set by the hardware when an IN transaction is successfully completed on this channel. The software can only clear this bit. If the CTRM bit in USB_CNTR register is set a generic interrupt condition is generated together with the channel related flag, which is always activated. - A transaction ended with a NAK sets this bit and NAK answer is reported to application reading the NAK state from the STATRX field of this register. One NAKed transaction keeps pending and is automatically retried by the host at the next frame, or the host can immediately retry by resetting STATRX state to VALID. - A transaction ended by STALL handshake sets this bit and the STALL answer is reported to application reading the STALL state from the STATRX field of this register. Host application should consequently disable the channel and re-enumerate. - A transaction ended with ACK handshake sets this bit If double buffering is disabled, ACK answer is reported by application reading the DISABLE state from the STATRX field of this register. Host application should read received data from USBRAM and re-arm the channel by writing VALID to the STATRX field of this register. If double buffering is enabled, ACK answer is reported by application reading VALID state from the STATRX field of this register. Host application should read received data from USBRAM and toggle the DTOGTX bit of this register. - A transaction ended with error sets this bit. Errors can be seen via the bits ERR_RX (host mode only). This bit is read/write but only 0 can be written, writing 1 has no effect..
Bits 16-22: Host mode Device address assigned to the endpoint during the enumeration process..
Bit 23: Host mode This bit is set by the hardware when a device responds with a NAK. Software can use this bit to monitor the number of NAKs received from a device..
Bit 24: Low speed endpoint.
Bit 25: Received error for an OUT/SETUP transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an OUT or SETUP transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..
Bit 26: Received error for an IN transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an IN transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..
Bits 27-28: Three errors for an OUT or SETUP transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an OUT transaction. THREE_ERR_TX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.
Bits 29-30: Three errors for an IN transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an IN transaction. THREE_ERR_RX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.
USB endpoint/channel 4 register
Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified
1/17 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
THREE_ERR_RX
rw |
THREE_ERR_TX
rw |
ERR_RX
rw |
ERR_TX
rw |
LS_EP
rw |
NAK
rw |
DEVADDR
rw |
|||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
VTRX
rw |
DTOGRX
w |
STATRX
w |
SETUP
r |
UTYPE
rw |
EPKIND
rw |
VTTX
rw |
DTOGTX
w |
STATTX
w |
EA
rw |
Bits 0-3: endpoint/channel address Device mode Software must write in this field the 4-bit address used to identify the transactions directed to this endpoint. A value must be written before enabling the corresponding endpoint. Host mode Software must write in this field the 4-bit address used to identify the channel addressed by the host transaction..
Bits 4-5: Status bits, for transmission transfers Device mode These bits contain the information about the endpoint status, listed in . These bits can be toggled by the software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATTX bits to NAK, when a correct transfer has occurred (VTTX=1) corresponding to a IN or SETUP (control only) transaction addressed to this channel/endpoint. It then waits for the software to prepare the next set of data to be transmitted. Double-buffered bulk endpoints implement a special transaction flow control, which controls the status based on buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can only be 'VALID' or 'DISABLED'. Therefore, the hardware cannot change the status of the channel/endpoint/channel after a successful transaction. If the software sets the STATTX bits to 'STALL' or 'NAK' for an isochronous channel/endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode The STATTX bits contain the information about the channel status. Refer to for the full descriptions ('Host mode' descriptions). Whereas in Device mode, these bits contain the status that are given out on the following transaction, in Host mode they capture the status last received from the device. If a NAK is received, STATTX contains the value indicating NAK..
Bit 6: Data toggle, for transmission transfers If the endpoint/channel is non-isochronous, this bit contains the required value of the data toggle bit (0=DATA0, 1=DATA1) for the next data packet to be transmitted. Hardware toggles this bit when the ACK handshake is received from the USB host, following a data packet transmission. If the endpoint/channel is defined as a control one, hardware sets this bit to 1 at the reception of a SETUP PID addressed to this endpoint. If the endpoint/channel is using the double buffer feature, this bit is used to support packet buffer swapping too (Refer to Device mode) If the endpoint/channel is isochronous, this bit is used to support packet buffer swapping since no data toggling is used for this sort of endpoints and only DATA0 packet are transmitted (refer to ). Hardware toggles this bit just after the end of data packet transmission, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint/channel is not a control one) or to force a specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGTX remains unchanged, while writing 1 makes the bit value to toggle. This bit is read/write but it can only be toggled by writing 1..
Bit 7: Valid USB transaction transmitted Device mode This bit is set by the hardware when an IN transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in the USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written. Host mode Same as VTRX behavior but for USB OUT and SETUP transactions..
Bit 8: endpoint/channel kind The meaning of this bit depends on the endpoint/channel type configured by the UTYPE bits. summarizes the different meanings. DBL_BUF: This bit is set by the software to enable the double-buffering feature for this bulk endpoint. The usage of double-buffered bulk endpoints is explained in Double-buffered endpoints and usage in Device mode. STATUS_OUT: This bit is set by the software to indicate that a status out transaction is expected: in this case all OUT transactions containing more than zero data bytes are answered 'STALL' instead of 'ACK'. This bit may be used to improve the robustness of the application to protocol errors during control transfers and its usage is intended for control endpoints only. When STATUS_OUT is reset, OUT transactions can have any number of bytes, as required..
Bits 9-10: USB type of transaction These bits configure the behavior of this endpoint/channel as described in Endpoint/channel type encoding. Channel0/Endpoint0 must always be a control endpoint/channel and each USB function must have at least one control endpoint/channel which has address 0, but there may be other control channels/endpoints if required. Only control channels/endpoints handle SETUP transactions, which are ignored by endpoints of other kinds. SETUP transactions cannot be answered with NAK or STALL. If a control endpoint/channel is defined as NAK, the USB peripheral does not answer, simulating a receive error, in the receive direction when a SETUP transaction is received. If the control endpoint/channel is defined as STALL in the receive direction, then the SETUP packet is accepted anyway, transferring data and issuing the CTR interrupt. The reception of OUT transactions is handled in the normal way, even if the endpoint/channel is a control one. Bulk and interrupt endpoints have very similar behavior and they differ only in the special feature available using the EPKIND configuration bit. The usage of isochronous channels/endpoints is explained in transfers in Device mode.
Bit 11: Setup transaction completed Device mode This bit is read-only and it is set by the hardware when the last completed transaction is a SETUP. This bit changes its value only for control endpoints. It must be examined, in the case of a successful receive transaction (VTRX event), to determine the type of transaction occurred. To protect the interrupt service routine from the changes in SETUP bits due to next incoming tokens, this bit is kept frozen while VTRX bit is at 1; its state changes when VTRX is at 0. This bit is read-only. Host mode This bit is set by the software to send a SETUP transaction on a control endpoint. This bit changes its value only for control endpoints. It is cleared by hardware when the SETUP transaction is acknowledged and VTTX interrupt generated..
Bits 12-13: Status bits, for reception transfers Device mode These bits contain information about the endpoint status, which are listed in Reception status encoding on page2204. These bits can be toggled by software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATRX bits to NAK when a correct transfer has occurred (VTRX=1) corresponding to a OUT or SETUP (control only) transaction addressed to this endpoint, so the software has the time to elaborate the received data before it acknowledges a new transaction. Double-buffered bulk endpoints implement a special transaction flow control, which control the status based upon buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can be only 'VALID' or 'DISABLED', so that the hardware cannot change the status of the endpoint after a successful transaction. If the software sets the STATRX bits to 'STALL' or 'NAK' for an isochronous endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode These bits are the host application controls to start, retry, or abort host transactions driven by the channel. These bits also contain information about the device answer to the last IN channel transaction and report the current status of the channel according to the following STATRX table of states: - DISABLE DISABLE value is reported in case of ACK acknowledge is received on a single-buffer channel. When in DISABLE state the channel is unused or not active waiting for application to restart it by writing VALID. Application can reset a VALID channel to DISABLE to abort a transaction. In this case the transaction is immediately removed from the host execution list. If the aborted transaction was already under execution it is regularly terminated on the USB but the relative VTRX interrupt is not generated. - VALID A host channel is actively trying to submit USB transaction to device only when in VALID state.VALID state can be set by software or automatically by hardware on a NAKED channel at the start of a new frame. When set to VALID, an host channel enters the host execution queue and waits permission from the host frame scheduler to submit its configured transaction. VALID value is also reported in case of ACK acknowledge is received on a double-buffered channel. In this case the channel remains active on the alternate buffer while application needs to read the current buffer and toggle DTOGTX. In case software is late in reading and the alternate buffer is not ready, the host channel is automatically suspended transparently to the application. The suspended double buffered channel is re-activated as soon as delay is recovered and DTOGTX is toggled. - NAK NAK value is reported in case of NAK acknowledge received. When in NAK state the channel is suspended and does not try to transmit. NAK state is moved to VALID by hardware at the start of the next frame, or software can change it to immediately retry transmission by writing it to VALID, or can disable it and abort the transaction by writing DISABLE - STALL STALL value is reported in case of STALL acknowledge received. When in STALL state the channel behaves as disabled. Application should not retry transmission but reset the USB and re-enumerate..
Bit 14: Data Toggle, for reception transfers If the endpoint/channel is not isochronous, this bit contains the expected value of the data toggle bit (0=DATA0, 1=DATA1) for the next data packet to be received. Hardware toggles this bit, when the ACK handshake is sent following a data packet reception having a matching data PID value; if the endpoint is defined as a control one, hardware clears this bit at the reception of a SETUP PID received from host (in device) or acknowledged by device (in host). If the endpoint/channel is using the double-buffering feature this bit is used to support packet buffer swapping too (Refer to Device mode). If the endpoint/channel is isochronous, this bit is used only to support packet buffer swapping for data transmission since no data toggling is used for this kind of channels/endpoints and only DATA0 packet are transmitted (Refer to Isochronous transfers in Device mode). Hardware toggles this bit just after the end of data packet reception, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint is not a control one) or to force specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGRX remains unchanged, while writing 1 makes the bit value toggle. This bit is read/write but it can be only toggled by writing 1..
Bit 15: USB valid transaction received Device mode This bit is set by the hardware when an OUT/SETUP transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. The type of occurred transaction, OUT or SETUP, can be determined from the SETUP bit described below. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written, writing 1 has no effect. Host mode This bit is set by the hardware when an IN transaction is successfully completed on this channel. The software can only clear this bit. If the CTRM bit in USB_CNTR register is set a generic interrupt condition is generated together with the channel related flag, which is always activated. - A transaction ended with a NAK sets this bit and NAK answer is reported to application reading the NAK state from the STATRX field of this register. One NAKed transaction keeps pending and is automatically retried by the host at the next frame, or the host can immediately retry by resetting STATRX state to VALID. - A transaction ended by STALL handshake sets this bit and the STALL answer is reported to application reading the STALL state from the STATRX field of this register. Host application should consequently disable the channel and re-enumerate. - A transaction ended with ACK handshake sets this bit If double buffering is disabled, ACK answer is reported by application reading the DISABLE state from the STATRX field of this register. Host application should read received data from USBRAM and re-arm the channel by writing VALID to the STATRX field of this register. If double buffering is enabled, ACK answer is reported by application reading VALID state from the STATRX field of this register. Host application should read received data from USBRAM and toggle the DTOGTX bit of this register. - A transaction ended with error sets this bit. Errors can be seen via the bits ERR_RX (host mode only). This bit is read/write but only 0 can be written, writing 1 has no effect..
Bits 16-22: Host mode Device address assigned to the endpoint during the enumeration process..
Bit 23: Host mode This bit is set by the hardware when a device responds with a NAK. Software can use this bit to monitor the number of NAKs received from a device..
Bit 24: Low speed endpoint.
Bit 25: Received error for an OUT/SETUP transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an OUT or SETUP transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..
Bit 26: Received error for an IN transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an IN transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..
Bits 27-28: Three errors for an OUT or SETUP transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an OUT transaction. THREE_ERR_TX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.
Bits 29-30: Three errors for an IN transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an IN transaction. THREE_ERR_RX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.
USB endpoint/channel 5 register
Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified
1/17 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
THREE_ERR_RX
rw |
THREE_ERR_TX
rw |
ERR_RX
rw |
ERR_TX
rw |
LS_EP
rw |
NAK
rw |
DEVADDR
rw |
|||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
VTRX
rw |
DTOGRX
w |
STATRX
w |
SETUP
r |
UTYPE
rw |
EPKIND
rw |
VTTX
rw |
DTOGTX
w |
STATTX
w |
EA
rw |
Bits 0-3: endpoint/channel address Device mode Software must write in this field the 4-bit address used to identify the transactions directed to this endpoint. A value must be written before enabling the corresponding endpoint. Host mode Software must write in this field the 4-bit address used to identify the channel addressed by the host transaction..
Bits 4-5: Status bits, for transmission transfers Device mode These bits contain the information about the endpoint status, listed in . These bits can be toggled by the software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATTX bits to NAK, when a correct transfer has occurred (VTTX=1) corresponding to a IN or SETUP (control only) transaction addressed to this channel/endpoint. It then waits for the software to prepare the next set of data to be transmitted. Double-buffered bulk endpoints implement a special transaction flow control, which controls the status based on buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can only be 'VALID' or 'DISABLED'. Therefore, the hardware cannot change the status of the channel/endpoint/channel after a successful transaction. If the software sets the STATTX bits to 'STALL' or 'NAK' for an isochronous channel/endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode The STATTX bits contain the information about the channel status. Refer to for the full descriptions ('Host mode' descriptions). Whereas in Device mode, these bits contain the status that are given out on the following transaction, in Host mode they capture the status last received from the device. If a NAK is received, STATTX contains the value indicating NAK..
Bit 6: Data toggle, for transmission transfers If the endpoint/channel is non-isochronous, this bit contains the required value of the data toggle bit (0=DATA0, 1=DATA1) for the next data packet to be transmitted. Hardware toggles this bit when the ACK handshake is received from the USB host, following a data packet transmission. If the endpoint/channel is defined as a control one, hardware sets this bit to 1 at the reception of a SETUP PID addressed to this endpoint. If the endpoint/channel is using the double buffer feature, this bit is used to support packet buffer swapping too (Refer to Device mode) If the endpoint/channel is isochronous, this bit is used to support packet buffer swapping since no data toggling is used for this sort of endpoints and only DATA0 packet are transmitted (refer to ). Hardware toggles this bit just after the end of data packet transmission, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint/channel is not a control one) or to force a specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGTX remains unchanged, while writing 1 makes the bit value to toggle. This bit is read/write but it can only be toggled by writing 1..
Bit 7: Valid USB transaction transmitted Device mode This bit is set by the hardware when an IN transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in the USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written. Host mode Same as VTRX behavior but for USB OUT and SETUP transactions..
Bit 8: endpoint/channel kind The meaning of this bit depends on the endpoint/channel type configured by the UTYPE bits. summarizes the different meanings. DBL_BUF: This bit is set by the software to enable the double-buffering feature for this bulk endpoint. The usage of double-buffered bulk endpoints is explained in Double-buffered endpoints and usage in Device mode. STATUS_OUT: This bit is set by the software to indicate that a status out transaction is expected: in this case all OUT transactions containing more than zero data bytes are answered 'STALL' instead of 'ACK'. This bit may be used to improve the robustness of the application to protocol errors during control transfers and its usage is intended for control endpoints only. When STATUS_OUT is reset, OUT transactions can have any number of bytes, as required..
Bits 9-10: USB type of transaction These bits configure the behavior of this endpoint/channel as described in Endpoint/channel type encoding. Channel0/Endpoint0 must always be a control endpoint/channel and each USB function must have at least one control endpoint/channel which has address 0, but there may be other control channels/endpoints if required. Only control channels/endpoints handle SETUP transactions, which are ignored by endpoints of other kinds. SETUP transactions cannot be answered with NAK or STALL. If a control endpoint/channel is defined as NAK, the USB peripheral does not answer, simulating a receive error, in the receive direction when a SETUP transaction is received. If the control endpoint/channel is defined as STALL in the receive direction, then the SETUP packet is accepted anyway, transferring data and issuing the CTR interrupt. The reception of OUT transactions is handled in the normal way, even if the endpoint/channel is a control one. Bulk and interrupt endpoints have very similar behavior and they differ only in the special feature available using the EPKIND configuration bit. The usage of isochronous channels/endpoints is explained in transfers in Device mode.
Bit 11: Setup transaction completed Device mode This bit is read-only and it is set by the hardware when the last completed transaction is a SETUP. This bit changes its value only for control endpoints. It must be examined, in the case of a successful receive transaction (VTRX event), to determine the type of transaction occurred. To protect the interrupt service routine from the changes in SETUP bits due to next incoming tokens, this bit is kept frozen while VTRX bit is at 1; its state changes when VTRX is at 0. This bit is read-only. Host mode This bit is set by the software to send a SETUP transaction on a control endpoint. This bit changes its value only for control endpoints. It is cleared by hardware when the SETUP transaction is acknowledged and VTTX interrupt generated..
Bits 12-13: Status bits, for reception transfers Device mode These bits contain information about the endpoint status, which are listed in Reception status encoding on page2204. These bits can be toggled by software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATRX bits to NAK when a correct transfer has occurred (VTRX=1) corresponding to a OUT or SETUP (control only) transaction addressed to this endpoint, so the software has the time to elaborate the received data before it acknowledges a new transaction. Double-buffered bulk endpoints implement a special transaction flow control, which control the status based upon buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can be only 'VALID' or 'DISABLED', so that the hardware cannot change the status of the endpoint after a successful transaction. If the software sets the STATRX bits to 'STALL' or 'NAK' for an isochronous endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode These bits are the host application controls to start, retry, or abort host transactions driven by the channel. These bits also contain information about the device answer to the last IN channel transaction and report the current status of the channel according to the following STATRX table of states: - DISABLE DISABLE value is reported in case of ACK acknowledge is received on a single-buffer channel. When in DISABLE state the channel is unused or not active waiting for application to restart it by writing VALID. Application can reset a VALID channel to DISABLE to abort a transaction. In this case the transaction is immediately removed from the host execution list. If the aborted transaction was already under execution it is regularly terminated on the USB but the relative VTRX interrupt is not generated. - VALID A host channel is actively trying to submit USB transaction to device only when in VALID state.VALID state can be set by software or automatically by hardware on a NAKED channel at the start of a new frame. When set to VALID, an host channel enters the host execution queue and waits permission from the host frame scheduler to submit its configured transaction. VALID value is also reported in case of ACK acknowledge is received on a double-buffered channel. In this case the channel remains active on the alternate buffer while application needs to read the current buffer and toggle DTOGTX. In case software is late in reading and the alternate buffer is not ready, the host channel is automatically suspended transparently to the application. The suspended double buffered channel is re-activated as soon as delay is recovered and DTOGTX is toggled. - NAK NAK value is reported in case of NAK acknowledge received. When in NAK state the channel is suspended and does not try to transmit. NAK state is moved to VALID by hardware at the start of the next frame, or software can change it to immediately retry transmission by writing it to VALID, or can disable it and abort the transaction by writing DISABLE - STALL STALL value is reported in case of STALL acknowledge received. When in STALL state the channel behaves as disabled. Application should not retry transmission but reset the USB and re-enumerate..
Bit 14: Data Toggle, for reception transfers If the endpoint/channel is not isochronous, this bit contains the expected value of the data toggle bit (0=DATA0, 1=DATA1) for the next data packet to be received. Hardware toggles this bit, when the ACK handshake is sent following a data packet reception having a matching data PID value; if the endpoint is defined as a control one, hardware clears this bit at the reception of a SETUP PID received from host (in device) or acknowledged by device (in host). If the endpoint/channel is using the double-buffering feature this bit is used to support packet buffer swapping too (Refer to Device mode). If the endpoint/channel is isochronous, this bit is used only to support packet buffer swapping for data transmission since no data toggling is used for this kind of channels/endpoints and only DATA0 packet are transmitted (Refer to Isochronous transfers in Device mode). Hardware toggles this bit just after the end of data packet reception, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint is not a control one) or to force specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGRX remains unchanged, while writing 1 makes the bit value toggle. This bit is read/write but it can be only toggled by writing 1..
Bit 15: USB valid transaction received Device mode This bit is set by the hardware when an OUT/SETUP transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. The type of occurred transaction, OUT or SETUP, can be determined from the SETUP bit described below. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written, writing 1 has no effect. Host mode This bit is set by the hardware when an IN transaction is successfully completed on this channel. The software can only clear this bit. If the CTRM bit in USB_CNTR register is set a generic interrupt condition is generated together with the channel related flag, which is always activated. - A transaction ended with a NAK sets this bit and NAK answer is reported to application reading the NAK state from the STATRX field of this register. One NAKed transaction keeps pending and is automatically retried by the host at the next frame, or the host can immediately retry by resetting STATRX state to VALID. - A transaction ended by STALL handshake sets this bit and the STALL answer is reported to application reading the STALL state from the STATRX field of this register. Host application should consequently disable the channel and re-enumerate. - A transaction ended with ACK handshake sets this bit If double buffering is disabled, ACK answer is reported by application reading the DISABLE state from the STATRX field of this register. Host application should read received data from USBRAM and re-arm the channel by writing VALID to the STATRX field of this register. If double buffering is enabled, ACK answer is reported by application reading VALID state from the STATRX field of this register. Host application should read received data from USBRAM and toggle the DTOGTX bit of this register. - A transaction ended with error sets this bit. Errors can be seen via the bits ERR_RX (host mode only). This bit is read/write but only 0 can be written, writing 1 has no effect..
Bits 16-22: Host mode Device address assigned to the endpoint during the enumeration process..
Bit 23: Host mode This bit is set by the hardware when a device responds with a NAK. Software can use this bit to monitor the number of NAKs received from a device..
Bit 24: Low speed endpoint host with HUB only Host mode This bit is set by the software to send an LS transaction to the corresponding endpoint..
Bit 25: Received error for an OUT/SETUP transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an OUT or SETUP transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..
Bit 26: Received error for an IN transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an IN transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..
Bits 27-28: Three errors for an OUT or SETUP transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an OUT transaction. THREE_ERR_TX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.
Bits 29-30: Three errors for an IN transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an IN transaction. THREE_ERR_RX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.
USB endpoint/channel 6 register
Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified
1/17 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
THREE_ERR_RX
rw |
THREE_ERR_TX
rw |
ERR_RX
rw |
ERR_TX
rw |
LS_EP
rw |
NAK
rw |
DEVADDR
rw |
|||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
VTRX
rw |
DTOGRX
w |
STATRX
w |
SETUP
r |
UTYPE
rw |
EPKIND
rw |
VTTX
rw |
DTOGTX
w |
STATTX
w |
EA
rw |
Bits 0-3: endpoint/channel address Device mode Software must write in this field the 4-bit address used to identify the transactions directed to this endpoint. A value must be written before enabling the corresponding endpoint. Host mode Software must write in this field the 4-bit address used to identify the channel addressed by the host transaction..
Bits 4-5: Status bits, for transmission transfers Device mode These bits contain the information about the endpoint status, listed in . These bits can be toggled by the software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATTX bits to NAK, when a correct transfer has occurred (VTTX=1) corresponding to a IN or SETUP (control only) transaction addressed to this channel/endpoint. It then waits for the software to prepare the next set of data to be transmitted. Double-buffered bulk endpoints implement a special transaction flow control, which controls the status based on buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can only be 'VALID' or 'DISABLED'. Therefore, the hardware cannot change the status of the channel/endpoint/channel after a successful transaction. If the software sets the STATTX bits to 'STALL' or 'NAK' for an isochronous channel/endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode The STATTX bits contain the information about the channel status. Refer to for the full descriptions ('Host mode' descriptions). Whereas in Device mode, these bits contain the status that are given out on the following transaction, in Host mode they capture the status last received from the device. If a NAK is received, STATTX contains the value indicating NAK..
Bit 6: Data toggle, for transmission transfers If the endpoint/channel is non-isochronous, this bit contains the required value of the data toggle bit (0=DATA0, 1=DATA1) for the next data packet to be transmitted. Hardware toggles this bit when the ACK handshake is received from the USB host, following a data packet transmission. If the endpoint/channel is defined as a control one, hardware sets this bit to 1 at the reception of a SETUP PID addressed to this endpoint. If the endpoint/channel is using the double buffer feature, this bit is used to support packet buffer swapping too (Refer to Device mode) If the endpoint/channel is isochronous, this bit is used to support packet buffer swapping since no data toggling is used for this sort of endpoints and only DATA0 packet are transmitted (refer to ). Hardware toggles this bit just after the end of data packet transmission, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint/channel is not a control one) or to force a specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGTX remains unchanged, while writing 1 makes the bit value to toggle. This bit is read/write but it can only be toggled by writing 1..
Bit 7: Valid USB transaction transmitted Device mode This bit is set by the hardware when an IN transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in the USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written. Host mode Same as VTRX behavior but for USB OUT and SETUP transactions..
Bit 8: endpoint/channel kind The meaning of this bit depends on the endpoint/channel type configured by the UTYPE bits. summarizes the different meanings. DBL_BUF: This bit is set by the software to enable the double-buffering feature for this bulk endpoint. The usage of double-buffered bulk endpoints is explained in Double-buffered endpoints and usage in Device mode. STATUS_OUT: This bit is set by the software to indicate that a status out transaction is expected: in this case all OUT transactions containing more than zero data bytes are answered 'STALL' instead of 'ACK'. This bit may be used to improve the robustness of the application to protocol errors during control transfers and its usage is intended for control endpoints only. When STATUS_OUT is reset, OUT transactions can have any number of bytes, as required..
Bits 9-10: USB type of transaction These bits configure the behavior of this endpoint/channel as described in Endpoint/channel type encoding. Channel0/Endpoint0 must always be a control endpoint/channel and each USB function must have at least one control endpoint/channel which has address 0, but there may be other control channels/endpoints if required. Only control channels/endpoints handle SETUP transactions, which are ignored by endpoints of other kinds. SETUP transactions cannot be answered with NAK or STALL. If a control endpoint/channel is defined as NAK, the USB peripheral does not answer, simulating a receive error, in the receive direction when a SETUP transaction is received. If the control endpoint/channel is defined as STALL in the receive direction, then the SETUP packet is accepted anyway, transferring data and issuing the CTR interrupt. The reception of OUT transactions is handled in the normal way, even if the endpoint/channel is a control one. Bulk and interrupt endpoints have very similar behavior and they differ only in the special feature available using the EPKIND configuration bit. The usage of isochronous channels/endpoints is explained in transfers in Device mode.
Bit 11: Setup transaction completed Device mode This bit is read-only and it is set by the hardware when the last completed transaction is a SETUP. This bit changes its value only for control endpoints. It must be examined, in the case of a successful receive transaction (VTRX event), to determine the type of transaction occurred. To protect the interrupt service routine from the changes in SETUP bits due to next incoming tokens, this bit is kept frozen while VTRX bit is at 1; its state changes when VTRX is at 0. This bit is read-only. Host mode This bit is set by the software to send a SETUP transaction on a control endpoint. This bit changes its value only for control endpoints. It is cleared by hardware when the SETUP transaction is acknowledged and VTTX interrupt generated..
Bits 12-13: Status bits, for reception transfers Device mode These bits contain information about the endpoint status, which are listed in Reception status encoding on page2204. These bits can be toggled by software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATRX bits to NAK when a correct transfer has occurred (VTRX=1) corresponding to a OUT or SETUP (control only) transaction addressed to this endpoint, so the software has the time to elaborate the received data before it acknowledges a new transaction. Double-buffered bulk endpoints implement a special transaction flow control, which control the status based upon buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can be only 'VALID' or 'DISABLED', so that the hardware cannot change the status of the endpoint after a successful transaction. If the software sets the STATRX bits to 'STALL' or 'NAK' for an isochronous endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode These bits are the host application controls to start, retry, or abort host transactions driven by the channel. These bits also contain information about the device answer to the last IN channel transaction and report the current status of the channel according to the following STATRX table of states: - DISABLE DISABLE value is reported in case of ACK acknowledge is received on a single-buffer channel. When in DISABLE state the channel is unused or not active waiting for application to restart it by writing VALID. Application can reset a VALID channel to DISABLE to abort a transaction. In this case the transaction is immediately removed from the host execution list. If the aborted transaction was already under execution it is regularly terminated on the USB but the relative VTRX interrupt is not generated. - VALID A host channel is actively trying to submit USB transaction to device only when in VALID state.VALID state can be set by software or automatically by hardware on a NAKED channel at the start of a new frame. When set to VALID, an host channel enters the host execution queue and waits permission from the host frame scheduler to submit its configured transaction. VALID value is also reported in case of ACK acknowledge is received on a double-buffered channel. In this case the channel remains active on the alternate buffer while application needs to read the current buffer and toggle DTOGTX. In case software is late in reading and the alternate buffer is not ready, the host channel is automatically suspended transparently to the application. The suspended double buffered channel is re-activated as soon as delay is recovered and DTOGTX is toggled. - NAK NAK value is reported in case of NAK acknowledge received. When in NAK state the channel is suspended and does not try to transmit. NAK state is moved to VALID by hardware at the start of the next frame, or software can change it to immediately retry transmission by writing it to VALID, or can disable it and abort the transaction by writing DISABLE - STALL STALL value is reported in case of STALL acknowledge received. When in STALL state the channel behaves as disabled. Application should not retry transmission but reset the USB and re-enumerate..
Bit 14: Data Toggle, for reception transfers If the endpoint/channel is not isochronous, this bit contains the expected value of the data toggle bit (0=DATA0, 1=DATA1) for the next data packet to be received. Hardware toggles this bit, when the ACK handshake is sent following a data packet reception having a matching data PID value; if the endpoint is defined as a control one, hardware clears this bit at the reception of a SETUP PID received from host (in device) or acknowledged by device (in host). If the endpoint/channel is using the double-buffering feature this bit is used to support packet buffer swapping too (Refer to Device mode). If the endpoint/channel is isochronous, this bit is used only to support packet buffer swapping for data transmission since no data toggling is used for this kind of channels/endpoints and only DATA0 packet are transmitted (Refer to Isochronous transfers in Device mode). Hardware toggles this bit just after the end of data packet reception, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint is not a control one) or to force specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGRX remains unchanged, while writing 1 makes the bit value toggle. This bit is read/write but it can be only toggled by writing 1..
Bit 15: USB valid transaction received Device mode This bit is set by the hardware when an OUT/SETUP transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. The type of occurred transaction, OUT or SETUP, can be determined from the SETUP bit described below. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written, writing 1 has no effect. Host mode This bit is set by the hardware when an IN transaction is successfully completed on this channel. The software can only clear this bit. If the CTRM bit in USB_CNTR register is set a generic interrupt condition is generated together with the channel related flag, which is always activated. - A transaction ended with a NAK sets this bit and NAK answer is reported to application reading the NAK state from the STATRX field of this register. One NAKed transaction keeps pending and is automatically retried by the host at the next frame, or the host can immediately retry by resetting STATRX state to VALID. - A transaction ended by STALL handshake sets this bit and the STALL answer is reported to application reading the STALL state from the STATRX field of this register. Host application should consequently disable the channel and re-enumerate. - A transaction ended with ACK handshake sets this bit If double buffering is disabled, ACK answer is reported by application reading the DISABLE state from the STATRX field of this register. Host application should read received data from USBRAM and re-arm the channel by writing VALID to the STATRX field of this register. If double buffering is enabled, ACK answer is reported by application reading VALID state from the STATRX field of this register. Host application should read received data from USBRAM and toggle the DTOGTX bit of this register. - A transaction ended with error sets this bit. Errors can be seen via the bits ERR_RX (host mode only). This bit is read/write but only 0 can be written, writing 1 has no effect..
Bits 16-22: Host mode Device address assigned to the endpoint during the enumeration process..
Bit 23: Host mode This bit is set by the hardware when a device responds with a NAK. Software can use this bit to monitor the number of NAKs received from a device..
Bit 24: Low speed endpoint host with HUB only Host mode This bit is set by the software to send an LS transaction to the corresponding endpoint..
Bit 25: Received error for an OUT/SETUP transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an OUT or SETUP transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..
Bit 26: Received error for an IN transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an IN transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..
Bits 27-28: Three errors for an OUT or SETUP transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an OUT transaction. THREE_ERR_TX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.
Bits 29-30: Three errors for an IN transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an IN transaction. THREE_ERR_RX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.
USB endpoint/channel 7 register
Offset: 0x1c, size: 32, reset: 0x00000000, access: Unspecified
1/17 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
THREE_ERR_RX
rw |
THREE_ERR_TX
rw |
ERR_RX
rw |
ERR_TX
rw |
LS_EP
rw |
NAK
rw |
DEVADDR
rw |
|||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
VTRX
rw |
DTOGRX
w |
STATRX
w |
SETUP
r |
UTYPE
rw |
EPKIND
rw |
VTTX
rw |
DTOGTX
w |
STATTX
w |
EA
rw |
Bits 0-3: endpoint/channel address Device mode Software must write in this field the 4-bit address used to identify the transactions directed to this endpoint. A value must be written before enabling the corresponding endpoint. Host mode Software must write in this field the 4-bit address used to identify the channel addressed by the host transaction..
Bits 4-5: Status bits, for transmission transfers Device mode These bits contain the information about the endpoint status, listed in . These bits can be toggled by the software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATTX bits to NAK, when a correct transfer has occurred (VTTX=1) corresponding to a IN or SETUP (control only) transaction addressed to this channel/endpoint. It then waits for the software to prepare the next set of data to be transmitted. Double-buffered bulk endpoints implement a special transaction flow control, which controls the status based on buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can only be 'VALID' or 'DISABLED'. Therefore, the hardware cannot change the status of the channel/endpoint/channel after a successful transaction. If the software sets the STATTX bits to 'STALL' or 'NAK' for an isochronous channel/endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode The STATTX bits contain the information about the channel status. Refer to for the full descriptions ('Host mode' descriptions). Whereas in Device mode, these bits contain the status that are given out on the following transaction, in Host mode they capture the status last received from the device. If a NAK is received, STATTX contains the value indicating NAK..
Bit 6: Data toggle, for transmission transfers If the endpoint/channel is non-isochronous, this bit contains the required value of the data toggle bit (0=DATA0, 1=DATA1) for the next data packet to be transmitted. Hardware toggles this bit when the ACK handshake is received from the USB host, following a data packet transmission. If the endpoint/channel is defined as a control one, hardware sets this bit to 1 at the reception of a SETUP PID addressed to this endpoint. If the endpoint/channel is using the double buffer feature, this bit is used to support packet buffer swapping too (Refer to Device mode) If the endpoint/channel is isochronous, this bit is used to support packet buffer swapping since no data toggling is used for this sort of endpoints and only DATA0 packet are transmitted (refer to ). Hardware toggles this bit just after the end of data packet transmission, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint/channel is not a control one) or to force a specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGTX remains unchanged, while writing 1 makes the bit value to toggle. This bit is read/write but it can only be toggled by writing 1..
Bit 7: Valid USB transaction transmitted Device mode This bit is set by the hardware when an IN transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in the USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written. Host mode Same as VTRX behavior but for USB OUT and SETUP transactions..
Bit 8: endpoint/channel kind The meaning of this bit depends on the endpoint/channel type configured by the UTYPE bits. summarizes the different meanings. DBL_BUF: This bit is set by the software to enable the double-buffering feature for this bulk endpoint. The usage of double-buffered bulk endpoints is explained in Double-buffered endpoints and usage in Device mode. STATUS_OUT: This bit is set by the software to indicate that a status out transaction is expected: in this case all OUT transactions containing more than zero data bytes are answered 'STALL' instead of 'ACK'. This bit may be used to improve the robustness of the application to protocol errors during control transfers and its usage is intended for control endpoints only. When STATUS_OUT is reset, OUT transactions can have any number of bytes, as required..
Bits 9-10: USB type of transaction These bits configure the behavior of this endpoint/channel as described in Endpoint/channel type encoding. Channel0/Endpoint0 must always be a control endpoint/channel and each USB function must have at least one control endpoint/channel which has address 0, but there may be other control channels/endpoints if required. Only control channels/endpoints handle SETUP transactions, which are ignored by endpoints of other kinds. SETUP transactions cannot be answered with NAK or STALL. If a control endpoint/channel is defined as NAK, the USB peripheral does not answer, simulating a receive error, in the receive direction when a SETUP transaction is received. If the control endpoint/channel is defined as STALL in the receive direction, then the SETUP packet is accepted anyway, transferring data and issuing the CTR interrupt. The reception of OUT transactions is handled in the normal way, even if the endpoint/channel is a control one. Bulk and interrupt endpoints have very similar behavior and they differ only in the special feature available using the EPKIND configuration bit. The usage of isochronous channels/endpoints is explained in transfers in Device mode.
Bit 11: Setup transaction completed Device mode This bit is read-only and it is set by the hardware when the last completed transaction is a SETUP. This bit changes its value only for control endpoints. It must be examined, in the case of a successful receive transaction (VTRX event), to determine the type of transaction occurred. To protect the interrupt service routine from the changes in SETUP bits due to next incoming tokens, this bit is kept frozen while VTRX bit is at 1; its state changes when VTRX is at 0. This bit is read-only. Host mode This bit is set by the software to send a SETUP transaction on a control endpoint. This bit changes its value only for control endpoints. It is cleared by hardware when the SETUP transaction is acknowledged and VTTX interrupt generated..
Bits 12-13: Status bits, for reception transfers Device mode These bits contain information about the endpoint status, which are listed in Reception status encoding on page2204. These bits can be toggled by software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATRX bits to NAK when a correct transfer has occurred (VTRX=1) corresponding to a OUT or SETUP (control only) transaction addressed to this endpoint, so the software has the time to elaborate the received data before it acknowledges a new transaction. Double-buffered bulk endpoints implement a special transaction flow control, which control the status based upon buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can be only 'VALID' or 'DISABLED', so that the hardware cannot change the status of the endpoint after a successful transaction. If the software sets the STATRX bits to 'STALL' or 'NAK' for an isochronous endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode These bits are the host application controls to start, retry, or abort host transactions driven by the channel. These bits also contain information about the device answer to the last IN channel transaction and report the current status of the channel according to the following STATRX table of states: - DISABLE DISABLE value is reported in case of ACK acknowledge is received on a single-buffer channel. When in DISABLE state the channel is unused or not active waiting for application to restart it by writing VALID. Application can reset a VALID channel to DISABLE to abort a transaction. In this case the transaction is immediately removed from the host execution list. If the aborted transaction was already under execution it is regularly terminated on the USB but the relative VTRX interrupt is not generated. - VALID A host channel is actively trying to submit USB transaction to device only when in VALID state.VALID state can be set by software or automatically by hardware on a NAKED channel at the start of a new frame. When set to VALID, an host channel enters the host execution queue and waits permission from the host frame scheduler to submit its configured transaction. VALID value is also reported in case of ACK acknowledge is received on a double-buffered channel. In this case the channel remains active on the alternate buffer while application needs to read the current buffer and toggle DTOGTX. In case software is late in reading and the alternate buffer is not ready, the host channel is automatically suspended transparently to the application. The suspended double buffered channel is re-activated as soon as delay is recovered and DTOGTX is toggled. - NAK NAK value is reported in case of NAK acknowledge received. When in NAK state the channel is suspended and does not try to transmit. NAK state is moved to VALID by hardware at the start of the next frame, or software can change it to immediately retry transmission by writing it to VALID, or can disable it and abort the transaction by writing DISABLE - STALL STALL value is reported in case of STALL acknowledge received. When in STALL state the channel behaves as disabled. Application should not retry transmission but reset the USB and re-enumerate..
Bit 14: Data Toggle, for reception transfers If the endpoint/channel is not isochronous, this bit contains the expected value of the data toggle bit (0=DATA0, 1=DATA1) for the next data packet to be received. Hardware toggles this bit, when the ACK handshake is sent following a data packet reception having a matching data PID value; if the endpoint is defined as a control one, hardware clears this bit at the reception of a SETUP PID received from host (in device) or acknowledged by device (in host). If the endpoint/channel is using the double-buffering feature this bit is used to support packet buffer swapping too (Refer to Device mode). If the endpoint/channel is isochronous, this bit is used only to support packet buffer swapping for data transmission since no data toggling is used for this kind of channels/endpoints and only DATA0 packet are transmitted (Refer to Isochronous transfers in Device mode). Hardware toggles this bit just after the end of data packet reception, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint is not a control one) or to force specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGRX remains unchanged, while writing 1 makes the bit value toggle. This bit is read/write but it can be only toggled by writing 1..
Bit 15: USB valid transaction received Device mode This bit is set by the hardware when an OUT/SETUP transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. The type of occurred transaction, OUT or SETUP, can be determined from the SETUP bit described below. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written, writing 1 has no effect. Host mode This bit is set by the hardware when an IN transaction is successfully completed on this channel. The software can only clear this bit. If the CTRM bit in USB_CNTR register is set a generic interrupt condition is generated together with the channel related flag, which is always activated. - A transaction ended with a NAK sets this bit and NAK answer is reported to application reading the NAK state from the STATRX field of this register. One NAKed transaction keeps pending and is automatically retried by the host at the next frame, or the host can immediately retry by resetting STATRX state to VALID. - A transaction ended by STALL handshake sets this bit and the STALL answer is reported to application reading the STALL state from the STATRX field of this register. Host application should consequently disable the channel and re-enumerate. - A transaction ended with ACK handshake sets this bit If double buffering is disabled, ACK answer is reported by application reading the DISABLE state from the STATRX field of this register. Host application should read received data from USBRAM and re-arm the channel by writing VALID to the STATRX field of this register. If double buffering is enabled, ACK answer is reported by application reading VALID state from the STATRX field of this register. Host application should read received data from USBRAM and toggle the DTOGTX bit of this register. - A transaction ended with error sets this bit. Errors can be seen via the bits ERR_RX (host mode only). This bit is read/write but only 0 can be written, writing 1 has no effect..
Bits 16-22: Host mode Device address assigned to the endpoint during the enumeration process..
Bit 23: Host mode This bit is set by the hardware when a device responds with a NAK. Software can use this bit to monitor the number of NAKs received from a device..
Bit 24: Low speed endpoint host with HUB only Host mode This bit is set by the software to send an LS transaction to the corresponding endpoint..
Bit 25: Received error for an OUT/SETUP transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an OUT or SETUP transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..
Bit 26: Received error for an IN transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an IN transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..
Bits 27-28: Three errors for an OUT or SETUP transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an OUT transaction. THREE_ERR_TX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.
Bits 29-30: Three errors for an IN transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an IN transaction. THREE_ERR_RX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.
Offset: 0x40, size: 32, reset: 0x00000003, access: Unspecified
4/17 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
HOST
rw |
THR512M
rw |
||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
CTRM
rw |
PMAOVRM
rw |
ERRM
rw |
WKUPM
rw |
SUSPM
rw |
RST_DCONM
rw |
SOFM
rw |
ESOFM
rw |
L1REQM
rw |
L1RESUME
rw |
L2RESUME
rw |
SUSPEN
rw |
SUSPRDY
r |
PDWN
rw |
USBRST
rw |
Bit 0: USB Reset Software can set this bit to reset the USB core, exactly as it happens when receiving a RESET signaling on the USB.The USB peripheral, in response to a RESET, resets its internal protocol state machine. Reception and transmission are disabled until the RST_DCON bit is cleared. All configuration registers do not reset: the microcontroller must explicitly clear these registers (this is to ensure that the RST_DCON interrupt can be safely delivered, and any transaction immediately followed by a RESET can be completed). The function address and endpoint registers are reset by an USB reset event. Software sets this bit to drive USB reset state on the bus and initialize the device. USB reset terminates as soon as this bit is cleared by software..
Allowed values:
0: NoEffect: No effect
1: Reset: USB core is under reset / USB reset driven
Bit 1: Power down This bit is used to completely switch off all USB-related analog parts if it is required to completely disable the USB peripheral for any reason. When this bit is set, the USB peripheral is disconnected from the transceivers and it cannot be used..
Bit 2: Suspend state effective This bit is set by hardware as soon as the suspend state entered through the SUSPEN control gets internally effective. In this state USB activity is suspended, USB clock is gated, transceiver is set in low power mode by disabling the differential receiver. Only asynchronous wakeup logic and single ended receiver is kept alive to detect remote wakeup or resume events. Software must poll this bit to confirm it to be set before any STOP mode entry. This bit is cleared by hardware simultaneously to the WAKEUP flag being set..
Bit 3: Suspend state enable Software can set this bit when the SUSP interrupt is received, which is issued when no traffic is received by the USB peripheral for 3ms. Software can also set this bit when the L1REQ interrupt is received with positive acknowledge sent. As soon as the suspend state is propagated internally all device activity is stopped, USB clock is gated, USB transceiver is set into low power mode and the SUSPRDY bit is set by hardware. In the case that device application wants to pursue more aggressive power saving by stopping the USB clock source and by moving the microcontroller to stop mode, as in the case of bus powered device application, it must first wait few cycles to see the SUSPRDY=1 acknowledge the suspend request. This bit is cleared by hardware simultaneous with the WAKEUP flag set. Software can set this bit when host application has nothing scheduled for the next frames and wants to enter long term power saving. When set, it stops immediately SOF generation and any other host activity, gates the USB clock and sets the transceiver in low power mode. If any USB transaction is on-going at the time SUSPEN is set, suspend is entered at the end of the current transaction. As soon as suspend state is propagated internally and gets effective the SUSPRDY bit is set. In the case that host application wants to pursue more aggressive power saving by stopping the USB clock source and by moving the micro-controller to STOP mode, it must first wait few cycles to see SUSPRDY=1 acknowledge to the suspend request. This bit is cleared by hardware simultaneous with the WAKEUP flag set..
Allowed values:
0: NoEffect: No effect
1: Suspend: Enter L1/L2 suspend
Bit 4: L2 remote wakeup / resume driver Device mode The microcontroller can set this bit to send remote wake-up signaling to the host. It must be activated, according to USB specifications, for no less than 1ms and no more than 15ms after which the host PC is ready to drive the resume sequence up to its end. Host mode Software sets this bit to send resume signaling to the device. Software clears this bit to send end of resume to device and restart SOF generation. In the context of remote wake up, this bit is to be set following the WAKEUP interrupt..
Bit 5: L1 remote wakeup / resume driver Device mode.
Allowed values:
0: NoEffect: No effect
1: WakeupResume: Send 50us remote-wakeup signaling to host / Send L1 resume signaling to device
Bit 7: LPM L1 state request interrupt mask.
Bit 8: Expected start of frame interrupt mask.
Bit 9: Start of frame interrupt mask.
Bit 10: USB reset request (Device mode) or device connect/disconnect (Host mode) interrupt mask.
Bit 11: Suspend mode interrupt mask.
Bit 12: Wakeup interrupt mask.
Bit 13: Error interrupt mask.
Bit 14: Packet memory area over / underrun interrupt mask.
Bit 15: Correct transfer interrupt mask.
Bit 16: 512 byte threshold interrupt mask.
Bit 31: HOST mode HOST bit selects betweens host or device USB mode of operation. It must be set before enabling the USB peripheral by the function enable bit..
USB interrupt status register
Offset: 0x44, size: 32, reset: 0x00000000, access: Unspecified
5/14 fields covered.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
LS_DCON
r |
DCON_STAT
r |
THR512
rw |
|||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
CTR
r |
PMAOVR
rw |
ERR
rw |
WKUP
rw |
SUSP
rw |
RST_DCON
rw |
SOF
rw |
ESOF
rw |
L1REQ
rw |
DIR
r |
IDN
r |
Bits 0-3: Device Endpoint / host channel identification number These bits are written by the hardware according to the host channel or device endpoint number, which generated the interrupt request. If several endpoint/channel transactions are pending, the hardware writes the identification number related to the endpoint/channel having the highest priority defined in the following way: two levels are defined, in order of priority: isochronous and double-buffered bulk channels/endpoints are considered first and then the others are examined. If more than one endpoint/channel from the same set is requesting an interrupt, the IDN bits in USB_ISTR register are assigned according to the lowest requesting register, CHEP0R having the highest priority followed by CHEP1R and so on. The application software can assign a register to each endpoint/channel according to this priority scheme, so as to order the concurring endpoint/channel requests in a suitable way. These bits are read only..
Bit 4: Direction of transaction This bit is written by the hardware according to the direction of the successful transaction, which generated the interrupt request. If DIR bit=0, VTTX bit is set in the USB_CHEPnR register related to the interrupting endpoint. The interrupting transaction is of IN type (data transmitted by the USB peripheral to the host PC). If DIR bit=1, VTRX bit or both VTTX/VTRX are set in the USB_CHEPnR register related to the interrupting endpoint. The interrupting transaction is of OUT type (data received by the USB peripheral from the host PC) or two pending transactions are waiting to be processed. This information can be used by the application software to access the USB_CHEPnR bits related to the triggering transaction since it represents the direction having the interrupt pending. This bit is read-only..
Bit 7: LPM L1 state request Device mode This bit is set by the hardware when LPM command to enter the L1 state is successfully received and acknowledged. This bit is read/write but only 0 can be written and writing 1 has no effect..
Bit 8: Expected start of frame Device mode This bit is set by the hardware when an SOF packet is expected but not received. The host sends an SOF packet each 1ms, but if the device does not receive it properly, the suspend timer issues this interrupt. If three consecutive ESOF interrupts are generated (for example three SOF packets are lost) without any traffic occurring in between, a SUSP interrupt is generated. This bit is set even when the missing SOF packets occur while the suspend timer is not yet locked. This bit is read/write but only 0 can be written and writing 1 has no effect..
Bit 9: Start of frame This bit signals the beginning of a new USB frame and it is set when a SOF packet arrives through the USB bus. The interrupt service routine may monitor the SOF events to have a 1ms synchronization event to the USB host and to safely read the USB_FNR register which is updated at the SOF packet reception (this could be useful for isochronous applications). This bit is read/write but only 0 can be written and writing 1 has no effect..
Bit 10: USB reset request (Device mode) or device connect/disconnect (Host mode) Device mode This bit is set by hardware when an USB reset is released by the host and the bus returns to idle. USB reset state is internally detected after the sampling of 60 consecutive SE0 cycles. Host mode This bit is set by hardware when device connection or device disconnection is detected. Device connection is signaled after J state is sampled for 22 cycles consecutively from unconnected state. Device disconnection is signaled after SE0 state is seen for 22 bit times consecutively from connected state..
Bit 11: Suspend mode request Device mode This bit is set by the hardware when no traffic has been received for 3ms, indicating a suspend mode request from the USB bus. The suspend condition check is enabled immediately after any USB reset and it is disabled by the hardware when the suspend mode is active (SUSPEN=1) until the end of resume sequence. This bit is read/write but only 0 can be written and writing 1 has no effect..
Bit 12: Wakeup This bit is set to 1 by the hardware when, during suspend mode, activity is detected that wakes up the USB peripheral. This event asynchronously clears the SUSPRDY bit in the CTLR register and activates the USB_WAKEUP line, which can be used to notify the rest of the device (for example wakeup unit) about the start of the resume process. This bit is read/write but only 0 can be written and writing 1 has no effect..
Bit 13: Error This flag is set whenever one of the errors listed below has occurred: NANS: No ANSwer. The timeout for a host response has expired. CRC: Cyclic redundancy check error. One of the received CRCs, either in the token or in the data, was wrong. BST: Bit stuffing error. A bit stuffing error was detected anywhere in the PID, data, and/or CRC. FVIO: Framing format violation. A non-standard frame was received (EOP not in the right place, wrong token sequence, etc.). The USB software can usually ignore errors, since the USB peripheral and the PC host manage retransmission in case of errors in a fully transparent way. This interrupt can be useful during the software development phase, or to monitor the quality of transmission over the USB bus, to flag possible problems to the user (for example loose connector, too noisy environment, broken conductor in the USB cable and so on). This bit is read/write but only 0 can be written and writing 1 has no effect..
Bit 14: Packet memory area over / underrun This bit is set if the microcontroller has not been able to respond in time to an USB memory request. The USB peripheral handles this event in the following way: During reception an ACK handshake packet is not sent, during transmission a bit-stuff error is forced on the transmitted stream; in both cases the host retries the transaction. The PMAOVR interrupt should never occur during normal operations. Since the failed transaction is retried by the host, the application software has the chance to speed-up device operations during this interrupt handling, to be ready for the next transaction retry; however this does not happen during isochronous transfers (no isochronous transaction is anyway retried) leading to a loss of data in this case. This bit is read/write but only 0 can be written and writing 1 has no effect..
Bit 15: Completed transfer in host mode This bit is set by the hardware to indicate that an endpoint/channel has successfully completed a transaction; using DIR and IDN bits software can determine which endpoint/channel requested the interrupt. This bit is read-only..
Bit 16: 512 byte threshold interrupt This bit is set to 1 by the hardware when 512 bytes have been transmitted or received during isochronous transfers. This bit is read/write but only 0 can be written and writing 1 has no effect. Note that no information is available to indicate the associated channel/endpoint, however in practice only one ISO endpoint/channel with such large packets can be supported, so that channel..
Bit 29: Device connection status Host mode: This bit contains information about device connection status. It is set by hardware when a LS/FS device is attached to the host while it is reset when the device is disconnected..
Bit 30: Low speed device connected Host mode: This bit is set by hardware when an LS device connection is detected. Device connection is signaled after LS J-state is sampled for 22 consecutive cycles of the USB clock (48MHz) from the unconnected state..
USB frame number register
Offset: 0x48, size: 32, reset: 0x00000000, access: Unspecified
5/5 fields covered.
Bits 0-10: Frame number This bit field contains the 11-bits frame number contained in the last received SOF packet. The frame number is incremented for every frame sent by the host and it is useful for isochronous transfers. This bit field is updated on the generation of an SOF interrupt..
Bits 11-12: Lost SOF Device mode These bits are written by the hardware when an ESOF interrupt is generated, counting the number of consecutive SOF packets lost. At the reception of an SOF packet, these bits are cleared..
Bit 13: Locked Device mode This bit is set by the hardware when at least two consecutive SOF packets have been received after the end of an USB reset condition or after the end of an USB resume sequence. Once locked, the frame timer remains in this state until an USB reset or USB suspend event occurs..
Bit 14: Receive data - line status This bit can be used to observe the status of received data minus upstream port data line. It can be used during end-of-suspend routines to help determining the wakeup event..
Bit 15: Receive data + line status This bit can be used to observe the status of received data plus upstream port data line. It can be used during end-of-suspend routines to help determining the wakeup event..
Offset: 0x4c, size: 32, reset: 0x00000000, access: Unspecified
0/2 fields covered.
Bits 0-6: Device address Device mode These bits contain the USB function address assigned by the host PC during the enumeration process. Both this field and the endpoint/channel address (EA) field in the associated USB_CHEPnR register must match with the information contained in a USB token in order to handle a transaction to the required endpoint. Host mode These bits contain the address transmitted with the LPM transaction.
Bit 7: Enable function This bit is set by the software to enable the USB Device. The address of this device is contained in the following ADD[6:0] bits. If this bit is at 0 no transactions are handled, irrespective of the settings of USB_CHEPnR registers..
Offset: 0x54, size: 32, reset: 0x00000000, access: Unspecified
3/4 fields covered.
Bit 0: LPM support enable Device mode This bit is set by the software to enable the LPM support within the USB Device. If this bit is at 0 no LPM transactions are handled..
Bit 1: LPM token acknowledge enable Device mode: The NYET/ACK is returned only on a successful LPM transaction: No errors in both the EXT token and the LPM token (else ERROR) A valid bLinkState = 0001B (L1) is received (else STALL).
Allowed values:
0: Nyet: The valid LPM Token will be NYET / NYET answer
1: Ack: The valid LPM Token will be ACK / ACK answer
Bit 3: bRemoteWake value Device mode This bit contains the bRemoteWake value received with last ACKed LPM Token.
Bits 4-7: BESL value Device mode These bits contain the BESL value received with last ACKed LPM Token.
Offset: 0x58, size: 32, reset: 0x00000000, access: Unspecified
4/9 fields covered.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DPPU_DPD
rw |
PS2DET
r |
SDET
r |
PDET
r |
DCDET
r |
SDEN
rw |
PDEN
rw |
DCDEN
rw |
BCDEN
rw |
Bit 0: Battery charging detector (BCD) enable Device mode This bit is set by the software to enable the BCD support within the USB Device. When enabled, the USB PHY is fully controlled by BCD and cannot be used for normal communication. Once the BCD discovery is finished, the BCD should be placed in OFF mode by clearing this bit to 0 in order to allow the normal USB operation..
Bit 1: Data contact detection (DCD) mode enable Device mode This bit is set by the software to put the BCD into DCD mode. Only one detection mode (DCD, PD, SD or OFF) should be selected to work correctly..
Bit 2: Primary detection (PD) mode enable Device mode This bit is set by the software to put the BCD into PD mode. Only one detection mode (DCD, PD, SD or OFF) should be selected to work correctly..
Bit 3: Secondary detection (SD) mode enable Device mode This bit is set by the software to put the BCD into SD mode. Only one detection mode (DCD, PD, SD or OFF) should be selected to work correctly..
Bit 4: Data contact detection (DCD) status Device mode This bit gives the result of DCD..
Bit 5: Primary detection (PD) status Device mode This bit gives the result of PD..
Bit 6: Secondary detection (SD) status Device mode This bit gives the result of SD..
Bit 7: DM pull-up detection status Device mode This bit is active only during PD and gives the result of comparison between DM voltage level and VLGC threshold. In normal situation, the DM level should be below this threshold. If it is above, it means that the DM is externally pulled high. This can be caused by connection to a PS2 port (which pulls-up both DP and DM lines) or to some proprietary charger not following the BCD specification..
Bit 15: DP pull-up / DPDM pull-down Device mode This bit is set by software to enable the embedded pull-up on DP line. Clearing it to 0 can be used to signal disconnect to the host when needed by the user software. Host mode This bit is set by software to enable the embedded pull-down on DP and DM lines..
0x40010030: System configuration controller
1/5 fields covered.
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 | CSR | ||||||||||||||||||||||||||||||||
0x4 | CCR |
VREFBUF control and status register
Offset: 0x0, size: 32, reset: 0x00000002, access: Unspecified
1/4 fields covered.
Bit 0: Voltage reference buffer mode enable This bit is used to enable the voltage reference buffer mode..
Bit 1: High impedance mode This bit controls the analog switch to connect or not the VREF+ pin. Refer to for the mode descriptions depending on ENVR bit configuration..
Bit 2: Voltage reference scale This bit selects the value generated by the voltage reference buffer..
Bit 3: Voltage reference buffer ready.
VREFBUF calibration control register
Offset: 0x4, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TRIM
rw |
0x40002c00: System window watchdog
6/6 fields covered.
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 | CR | ||||||||||||||||||||||||||||||||
0x4 | CFR | ||||||||||||||||||||||||||||||||
0x8 | SR |
Control register
Offset: 0x0, size: 32, reset: 0x0000007F, access: read-write
2/2 fields covered.
Bits 0-6: 7-bit counter (MSB to LSB) These bits contain the value of the watchdog counter, decremented every (4096 x 2WDGTB[1:0]) PCLK cycles. A reset is produced when it is decremented from 0x40 to 0x3F (T6 becomes cleared)..
Allowed values: 0x0-0x7f
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: Disabled: Watchdog disabled
1: Enabled: Watchdog enabled
Configuration register
Offset: 0x4, size: 32, reset: 0x0000007F, access: read-write
3/3 fields covered.
Bits 0-6: 7-bit window value These bits contain the window value to be compared with the down-counter..
Allowed values: 0x0-0x7f
Bit 9: Early wakeup interrupt When set, an interrupt occurs whenever the counter reaches the value 0x40. This interrupt is only cleared by hardware after a reset..
Allowed values:
1: Enable: interrupt occurs whenever the counter reaches the value 0x40
Bits 11-13: Timer base The timebase of the prescaler can be modified as follows:.
Allowed values:
0: Div1: Counter clock (PCLK1 div 4096) div 1
1: Div2: Counter clock (PCLK1 div 4096) div 2
2: Div4: Counter clock (PCLK1 div 4096) div 4
3: Div8: Counter clock (PCLK1 div 4096) div 8
4: Div16: Counter clock (PCLK1 div 4096) div 16
5: Div32: Counter clock (PCLK1 div 4096) div 32
6: Div64: Counter clock (PCLK1 div 4096) div 64
7: Div128: Counter clock (PCLK1 div 4096) div 128
Status register
Offset: 0x8, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
EWIF
rw |