INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
wieder mal: Problem mit arrays als Fkt.-Parameter
12.05.2015, 19:03 (Dieser Beitrag wurde zuletzt bearbeitet: 12.05.2015 19:08 von HaWe.)
Beitrag #1
wieder mal: Problem mit arrays als Fkt.-Parameter
hallo,
ich habe wieder mal ein Problem mit arrays als Fkt.-Parameter.
Um Funktionen flexibler zu nutzen möchte ich statt
Code:
void SetNetDefaultPatterns(){
  if (NumPattern<NMAXPAT) {
    NumPattern++;
    Input[2][1] = 0;
    Input[2][2] = 0;
    Input[2][3] = 0;
    Input[2][4] = 0;
    Input[2][5] = 0;
    Input[2][6] = 0;
    Target[2][1] = 0; Target[1][2] = 0; Target[1][3] = 0; Target[1][4] = 0; Target[1][5] = 0; Target[1][6] = 0;
  }
}

schreiben:
Code:
void SetNetPattern(int16_t  patt,  float * ibuf, float * obuf){
   int16_t i, o;
  
   if (NumPattern < NMAXPAT) {
      NumPattern++;  
      for(i=1; i<=NMAXIN;  ++i) { Input[patt][i]  = ibuf[i]; }
      for(o=1; o<=NMAXOUT; ++o) { Target[patt][o] = obuf[o]; }
   }
}


//================================================================================​=====
void SetNetDefaultPatterns(){
    float ibuf[NMAXIN+1], obuf[NMAXOUT+1];
  
    ibuf[1]=0; ibuf[2]=0; ibuf[3]=0; ibuf[4]=0; ibuf[5]=0; ibuf[6]=0;  
    obuf[1]=0; obuf[2]=0; obuf[3]=0; obuf[4]=0; obuf[5]=0; obuf[6]=0;
    SetNetPattern(2, ibuf, obuf);
}

Im 1. Fall erkennt er später das Muster wieder, im 2. Fall nicht - offenbar werden also die Arrays nicht korrekt übergeben. Aber warum nur... Huh
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.05.2015, 19:10
Beitrag #2
RE: wieder mal: Problem mit arrays als Fkt.-Parameter
Hi,
bei der Version ohne Funktion füllst Du Target[2][1] und dann Target[1][n] für n > 1. In der Version mit Funktion füllst Du immer Target[2][n].
Vielleicht deshalb?
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.05.2015, 19:23 (Dieser Beitrag wurde zuletzt bearbeitet: 12.05.2015 19:38 von HaWe.)
Beitrag #3
RE: wieder mal: Problem mit arrays als Fkt.-Parameter
stimmt, das war mal wieder ein wirklich dämliches Index-Durcheinander.

also nochmal probiert:

das funktioniert:
Code:
void SetNetDefaultPatterns(){
  
    if (NumPattern<NMAXPAT) {
    NumPattern++;
    Input[2][1] = 0;
    Input[2][2] = 0;
    Input[2][3] = 0;
    Input[2][4] = 0;
    Input[2][5] = 0;
    Input[2][6] = 0;
    Target[2][1] = 0; Target[2][2] = 0; Target[2][3] = 0; Target[2][4] = 0; Target[2][5] = 0; Target[2][6] = 0;
    }
}


das aber leider immer noch nicht....:
Code:
void SetNetPattern(int16_t  patt,  float * ibuf,  float *obuf){
   int16_t i, o;
  
   if (NumPattern < NMAXPAT) {
      NumPattern++;  
      for(i=1; i<=NMAXIN;  ++i) { Input[patt][i]  = ibuf[i]; }
      for(o=1; o<=NMAXOUT; ++o) { Target[patt][o] = obuf[o]; }
   }
}


//================================================================================​=====
void SetNetDefaultPatterns(){
    float ibuf[NMAXIN+1], obuf[NMAXOUT+1];
  
    ibuf[1]=0; ibuf[2]=0; ibuf[3]=0; ibuf[4]=0; ibuf[5]=0; ibuf[6]=0;  
    obuf[1]=0; obuf[2]=0; obuf[3]=0; obuf[4]=0; obuf[5]=0; obuf[6]=0;
    SetNetPattern(2, ibuf, obuf);
}

