Forum: Compiler & IDEs Anfängerproblem mit ic2 -> TWI


von Hans B (Gast)


Lesenswert?

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-chipkartenleser/chipkarten_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

von trialanderror (Gast)


Lesenswert?

Hallo,

also die Portangabe brauchst du in diesem Fall nicht, da die Library
die Hardware-TWI verwendet (Sourcecode anschauen).

Die Angaben der Frequenzen werden in Hz angegeben (auch wenn dort MHz
steht). Die SCL_Clock ist hier auf 100kHz eingestellt (eigentlich
sollten die meisten i2c-Geräte mit der Geschwindigkeit funktionieren
einige gehen sogar bis 400kHz).

Könntest du mal den Sourcecode posten?
Von welche LED's sprichst du? (Schaltplan?)

Falls du eins besitzt, kann man sich mit nem Speicher-Osci mal die
Signale auf den Leitungen anschauen.

von Hans B (Gast)


Lesenswert?

hallo,

der sourcecode ist unter
http://homepage.sunrise.ch/mysunrise/peterfleury/avr-software.html#libs
zu finden. habe das datenblatt meiner chipkarte mit dem des in peter
fleury verwendeten eeprom verglichen, sollte von dort aus auch keine
probleme geben, da keine großartigen unterschieden sind.
die chipkarte kann auch bis 100kHz, habe ich doch noch im datenblatt
gefunden. mit einem ossi kann ich leider nicht dienen.

weiß so augenblicklich nicht richtig weiter.

mfg

hansb

von Peter Fleury (Gast)


Lesenswert?

Es nützt natürlich nichts wenn die #define Dev24C02 im Kommentar von
i2cmaster.h anpasst werden...

Es muss weder an i2cmaster.h noch in twimaster.c etwas angepast
werden.

Aber du musst natürlich ein eigenes C-Module, dass i2cmaster.h included
und gegen twimaster gelinkt ist schreiben, siehe Beispiel in meiner
Doku.

von Hans B (Gast)


Lesenswert?

Hallo,
dass mit dem Kommentar ist mir dann mittlerweile auch aufgefallen, sehr
blöd von mir.  Aber vom Prinzip her kann ich doch Deine test_i2cmaster.c
so weiter verwenden, bis auf, dass die Adresse von meiner Chipkarte
angepaßt werden muß. Es ist doch ein voll funktionsfähiges Programm.
Durch
ret = i2c_start(Dev24C02+I2C_WRITE);
 wird ret bei mir sofort zu 1 und zeigt mir sofort einen Fehler an.


Gruß

Hans

von Peter Fleury (Gast)


Lesenswert?

Ja das test_i2cmaster.c kann als Basis verwendet werden. Es muss
allerdings das makefile.twimaster auf makefile umbenannt werden zum
kompilieren.

von Bernd Stuppler (Gast)


Lesenswert?

Wo muss den das makefile stehen ....Headerfiles?...? oder wo?

von Bernd Stuppler (Gast)


Lesenswert?

Wofür brauche ich die .elf datei! Arbeite mit AVR Studio....und beim
Copilieren wird dann nach einer .elf datei gesucht ...und diese wird
nicht gefunden ....was mache ich falsch?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.