// // Created by xemon on 19.10.22. // #include #include "I2cPorts.h" void I2cPorts_InitI2c3(tI2cPortNation *env) { // //Init I2c 3 // //SCL // InitGpioPinConfigOnly(GPIOC, GPIO_PIN_0, GPIO_Mode_AF_OD, GPIO_Speed_2MHz); // //SDA // InitGpioPinConfigOnly(GPIOC, GPIO_PIN_1, GPIO_Mode_AF_OD, GPIO_Speed_2MHz); RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOC, ENABLE); GPIO_InitType GPIO_InitStructure; GPIO_InitStructure.Pin = GPIO_PIN_0 | GPIO_PIN_1; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD; GPIO_InitPeripheral(GPIOC, &GPIO_InitStructure); //No remap // GPIO_ConfigPinRemap(GPIO_RMP3_I2C3, ENABLE); vI2cPortNationInit7bit(env, I2C3, 400000); } tI2cPorts I2C_PORTS; void I2cPorts_Init() { tI2cPorts *env = &I2C_PORTS; RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_AFIO, ENABLE); RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_I2C3, ENABLE); I2cPorts_InitI2c3(&env->max9860Port); env->max9860Io = I2cPortNation_GetIO(&env->max9860Port); }