I2C mit PI4J ansteuern, keine Option für Repeated Start?

Registriere dich jetzt, um exklusive Vorteile zu genießen! Als registriertes Mitglied kannst du Inhalte herunterladen und profitierst von einem werbefreien Forum.
Mach mit und werde Teil unserer Community!
  • Hallo allerseits,


    ich möchte mit dem RaspberryPI und Java etwas herum experimentieren.


    Nun habe ich mir Pi4J geladen und habe bereits erste erfolge damit erzielt.

    Ich möchte jetzt einen Sensor, genauer gesagt den MLX90640 steuern und dieser hat 2 Byte große Register.

    Ich muss also um diese Register auslesen zu können erst einmal 2 Byte an den MLX senden,

    dann den Repeated Start ausführen um den MLX im Anschluss daran auf Read zu setzen und

    auslesen zu können.

    Das klappt soweit alles, nur bekomme ich keinen Repeated Start hin mit der read funktion.

    Das bedeutet, zwischen schreiben und lesen erzeugt mir PI4J immer eine Stop kondition.


    Hat jemand die entsprechende Kenntnis ob das was ich vorhabe so ohne weiteres mit PI4J

    möglich ist, oder komme ich da um ein Workaround oder gar um die Benutzung von Python

    oder C gar nicht herum?


    Freundliche Grüße



    Jens

  • Diese Methode sieht doch passend aus:


    Code
    int read(byte[] writeBuffer,
             int writeOffset,
             int writeSize,
             byte[] readBuffer,
             int readOffset,
             int readSize)
      throws IOException
    
    This method writes and reads bytes to/from the i2c device in a single method call
  • Hi,

    Danke für die Antwort.

    Leider habe ich gerade diese Methode bereits probiert mit dem Ergebnis das ich zwischen Schreib- und Lesezugriff die Stop Kondition habe.

    Ich habe mir das auf dem Oszilloskop angeschaut wodurch ich das herausgefunden habe.


    Grüße Jens