Gast
#858472
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