Hallo, ich komme mit der Lib von Ulrich Radig nicht zurecht, konnte bisher keine SD-Karte ansprechen. Gibt es noch andere Bibliotheken, um eine SD-Karte anzusprechen, die nicht am SPI hängt ? (Bzw. Software-SPI macht) Ciao, Pete
Also die Lib von Ulrich Radig benutzt ja Hardware SPI oder Software SPI, je nachdem an welchen Pins die Karte dranhängt. Und grundsätzlich wirst du von der Ansteuerung über SPI auch nicht wegkommen. Aber es gibt eine recht gute SD-Reader Lib von Roland-Riegel, welche du mal ausprobieren kannst. http://www.roland-riegel.de/sd-reader/ Ciao, Rainer
Ja,ich meinte auch eine Lib für Software SPI. Dann kann ich die Pins frei wählen. Die Lib von Roland Riegel setzt IMHO auch Hardware SPI voraus (siehe sd_raw_config.h). Ich habe dort keine Einträge für custom Pins gefunden.
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
Ich bin nicht so der SPI Freund, I2C finde ich besser. Der SPI empfängt aber auch von der SD, oder ? :-)
@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
Ja, die Lib von Ulrich Radig macht beides, allerdings bekomme ich damit keine Karte angesprochen. Daher fragte ich nach einer alternativen Implementierung.
Alternative: www.Mikro-Control.de ich glaub die hat softwar SPI bin mit nicht sicher, hab auch erst gestern damit angefangen. bei mir funktionierts noch nicht ^^ mfg J.K.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.