I2C SCL operating frequency is very low. I configured the I2C2 Interface of my STM32F103 to have a clock frequency of 100 KHz (standard Mode) but it turns out to only be around 4 kHz. Can you point me in the right direction as why this could happen?
I am using the STM32F103C8T6 Microcontroller to read a sensor via I2C. I am using the stm32Cubemx to generate the initialisation code and Visual Studio and VisualGDB for debugging. My STM32CubeMX setup reads as follows:

and my clock configuration:

But when i try reading the i2c bus by calling
HAL_I2C_Master_Transmit(&hi2c2, IMU_address, buffer, 1, 100);
It takes very long and my logic analyzer reports a SCL frequency of about 4.4kHz instead of 100kHz. I tryed using fast mode, too, but it behaves the same.

I would be very happy, if you could help me and tell me, why i am not getting the desired faster clock and transmission speeds.
The generated initialisation code looks as follows:
static void MX_I2C2_Init(void)
{
/* USER CODE BEGIN I2C2_Init 0 */
/* USER CODE END I2C2_Init 0 */
/* USER CODE BEGIN I2C2_Init 1 */
/* USER CODE END I2C2_Init 1 */
hi2c2.Instance = I2C2;
hi2c2.Init.ClockSpeed = 100000;
hi2c2.Init.DutyCycle = I2C_DUTYCYCLE_2;
hi2c2.Init.OwnAddress1 = 0;
hi2c2.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
hi2c2.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
hi2c2.Init.OwnAddress2 = 0;
hi2c2.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
hi2c2.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;
if (HAL_I2C_Init(&hi2c2) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN I2C2_Init 2 */
/* USER CODE END I2C2_Init 2 */
}
And I am calling the following commands to enable the I2C Bus (fixes a bug)
__HAL_RCC_GPIOB_CLK_ENABLE();
__HAL_RCC_I2C2_FORCE_RESET();
HAL_Delay(1000);
__HAL_RCC_I2C2_RELEASE_RESET();
As said, any help is highly apprechiated!