Hallo ich habe eine frage und zwar ich möchte ein Bild von meiner microSD Karte auf dem STM3210C-Eval lesen. Im anhang könnt ihr mein derzeitiges Programm sehen. Das Programm läuft und er sagt mir auch das er die SD karte lesen kann, doch ich kann einfach kein Bild sehen, was ich beispielsweise drauf geladen habe!?! Ich finde einfach den Fehler nicht und hoffe einer kann mir weiter helfen. Um das Programm ein wenig einzugrenzen schaut man im "main.c" bei dem abschnitt, dis enthält alle initialisierungen sowie dosfs(fat init) und sollte eigentlich das STLOGO.BMP laden.: ..... if (SD_Detect() == SD_NOT_PRESENT) { LCD_DisplayStringLine(Line1, "Please insert SDCard"); while (SD_Detect() == SD_NOT_PRESENT) {} LCD_DisplayStringLine(Line1, " SDCard detected "); LCD_SetDisplayWindow(239, 0x13F, 240, 320); Storage_OpenReadFile("STFILES", "STFILES/STLOGO.BMP", (uint32_t)&Wavebuffer, &bmplen); Demo_Delay(200); } ... und um diese datei zu laden habe ich die fkt. in einer andere datei storage.c angesetzt "Storage_OpenReadFile" um normalerweise ein file zu öffnen.siehe hier: uint32_t Storage_OpenReadFile(uint8_t *DirName, uint8_t *FileName, uint32_t BufferAddress, uint32_t *FileLen) { uint32_t j = 0, lcdindex = 0, firstdata = 33; uint32_t err = 0; uint32_t number_of_clusters = 0; uint32_t i; FILEINFO fi; DIRINFO di; uint16_t *pbuffer; pbuffer = (uint16_t *)BufferAddress; /* Directory enumeration test */ di.scratch = sector; if (DFS_OpenDir(&vi, "", &di)) { err = 1; } if (DFS_OpenDir(&vi, DirName, &di)) { err = 1; } if (DFS_OpenFile(&vi, FileName, DFS_READ, sector, &fi)) { err = 1; } else { *FileLen = fi.filelen; number_of_clusters = fi.filelen / 512; if ((fi.filelen % SECTOR_SIZE) > 0) { number_of_clusters ++; } } /* Set GRAM write direction and BGR = 1 */ /* I/D=00 (LCD_DIR_HORIZONTAL : decrement, LCD_DIR_VERTICAL : decrement) */ /* AM=1 (address is updated in vertical writing direction) */ LCD_WriteReg(LCD_REG_3, 0x1008); LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ if (err == 0) { for ( j = 0; j < number_of_clusters;j++) { DFS_ReadFile(&fi, sector, (uint8_t *) BufferAddress, &i, SECTOR_SIZE); for (lcdindex = firstdata; lcdindex < 256; lcdindex++) { LCD_WriteRAM(pbuffer[lcdindex]); } firstdata = 0; } } LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); /* Set GRAM write direction and BGR = 1 */ /* I/D = 01 (LCD_DIR_HORIZONTAL : increment, LCD_DIR_VERTICAL : decrement) */ /* AM = 1 (address is updated in vertical writing direction) */ LCD_WriteReg(LCD_REG_3, 0x1018); return err; } Nun kann ich leider keinen fehler finden, warum er kein bild liest?! Ich hoffe irgendjmd. kann mir weiterhelfen disbezüglich? Was der fehler ist bzw. warum ich kein Bild sehe obwohl er mir sagt das er die sd karte erkennt?! Ich danke schon mal im vorraus...
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.