Forum: Mikrocontroller und Digitale Elektronik stm32f103 No source available for "pulStack() "


von grundschüler (Gast)


Lesenswert?

bei dieser funktion
1
void dma_read_init_file(void){
2
  u8 tmp0 ;
3
  u8 tmp1 ;
4
  u8 info_status[5]={9,9,9,9,9};
5
   fat_res=f_open(&File[0], "info_mp3.txt", FA_OPEN_EXISTING | FA_READ);
6
  fat_res = f_read(&File[0], info_status, 40, &fat_bitct);
7
  f_close(&File[0]);
8
9
  if (fat_res== FR_OK) {
10
    memcpy(&sel_dir,info_status,1);
11
    memcpy(&tmp0,info_status+1,1);
12
    memcpy(&tmp1,info_status+2,1);
13
  }
14
  sel_file=tmp0<<8;
15
  sel_file|=tmp1;
16
  return;
17
}

stimmt irgendwas nicht. Vermutlich wird der stack-pointer überschrieben. 
Wieso?

Die gleichartige write-Funktion geht.

von grundschüler (Gast)


Lesenswert?

fehler gefunden:

40Byte statt 40Bit schreibt über den Speicher hinaus und haut irgendwas 
kaputt.

von Jim M. (turboj)


Lesenswert?

Das ist ein klassischer Stack Overflow.

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
Noch kein Account? Hier anmelden.