Hallo,
ich hab mir mal den Code angeschaut und hab eine Frage.
in dem
pdf:http://www.ulrichradig.de/site/atmel/avr_mmcsd/pdf/MMCSDTimming.pdf
sollen die 8 Dummyclocks nach dem Senden der 6 Kommandobytes kommen.
In seinem Code sendet er aber die 8 clocks vorher oder?
1 | //############################################################################
|
2 | //Sendet ein Commando an die MMC/SD-Karte
|
3 | U08 mmc_write_command (U08 *cmd)
|
4 | //############################################################################
|
5 | {
|
6 | U08 tmp = 0xff;
|
7 | U16 Timeout = 0;
|
8 |
|
9 | //set MMC_Chip_Select to high (MMC/SD-Karte Inaktiv)
|
10 | MMC_Disable();
|
11 |
|
12 | //sendet 8 Clock Impulse
|
13 | mmc_write_byte(0xFF);
|
14 |
|
15 | //set MMC_Chip_Select to low (MMC/SD-Karte Aktiv)
|
16 | MMC_Enable();
|
17 |
|
18 | //sendet 6 Byte Commando
|
19 | for (U08 a = 0;a<0x06;a++) //sendet 6 Byte Commando zur MMC/SD-Karte
|
20 | {
|
21 | mmc_write_byte(*cmd++);
|
22 | }
|
23 |
|
24 | //Wartet auf ein gültige Antwort von der MMC/SD-Karte
|
25 | while (tmp == 0xff)
|
26 | {
|
27 | tmp = mmc_read_byte();
|
28 | if (Timeout++ > 500)
|
29 | {
|
30 | break; //Abbruch da die MMC/SD-Karte nicht Antwortet
|
31 | }
|
32 | }
|
33 | return(tmp);
|
34 | }
|
Ist das denn egal wann die 8 Clocks gesendet werden?