STM32F103 GPIO pins are highly configurable. Each pin can be software-configured into several modes: Input floating, input pull-up, or input pull-down. Output push-pull or output open-drain.

starts at address 0x0800 0000 . This is where the interrupt vector table and executable binary code reside.

The I2C bus utilizes an open-drain architecture requiring external pull-up resistors. The STM32F103 I2C hardware interface manages clock stretching, 7-bit and 10-bit addressing protocols, and master/slave role arbitration automatically. Serial Peripheral Interface (SPI)

Comprehensive Guide to the STM32F103 ARM Microcontroller and Embedded Systems

If you need detailed for the STM32F103C8T6 board?

Whether you need utilizing raw registers or the STM32Cube HAL library?

Requires an external pull-up resistor. Multiple devices can share the same line (essential for I2C buses).

From the free STM32CubeIDE to industry standards like Keil MDK and IAR Embedded Workbench.