mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik serieller EEprom läßt sich nicht mehr beschreiben


Autor: Gerd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe an einem AT90USB1287 über SPI einen EEprom angeschlossen. Hat 
auch gut funktioniert. Jetzt habe ich mein Programm fast fertig und 
wollte Meßwerte darauf speichern, aber es klappt nicht.
Ich lese immer die Werte, die drinstehen, kann die aber nicht 
überschreiben. Jetzt weiß ich nicht, wie lange das Testprogramm 
funktioniert hat, es wird ja immer die gleiche Zahlenfolge geschrieben, 
ich hätte es also nicht gemerkt, wenn es danach nicht mehr funktioniert 
hat. Setze ich eine andere Speicheradresse, dann steht da immer &HFF 
drin.
An der Hardware habe ich nichts geändert, defekt wird er mach so kurzer 
Zeit auch noch nicht sein.

Hat jemand einen Tip?
Gruß Gerd

Sub 24lc256_test
'Test read and writes
       Dat = 0
      For E_addr = &H1000 To &H1010
          Call E_write(e_addr , Dat)
          Call E_read(e_addr , E_dat)
          Ausgabe = Str(e_dat)
          Call W_disp
          Waitms 1000
          Incr Dat
          Incr Dat
          'Incr Dat                                          ' +1 +1 +1
      Next E_addr
      Ausgabe = "TestEnde"
      Call W_disp
      Waitms 3000
      Dat = 0
End Sub

' Routine to write the 24LC256
Sub E_write(byval E_addr As Word , Dat As Byte)
   E_ah = High(e_addr)
   E_al = Low(e_addr)
   Reset Portf.0                                            'CS Aktiv
   Waitms 10
   Spiout Write_enable , 1
   Waitms 10
   Spiout E_ctlw , 1
   Spiout E_ah , 1
   Spiout E_al , 1
   Spiout Dat , 1
   Waitms 10
   Set Portf.0
End Sub

' Routine to read the 24LC256
Sub E_read(byval E_addr As Word , E_dat As Byte)
   E_ah = High(e_addr)
   E_al = Low(e_addr)
   Reset Portf.0                                            'CS Aktiv
   Waitms 10
   Spiout E_ctlr , 1
   Spiout E_ah , 1
   Spiout E_al , 1
   Spiin E_dat , 1
   Set Portf.0                                              '
End Sub

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gerd wrote:
> ich habe an einem AT90USB1287 über SPI einen EEprom angeschlossen. Hat
> auch gut funktioniert.
...
> Sub 24lc256_test

Dann wärst Du der erste, der einen I2C-Chip per SPI angesteuert kriegt.


Peter

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Immerhin hat er es nicht mit dem UART versucht ;)

[Nachtrag]

Die Sache mit dem I²C/SPI ist mir allerdings auch nicht auf Anhieb 
aufgefallen...

[/Nachtrag]

Autor: Gerd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

> Dann wärst Du der erste, der einen I2C-Chip per SPI angesteuert kriegt.
> Immerhin hat er es nicht mit dem UART versucht ;)

Na ja, ganz so blöd bin ich doch nicht.
Es ist der M95320 drin, das Testprogramm hatte ich gefunden, die 
Kommentarzeilen aber nicht umgeänder.
Mein Fehler, hätte ich drauf achten sollen.

Hatte ja geschrieben, das daß Schreiben zumindest einmal geklappt hat 
und das Lesen immer.

Funktioniert aber jetzt.

Nach "Spiout Write_enable , 1", muß ich die CS Leitung kurz auf "H" 
ziehen, dann klappt es.

Gruß Gerd

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gerd wrote:
> Na ja, ganz so blöd bin ich doch nicht.
> Es ist der M95320 drin, das Testprogramm hatte ich gefunden, die
> Kommentarzeilen aber nicht umgeänder.
> Mein Fehler, hätte ich drauf achten sollen.

Kein Problem, es sei dir verziehen. So hatten wir zumindest was zum 
Schmunzeln ;))

> Funktioniert aber jetzt.
>
> Nach "Spiout Write_enable , 1", muß ich die CS Leitung kurz auf "H"
> ziehen, dann klappt es.

Kleine Ursache, große Wirkung. Weiterhin viel Erfolg!

Magnetus

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gerd wrote:
> Es ist der M95320 drin

Tschuldigung, daß ich das nicht hellsehen konnte.


Peter

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.