Hallo wer kann mir helfen?
ich will an nen ATmega16 per Software I2C nen externen Speicher
(AT24C64) anschließen.
Ich hab des jetzt auch schon gelötet und wollte fragen ob schon
irgendjemand nen fertigen C-code hat mit dem ich den Speicher ansteuern
kann.
Ich will dort einfach Daten speichern und später wieder abrufen.
Danke im Vorraus
Subbl
hmm, ich würde mal die seite www.google.de ansehen!!! ;-)
da gibt es meine ich mind. 1 mio anbindungen zwischen nen atmel und nem
24c64!!!
hast du auch die adress-pins richtig verbunden? nicht einfach nur
vcc,gnd,sda,scl verbunden?
^^ ist halt ein allewelts bausstein!
btw:
ich mach in ein paar min das selbe, nur mit einem anderem uc
patsch, da ist sie wieder, die hand an der strin...
dann nehm doch irgend eine!
ansonsten...
... erst einmal i2c zum laufen bekommen und dann das datenblatt lesen!
... daraus dann adressen, comandos,.. ermitteln.
... und dann noch testen ;-)
so, jetzt such ich mir erstmal das datenblatt.
ok, erster blick ins datenblatt:
byteweise schreiben:
adressierung des bausteins:
---------------------------
readaddr: 10100001
writeaddr: 10100000
adressierung des speichers:
---------------------------
highbyte: 000xxxxx
lowbyte: xxxxxxxx
daten zum schreiben:
--------------------
data: xxxxxxxx
also sieht ein schreiben so aus, das du
1. write adresse übermitteln.
2. adressing high byte senden.
3. adressing low byte senden.
4. datenbyte senden
und so das lesen
1. read adresse übermitteln.
2. adressing high byte senden.
3. adressing low byte senden.
4. datenbyte lesen
um i2c must du dich selber kümmern! ( ich hab keine ahnung von atmel!)
das habe ich jetzt gerade in 2 min geschrieben!!
es solte reichen um äußerst primitiv auf den 24c64 zuzugreifen!
es ist jedoch noch nicht getestet!
für verbesserungsvorschläge bin ich offen!
@Alex:
Dein Code ist so wertvoll, daß Du ihn nicht jedem zur Verfügung stellen
willst? Dann mach Dich mal drauf gefasst, daß Du auch in Monaten noch
ständig Mails bekommst, mit Leuten die ein ähnliches Problem haben.
So ist es nicht, im Rahmen meines nächsten Homepage-Updates werde ich
ihn dort veröffentlichen. Der Upload gestaltet sich nur per Modem immer
sehr langwierig ...
Alex
OK, ich wusste ja nicht wie viele MB Dein Quellcode hat... ;-))
Ansonsten wäre es sicher auch nicht so langwierig gewesen, den
Quellcode hier im Forum als Dateianhang zu veröffentlichen.
Ich brauch's ja nicht, aber andere vielleicht. Mich musst Du da nicht
glücklich machen. Allenfalls Dich selbst, daß nicht ständig jemand
nachfragt, ob er es auch haben kann. Aber wenn Du es brauchst:
Oh ja, Alex, Danke! DANKE! Du hast mich sehr glücklich gemacht.
oh ne, nech...
ich such die ganze zeit fehler, wo keine mehr sind!
ok, die routinen waren bugy, ich war halt zu schnell...
aber nachdem ich die fehler beseitigt hatte lief es immer noch nicht
:-(
und, woran lag es?
-> wofür steht wohl das c in 24c64? na? richtig, speed! c = 100 khz.
und ich, ich habe einen high speed bus ~350khz...
ich habe den bus jetzt gedrosselt ca 125khz. dann läuft er. was aber
schade
ist, den meine ad's laufen auf highspeed. ich werde jetzt mal
sehen
ob ich 24lc64 oder 24aa64 bekommen kann. die laufen auch mit
highspeed.
Ich habe die Routinen ursprünglich für einen AT24C512 geschrieben. Der
ist bei 5V bis 1MHz spezifiziert.
Kannst du nicht einfach die Busgeschwindigkeit varriieren, wenn du
andere Bausteine ansprechen möchtest?
"wofür steht wohl das c in 24c64? na? richtig, speed! c = 100 khz."
Falsch !
Das C steht für CMOS.
Ein L bedeutet oft "Low Voltage", d.h. <5V.
Ein A bedeutet oft "Advanced", also nichts bestimmtes.
Für genaue Angaben brauchst Du immer die komplette
Herstellerbezeichnung und das Datenblatt.
Der AT24C64A ist z.B. für 400kHz von 1,8-5V spezifiziert.
Peter
"trotzdem ist der 24c64 nur für 100khz ausgelegt."
Warum trotzdem ?
Ich habe nirgends was anderes behauptet.
Ich habe nur suggeriert, daß man das Datenblatt vor dem Einsatz lesen
sollte und besser noch vor dem Einkauf.
Peter
>Ich habe nur suggeriert, daß man das Datenblatt vor dem Einsatz lesen
sollte und besser noch vor dem Einkauf.
hast ja recht. außerdem lag der inner grabbelkiste hier rum.
naja, das "kleine" eeprom ist eh klein.darum versuche ich jetzt mal
eine mmc am msp430 zum laufen zu bekommen.
hmm ob ich wohl fat bei 2kb ram hinbekommen werde?
naja erstmal sollte ich sie überhaupt zum laufen bekommen.
kennst du jemand, der das am msp schon hinbekommen hat?
Hallo Alex.
Ich habe im Forum gelesen, dass du eine Ansteuerung für den At24C512
geschrieben hast.
Ich bin kein Experte in C Programmierung. Ich benötige für meine
Datenspeichererweiterung Hilfe.
Könntest du mir die C Routinen per E-Mail senden?
Ich wäre dir dafür sehr dankbar.
lycra_hs@yahoo.de
Will mich ja nicht lustig machen, aber du musst noch weiter runter
scrollen :-)
Die von dir angesprochenen Routinen hat doch der "King of Freaks"
veröffentlicht. Diverse Beiträge später findest du dann meine (*.rar
Archiv).
Alex