after the Wire.h include and tried to get it working on the Raspberry Pi Pico default I2C0 connections. But this doesn't work, too.
But I can confirm, that the Pico and OLED are OK and I2C is working, if I use https://github.com/earlephilhower/arduino-pico installed via Board Manager. The project uses GPIO 4 and 5 for I2C0 (Wire) by default. And I can even change the GPIOs via
Wire.setSDA(8);
Wire.setSCL(9);
in the setup() function right before doing Wire.begin().
What can I do, to get I2C working with the ArduinoCore-mbed?
The text was updated successfully, but these errors were encountered:
Hi @fsievers ,
about the I2C scan, there's a know issue with Wire.endTransmission() for zero bytes length packets (like the ones used during scanning).
However, I tested an SSD1306 oled display with the Pico and it works just fine, when connected to pin GP6 and GP7, even if the scan fails.
The issue with different pinmuxing is being discussed here #194 , but summarising:
you can't change the pins by adding definitions inside the sketch (since it's a different compilation unit)
we are not going to implement setSCL and setSDA in this core (since they are not part of the official APIs)
the preferred way to change the pinmux is by creating a new object and then use it.
For example, using the standard Adafruit library, you can write
Ok, I've checked it with the ssd1306 I2C example and the display works for all I2C0 pins (sorry I didn't checked the display itself without scan). But on the I2C1 pins, the display just give me the first frame and after that it doesn't show any further frame.
But for this topic, I think it's solved, regarding to I2C scan problem and known issue of Wire.endTransmission().
No matter what I try, I can't get I2C to work. I'm using the following i2c-scan to discover a SSD1306 display:
But I always get
No I2C devices found
. Inpins_arduino.h
it says, that SDA is on GPIO 6 and SCL is on GPIO 7 (see https://datasheets.raspberrypi.org/pico/Pico-R3-A4-Pinout.pdf). But the program is not able to discover the OLED display.In a second try, I added
after the
Wire.h
include and tried to get it working on the Raspberry Pi Pico default I2C0 connections. But this doesn't work, too.But I can confirm, that the Pico and OLED are OK and I2C is working, if I use https://github.com/earlephilhower/arduino-pico installed via Board Manager. The project uses GPIO 4 and 5 for I2C0 (Wire) by default. And I can even change the GPIOs via
in the
setup()
function right before doingWire.begin()
.What can I do, to get I2C working with the ArduinoCore-mbed?
The text was updated successfully, but these errors were encountered: