Forum: Mikrocontroller und Digitale Elektronik Fragen zu I²C-EEPROM M24C16


von Johannes H. (hane)


Lesenswert?

Hallo,

hätte mal eine Frage zu der I²C-Ansteuerung eines EEPROMS M24C16.
Ich verwende als Controller einen MSP430F1612, der schon I²C 
standartmäßig als USART dabei hat.

Mein Problem ist folgendes:
Der Speicher ist in 8 Pages mit jeweils 256 Byte organisiert.
Etz habe ich von TI eine Bespielapplikation verwendet. Es funktioniert 
auch soweit alles ganz gut. Kann sowohl daten auf das EEPROM schreiben 
und auch davon lesen.
nur ist es so ich habe eine Funktion geschrieben, die mir komplett eine 
ganze Page auslesen soll, also 256 Byte.
in dem Register des MSP "I2CNDAT" kann man angeben, wieviel Byte man 
übertragen möchte und es wird dann automatisch diese anzahl übertragen 
(Automatic Data Byte Counting). Das Register is aber leider nur 8Bit 
sodass ich ja höchstens darin die Zahl 255 speichern kann. jetzt wird 
mir immer das letzte Byte nicht mit ausgelesen!

neben diesn "Automatic Data Byte Counting" würde es die möglichkeit 
geben, dass man die anzahl der übertragenen Daten softwaremäßig steuert. 
hab das auch scho mal ausprobiert doch das klappt nicht! kann mir jemand 
sagen wie da der ablauf ist?? bzw hat wer dazu ein beispielprogramm???

Wäre schön wenn mir wer helfen könnte!!
dankeschön schon mal im vorraus

von Jörg S. (Gast)


Lesenswert?

> Das Register is aber leider nur 8Bit sodass ich ja höchstens darin die
> Zahl 255 speichern kann. jetzt wird mir immer das letzte Byte nicht mit
> ausgelesen!
Dann mach danach doch noch mal einen einzelnen zugriff um das letzte 
Byte zu holen.

> hab das auch scho mal ausprobiert doch das klappt nicht!
Was genau klappt nicht?

von Johannes H. (hane)


Lesenswert?

ja so habs ich etz gelöst! ich les am stück 255 Byte aus und dann hol 
ich mir das letzte Byte!

naja man kann ja auch das so einstellen, dass man nich auf das register 
zugreift wo drin steht wieviel byte man übertragen will, sondern dass 
man manuell softwaregesteuert es ablaufen kann!
doch ich versteh nich ganz wie der ablauf ist!

ich muss ja irgendwo mitzählen wie viel daten gesendet werden bzw den 
modul anzeigen dass noch nicht alle daten gesendet worden sind!!

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.