Hirdetés

Új hozzászólás Aktív témák

  • its_grandpa

    tag

    válasz weiss #17246 üzenetére

    Ha boolean visszatérési értékűre módosítod a függvényt, a hívó oldalon kell egy ellenőrzés.
    Mivel Tomika86 eredeti fv-e int (nem uint), én valami ilyesmit csinálnék:

    int ADS7828_olvasas (int Addr_byte, byte Cmd_byte) {
      byte data[2];
      int adc = -1 ;
      Wire.beginTransmission(Addr_byte);             // I2C átvitel indítása, az adott címen
      Wire.write(Cmd_byte);                          // Command byte küldése
      Wire.endTransmission();                        // I2C átvitel megállítása
      Wire.requestFrom(Addr_byte, 2);                // 2 byte adatra várakozás
      
      if (Wire.available() == 2) {                   // Ha megérkezett a 2byte
        data[0] = Wire.read();                       // Első byte tömbbe írása
        data[1] = Wire.read();                       // Második byte tömbbe írása
        delay(2);                                    // Ciklus késleltetés
        adc = ((data[0] & 0x0F) * 256) + data[1];    // Adat konvertálás 12bit-re
      }
      
    return adc; 
    }

    Persze a hívó oldalon így is kell egy if ADS7828_olvasas .....

Új hozzászólás Aktív témák