SD-Card Lib gesucht (kein SPI)

Gast #917685
Lesenswert?

das is doch wirklich recht schnell selbst gebaut:
1
unsigned char senden_spi(unsigned char spidata)
2
{
3
  unsigned char spdr_miso=0;
4

5
  PORTB |=  (1<<PB5);          // B5:CLK  high
6
  PORTB &= ~(1<<PB2);          // B2:CS   low
7

8
  for(unsigned char a=7;a<=0;a--)
9
  {
10
    PORTB &= ~(1<<PB5);        // B5:CLK  low
11
    if( spidata & (1<<a) )
12
      PORTB |= (1<<PB3);       // B3:MOSI
13
    else PORTB &= ~(1<<PB3);   // B3:MOSI
14
    
15
    spdr_miso |= ((PINB & (1<<PB1)) >> PB1) << a; // B1:MISO 
16
    
17
    _delay_us(10);
18
    PORTB |= (1<<PB5);         // B5:CLK  high
19
    _delay_us(10);
20
  }
21

22
  PORTB |= (1<<PB2);           // B2:CS   high
23
  return spdr_miso;
24
}

evtl steigende und fallende flanke tauschen
#917892
Lesenswert?

@Pete K
Also ich weiß ja nicht welche Version der Lib von Ulrich Radig du hast, 
aber auf seiner Homepage ist die neueste Version 2.9 und kann mit 
Software und Hardware SPI benutzt werden.
Es gibt dort eine mmc.h in welcher man mit "#define SPI_Mode" zwischen 
Hard und Soft SPI umschalten kann.

Ciao,
     Rainer

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