- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 8 von 8

Thema: rnrelais über I²C-Bus in C nsprechen

  1. #1
    Neuer Benutzer
    Registriert seit
    27.12.2006
    Alter
    36
    Beiträge
    4

    rnrelais über I²C-Bus in C nsprechen

    Anzeige

    Praxistest und DIY Projekte
    Hi!
    Bin n ziemlicher Neuling was Robotik angeht...
    Wie kann ich in C meinem Relaisboard, das ich über I²C-Bus am Control-Board (mit ATMega32) angeschlossen hab, sagen, es soll n bestimmtes Relais durchschalten...?
    Bin echt m verzweifeln, weil ich aus den C-Beispielen zum I²C-Bus einfach nicht schlau werd...
    Danke schon mal im voraus!

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    38
    Beiträge
    4.255
    du lädst dir bei www.jump.to/fleury die I2C lib runter, bindest sie laut Anleitung in dein Programm ein, und setzt dann mit den Befehlen
    i2c_start(adresse+I2C_WRITE);
    i2c_write(byte);
    i2c_stop();

    die Ausgänge am Relaisborad mit der Adresse adresse auf dem Wert, der in byte steht.

  3. #3
    Neuer Benutzer
    Registriert seit
    27.12.2006
    Alter
    36
    Beiträge
    4
    ...genau das hab ich gemacht...
    Hab das Byte als HEXA-Dezimalzhl geschrieben...
    genauso wie die adresse...
    Die lib hab ich eingebunden...
    keine Fehlermeldung beim compilen...
    Und jetzt steh ich am schlauch...
    Ich tüftel noch mal n bisschen rum...

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    38
    Beiträge
    4.255
    wie sitzen die Jumper für die Adresse?
    i2c_init(); gemacht?
    benutzt du twimaster.c oder i2cmaster.S ?

  5. #5
    Neuer Benutzer
    Registriert seit
    27.12.2006
    Alter
    36
    Beiträge
    4
    Jumper sitzen auf Standard, wie in der Dokumentation und die gleiche Adresse is im Prog angegeben.
    i2c_init(); hab ich auch vorher.
    Benutze i2cmster.S

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    38
    Beiträge
    4.255
    Zitat Zitat von flogge
    Benutze i2cmster.S
    Dann musst du in der i2cmaster.S noch angeben, an welchen Pins du den I2C-Bus angeschlossen hast. Ich würde dir aber die twimaster.c empfehlen, damit wird nämlich die Hardware-I2C Schnittstelle benutzt. Die läuft schneller als die Softwareemulation mit der i2cmaster.S

  7. #7
    Neuer Benutzer
    Registriert seit
    27.12.2006
    Alter
    36
    Beiträge
    4
    In der Dokumentation steht, dass die SDA-Leitung PC1, die SCL-Leitung PC0 ist.

    Habs jetzt folgendermaßen angegeben:
    #define SDA 1
    #define SCL 0
    #define SDA_PORT PORTC
    #define SCL_PORT PORTC

    ...Läuft noch immer nix...

    Wenn ich twimaster und die zugehörige makefile (Deiteinamen etc wie gewohnt editiert) verwende bekomm ich ne Fehlermeldung...

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    38
    Beiträge
    4.255
    das makefile dazu brauchst du nicht.

    In dem Ordner, in dem deine Haupt-.c-Datei liegt, packst du die i2cmaster.h und die twimaster.c. Dann #include i2cmaster.h, und es sollte laufen...

    Fehlermeldung?

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress