41 hi2c2.Instance = I2C2;
42 hi2c2.Init.Timing = 0x307075B1;
43 hi2c2.Init.OwnAddress1 = 0;
44 hi2c2.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
45 hi2c2.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
46 hi2c2.Init.OwnAddress2 = 0;
47 hi2c2.Init.OwnAddress2Masks = I2C_OA2_NOMASK;
48 hi2c2.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
49 hi2c2.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;
50 if (HAL_I2C_Init(&
hi2c2) != HAL_OK)
57 if (HAL_I2CEx_ConfigAnalogFilter(&
hi2c2, I2C_ANALOGFILTER_ENABLE) != HAL_OK)
64 if (HAL_I2CEx_ConfigDigitalFilter(&
hi2c2, 0) != HAL_OK)
77 GPIO_InitTypeDef GPIO_InitStruct = {0};
78 RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
79 if(i2cHandle->Instance==I2C2)
87 PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_I2C2;
88 PeriphClkInitStruct.I2c123ClockSelection = RCC_I2C123CLKSOURCE_D2PCLK1;
89 if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
94 __HAL_RCC_GPIOB_CLK_ENABLE();
99 GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11;
100 GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
101 GPIO_InitStruct.Pull = GPIO_NOPULL;
102 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
103 GPIO_InitStruct.Alternate = GPIO_AF4_I2C2;
104 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
107 __HAL_RCC_I2C2_CLK_ENABLE();
117 if(i2cHandle->Instance==I2C2)
123 __HAL_RCC_I2C2_CLK_DISABLE();
129 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_10);
131 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_11);