Hallo habe folgendes Problem ich versuche die SD karte in das Programm mit einzubinden doch er sagt mir jedesmal das er die Karte nicht finden kann habe den Code von Ulrich Radig verwendet könnte da vielleicht mal jemand drüber schauen woran es eventuell liegen könnte. Die mmc.h ist folgende: /*###################################################################### ################# Connect ARM to MMC/SD Copyright (C) 2004 Ulrich Radig ARM modifications by Ingo Busker 2005 ######################################################################## ###############*/ #ifndef MMC_H #define MMC_H //#include "typedefs.h" //#define SPI_Mode 1 //1 = Hardware SPI | 0 = Software SPI #define SPI_Mode 0 #define MMC_Write PORTB //Port an der die MMC/SD-Karte angeschlossen ist also des SPI #define MMC_Read PINB #define MMC_Direction_REG DDRB #define SPI_DI 3 //Port Pin an dem Data Output der MMC/SD-Karte angeschlossen ist #define SPI_DO 7 //Port Pin an dem Data Input der MMC/SD-Karte angeschlossen ist #define SPI_Clock 5 //Port Pin an dem die Clock der MMC/SD-Karte angeschlossen ist (clk) #define MMC_Chip_Select 1 //Port Pin an dem Chip Select der MMC/SD-Karte angeschlossen ist #define SPI_SS 1 //Nicht Benutz muß aber definiert werden //Prototypes inline uint8_t mmc_read_byte(void); inline void mmc_write_byte(uint8_t); extern void mmc_read_block(uint8_t *,uint8_t *,uint16_t); extern uint8_t mmc_init(void); extern uint8_t mmc_read_sector (uint32_t,uint8_t *); extern uint8_t mmc_write_sector (uint32_t,uint8_t *); extern uint8_t mmc_write_command (uint8_t *); extern uint8_t mmc_read_csd (uint8_t *); extern uint8_t mmc_read_cid (uint8_t *); //set MMC_Chip_Select to high (MMC/SD-Karte Inaktiv) #define MMC_Disable() MMC_Write|= (1<<MMC_Chip_Select); //set MMC_Chip_Select to low (MMC/SD-Karte Aktiv) #define MMC_Enable() MMC_Write&=~(1<<MMC_Chip_Select); #define nop() _asm__ __volatile_ ("nop" ::) #endif //_MMC_H_ und im Anhang ist die Datei mmc.c im main mache ich zum test ob eine Karte vorhanden und erkannt wurde eine abfrage bevor er in die eigentliche programm schleife geht mit: //MMC-Karte Initialisieren card_found = mmc_init(); //delay_ms(4000); if (card_found != 0) { lcd_string(mmc_nfound); delay_ms(4000); } if (card_found == 0) { lcd_string(mmc_found); delay_ms(4000); } wäre nett wenn mit jemand helfen könnte:
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.