Puya
Puya
PY32F001xx
PY32F0
1.0.0
Arm 32-bit Cortex-M0+ Microcontroller based device, CPU clock up to 48 MHz.
CM0+
r0p1
little
false
false
4
false
8
32
32
read-write
0x0
0xFFFFFFFF
COMP1
Comparator 1
COMP
0x40010200
0x0
0x10
registers
ADC_COMP
ADC and COMP Interrupts
12
CSR
CSR
COMP control and status register
0x0
EN
COMP enable bit
[0:0]
INNSEL
desc INNSEL
[5:5]
WINMODE
Comparator non-inverting input selector for window mode
[11:11]
POLARITY
Comparator polarity selector
[15:15]
VCDIV
VCDIV
[25:22]
VCSEL
VCSEL
[27:27]
COMP_OUT
Comparator output status
[30:30]
FR
FR
Comparator Filter register
0x4
FLTEN1
Filter enable bit
[0:0]
FLTCNT1
Comparator filter and counter
[31:16]
COMP2
Comparator2
COMP
0x40010210
0x0
0x10
registers
ADC_COMP
ADC and COMP Interrupt
12
CSR
CSR
COMP control and status register
0x0
EN
COMP enable bit
[0:0]
INMSEL
Comparator signal selector for inverting input INM
[5:5]
INPSEL
Comparator signal selector for non-inverting input
[9:9]
POLARITY
Comparator polarity selector
[15:15]
COMP_OUT
Comparator output status
[30:30]
FR
FR
Comparator Filter register
0x4
FLTEN2
Filter enable bit
[0:0]
FLTCNT2
Comparator filter and counter
[31:16]
CRC
CRC calculation unit
CRC
0x40023000
0x0
0x400
registers
DR
DR
Data register
0x0
0xFFFFFFFF
DR
Data Register
[31:0]
IDR
IDR
Independent Data register
0x4
IDR
Independent Data register
[7:0]
CR
CR
Control register
0x8
write-only
RESET
Reset bit
[0:0]
DBGMCU
Debug support
DBGMCU
0x40015800
0x0
0x400
registers
IDCODE
IDCODE
MCU Device ID Code Register
0x0
read-only
REV_ID
REV_ID
[31:0]
CR
CR
Debug MCU Configuration Register
0x4
DBG_SLEEP
Debug Sleep Mode
[0:0]
DBG_STOP
Debug Stop Mode
[1:1]
APB_FZ1
APB_FZ1
APB Freeze Register1
0x8
DBG_IWDG_STOP
Debug Independent Wachdog stopped whenCore is halted
[12:12]
DBG_LPTIM_STOP
Debug LPTIM stopped when Core ishalted
[31:31]
APB_FZ2
APB_FZ2
APB Freeze Register2
0xC
DBG_TIMER1_STOP
Debug Timer 1 stopped when Core ishalted
[11:11]
DBG_TIM14_STOP
Debug TIM 14 stopped whenCore is halted
[15:15]
EXTI
External interrupt/event controller
EXTI
0x40021800
0x0
0x400
registers
EXTI0_1
EXTI Line 0 and 1 Interrupt
5
EXTI2_3
EXTI Line 2 and 3 Interrupt
6
EXTI4_15
EXTI Line 4 to 15 Interrupt
7
RTSR
RTSR
EXTI rising trigger selection register
0x0
RT0
Rising trigger event configuration bit of Configurable Event input
[0:0]
RT1
Rising trigger event configuration bit of Configurable Event input
[1:1]
RT2
Rising trigger event configuration bit of Configurable Event input
[2:2]
RT3
Rising trigger event configuration bit of Configurable Event input
[3:3]
RT4
Rising trigger event configuration bit of Configurable Event input
[4:4]
RT5
Rising trigger event configuration bit of Configurable Event input
[5:5]
RT6
Rising trigger event configuration bit of Configurable Event input
[6:6]
RT7
Rising trigger event configuration bit of Configurable Event input
[7:7]
FTSR
FTSR
EXTI falling trigger selection register
0x4
FT0
Falling trigger event configuration bit of Configurable Event input
[0:0]
FT1
Falling trigger event configuration bit of Configurable Event input
[1:1]
FT2
Falling trigger event configuration bit of Configurable Event input
[2:2]
FT3
Falling trigger event configuration bit of Configurable Event input
[3:3]
FT4
Falling trigger event configuration bit of Configurable Event input
[4:4]
FT5
Falling trigger event configuration bit of Configurable Event input
[5:5]
FT6
Falling trigger event configuration bit of Configurable Event input
[6:6]
FT7
Falling trigger event configuration bit of Configurable Event input
[7:7]
SWIER
SWIER
EXTI software interrupt event register
0x8
SWI0
Rising trigger event configuration bit of Configurable Event input
[0:0]
SWI1
Rising trigger event configuration bit of Configurable Event input
[1:1]
SWI2
Rising trigger event configuration bit of Configurable Event input
[2:2]
SWI3
Rising trigger event configuration bit of Configurable Event input
[3:3]
SWI4
Rising trigger event configuration bit of Configurable Event input
[4:4]
SWI5
Rising trigger event configuration bit of Configurable Event input
[5:5]
SWI6
Rising trigger event configuration bit of Configurable Event input
[6:6]
SWI7
Rising trigger event configuration bit of Configurable Event input
[7:7]
PR
PR
EXTI pending register
0xC
PR0
configurable event inputs x rising edge Pending bit.
[0:0]
PR1
configurable event inputs x rising edge Pending bit.
[1:1]
PR2
configurable event inputs x rising edge Pending bit.
[2:2]
PR3
configurable event inputs x rising edge Pending bit.
[3:3]
PR4
configurable event inputs x rising edge Pending bit.
[4:4]
PR5
configurable event inputs x rising edge Pending bit.
[5:5]
PR6
configurable event inputs x rising edge Pending bit.
[6:6]
PR7
configurable event inputs x rising edge Pending bit.
[7:7]
EXTICR1
EXTICR1
EXTI external interrupt selection register
0x60
EXTI0
GPIO port selection
[1:0]
EXTI1
GPIO port selection
[9:8]
EXTI2
GPIO port selection
[17:16]
EXTI3
GPIO port selection
[25:24]
EXTICR2
EXTICR2
EXTI external interrupt selection register
0x64
EXTI4
GPIO port selection
[1:0]
EXTI5
GPIO port selection
[8:8]
EXTI6
GPIO port selection
[16:16]
EXTI7
GPIO port selection
[24:24]
IMR
IMR
EXTI CPU wakeup with interrupt mask register
0x80
0xFFF80000
IM0
CPU wakeup with interrupt mask on event input
[0:0]
IM1
CPU wakeup with interrupt mask on event input
[1:1]
IM2
CPU wakeup with interrupt mask on event input
[2:2]
IM3
CPU wakeup with interrupt mask on event input
[3:3]
IM4
CPU wakeup with interrupt mask on event input
[4:4]
IM5
CPU wakeup with interrupt mask on event input
[5:5]
IM6
CPU wakeup with interrupt mask on event input
[6:6]
IM7
CPU wakeup with interrupt mask on event input
[7:7]
IM29
CPU wakeup with interrupt mask on event input
[29:29]
EMR
EMR
EXTI CPU wakeup with event mask register
0x84
EM0
CPU wakeup with event mask on event input
[0:0]
EM1
CPU wakeup with event mask on event input
[1:1]
EM2
CPU wakeup with event mask on event input
[2:2]
EM3
CPU wakeup with event mask on event input
[3:3]
EM4
CPU wakeup with event mask on event input
[4:4]
EM5
CPU wakeup with event mask on event input
[5:5]
EM6
CPU wakeup with event mask on event input
[6:6]
EM7
CPU wakeup with event mask on event input
[7:7]
EM29
CPU wakeup with event mask on event input
[29:29]
FLASH
Flash
Flash
0x40022000
0x0
0x400
registers
FLASH
FLASH global Interrupt
3
ACR
ACR
Access control register
0x0
0x600
LATENCY
Latency
[0:0]
KEYR
KEYR
Flash key register
0x8
write-only
KEY
Flash key
[31:0]
OPTKEYR
OPTKEYR
Option byte key register
0xC
write-only
OPTKEY
Option byte key
[31:0]
SR
SR
Status register
0x10
EOP
End of operation
[0:0]
WRPERR
Write protected error
[4:4]
OPTVERR
Option and Engineering bits loading validity error
[15:15]
BSY
Busy
[16:16]
CR
CR
Flash control register
0x14
0xC0000000
PG
Programming
[0:0]
PER
Page erase
[1:1]
MER
Mass erase
[2:2]
SER
Sector erase
[11:11]
OPTSTRT
Option byte program start
[17:17]
PGTSTRT
Flash main memory program start
[19:19]
EOPIE
End of operation interrupt enable
[24:24]
ERRIE
Error interrupt enable
[25:25]
OBL_LAUNCH
Force the option byte loading
[27:27]
OPTLOCK
Options Lock
[30:30]
LOCK
FLASH_CR Lock
[31:31]
OPTR
OPTR
Flash option register
0x20
0x4F55B0AA
RDP
Read Protection
[7:0]
BOREN
BOR reset Level
[8:8]
BORF_LEV
These bits contain the VDD supply level threshold that activates the reset
[11:9]
IWDG_SW
Independent watchdog selection
[12:12]
SWD_MODE
SWD_MODE
[13:13]
NRST_MODE
NRST_MODE
[14:14]
IWDG_STOP
IWDG_STOP
[15:15]
SDKR
SDKR
Flash SDK address register
0x24
0xFFE0001F
SDK_STRT
SDK area start address
[3:0]
SDK_END
SDK area end address
[11:8]
BTCR
BTCR
FLASH boot control register
0x28
BOOT_SIZE
desc BOOT_SIZE
[2:0]
BOOT0
desc BOOT0
[14:14]
NBOOT1
desc NBOOT1
[15:15]
WRPR
WRPR
Flash WRP address register
0x2C
0xFFFF
WRP
WRP address
[5:0]
STCR
STCR
Flash sleep time config register
0x90
0x6400
SLEEP_EN
FLash sleep enable
[0:0]
SLEEP_TIME
FLash sleep time configuration(counter based on HSI_10M)
[15:8]
TS0
TS0
Flash TS0 register
0x100
0xB4
TS0
FLash TS0 register
[8:0]
TS1
TS1
Flash TS1 register
0x104
0x1B0
TS1
FLash TS1 register
[9:0]
TS2P
TS2P
Flash TS2P register
0x108
0xB4
TS2P
FLash TS2P register
[8:0]
TPS3
TPS3
Flash TPS3 register
0x10C
0x6C0
TPS3
FLash TPS3 register
[11:0]
TS3
TS3
Flash TS3 register
0x110
0xB4
TS3
FLash TS3 register
[8:0]
PERTPE
PERTPE
Flash PERTPE register
0x114
0x14820
PERTPE
FLash PERTPE register
[17:0]
SMERTPE
SMERTPE
Flash SMERTPE register
0x118
0x14820
SMERTPE
FLash SMERTPE register
[17:0]
PRGTPE
PRGTPE
Flash PRGTPE register
0x11C
0x5DC0
PRGTPE
FLash PRGTPE register
[15:0]
PRETPE
PRETPE
Flash PRETPE register
0x120
0x12C0
PRETPE
FLash PRETPE register
[13:0]
GPIOA
General-purpose I/Os
GPIO
0x50000000
0x0
0x400
registers
MODER
MODER
GPIO port mode register
0x0
0xEBFFFFFF
MODE0
Port x configuration bits (y = 0..15)
[1:0]
MODE1
Port x configuration bits (y = 0..15)
[3:2]
MODE2
Port x configuration bits (y = 0..15)
[5:4]
MODE3
Port x configuration bits (y = 0..15)
[7:6]
MODE4
Port x configuration bits (y = 0..15)
[9:8]
MODE5
Port x configuration bits (y = 0..15)
[11:10]
MODE6
Port x configuration bits (y = 0..15)
[13:12]
MODE7
Port x configuration bits (y = 0..15)
[15:14]
MODE8
Port x configuration bits (y = 0..15)
[17:16]
MODE9
Port x configuration bits (y = 0..15)
[19:18]
MODE10
Port x configuration bits (y = 0..15)
[21:20]
MODE11
Port x configuration bits (y = 0..15)
[23:22]
MODE12
Port x configuration bits (y = 0..15)
[25:24]
MODE13
Port x configuration bits (y = 0..15)
[27:26]
MODE14
Port x configuration bits (y = 0..15)
[29:28]
MODE15
Port x configuration bits (y = 0..15)
[31:30]
OTYPER
OTYPER
GPIO port output type register
0x4
OT0
Port x configuration bits (y = 0..15)
[0:0]
OT1
Port x configuration bits (y = 0..15)
[1:1]
OT2
Port x configuration bits (y = 0..15)
[2:2]
OT3
Port x configuration bits (y = 0..15)
[3:3]
OT4
Port x configuration bits (y = 0..15)
[4:4]
OT5
Port x configuration bits (y = 0..15)
[5:5]
OT6
Port x configuration bits (y = 0..15)
[6:6]
OT7
Port x configuration bits (y = 0..15)
[7:7]
OT8
Port x configuration bits (y = 0..15)
[8:8]
OT9
Port x configuration bits (y = 0..15)
[9:9]
OT10
Port x configuration bits (y = 0..15)
[10:10]
OT11
Port x configuration bits (y = 0..15)
[11:11]
OT12
Port x configuration bits (y = 0..15)
[12:12]
OT13
Port x configuration bits (y = 0..15)
[13:13]
OT14
Port x configuration bits (y = 0..15)
[14:14]
OT15
Port x configuration bits (y = 0..15)
[15:15]
OSPEEDR
OSPEEDR
GPIO port output speed register
0x8
0xC000000
OSPEED0
Port x configuration bits (y = 0..15)
[1:0]
OSPEED1
Port x configuration bits (y = 0..15)
[3:2]
OSPEED2
Port x configuration bits (y = 0..15)
[5:4]
OSPEED3
Port x configuration bits (y = 0..15)
[7:6]
OSPEED4
Port x configuration bits (y = 0..15)
[9:8]
OSPEED5
Port x configuration bits (y = 0..15)
[11:10]
OSPEED6
Port x configuration bits (y = 0..15)
[13:12]
OSPEED7
Port x configuration bits (y = 0..15)
[15:14]
OSPEED8
Port x configuration bits (y = 0..15)
[17:16]
OSPEED9
Port x configuration bits (y = 0..15)
[19:18]
OSPEED10
Port x configuration bits (y = 0..15)
[21:20]
OSPEED11
Port x configuration bits (y = 0..15)
[23:22]
OSPEED12
Port x configuration bits (y = 0..15)
[25:24]
OSPEED13
Port x configuration bits (y = 0..15)
[27:26]
OSPEED14
Port x configuration bits (y = 0..15)
[29:28]
OSPEED15
Port x configuration bits (y = 0..15)
[31:30]
PUPDR
PUPDR
GPIO port pull-up/pull-down register
0xC
0x24000000
PUPD0
Port x configuration bits (y = 0..15)
[1:0]
PUPD1
Port x configuration bits (y = 0..15)
[3:2]
PUPD2
Port x configuration bits (y = 0..15)
[5:4]
PUPD3
Port x configuration bits (y = 0..15)
[7:6]
PUPD4
Port x configuration bits (y = 0..15)
[9:8]
PUPD5
Port x configuration bits (y = 0..15)
[11:10]
PUPD6
Port x configuration bits (y = 0..15)
[13:12]
PUPD7
Port x configuration bits (y = 0..15)
[15:14]
PUPD8
Port x configuration bits (y = 0..15)
[17:16]
PUPD9
Port x configuration bits (y = 0..15)
[19:18]
PUPD10
Port x configuration bits (y = 0..15)
[21:20]
PUPD11
Port x configuration bits (y = 0..15)
[23:22]
PUPD12
Port x configuration bits (y = 0..15)
[25:24]
PUPD13
Port x configuration bits (y = 0..15)
[27:26]
PUPD14
Port x configuration bits (y = 0..15)
[29:28]
PUPD15
Port x configuration bits (y = 0..15)
[31:30]
IDR
IDR
GPIO port input data register
0x10
read-only
ID0
Port input data (y = 0..15)
[0:0]
ID1
Port input data (y = 0..15)
[1:1]
ID2
Port input data (y = 0..15)
[2:2]
ID3
Port input data (y = 0..15)
[3:3]
ID4
Port input data (y = 0..15)
[4:4]
ID5
Port input data (y = 0..15)
[5:5]
ID6
Port input data (y = 0..15)
[6:6]
ID7
Port input data (y = 0..15)
[7:7]
ID8
Port input data (y = 0..15)
[8:8]
ID9
Port input data (y = 0..15)
[9:9]
ID10
Port input data (y = 0..15)
[10:10]
ID11
Port input data (y = 0..15)
[11:11]
ID12
Port input data (y = 0..15)
[12:12]
ID13
Port input data (y = 0..15)
[13:13]
ID14
Port input data (y = 0..15)
[14:14]
ID15
Port input data (y = 0..15)
[15:15]
ODR
ODR
GPIO port output data register
0x14
OD0
Port output data (y = 0..15)
[0:0]
OD1
Port output data (y = 0..15)
[1:1]
OD2
Port output data (y = 0..15)
[2:2]
OD3
Port output data (y = 0..15)
[3:3]
OD4
Port output data (y = 0..15)
[4:4]
OD5
Port output data (y = 0..15)
[5:5]
OD6
Port output data (y = 0..15)
[6:6]
OD7
Port output data (y = 0..15)
[7:7]
OD8
Port output data (y = 0..15)
[8:8]
OD9
Port output data (y = 0..15)
[9:9]
OD10
Port output data (y = 0..15)
[10:10]
OD11
Port output data (y = 0..15)
[11:11]
OD12
Port output data (y = 0..15)
[12:12]
OD13
Port output data (y = 0..15)
[13:13]
OD14
Port output data (y = 0..15)
[14:14]
OD15
Port output data (y = 0..15)
[15:15]
BSRR
BSRR
GPIO port bit set/reset register
0x18
write-only
BS0
Port x set bit y (y= 0..15)
[0:0]
BS1
Port x set bit y (y= 0..15)
[1:1]
BS2
Port x set bit y (y= 0..15)
[2:2]
BS3
Port x set bit y (y= 0..15)
[3:3]
BS4
Port x set bit y (y= 0..15)
[4:4]
BS5
Port x set bit y (y= 0..15)
[5:5]
BS6
Port x set bit y (y= 0..15)
[6:6]
BS7
Port x set bit y (y= 0..15)
[7:7]
BS8
Port x set bit y (y= 0..15)
[8:8]
BS9
Port x set bit y (y= 0..15)
[9:9]
BS10
Port x set bit y (y= 0..15)
[10:10]
BS11
Port x set bit y (y= 0..15)
[11:11]
BS12
Port x set bit y (y= 0..15)
[12:12]
BS13
Port x set bit y (y= 0..15)
[13:13]
BS14
Port x set bit y (y= 0..15)
[14:14]
BS15
Port x set bit y (y= 0..15)
[15:15]
BR0
Port x set bit y (y= 0..15)
[16:16]
BR1
Port x reset bit y (y = 0..15)
[17:17]
BR2
Port x reset bit y (y = 0..15)
[18:18]
BR3
Port x reset bit y (y = 0..15)
[19:19]
BR4
Port x reset bit y (y = 0..15)
[20:20]
BR5
Port x reset bit y (y = 0..15)
[21:21]
BR6
Port x reset bit y (y = 0..15)
[22:22]
BR7
Port x reset bit y (y = 0..15)
[23:23]
BR8
Port x reset bit y (y = 0..15)
[24:24]
BR9
Port x reset bit y (y = 0..15)
[25:25]
BR10
Port x reset bit y (y = 0..15)
[26:26]
BR11
Port x reset bit y (y = 0..15)
[27:27]
BR12
Port x reset bit y (y = 0..15)
[28:28]
BR13
Port x reset bit y (y = 0..15)
[29:29]
BR14
Port x reset bit y (y = 0..15)
[30:30]
BR15
Port x reset bit y (y = 0..15)
[31:31]
LCKR
LCKR
GPIO port configuration lock register
0x1C
LCK0
Port x lock bit y (y= 0..15)
[0:0]
LCK1
Port x lock bit y (y= 0..15)
[1:1]
LCK2
Port x lock bit y (y= 0..15)
[2:2]
LCK3
Port x lock bit y (y= 0..15)
[3:3]
LCK4
Port x lock bit y (y= 0..15)
[4:4]
LCK5
Port x lock bit y (y= 0..15)
[5:5]
LCK6
Port x lock bit y (y= 0..15)
[6:6]
LCK7
Port x lock bit y (y= 0..15)
[7:7]
LCK8
Port x lock bit y (y= 0..15)
[8:8]
LCK9
Port x lock bit y (y= 0..15)
[9:9]
LCK10
Port x lock bit y (y= 0..15)
[10:10]
LCK11
Port x lock bit y (y= 0..15)
[11:11]
LCK12
Port x lock bit y (y= 0..15)
[12:12]
LCK13
Port x lock bit y (y= 0..15)
[13:13]
LCK14
Port x lock bit y (y= 0..15)
[14:14]
LCK15
Port x lock bit y (y= 0..15)
[15:15]
LCKK
Port x lock bit y (y= 0..15)
[16:16]
AFRL
AFRL
GPIO alternate function low register
0x20
AFSEL0
Alternate function selection for port x bit y (y = 0..7)
[3:0]
AFSEL1
Alternate function selection for port x bit y (y = 0..7)
[7:4]
AFSEL2
Alternate function selection for port x bit y (y = 0..7)
[11:8]
AFSEL3
Alternate function selection for port x bit y (y = 0..7)
[15:12]
AFSEL4
Alternate function selection for port x bit y (y = 0..7)
[19:16]
AFSEL5
Alternate function selection for port x bit y (y = 0..7)
[23:20]
AFSEL6
Alternate function selection for port x bit y (y = 0..7)
[27:24]
AFSEL7
Alternate function selection for port x bit y (y = 0..7)
[31:28]
AFRH
AFRH
GPIO alternate function high register
0x24
AFSEL8
Alternate function selection for port x bit y (y = 8..15)
[3:0]
AFSEL9
Alternate function selection for port x bit y (y = 8..15)
[7:4]
AFSEL10
Alternate function selection for port x bit y (y = 8..15)
[11:8]
AFSEL11
Alternate function selection for port x bit y (y = 8..15)
[15:12]
AFSEL12
Alternate function selection for port x bit y (y = 8..15)
[19:16]
AFSEL13
Alternate function selection for port x bit y (y = 8..15)
[23:20]
AFSEL14
Alternate function selection for port x bit y (y = 8..15)
[27:24]
AFSEL15
Alternate function selection for port x bit y (y = 8..15)
[31:28]
BRR
BRR
port bit reset register
0x28
write-only
BR0
Port Reset bit
[0:0]
BR1
Port Reset bit
[1:1]
BR2
Port Reset bit
[2:2]
BR3
Port Reset bit
[3:3]
BR4
Port Reset bit
[4:4]
BR5
Port Reset bit
[5:5]
BR6
Port Reset bit
[6:6]
BR7
Port Reset bit
[7:7]
BR8
Port Reset bit
[8:8]
BR9
Port Reset bit
[9:9]
BR10
Port Reset bit
[10:10]
BR11
Port Reset bit
[11:11]
BR12
Port Reset bit
[12:12]
BR13
Port Reset bit
[13:13]
BR14
Port Reset bit
[14:14]
BR15
Port Reset bit
[15:15]
GPIOB
General-purpose I/Os
GPIO
0x50000400
0x0
0x400
registers
MODER
MODER
GPIO port mode register
0x0
0xFFFFFFFF
MODE0
Port x configuration bits (y = 0..15)
[1:0]
MODE1
Port x configuration bits (y = 0..15)
[3:2]
MODE2
Port x configuration bits (y = 0..15)
[5:4]
MODE3
Port x configuration bits (y = 0..15)
[7:6]
MODE4
Port x configuration bits (y = 0..15)
[9:8]
MODE5
Port x configuration bits (y = 0..15)
[11:10]
MODE6
Port x configuration bits (y = 0..15)
[13:12]
MODE7
Port x configuration bits (y = 0..15)
[15:14]
MODE8
Port x configuration bits (y = 0..15)
[17:16]
OTYPER
OTYPER
GPIO port output type register
0x4
OT0
Port x configuration bits (y = 0..15)
[0:0]
OT1
Port x configuration bits (y = 0..15)
[1:1]
OT2
Port x configuration bits (y = 0..15)
[2:2]
OT3
Port x configuration bits (y = 0..15)
[3:3]
OT4
Port x configuration bits (y = 0..15)
[4:4]
OT5
Port x configuration bits (y = 0..15)
[5:5]
OT6
Port x configuration bits (y = 0..15)
[6:6]
OT7
Port x configuration bits (y = 0..15)
[7:7]
OT8
Port x configuration bits (y = 0..15)
[8:8]
OSPEEDR
OSPEEDR
GPIO port output speed register
0x8
OSPEED0
Port x configuration bits (y = 0..15)
[1:0]
OSPEED1
Port x configuration bits (y = 0..15)
[3:2]
OSPEED2
Port x configuration bits (y = 0..15)
[5:4]
OSPEED3
Port x configuration bits (y = 0..15)
[7:6]
OSPEED4
Port x configuration bits (y = 0..15)
[9:8]
OSPEED5
Port x configuration bits (y = 0..15)
[11:10]
OSPEED6
Port x configuration bits (y = 0..15)
[13:12]
OSPEED7
Port x configuration bits (y = 0..15)
[15:14]
OSPEED8
Port x configuration bits (y = 0..15)
[17:16]
PUPDR
PUPDR
GPIO port pull-up/pull-down register
0xC
PUPD0
Port x configuration bits (y = 0..15)
[1:0]
PUPD1
Port x configuration bits (y = 0..15)
[3:2]
PUPD2
Port x configuration bits (y = 0..15)
[5:4]
PUPD3
Port x configuration bits (y = 0..15)
[7:6]
PUPD4
Port x configuration bits (y = 0..15)
[9:8]
PUPD5
Port x configuration bits (y = 0..15)
[11:10]
PUPD6
Port x configuration bits (y = 0..15)
[13:12]
PUPD7
Port x configuration bits (y = 0..15)
[15:14]
PUPD8
Port x configuration bits (y = 0..15)
[17:16]
IDR
IDR
GPIO port input data register
0x10
read-only
ID0
Port input data (y = 0..15)
[0:0]
ID1
Port input data (y = 0..15)
[1:1]
ID2
Port input data (y = 0..15)
[2:2]
ID3
Port input data (y = 0..15)
[3:3]
ID4
Port input data (y = 0..15)
[4:4]
ID5
Port input data (y = 0..15)
[5:5]
ID6
Port input data (y = 0..15)
[6:6]
ID7
Port input data (y = 0..15)
[7:7]
ID8
Port input data (y = 0..15)
[8:8]
ODR
ODR
GPIO port output data register
0x14
OD0
Port output data (y = 0..15)
[0:0]
OD1
Port output data (y = 0..15)
[1:1]
OD2
Port output data (y = 0..15)
[2:2]
OD3
Port output data (y = 0..15)
[3:3]
OD4
Port output data (y = 0..15)
[4:4]
OD5
Port output data (y = 0..15)
[5:5]
OD6
Port output data (y = 0..15)
[6:6]
OD7
Port output data (y = 0..15)
[7:7]
OD8
Port output data (y = 0..15)
[8:8]
BSRR
BSRR
GPIO port bit set/reset register
0x18
write-only
BS0
Port x set bit y (y= 0..15)
[0:0]
BS1
Port x set bit y (y= 0..15)
[1:1]
BS2
Port x set bit y (y= 0..15)
[2:2]
BS3
Port x set bit y (y= 0..15)
[3:3]
BS4
Port x set bit y (y= 0..15)
[4:4]
BS5
Port x set bit y (y= 0..15)
[5:5]
BS6
Port x set bit y (y= 0..15)
[6:6]
BS7
Port x set bit y (y= 0..15)
[7:7]
BS8
Port x set bit y (y= 0..15)
[8:8]
BR0
Port x set bit y (y= 0..15)
[16:16]
BR1
Port x reset bit y (y = 0..15)
[17:17]
BR2
Port x reset bit y (y = 0..15)
[18:18]
BR3
Port x reset bit y (y = 0..15)
[19:19]
BR4
Port x reset bit y (y = 0..15)
[20:20]
BR5
Port x reset bit y (y = 0..15)
[21:21]
BR6
Port x reset bit y (y = 0..15)
[22:22]
BR7
Port x reset bit y (y = 0..15)
[23:23]
BR8
Port x reset bit y (y = 0..15)
[24:24]
LCKR
LCKR
GPIO port configuration lock register
0x1C
LCK0
Port x lock bit y (y= 0..15)
[0:0]
LCK1
Port x lock bit y (y= 0..15)
[1:1]
LCK2
Port x lock bit y (y= 0..15)
[2:2]
LCK3
Port x lock bit y (y= 0..15)
[3:3]
LCK4
Port x lock bit y (y= 0..15)
[4:4]
LCK5
Port x lock bit y (y= 0..15)
[5:5]
LCK6
Port x lock bit y (y= 0..15)
[6:6]
LCK7
Port x lock bit y (y= 0..15)
[7:7]
LCK8
Port x lock bit y (y= 0..15)
[8:8]
LCKK
Port x lock bit y (y= 0..15)
[16:16]
AFRL
AFRL
GPIO alternate function low register
0x20
AFSEL0
Alternate function selection for port x bit y (y = 0..7)
[3:0]
AFSEL1
Alternate function selection for port x bit y (y = 0..7)
[7:4]
AFSEL2
Alternate function selection for port x bit y (y = 0..7)
[11:8]
AFSEL3
Alternate function selection for port x bit y (y = 0..7)
[15:12]
AFSEL4
Alternate function selection for port x bit y (y = 0..7)
[19:16]
AFSEL5
Alternate function selection for port x bit y (y = 0..7)
[23:20]
AFSEL6
Alternate function selection for port x bit y (y = 0..7)
[27:24]
AFSEL7
Alternate function selection for port x bit y (y = 0..7)
[31:28]
AFRH
AFRH
GPIO alternate function high register
0x24
AFSEL8
Alternate function selection for port x bit y (y = 8..15)
[3:0]
AFSEL9
Alternate function selection for port x bit y (y = 8..15)
[7:4]
AFSEL10
Alternate function selection for port x bit y (y = 8..15)
[11:8]
AFSEL11
Alternate function selection for port x bit y (y = 8..15)
[15:12]
AFSEL12
Alternate function selection for port x bit y (y = 8..15)
[19:16]
AFSEL13
Alternate function selection for port x bit y (y = 8..15)
[23:20]
AFSEL14
Alternate function selection for port x bit y (y = 8..15)
[27:24]
AFSEL15
Alternate function selection for port x bit y (y = 8..15)
[31:28]
BRR
BRR
port bit reset register
0x28
write-only
BR0
Port Reset bit
[0:0]
BR1
Port Reset bit
[1:1]
BR2
Port Reset bit
[2:2]
BR3
Port Reset bit
[3:3]
BR4
Port Reset bit
[4:4]
BR5
Port Reset bit
[5:5]
BR6
Port Reset bit
[6:6]
BR7
Port Reset bit
[7:7]
BR8
Port Reset bit
[8:8]
GPIOC
0x50000800
IWDG
Independent watchdog
IWDG
0x40003000
0x0
0x400
registers
KR
KR
Key register (IWDG_KR)
0x0
write-only
KEY
Key value
[15:0]
PR
PR
Prescaler register (IWDG_PR)
0x4
PR
Prescaler divider
[2:0]
RLR
RLR
Reload register (IWDG_RLR)
0x8
0xFFF
RL
Watchdog counter reload value
[11:0]
SR
SR
Status register (IWDG_SR)
0xC
read-only
PVU
Watchdog prescaler value update
[0:0]
RVU
Watchdog counter reload value update
[1:1]
LPTIM1
Low power timer
LPTIM1
0x40007C00
0x0
0x400
registers
LPTIM1_DAC
LPTIM1, DAC global Interrupts
17
ISR
ISR
Interrupt and Status Register
0x0
read-only
ARRM
Autoreload match
[1:1]
ARROK
Autoreload match update OK
[4:4]
ICR
ICR
Interrupt Clear Register
0x4
write-only
ARRMCF
Autoreload match Clear Flag
[1:1]
ARROKCF
Autoreload match update OK Clear Flag
[4:4]
IER
IER
Interrupt Enable Register
0x8
ARRMIE
Autoreload matchInterrupt Enable
[1:1]
ARROKIE
Autoreload match update OK Interrupt Enable
[4:4]
CFGR
CFGR
Configuration Register
0xC
PRESC
Clock prescaler
[11:9]
PRELOAD
Registers update mode
[22:22]
CR
CR
Control Register
0x10
ENABLE
LPTIM Enable
[0:0]
SNGSTRT
LPTIM start in single mode
[1:1]
CNTSTRT
CNTSTRT
[2:2]
COUNTRST
LPTIM counter reset
[3:3]
RSTARE
Reset after read enable
[4:4]
ARR
ARR
Autoreload Register
0x18
0x1
ARR
Auto reload value
[15:0]
CNT
CNT
Counter Register
0x1C
read-only
CNT
Counter value
[15:0]
PWR
Power control
PWR
0x40007000
0x0
0x400
registers
CR1
CR1
Power control register 1
0x0
0x30000
BIAS_CR
MR Bias current
[3:0]
BIAS_CR_SEL
MR Bias current selection
[4:4]
DBP
Disable backup domain write protection
[7:7]
VOS
Voltage scaling range selection
[9:8]
MRRDY_TIME
Time selection wakeup from LP to VR
[11:10]
FLS_SLPTIME
Flash wait time after wakeup from the stop mode
[13:12]
LPR
Low-power run
[15:14]
SRAM_RETV
SRAM retention voltage control
[18:16]
HSION_CTRL
HSI open time control
[19:19]
CR2
CR2
Power control register 2
0x4
0x500
FLTEN
Digital filter enable
[8:8]
FLT_TIME
Digital filter time configuration
[11:9]
RCC
Reset and clock control
RCC
0x40021000
0x0
0x400
registers
RCC
RCC global Interrupt
4
CR
CR
Clock control register
0x0
0x100
HSION
HSI16 clock enable
[8:8]
HSIRDY
HSI16 clock ready flag
[10:10]
HSIDIV
HSI16 clock division factor
[13:11]
ICSCR
ICSCR
Internal clock sources calibration register
0x4
0x10000000
HSI_TRIM
HSI clock trimming
[12:0]
HSI_FS
HSI frequency selection
[15:13]
LSI_TRIM
LSI clock trimming
[24:16]
LSI_STARTUP
LSI startup time
[27:26]
CFGR
CFGR
Clock configuration register
0x8
SW
System clock switch
[2:0]
SWS
System clock switch status
[5:3]
read-only
HPRE
AHB prescaler
[11:8]
PPRE
APB prescaler
[14:12]
MCOSEL
Microcontroller clock output
[26:24]
MCOPRE
Microcontroller clock output prescaler
[30:28]
ECSCR
ECSCR
External clock source control register
0x10
LSE_DRIVER
desc LSE_DRIVER
[17:16]
CIER
CIER
Clock interrupt enable register
0x18
LSIRDYIE
LSI ready interrupt enable
[0:0]
LSERDYIE
LSE ready interrupt enable
[1:1]
HSIRDYIE
HSI ready interrupt enable
[3:3]
CIFR
CIFR
Clock interrupt flag register
0x1C
read-only
LSIRDYF
LSI ready interrupt flag
[0:0]
LSERDYF
LSE ready interrupt flag
[2:2]
HSIRDYF
HSI ready interrupt flag
[3:3]
LSECSSF
LSE clock secure system interrupt flag
[9:9]
CICR
CICR
Clock interrupt clear register
0x20
write-only
LSIRDYC
LSI ready interrupt clear
[0:0]
LSERDYC
LSE ready interrupt clear
[1:1]
HSIRDYC
HSI ready interrupt clear
[3:3]
LSECSSC
LSE clock secure system interrupt flag clear
[9:9]
IOPRSTR
IOPRSTR
GPIO reset register
0x24
GPIOARST
I/O port A reset
[0:0]
GPIOBRST
I/O port B reset
[1:1]
GPIOCRST
I/O port C reset
[2:2]
AHBRSTR
AHBRSTR
AHB peripheral reset register
0x28
DMARST
DMA reset
[0:0]
FLASHRST
FLASH reset
[8:8]
CRCRST
CRC reset
[12:12]
APBRSTR1
APBRSTR1
APB peripheral reset register 1
0x2C
DBGRST
Debug support reset
[27:27]
PWRRST
Power interface reset
[28:28]
LPTIMRST
Low Power Timer reset
[31:31]
APBRSTR2
APBRSTR2
APB peripheral reset register 2
0x30
SYSCFGRST
SYSCFG and COMP reset
[0:0]
TIM1RST
TIM1 timer reset
[11:11]
TIM14RST
TIM14 reset
[15:15]
IOPENR
IOPENR
GPIO clock enable register
0x34
GPIOAEN
I/O port A clock enable
[0:0]
GPIOBEN
I/O port B clock enable
[1:1]
GPIOCEN
I/O port C clock enable
[2:2]
AHBENR
AHBENR
AHB peripheral clock enable register
0x38
DMAEN
DMA interface clock enable
[0:0]
FLASHEN
Flash memory interface clock enable
[8:8]
SRAMEN
SRAM memory interface clock enable
[9:9]
CRCEN
CRC clock enable
[12:12]
APBENR1
APBENR1
APB peripheral clock enable register 1
0x3C
DBGEN
Debug support clock enable
[27:27]
PWREN
Power interface clock enable
[28:28]
LPTIMEN
LPTIM clock enable
[31:31]
APBENR2
APBENR2
APB peripheral clock enable register 2
0x40
SYSCFGEN
SYSCFG, COMP and VREFBUF clock enable
[0:0]
TIM1EN
TIM1 timer clock enable
[11:11]
TIM14EN
TIM14 clock enable
[15:15]
COMP1EN
COMP1 clock enable
[21:21]
COMP2EN
COMP2 clock enable
[22:22]
CCIPR
CCIPR
Peripherals independent clock configuration register
0x54
LPTIM1SEL
LPTIM1 clock source selection
[19:18]
BDCR
BDCR
RTC domain control register
0x5C
LSEON
LSE oscillator enable
[0:0]
LSERDY
LSE oscillator ready
[1:1]
LSEBYP
LSE oscillator bypass
[2:2]
LSECSSON
LSE CSS enable
[5:5]
LSECSSD
LSE CSS detect
[6:6]
LSCOEN
Low-speed clock output (LSCO) enable
[24:24]
LSCOSEL
Low-speed clock output selection
[25:25]
CSR
CSR
Control/status register
0x60
LSION
LSI oscillator enable
[0:0]
LSIRDY
LSI oscillator ready
[1:1]
PINRST_FLTDIS
desc PINRST_FLTDIS
[8:8]
RMVF
Remove reset flags
[23:23]
OBLRSTF
Option byte loader reset flag
[25:25]
PINRSTF
Pin reset flag
[26:26]
PWRRSTF
BOR or POR/PDR flag
[27:27]
SFTRSTF
Software reset flag
[28:28]
IWDGRSTF
Independent window watchdog reset flag
[29:29]
SYSCFG
System configuration controller
SYSCFG
0x40010000
0x0
0x30
registers
CFGR1
CFGR1
SYSCFG configuration register 1
0x0
MEM_MODE
Memory mapping selection bits
[1:0]
CFGR2
CFGR2
SYSCFG configuration register 2
0x18
LOCKUP_LOCK
Cortex-M0+ LOCKUP bit enable bit
[0:0]
ETR_SRC_TIM1
TIM1 ETR source selection
[10:9]
GPIO_ENS
desc GPIO_ENS
0x1C
PA_ENS
desc PA_ENS
[7:0]
PB_ENS
desc PB_ENS
[15:8]
PC_ENS
desc PC_ENS
[17:16]
TIM1
Advanced timer
TIM
0x40012C00
0x0
0x400
registers
TIM1_BRK_UP_TRG_COM
TIM1 Break, Update, Trigger and Commutation Interrupt
13
TIM1_CC
TIM1 Capture Compare Interrupt
14
CR1
desc CR1
0x0
0x3FF
CEN
desc CEN
[0:0]
UDIS
desc UDIS
[1:1]
URS
desc URS
[2:2]
OPM
desc OPM
[3:3]
DIR
desc DIR
[4:4]
CMS
desc CMS
[6:5]
ARPE
desc ARPE
[7:7]
CKD
desc CKD
[9:8]
CR2
desc CR2
0x4
0xF8
CCPC
desc CCPC
[0:0]
CCUS
desc CCUS
[2:2]
MMS
desc MMS
[6:4]
TI1S
desc TI1S
[7:7]
OIS1
desc OIS1
[8:8]
OIS1N
desc OIS1N
[9:9]
OIS2
desc OIS2
[10:10]
OIS2N
desc OIS2N
[11:11]
OIS3
desc OIS3
[12:12]
OIS3N
desc OIS3N
[13:13]
OIS4
desc OIS4
[14:14]
SMCR
desc SMCR
0x8
0xFFF7
SMS
desc SMS
[2:0]
OCCS
desc OCCS
[3:3]
TS
desc TS
[6:4]
MSM
desc MSM
[7:7]
ETF
desc ETF
[11:8]
ETPS
desc ETPS
[13:12]
ECE
desc ECE
[14:14]
ETP
desc ETP
[15:15]
DIER
desc DIER
0xC
0x5F5F
UIE
desc UIE
[0:0]
CC1IE
desc CC1IE
[1:1]
CC2IE
desc CC2IE
[2:2]
CC3IE
desc CC3IE
[3:3]
CC4IE
desc CC4IE
[4:4]
COMIE
desc COMIE
[5:5]
TIE
desc TIE
[6:6]
BIE
desc BIE
[7:7]
SR
desc SR
0x10
0x1E5F
UIF
desc UIF
[0:0]
CC1IF
desc CC1IF
[1:1]
CC2IF
desc CC2IF
[2:2]
CC3IF
desc CC3IF
[3:3]
CC4IF
desc CC4IF
[4:4]
COMIF
desc COMIF
[5:5]
TIF
desc TIF
[6:6]
BIF
desc BIF
[7:7]
CC1OF
desc CC1OF
[9:9]
CC2OF
desc CC2OF
[10:10]
CC3OF
desc CC3OF
[11:11]
CC4OF
desc CC4OF
[12:12]
IC1IR
desc IC1IR
[16:16]
IC2IR
desc IC2IR
[17:17]
IC3IR
desc IC3IR
[18:18]
IC4IR
desc IC3IR
[19:19]
IC1IF
desc IC1IF
[20:20]
IC2IF
desc IC2IF
[21:21]
IC3IF
desc IC3IF
[22:22]
IC4IF
desc IC3IF
[23:23]
EGR
desc EGR
0x14
write-only
0x5F
UG
desc UG
[0:0]
write-only
CC1G
Capture/Compare 1 Generation
[1:1]
write-only
CC2G
desc CC2G
[2:2]
write-only
CC3G
desc CC3G
[3:3]
write-only
CC4G
desc CC4G
[4:4]
write-only
COMG
desc COMG
[5:5]
write-only
TG
desc TG
[6:6]
write-only
BG
desc BG
[7:7]
write-only
CCMR1_OUTPUT
desc CCMR1:OUTPUT
0x18
0xFFFF
CC1S
desc CC1S
[1:0]
OC1FE
desc OC1FE
[2:2]
OC1PE
desc OC1PE
[3:3]
OC1M
desc OC1M
[6:4]
OC1CE
desc OC1CE
[7:7]
CC2S
desc CC2S
[9:8]
OC2FE
desc OC2FE
[10:10]
OC2PE
desc OC2PE
[11:11]
OC2M
desc OC2M
[14:12]
OC2CE
desc OC2CE
[15:15]
CCMR1_INPUT
desc CCMR1:INPUT
CCMR1_OUTPUT
0x18
0xFFFF
CC1S
desc CC1S
[1:0]
IC1PSC
desc IC1PSC
[3:2]
IC1F
desc IC1F
[7:4]
CC2S
desc CC2S
[9:8]
IC2PSC
desc IC2PSC
[11:10]
IC2F
desc IC2F
[15:12]
CCMR2_OUTPUT
desc CCMR2:OUTPUT
0x1C
0xFFFF
CC3S
desc CC3S
[1:0]
OC3FE
desc OC3FE
[2:2]
OC3PE
desc OC3PE
[3:3]
OC3M
desc OC3M
[6:4]
OC3CE
desc OC3CE
[7:7]
CC4S
desc CC4S
[9:8]
OC4FE
desc OC4FE
[10:10]
OC4PE
desc OC4PE
[11:11]
OC4M
desc OC4M
[14:12]
OC4CE
desc OC4CE
[15:15]
CCMR2_INPUT
desc CCMR2:INPUT
CCMR2_OUTPUT
0x1C
0xFFFF
CC3S
desc CC3S
[1:0]
IC3PSC
desc IC3PSC
[3:2]
IC3F
desc IC3F
[7:4]
CC4S
desc CC4S
[9:8]
IC4PSC
desc IC4PSC
[11:10]
IC4F
desc IC4F
[15:12]
CCER
desc CCER
0x20
0x3333
CC1E
desc CC1E
[0:0]
CC1P
desc CC1P
[1:1]
CC1NE
desc CC1NE
[2:2]
CC1NP
desc CC1NP
[3:3]
CC2E
desc CC2E
[4:4]
CC2P
desc CC2P
[5:5]
CC2NE
desc CC2NE
[6:6]
CC2NP
desc CC2NP
[7:7]
CC3E
desc CC3E
[8:8]
CC3P
desc CC3P
[9:9]
CC3NE
desc CC3NE
[10:10]
CC3NP
desc CC3NP
[11:11]
CC4E
desc CC4E
[12:12]
CC4P
desc CC4P
[13:13]
CNT
desc CNT
0x24
0xFFFF
CNT
desc CNT
[15:0]
PSC
desc PSC
0x28
0xFFFF
PSC
desc PSC
[15:0]
ARR
desc ARR
0x2C
0xFFFF
0xFFFF
ARR
desc ARR
[15:0]
RCR
desc RCR
0x30
0xFFFF
0xFFFF
REP
desc REP
[7:0]
CCR1
desc CCR1
0x34
0xFFFF
CCR1
desc CCR1
[15:0]
CCR2
desc CCR2
0x38
0xFFFF
CCR2
desc CCR2
[15:0]
CCR3
desc CCR3
0x3C
0xFFFF
CCR3
desc CCR3
[15:0]
CCR4
desc CCR4
0x40
0xFFFF
CCR4
desc CCR4
[15:0]
BDTR
desc BDTR
0x44
0xFFFF
DTG
desc DTG
[7:0]
LOCK
desc LOCK
[9:8]
OSSI
desc OSSI
[10:10]
OSSR
desc OSSR
[11:11]
BKE
desc BKE
[12:12]
BKP
desc BKP
[13:13]
AOE
desc AOE
[14:14]
MOE
desc MOE
[15:15]
TIM14
General purpose timer
TIM
0x40002000
0x0
0x400
registers
TIM14
TIM14 global Interrupt
19
CR1
desc CR1
0x0
0x3FF
CEN
desc CEN
[0:0]
UDIS
desc UDIS
[1:1]
URS
desc URS
[2:2]
OPM
desc OPM
[3:3]
ARPE
desc ARPE
[7:7]
CKD
desc CKD
[9:8]
DIER
desc DIER
0xC
0x5F5F
UIE
desc UIE
[0:0]
CC1IE
desc CC1IE
[1:1]
SR
desc SR
0x10
0x1E5F
UIF
desc UIF
[0:0]
CC1IF
desc CC1IF
[1:1]
CC1OF
desc CC1OF
[9:9]
IC1IR
desc IC1IR
[16:16]
IC1IF
desc IC1IF
[20:20]
EGR
desc EGR
0x14
write-only
0x5F
UG
desc UG
[0:0]
write-only
CC1G
Capture/Compare 1 Generation
[1:1]
write-only
CCMR1_OUTPUT
desc CCMR1:OUTPUT
0x18
0xFFFF
CC1S
desc CC1S
[1:0]
OC1PE
desc OC1PE
[3:3]
OC1M
desc OC1M
[6:4]
CCMR1_INPUT
desc CCMR1:INPUT
CCMR1_OUTPUT
0x18
0xFFFF
CC1S
desc CC1S
[1:0]
IC1PSC
desc IC1PSC
[3:2]
IC1F
desc IC1F
[7:4]
CCER
desc CCER
0x20
0x3333
CC1E
desc CC1E
[0:0]
CC1P
desc CC1P
[1:1]
CC1NP
desc CC1NP
[3:3]
CNT
desc CNT
0x24
0xFFFF
CNT
desc CNT
[15:0]
PSC
desc PSC
0x28
0xFFFF
PSC
desc PSC
[15:0]
ARR
desc ARR
0x2C
0xFFFF
0xFFFF
ARR
desc ARR
[15:0]
CCR1
desc CCR1
0x34
0xFFFF
CCR1
desc CCR1
[15:0]
OR
desc OR
0x50
TI1_RMP
desc TI1_RMP
[1:0]