- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 6 von 6

Thema: Anfängerproblem mit i2c und Peter Fleury

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    01.03.2005
    Beiträge
    16

    Anfängerproblem mit i2c und Peter Fleury

    Anzeige

    Powerstation Test
    Hallo,

    habe ein kleines aber für mich doch sehr schweres Problem. Und zwar
    möchte ich mit einem ATmega 32 über i2c-Bus mit einem
    Chipkartenlesegerät
    http://www.horter.de/i2c/i2c-chipkar...pkarten_1.html auf eine
    Chipkarte http://www.horter.de/shop/index.html schreiben und lesen.
    Dazu verwende ich die i2c-Libery von Peter Fleury. Leider klappt das
    nicht so ganz wie ich möchte.
    Habe bei dem Programm in der i2cmaster.h #define Dev24C02 0xA2 auf
    0xA0 und in der twimaster.c
    /* define CPU frequency in Mhz here if not defined in Makefile */
    #ifndef F_CPU
    #define F_CPU 4000000UL
    #endif

    /* I2C clock in Hz */
    #define SCL_CLOCK 100000L

    angepaßt.

    Jetzt steht dort, dass die CPU frequenz in Mhz angegeben werden soll.
    Entspricht das meiner Oszillatorfrequen? Die Frequenz soll in Mhz
    angegeben werden. Wenn ich aber mal die Nullen zähle, so ist das doch
    in Herz angegeben. was bedeutet "UL" hinter den Ziffern?
    Was bedeutet das L hinter SCL_clockangabe ? Dort bin ich mir auch nicht
    sicher, welche Frequenz ich angeben soll. Aus dem Datenblatt der
    Speicherkarte konnte ich keine Frequenz entnehmen.

    Muß nicht noch irgendwo eine Angabe gemacht werden, dass SCL und SDA
    auf Port C liegen?
    Des weieteren habe ich 4,8k Ohm Wiederstände als Pull-Up verwendet.


    Beim Compilieren werden mir keine Fehler angezeigt.
    Nach dem Übertragen gehen sofort alle LED´s an und melden halt, dass
    mein device nicht bereit ist. Weiter komme ich nicht.
    Hat jemand eine Ahnung, wo mein Fehler bzw. meine Fehler liegen? Habe
    schon alles möglich ausprobiert, komme alleine allerdings nicht
    weiter.

    Danke Euch jetzt schon herzlich für die geleistet Hilfe

    mfg

    Hans

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.08.2004
    Ort
    Großbardorf
    Alter
    37
    Beiträge
    674
    des is wohl ein Schreibfehler, da gibt man die Frequenz in Hertz an, das ist di Frequenz, mit der der AVR getaktet ist, also entweder der Takt des Quarzes oder des internen Taktgebers

    UL bedeutet ultra long, oder so ähnlich, L long, braucht man, glaube ich, um so große Zahlen verwenden zu können

    Dort bin ich mir auch nicht
    sicher, welche Frequenz ich angeben soll. Aus dem Datenblatt der
    Speicherkarte konnte ich keine Frequenz entnehmen.
    dann probiers erstmal mit einer relativ kleinen und steiger die dann nach und nach, bis es für deine Verhältnisse ausreicht

    die Pins des TWI-Moduls sind beim ATMega32 vorgegeben, müssen, also nicht eingestellt werden, da sie sowieso nicht veränderbar sind, wenn man das hardware-TWI verwendet

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.11.2004
    Ort
    Karlsruhe
    Beiträge
    223
    Zitat Zitat von Pascal
    UL bedeutet ultra long, oder so ähnlich, L long, braucht man, glaube ich, um so große Zahlen verwenden zu können
    unsigned long. Länger als long wäre "long long".

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    01.03.2005
    Beiträge
    16
    hm, wofür sol das denn gut sein. mit #define wird doch nur der wert vom präpozessor ersetzt. welcher typ es ist, wird doch in der deklaration der variablen festgelegt.
    jedenfalls liegt mein problem aber noch ganz woanders. blos wo?

    gruß

    hans

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Mit F_CPU und _CLOCK werden hostseitig Berechnungen ausgeführt, um TWI-ini-Werte zu bekommen. Ohne L resp. UL würde die Berechnung nur mit 16 bit ausgeführt und nicht das korrekte Ergebnis liefern.

    Die I²C-Adresse deiner Chipkarte findest du in der doc zu deiner Chipkarte. Ist das wirklich ein 24C02???

    Funktioniert dein Code mit einem 24C02?
    Disclaimer: none. Sue me.

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    01.03.2005
    Beiträge
    16
    Hallo,

    mittlerweile funktioniert alles mit der i2c-Karte. Du hast recht, die Adresse lautet nicht so, sonder 0xA0. Dev24C02 0xA2 kommt vom Erschöpfer dieses Programmes nämlich Peter Fleurry.


    gruß

Berechtigungen

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

12V Akku bauen