5.1.1.1.2. Functional Requirements

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

Each pin needs to be configured individually to operate in input, output, alternate function, or analog mode.

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

System must ensure the clock enable process is completed before proceeding with any GPIO configuration.

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

The system shall provide functionality to enable the clock for a specific GPIO port by setting the corresponding bit in the RCC-›AHB1ENR register.

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

The system must allow the user to configure each pin as either an input or output.

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

System must support enabling clocks for all available GPIO ports.

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

The system shall allow each GPIO pin to be configured in one of four modes by updating the MODER register.

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

The system shall allow the user to read the current state (HIGH or LOW) of any pin, regardless of whether it is configured as an input or output.

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

The system must support the use of internal pull-up and pull-down resistors for input pins to stabilize the input signals.

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

The system shall provide functionality to disable GPIO pins, effectively turning them off when not in use to save power.

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

The system shall allow the user to configure the output speed (low, medium, high) for each GPIO pin configured as an output.

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

GPIO pins must trigger interrupts based on developer-defined conditions: rising, falling edge.

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

GPIO pins must support configurable output speed via the OSPEEDR register.