Irgendwo ist also immer noch der Wurm drin... Dodgy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.05.2015, 19:29
Beitrag #4
RE: wieder mal: Problem mit arrays als Fkt.-Parameter
Mach doch mal Serial.print von den Inhalten von Target[2].

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.05.2015, 19:35 (Dieser Beitrag wurde zuletzt bearbeitet: 12.05.2015 19:45 von HaWe.)
Beitrag #5
RE: wieder mal: Problem mit arrays als Fkt.-Parameter
ist gerade passiert:
sehr aufschlussreich...

da muss ich wohl die Sache nochmal grundsätzlich überdenken... wobei ich noch absolut nicht weiß, was da schiefläuft Undecided

Code:
SetNetPattern 2
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
2.22
0.00
2.22
nan
0.00
2.22
0.00
2.22
0.00
0.00
0.00
ovf
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
-0.00
167063.52
0.00
0.00
nan
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
ovf
ovf
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
nan
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
2.22
Ende SetNetPattern

jetzt geht's:

Code:
void SetNetDefaultPatterns(){
    float ibuf[NMAXIN+1], obuf[NMAXOUT+1];
  
    memset( ibuf, 0, sizeof(ibuf) );
    memset( obuf, 0, sizeof(obuf) );

    ibuf[1]=0; ibuf[2]=0; ibuf[3]=0; ibuf[4]=0; ibuf[5]=0; ibuf[6]=0;  
    obuf[1]=0; obuf[2]=0; obuf[3]=0; obuf[4]=0; obuf[5]=0; obuf[6]=0;
    SetNetPattern(2, ibuf, obuf);
}

Rolleyes

danke fürs mitmachen ! Wink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.05.2015, 20:07
Beitrag #6
RE: wieder mal: Problem mit arrays als Fkt.-Parameter
Hi,
also irgendwie habe ich den Eindruck, Du gibst da was anderes aus als das, was ich im Coding sehe. Mir ist überhaupt nicht klar, warum es jetzt klappt.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.05.2015, 20:13 (Dieser Beitrag wurde zuletzt bearbeitet: 12.05.2015 20:14 von HaWe.)
Beitrag #7
RE: wieder mal: Problem mit arrays als Fkt.-Parameter
das serial print war so:

Code:
void SetNetPattern(int16_t  patt,  float * ibuf,  float *obuf){
   int16_t i, o;
  
   if (NumPattern < NMAXPAT) {
      NumPattern++;  
      for(i=1; i<=NMAXIN;  ++i) { Input[patt][i]  = ibuf[i]; Serial.println( Input[patt][i] ) ; }
      for(o=1; o<=NMAXOUT; ++o) { Target[patt][o] = obuf[o]; Serial.println( Target[patt][o] ) ; }
   }
}

aber warum man erstmal memset-ten musste, verstehe ich auch nicht so recht Wink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.05.2015, 20:16
Beitrag #8
RE: wieder mal: Problem mit arrays als Fkt.-Parameter
Hi,
kannst Du mal einen Sketch machen, der nur diesen Teil macht? Ich vermute mal, dass da noch was außenherum ist, was falsch läuft.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Bootloader update mit USBASP Problem sepp01 15 592 12.05.2018 17:23
Letzter Beitrag: sepp01
  C++ Library Datenübergabe Problem jose_ph 9 391 08.05.2018 14:10
Letzter Beitrag: Tommy56
Rainbow Schon wieder debounce Grissu112 13 519 27.04.2018 06:45
Letzter Beitrag: Harry
  Problem mit der Textauswertung Franz54 13 486 15.04.2018 18:17
Letzter Beitrag: Tommy56
  Problem mit RIFD UID ParadoxDev 6 304 27.03.2018 12:04
Letzter Beitrag: ParadoxDev
  Problem mit OLED 0.96" Display torsten_156 5 1.809 07.03.2018 23:27
Letzter Beitrag: Tommy56
  Ucglib Library Problem Bully 26 1.186 05.03.2018 18:47
Letzter Beitrag: Tommy56
  Serieller string zwischenspeichern und wieder ausgeben. Matt 15 928 03.03.2018 20:23
Letzter Beitrag: Tommy56
  Wieder mal einer mit serial Probs :-( Bikandajyo 13 551 03.03.2018 08:35
Letzter Beitrag: Bikandajyo
  Wieder 7 Segment LED daja64 2 275 21.02.2018 22:41
Letzter Beitrag: daja64

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste