Using both TWIM instances not work on certain pins

Hi,

I noticed weird behaviour while using TWIM0 and TWIM1.

My setup is : 

  • nrf52dk 
  • NRF Connect SDK v1.8.0
  • SPI2 works with SDMMC driver to handle the sd card
  • TWIM1 handle the OLED SSD1306
  • TWIM0 handle the VL6180x

I am working directly on nrfx drivers.

I 've got TWIM1 instance configured on pins P0.27(SCL), P0.28(SDA). That instance works correctly, both lines are pulled high by internal pull-up resistors, and the whole communication with my external OLED works great. 

In my setup I have to use the TWIM0 instance also. That instance is configured on pins P0.31(SCL), P0.30(SDA) but in that case both lines are hold low at level of 20mV. 

I decided to simply change the TWIM0 pins to P0.03(SCL), P0.04(SDA). In that configuration lines are pulled high and the I2C communication works correctly.

I double checked the nrf52dk layout to check if P0.31 and P0.30 are used in another way by the board, but it seems that they are directly connected from the header to nrf52832 pads. 

I am aware of shared resources of peripheral instances but in that configuration it doesn't occur.

What am I missing ? 

What could cause that behaviour ? 

Thanks you in advance,

Parents Reply Children
No Data
Related