ATmega328 SPI Problem

Gast #3895974
Lesenswert?

Hallo,

ich will mit einem ATmega328P eine SD-Karte auslesen. Das hab ich in 
einem anderen Projekt auch schon mal geschafft ;) Und die SPI 
Schnittstelle bediene ich auch nicht zum ersten mal aber ich dreh 
langsam am Rad.

Ich arbeite mit AVR Studio4 und WinAVR-20100110 ich kann die Ausgänge 
mit PORTx ohne Probleme setzen und sehe das auch schön am Oszi das ganze 
wurde mit 2 Controllern und auf 2 verschiedenen Platinen getestet. Aber 
SPI(weder SCK noch MOSI) macht keinen Mux.
Hier mein Code:
1
#include <avr/io.h>
2

3
void SPI_MasterInit(void)
4
{
5
  /* Set MOSI and SCK output, all others input */
6
  DDRB = (1<<PB3)|(1<<PB5);
7
  /* Enable SPI, Master, set clock rate fck/16 */
8
  SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR0);
9
}
10
void SPI_MasterTransmit(char cData)
11
{
12
  /* Start transmission */
13
  SPDR = cData;
14
  /* Wait for transmission complete */
15
  while(!(SPSR & (1<<SPIF)));
16
}
17

18
void main(void)
19
{
20
  SPI_MasterInit();
21
  while(1)
22
  {
23
    SPI_MasterTransmit(0xAA);
24
  }
25
}

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