www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Fox Board LX 832 - Problem mit I2C device


Autor: Gernot (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.