Fox Board LX 832 - Problem mit I2C device

Gast #1638131
Lesenswert?
• ▲
▼
Hallo liebes Forum,

ich besitze ein Fox Board LX 832 und möchte es nun mit I2C verwenden. 
Leider bekomme ich beim Aufruf der Anwendung immer folgenden Fehler : 
"I2C: open error on /dev/i2c"! Naja, es ist ja auch ie Fehlermeldung vom 
C-code, aber wieso? Wie kann ich bei einem Linux System überprüfen, ob 
die richtigen Treiber ( in diesem Fall für I2C) geladen sind? Oder woran 
kann es sonst liegen? Zur Info, die Anwendung liegt im Verzeichnis 
/mnt/flash/root/ und die vermutlichen Treiber oder Devices unter dev.

Vielleicht könnt ihr hier weiter helfen.
Vielen Dank im Voraus.


Der C-Quellcode für die Anwendung ist folgender:

#include "stdio.h"
#include "stdlib.h"
#include "unistd.h"
#include "sys/ioctl.h"
#include "fcntl.h"
#include "time.h"
#include "string.h"
#include "asm/etraxi2c.h"

// Global variables
int fd_i2c;

int I2C_Open(void) {
      fd_i2c = open("/dev/i2c", O_RDWR);
      if (fd_i2c <= 0) {
          printf("I2C: open error on /dev/i2c\n");
          return(-1);
     }

     return(0);
}

void I2C_Close(void) {
     close(fd_i2c);
}

int main(int argc, char **argv) {
        int retcode;

        retcode = I2C_Open();
        if (retcode != 0) {
                exit(1);
        }

        I2C_LCD i2clcd;
        i2clcd.slave=64;
        i2clcd.x = 1;
        i2clcd.y = 1;
        sprintf(i2clcd.text, "Hello World");
        ioctl(fd_i2c, _IO(ETRAXI2C_IOCTYPE, I2C_LCDINIT), &i2clcd);
        ioctl(fd_i2c, _IO(ETRAXI2C_IOCTYPE, I2C_LCDPRINT), &i2clcd);
        i2clcd.y = 2;
        i2clcd.x = 3;
        ioctl(fd_i2c, _IO(ETRAXI2C_IOCTYPE, I2C_LCDPRINT), &i2clcd);

        I2C_Close();

        return(0);
};


lg

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.