Probleme mit SPI-Flash Schaltung (Code)

#1198403
Lesenswert?

Hallo,
Ich bin Grade dabei ein Flash SST25VF016B an einen ATMEGA88 zu 
betreiben.
Das ganze lief erst recht gut aber hat dann schlagartig den Geist 
aufgegeben, habe die Schaltung 2 mal neu aufgebaut alle Bauteile 
ausgetauscht.
Ich versuche erstmal nur die Seriennummer auszulesen , wiegesagt hat 
alles wunderbar geklappt.

Habe das Flash folgendermaßen angeschlossen:
CE  -> PB1(+Pullup 10k)
SO  -> MISO
SI -> MOSI
WP -> VCC
HOLD -> VCC
SCK -> SCK


Brauche da eine Anstoß einzige Idee die ich habe ist das evtl. mein 
Programmer USBprog mir mit den 5V den Flash zerstört . da die ja an 
selben SPI-BUS sind . Flash kann max 3.6V

Danke hoffe jemand kann mir helfen, wie gesagt das ganze ging vorher, 
hängt jetzt beim lesen..
Angehängte Dateien:
#1199670
Lesenswert?

juhuu lalalala...
heute schmeiss ich ne Party!
Also CE auf PB2 muss als Ausgang definiert werden auch wenn ich  PB1 
verwende .. keine Ahnung warum jemand Ahnung wo das im Datenblatt steht 
.
es geht ! .. alle meine Flashs sind trotz überdosis  nicht gestorben.


Hier die abgeänderte SpiINIT

[code]
void SPI_MasterInit(void)
{
  /* Set MOSI and SCK output, && SS all others input */
  DDR_SPI = (1<<DD_MOSI)|(1<<DD_SCK)|(1<<PB1)|(1<<PB2);

  Flash_Disable();

  for(unsigned char a=0;a<200;a++){
  nop(); //#define nop()  _asm__ __volatile_ ("nop" ::)
  };    //Wartennn

  /* Enable SPI, Master, set clock rate fck/2 */
  SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPI2X);

}
[code/]

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren