General Purpose Output
- The output buffer is enabled (open drain or push-pull).
- The Schmitt trigger input is active.
- The pull-up and -down resistors are active, according to PUPDR.
- Input data is sampled every AHB clock.
- Input data register holds I/O state.
- Output data register holds last written value.
Programming Instructions
Enable Peripheral
Make sure the peripheral is enabled:
- Enable GPIOx in
RCC→AHBENR[0]
.
Setup output mode
Configure the MODE and PUPDR as well as the output type and speed register,
for every pin that should act as digital output:
- Write
0x01
to the corresponding fields inGPIOx→MODE
. - Configure pull-up / -down in
GPIOx→PUPDR
. - Configure output type in
GPIOx→OTYPER
.
(in conjunction withGPIOx→PUPDR
) - Configure output speed in
GPIOx→OSPEEDR
.