stm32f103xx: I2C has no internal pullups and af config #10395
Labels
Area: boards
Area: Board ports
Impact: minor
The PR is small in size and might only require a quick look of a knowledgeable reviewer
Platform: ARM
Platform: This PR/issue effects ARM-based platforms
Type: bug
The issue reports a bug / The PR fixes a bug (including spelling errors)
Type: question
The issue poses a question regarding usage of RIOT
Description
When using the nucleo-f103rb the standard configuration is i2c0 on PB8 and PB9 the AFIO periph clock must be enabled
RCC->APB2ENR |= 0x00000001;
and the pin must be remapped to those pins
AFIO->MAPR |= AFIO_MAPR_I2C1_REMAP;
Also due to the hardware constraints it seems like the internal pullup cannot be enabled since the pins must be set to
GPIO_AF_OUT_OD
.In the reference manual it seems like it is impossible to do so (in section 9.1.9 Alternate function configuration it states that 'The weak pull-up and pull-down resistors are disabled.')
I am not sure if anything can be done about requiring external pullups.
Steps to reproduce the issue
Try to use the i2c0 on any nucleo103xx on PB8 and PB9.
Expected results
It works.
Actual results
It doesn't work and will hang
The text was updated successfully, but these errors were encountered: