РЕШЕНО I2c - не стабильное определение

Тема в разделе "Arduino & Shields", создана пользователем Михаил123, 24 апр 2022.

  1. странное состояние I2C
    Код (C++):
    20:24:58.315 -> Scanning...
    20:24:58.315 -> No I2C devices found
    20:24:58.360 ->
    20:25:00.344 -> Scanning...
    20:25:00.344 -> Unknow error at address 0x25
    20:25:00.390 -> No I2C devices found
    20:25:00.390 ->
    20:25:02.327 -> Scanning...
    20:25:02.373 -> No I2C devices found
    20:25:02.373 ->
    20:25:04.357 -> Scanning...
    20:25:04.357 -> No I2C devices found
    20:25:04.403 ->
    20:25:06.387 -> Scanning...
    20:25:06.387 -> No I2C devices found
    20:25:06.433 ->
    20:25:08.416 -> Scanning...
    20:25:08.416 -> I2C device found at address 0x25 !
    20:25:08.462 -> done
    20:25:08.462 ->
    20:25:10.400 -> Scanning...
    20:25:10.446 -> Unknow error at address 0x25
    20:25:10.446 -> No I2C devices found
    20:25:10.492 ->
    20:25:12.429 -> Scanning...
    20:25:12.429 -> No I2C devices found
    20:25:12.475 ->
     
    что может быть не так?
     
  2. Код (C++):
    20:33:44.405 ->
    20:33:44.405 -> I2C Scanner
    20:33:44.451 -> Scanning...
    20:33:44.451 -> Unknow error at address 0x23
    20:33:46.158 -> No I2C devices found
    20:33:46.204 ->
    20:33:48.142 -> Scanning...
    20:33:48.233 -> Unknow error at address 0x2B
     
     
  3. parovoZZ

    parovoZZ Гуру

    В чем вопрос то?
     
  4. User248

    User248 Нерд

    Может быть, слишком часто сканирует и нужно добавить задержку. Без кода сложно понять.
     
  5. нет, оказалось, что надо приблуду подключать на тот же источник питания, что и плата ардуина
     
  6. parovoZZ

    parovoZZ Гуру

    Достаточно обеспечить возврат сигнальных токов. А блоков питания может быть хоть сколько - хоть на каждую приблуду свой.
     
  7. это как - возврат сигнальных токов?
     
  8. parovoZZ

    parovoZZ Гуру

    По незамкнутой цепи токи не текут.
     
  9. логично.
    как на практике организовать?
     
  10. User248

    User248 Нерд

    Соединить земли всех источников питания.
     
  11. соеденены.
     
  12. parovoZZ

    parovoZZ Гуру

    совершенно не обязательно. Земли могут быть разные - питающие, сигнальные, цифровые, грязные, чистые и пр.
     
  13. User248

    User248 Нерд

    Покажите схему, будет понятнее.
     
  14. [​IMG]
     
  15. а что должно быть обязательно?
     
  16. parovoZZ

    parovoZZ Гуру

    обязательно, чтобы вытекающий из источника напряжения ток в него же и вернулся.
     
  17. в каком случае у него нет шанса вернуться обратно? Если положительный заряд полезет в отрицательный от другого источника?
     
  18. зависает на строке
    error = Wire.endTransmission();

    Код (C++):
    #include <Wire.h>
    void setup(){
        Wire.begin();  
        Serial.begin(9600);
        while (!Serial);
        Serial.println("\nI2C Scanner");
    }
    void loop(){
        byte error, address;
        int nDevices;
        Serial.println("Scanning...");
        nDevices = 0;
        for(address = 8; address < 127; address++ ){
            Wire.beginTransmission(address);
            Serial.println(address);
            error = Wire.endTransmission();
            Serial.println(address);
            if (error == 0){
                Serial.print("I2C device found at address 0x");
                if (address<16)
                    Serial.print("0");
                Serial.print(address,HEX);
                Serial.println(" !");
                nDevices++;
            }
            else if (error==4) {
                Serial.print("Unknow error at address 0x");
                if (address<16)
                    Serial.print("0");
                Serial.println(address,HEX);
            }
        }
        if (nDevices == 0)
            Serial.println("No I2C devices found\n");
        else
            Serial.println("done\n");
        delay(5000);
    }
     
  19. parovoZZ

    parovoZZ Гуру

    я уже об этом писал.
    Неужели так сложно взять схему и карандашом нарисовать пути протекания токов?
     
  20. User248

    User248 Нерд

    Картинки нет. Вы как-то не так картинку добавили. На форуме есть своя форма для этого.