WIFI KIT 32 (ESP32) - несколько устройств TwoWire

Тема в разделе "ESP8266, ESP32", создана пользователем cb3, 31 авг 2018.

Метки:
  1. cb3

    cb3 Нуб

    Приветствую, необходим совет - использую два устройства - штатный OLED дисплей (SSD1306 display(0x3c, 4, 15); //OLED - GPIO4-SDA, 15-SCL, 16-RST ) и магнитометр (компас), подключенный к 21, 22 ноге (опять же штатный I2C).
    По отдельности все работает. Но если после инициализации дисплея (Wire.begin()) пытаться инициализировать i2c компаса, то он не отвечает..
    Если наоборот после инициализации компаса, пытаться начать работу с дисплеем, происходит зависание процессора.

    Как быть, если надо работать с двумя i2c устройствами на разных ногах?

    Спасибо.
     
  2. ZAZ-965

    ZAZ-965 Гуру

    Вы не привели код, должно быть как-то так
    Код (C++):
    #define SDA1 21
    #define SCL1 22

    #define SDA2 5
    #define SCL2 4

    TwoWire Wire1= TwoWire(0);
    TwoWire Wire2= TwoWire(1);

    void setup(){
    Wire1.begin(SDA1,SCL1,400000);
    Wire2.begin(SDA2,SCL2,400000);
    }