WiringPi, Datentyp Short

  • Grüß euch Community.

    Ich verwende im Moment ein Raspberry Pi B und stehe im Moment auf der Leitung.
    Ich habe an meine GPIO-Pins (SPI) eine Gerätschaft angeschlossen und möchte darauf mit folgender Methode

    short[] write(short... data)
    throws IOException

    Link dazu: http://pi4j.com/apidocs/com/pi…#write-byte...-
    (dort ganz unten)

    zum Beispiel 0xCA00 übertragen.

    Jetzt zu meinem Problem: Da ja der Datentyp short von -32768 ... 32767 geht sollte es ansich funktionieren. Aber laut dem Interface SpiDevice darf short nicht größer als 255 sein.

    Note: short value should not exceed 255.
    Ich gehe jetzt davon aus, dass keine größeren Werte unterstützt werden.

    Mein Wert wäre Dezimal 51712. Somit zu meiner Frage:


    Gibt es von euch irgendwelche Ideen, wie dieses Problem zu lösen ist?

    Gruß Remsam2

  • Hi,
    und warum nicht byte?
    Ob 8 oder 16 Bit, signiert oder unsigniert war immer ein Dorn im meinem! Auge.

    Um kurz zu machen, es ist relativ kompliziert und mit byte Operationen verbunden.
    "Zauber Regel" ist immer den Wert mit <<8 zu verschieben und gleichzeitig mit einer
    & 0xff Maske zu versehen. Nun das war und ist für mich immer noch "einen Nummer" zu groß.

    Versuche es aber mit der;
    byte[] write(byte... data)
    throws IOException

    Methode.
    ... oder auch
    public static byte DEVICE_ADDRESS = 0xCA00;
    ... oder auch
    byte packet[] = new byte[3];
    packet[0] = address; // 0xCA
    packet[1] = register; // 0x00
    packet[2] = data; // data byte

    ... oder
    es gibt viele Möglichkeiten

    LG
    Georg

    Sollte ich "Müll- reden" :blush: - bitte mich (?) "auf die Nuss" hauen. :huh:

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!