MCP2515 und SD-card an SPI

#2246869
Lesenswert?

Hat das schon mal jemand gemacht?
Hab mich mit SD-cards noch nie beschäftigt....
SPI-Init für den MCP2515:
// ATMega32A
// SPI initialization
// SPI Type: Master
// SPI Clock Rate: 2*4000,000 kHz
// SPI Clock Phase: Cycle Half
// SPI Clock Polarity: Low
// SPI Data Order: MSB First

Klappt das auch mit der SD-card oder müsste man für jede Aktion 
umconfigurieren? Oder die USART als 2.SPI nutzen und dafür 
Software-UART? Oder Software-SPI für die SD?
Das schönste wäre, die SD-card könnte mit den oben geschriebenen 
Einstellungen benutzt werden...
Gast #2247291
Lesenswert?

Hallo.

In welcher Sprache programmierst du?

Ich mach es in asm so:

Nur "Takt", SPE und MSTR setzen. DORD CPOL CPHA bleiben null.
D.h.: Taktphase: versetzt
      Ruhezustand: low
      Richtung: MSB first

Hoffe es hilft dir.
#2247355
Lesenswert?

In C
SPCR=(1<<SPE) | (1<<MSTR);
SPSR=(1<<SPI2X);

Das scheint also zu passen.

Vielen Dank!

Gerade ein wenig bei Ullrich Radig gestöbert:

#if SPI_Mode
    //Aktiviren des SPI - Bus, Clock = Idel LOW
    //SPI Clock teilen durch 128
    SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR0)|(1<<SPR1); //Enable SPI, SPI in 
Master Mode
    SPSR = (0<<SPI2X);
#endif

Bis auf die anderen clockeinstellung scheint das zu passen.
Also werde ich das auf die Hardware-SPI routen.
#2247401
Lesenswert?

Ja, hab schon einiges gefunden.
Im Moment gehts mir erstmal drum, die Platine in Auftrag zu geben. Ist 
(wie immer :-)) etwas eilig.
Wäre blöde, wenn man sich da schon was verbaut und dann anfängt 
rumzufädeln.
Hab mir jetzt trotzdem Trennstellen eingebaut und Lötbrücken zu 
"normalen" I/Os (hab auch Beispielcode für ne Softwarelösung gefunden).

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