www.mikrocontroller.net

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


Autor: Johannes H. (hane)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jörg S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Johannes H. (hane)
Datum:

Bewertung
0 lesenswert
nicht 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!!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.