Forum: Mikrocontroller und Digitale Elektronik DummyClocks an SPI senden


von Johannes (menschenskind)


Lesenswert?

Hallo ich möchte die FAT-Umgebung von CHAN für die 
SD-Karten-Kommunikation nutzen.

Für die Initialisierung sollen der Karte 80 Dummy-Takte auf den SPI 
gesendet
werden, doch in dieser Funktion verheddert sich wohl etwas:
1
static
2
BYTE rcvr_spi (void)
3
{
4
  SPDR = 0xFF;
5
  loop_until_bit_is_set(SPSR, SPIF);
6
  return SPDR;
7
}

Die Zuweisung der SPI-Ports erfolgt ja in der iom32.h (hab nen Mega32)

Die Karte hängt ist mit Leitungen von etwa 8cm Länge lose mit dem 
SPI-Port des uC verbunden.  Das DO der Karte hat nen Pullup gegen 3,3V.
Alle Kabel korrekt zugeordnet.

von holger (Gast)


Lesenswert?

>doch in dieser Funktion verheddert sich wohl etwas:

Was verheddert sich da? Bleibt er stehen?
Dann mach den SS Pin zu einem Ausgang.

von Johannes (menschenskind)


Lesenswert?

Die Funktion wir nicht verlassen.
Wie krieg ich denn SS als Output? GAnz simpel über das DDRB?

von Jean P. (fubu1000)


Lesenswert?

Johannes Hofmann schrieb:
> Die Funktion wir nicht verlassen.
> Wie krieg ich denn SS als Output? GAnz simpel über das DDRB?

Jo.

von Johannes (menschenskind)


Lesenswert?

DDRB |= (1<<PB4);
Ich hoffe mal, dass das so richtig war.
Damit gab's aber leider keine Besserung.
Kann es evtl. an dieser loop_until-Funktion liegen?

von holger (Gast)


Lesenswert?

>Damit gab's aber leider keine Besserung.
>Kann es evtl. an dieser loop_until-Funktion liegen?

Falls das SPI Modul nicht aktiviert ist, ja.

von Johannes (menschenskind)


Lesenswert?

Ok, war aus. Lag aber daran, dass das SPI-Enable in einer Unterfunktion 
steckte, die ich lt. anderem Forenmitglied in anderem Thread löschen 
könnte.

Jetzt hab ich noch das Problem, dass die Karte nicht will.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.