Keresés

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

  • vampire17

    addikt

    válasz Degeczi #7836 üzenetére

    Furcsa.... Ha az egyel kisebb regiszertol kezdem el olvasni (0x0004), akkor jo...:

    Viszont ez mar mas erteke, tehat ot nem hasznalhatom.... ugye nekem a 0x0005 es 0x0006 ban van 2x 16 biten eltarolva az adat. A 0x0005-be kezdi el, tehat ez a kisebb helyiertek, es a 0x0006-ban fogja fojtatni, ha a masik betelt.:

    Probaltam "BE" "LE" konvertalassal is, de sehogy sem kapok jo eredmenyt, csak es kizarolag akkor, ha a olyan regiszert valasztok elsonek, aminek az erteke nulla....(Ugye a peldaban is igy van...)

    De most nem ertem, hogy miert nem lehet folcserelni...

    Itt a Funktion-jaim tartalma:

    Elso (kiolvasas):

    Jo eredmeny, de nem jo regiszerbol (most meg csak azert jo mert az epp 0):

    msg.payload = {
    'fc': 4,
    'unitid': 1,
    'address': 0x0004 ,
    'quantity': 2,
    } ;
    return msg;

    Itt van, az ha atirom 0x0005-re elxarodik.

    Itt pedig a masik, ami elv osszevonna a ket registert, ugy hogy a raw buffert osszetuzi:

    // Create new Buffer based on array bytes
    const buf = Buffer.from(msg.payload.buffer);

    // Represent these bytes as 32-bit unsigned int
    const value = buf.readUInt32BE();

    // save the value
    msg.payload = value;

    return msg;

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