Question
STM32F429 + I2C1 on PB7(SDA) and PB8(SCL)
Posted on July 14, 2014 at 21:38
Greetings all,
The STM32F429 data sheet lists the following pinmux options:PB6: AF4=I2C1_SCL
PB7: AF4=I2C1_SDA PB8: AF4=I2C1_SCL PB9: AF4=I2C1_SDA I have a custom board which brings the I2C1 bus out on PB7(SDA) and PB8(SCL); however it doesn't appear to function with this pinmux configuration:// Configure pins for I2C1 (PB7: I2C1.SDA, PB8: I2C1.SCL)
GPIO_PinAFConfig(GPIOB, GPIO_PinSource7, GPIO_AF_I2C1);GPIO_PinAFConfig(GPIOB, GPIO_PinSource8, GPIO_AF_I2C1);// Configure pins for I2C1 (PB7: I2C1.SDA, PB8: I2C1.SCL)GPIO_InitTypeDef gpioInit;gpioInit.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8;gpioInit.GPIO_Mode = GPIO_Mode_AF;gpioInit.GPIO_Speed = GPIO_Speed_2MHz;gpioInit.GPIO_OType = GPIO_OType_OD;gpioInit.GPIO_PuPd = GPIO_PuPd_UP;GPIO_Init(GPIOB, &gpioInit);If I hack the code to use PB6(SCL) and PB7(SDA) then I see data on the PB7 line. If I hack the code to use PB8(SCL) and PB9(SDA) then I see clocks on the PB8 line.I'm wondering if there's an undocumented limitation where only PB6/PB7 and PB8/PB9 are allowed configurations? Is it possible to use PB7/PB8 or PB6/PB9?- Malcolm Nixon #stm32f4-stm32f429-i2c #stm32f4-stm32f429-i2c