File tree 1 file changed +7
-10
lines changed
1 file changed +7
-10
lines changed Original file line number Diff line number Diff line change @@ -84,22 +84,14 @@ void sdDeselectCard(uint8_t pdrv)
84
84
{
85
85
ardu_sdcard_t * card = s_cards[pdrv];
86
86
digitalWrite (card->ssPin , HIGH);
87
- card->spi ->write (0xFF );
88
87
}
89
88
90
89
bool sdSelectCard (uint8_t pdrv)
91
90
{
92
91
ardu_sdcard_t * card = s_cards[pdrv];
93
92
digitalWrite (card->ssPin , LOW);
94
- card->spi ->write (0xFF );
95
-
96
- if (sdWait (pdrv, 500 )) {
97
- return true ;
98
- } else {
99
- log_e (" timeout" );
100
- sdDeselectCard (pdrv);
101
- return false ;
102
- }
93
+ sdWait (pdrv, 300 );
94
+ return true ;
103
95
}
104
96
105
97
char sdCommand (uint8_t pdrv, char cmd, unsigned int arg, unsigned int * resp)
@@ -448,6 +440,11 @@ DSTATUS ff_sd_initialize(uint8_t pdrv)
448
440
449
441
card->spi ->beginTransaction (SPISettings (400000 , MSBFIRST, SPI_MODE0));
450
442
443
+ digitalWrite (card->ssPin , HIGH);
444
+ for (uint8_t i = 0 ; i < 20 ; i++) {
445
+ card->spi ->transfer (0XFF );
446
+ }
447
+
451
448
if (sdTransaction (pdrv, GO_IDLE_STATE, 0 , NULL ) != 1 ) {
452
449
log_w (" GO_IDLE_STATE failed" );
453
450
goto unknown_card;
You can’t perform that action at this time.
0 commit comments