5.1.6.1.1. Informational requirements

Requirement: label REQ_INT3_1732149913 ../../../../../_images/arrow-right-circle.svg
status: Draft
style: red_bar
category: Informational
priority: Low

STMF2F411 microcontroller has 6 ports: A, B, C, D, E, and H

Requirement: label REQ_INT3_1732656386 ../../../../../_images/arrow-right-circle.svg
status: Draft
style: red_bar
category: Non-Functional
priority: Low

Each port in STMF2F411 consists of 16 pins, altough some pins may not be available for use

Requirement: label REQ_INT3_1732225413 ../../../../../_images/arrow-right-circle.svg
status: Draft
style: red_bar
category: Informational
priority: Low

RCC register is used to configure the system clock source, manage peripheral clocks, control resets, adjust voltage regulator settings

Requirement: label REQ_INT3_1732225508 ../../../../../_images/arrow-right-circle.svg
status: Draft
style: red_bar
category: Informational
priority: Low

AHB1ENR is used to enable and disable the clock for pheripherals connected to the AHB1 bus

Requirement: label REQ_INT3_1732225887 ../../../../../_images/arrow-right-circle.svg
status: Draft
style: red_bar
category: Informational
priority: Low

Without enabling the clock, no access to the GPIO configuration registers is possible.

Requirement: label REQ_INT3_1732225921 ../../../../../_images/arrow-right-circle.svg
status: Draft
style: red_bar
category: Informational
priority: Low

MODER register is used to configure the mode of each GPIO pin, allowing them to function as input, output, analog, or alternate function.

Requirement: label REQ_INT3_1732272672 ../../../../../_images/arrow-right-circle.svg
status: Draft
style: red_bar
category: Informational
priority: Low

Modes need to be chosen based on the use case: input (00), output (01), alternate function (10), or analog (11)

Requirement: label REQ_INT3_1732315465 ../../../../../_images/arrow-right-circle.svg
status: Draft
style: red_bar
category: Informational
priority: Low

Possible output types for GPIO pins are: Push-Pull and open-drain

Requirement: label REQ_INT3_1732315482 ../../../../../_images/arrow-right-circle.svg
status: Draft
style: red_bar
category: Informational
priority: Low

OTYPER is used to configure the output type of each GPIO pin

Requirement: label REQ_INT3_1732315503 ../../../../../_images/arrow-right-circle.svg
status: Draft
style: red_bar
category: Informational
priority: Low

Push-pull is needed for standard output signals

Requirement: label REQ_INT3_1732315520 ../../../../../_images/arrow-right-circle.svg
status: Draft
style: red_bar
category: Informational
priority: Low

Open-Drain is needed for interfaces like I2C.

Requirement: label REQ_INT3_1732315545 ../../../../../_images/arrow-right-circle.svg
status: Draft
style: red_bar
category: Informational
priority: Low

The OSPEEDR register needs to be configured to set the output speed of a pin.

Requirement: label REQ_INT3_1732315564 ../../../../../_images/arrow-right-circle.svg
status: Draft
style: red_bar
category: Informational
priority: Low

Speed settings has options for low, medium, high, and very high speeds.

Requirement: label REQ_INT3_1732315584 ../../../../../_images/arrow-right-circle.svg
status: Draft
style: red_bar
category: Informational
priority: Low

PUPDR is used to configure internal pull-up and pull-down resistors for each GPIO pin.

Requirement: label REQ_INT3_1732315610 ../../../../../_images/arrow-right-circle.svg
status: Draft
style: red_bar
category: Informational
priority: Low

Pull-up is needed to keep the pin high, pull-down is needed to keep it low

Requirement: label REQ_INT3_1732315631 ../../../../../_images/arrow-right-circle.svg
status: Draft
style: red_bar
category: Informational
priority: Low

For pins configured in alternate function mode, there is a need to use the AFR register to assign the correct peripheral function.

Requirement: label REQ_INT3_1732315648 ../../../../../_images/arrow-right-circle.svg
status: Draft
style: red_bar
category: Informational
priority: Low

Each pins alternate function needs to be carefully mapped to its intended peripheral

Requirement: label REQ_INT3_1732315668 ../../../../../_images/arrow-right-circle.svg
status: Draft
style: red_bar
category: Informational
priority: Low

The output state of GPIO pins needs to be controlled through the ODR or BSRR

Requirement: label REQ_INT3_1732315686 ../../../../../_images/arrow-right-circle.svg
status: Draft
style: red_bar
category: Informational
priority: Low

The use of atomic operations in the BSRR register is needed to avoid conflicts in multitasking systems.

Requirement: label REQ_INT3_1732315702 ../../../../../_images/arrow-right-circle.svg
status: Draft
style: red_bar
category: Informational
priority: Low

Electrical characteristics like voltage levels, current limits, and protection mechanisms need to be considered during GPIO configuration.

Requirement: label REQ_INT3_1732315719 ../../../../../_images/arrow-right-circle.svg
status: Draft
style: red_bar
category: Informational
priority: Low

Status codes shall be 0x01(Invalid pin), 0x02(incorrect mode), 0x03(Operation timeout), 0x04(Unsupported function), 0x05(General error)

Requirement: label REQ_INT3_1732230084 ../../../../../_images/arrow-right-circle.svg
status: Draft
style: red_bar
category: Informational
priority: Low

Communication protocols are: UART, SPI, I2C, CAN, USB.