MCP2515 und SD-card an SPI

OP #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.
OP #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.
OP #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

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.