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, 20:22 (Dieser Beitrag wurde zuletzt bearbeitet: 12.05.2015 20:23 von HaWe.)
Beitrag #9
RE: wieder mal: Problem mit arrays als Fkt.-Parameter
jetzt nach memset macht er nur Nullen, so wie es sein soll
- oder was genau möchtest du wissen?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.05.2015, 20:25
Beitrag #10
RE: wieder mal: Problem mit arrays als Fkt.-Parameter
(12.05.2015 20:22)HaWe schrieb:  jetzt nach memset macht er nur Nullen, so wie es sein soll
- oder was genau möchtest du wissen?
Ich finde es sehr, sehr seltsam, dass das nach dem memset funktioniert. Ich bin mir sicher, dass da noch was anderes faul ist.
Wenn Du damit zufrieden bist, dann soll es mir recht sein. Ich persönlich würde mal einen kleinen Sketch schreiben, der ausschließlich das mit dem SetNetPattern drin hat und mal nachsehen, ob das Problem da immer noch auftritt.
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:26 (Dieser Beitrag wurde zuletzt bearbeitet: 12.05.2015 20:49 von HaWe.)
Beitrag #11
RE: wieder mal: Problem mit arrays als Fkt.-Parameter
fand ich ehrlich gesagt auch.

hier ist die komplette Funktion:

Code:
int16_t  CheckCurrInPattern() {
   int16_t  i, p;
  
   for( p = 1; p <= NumPattern ; ++p) {  
      for( i = 1; (i <= NumInput) && ( Input[p][i] == currIn[i] ); ++i);
      if (i > NumInput) {return p; }
   }  
   return -1;
}


//================================================================================​=====
void SetNetPattern(int16_t  patt,  float * _ibuf,  float * _obuf){
   int16_t i, o;
  
   if (NumPattern < NMAXPAT) {
      NumPattern++;  
      Serial.print("NumPattern="); Serial.print(NumPattern);  Serial.print("  SetNetPattern="); Serial.println(patt);
      for(i=1; i<=NMAXIN;  ++i) { Input[patt][i]  = _ibuf[i]; Serial.println( Input[patt][i] ) ; }
      Serial.println("     Targets: ");
      for(o=1; o<=NMAXOUT; ++o) { Target[patt][o] = _obuf[o]; Serial.println( Target[patt][o] ) ; }
   }
}


//================================================================================​=====
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);
    
    memset( _ibuf, 0, sizeof(_ibuf) );   memset( _obuf, 0, sizeof(_obuf) );
    _ibuf[1]=0; _ibuf[2]=0; _ibuf[3]=1; _ibuf[4]=0; _ibuf[5]=0; _ibuf[6]=1;  
    _obuf[1]=1; _obuf[2]=1; _obuf[3]=0; _obuf[4]=0; _obuf[5]=1; _obuf[6]=0;
    SetNetPattern(1, _ibuf, _obuf);
    
    memset( _ibuf, 0, sizeof(_ibuf) );   memset( _obuf, 0, sizeof(_obuf) );
    _ibuf[1]=0; _ibuf[2]=1; _ibuf[3]=0; _ibuf[4]=0; _ibuf[5]=1; _ibuf[6]=1;  
    _obuf[1]=1; _obuf[2]=1; _obuf[3]=0; _obuf[4]=1; _obuf[5]=0; _obuf[6]=0;
    SetNetPattern(3, _ibuf, _obuf);
    
    memset( _ibuf, 0, sizeof(_ibuf) );   memset( _obuf, 0, sizeof(_obuf) );
    _ibuf[1]=0; _ibuf[2]=1; _ibuf[3]=1; _ibuf[4]=0; _ibuf[5]=1; _ibuf[6]=1;  
    _obuf[1]=0; _obuf[2]=0; _obuf[3]=0; _obuf[4]=1; _obuf[5]=1; _obuf[6]=0;
    SetNetPattern(4, _ibuf, _obuf);
    
    memset( _ibuf, 0, sizeof(_ibuf) );   memset( _obuf, 0, sizeof(_obuf) );
    _ibuf[1]=1; _ibuf[2]=0; _ibuf[3]=0; _ibuf[4]=1; _ibuf[5]=0; _ibuf[6]=0;  
    _obuf[1]=0; _obuf[2]=0; _obuf[3]=1; _obuf[4]=0; _obuf[5]=0; _obuf[6]=0;
    SetNetPattern(5, _ibuf, _obuf);
    
    memset( _ibuf, 0, sizeof(_ibuf) );   memset( _obuf, 0, sizeof(_obuf) );
    _ibuf[1]=1; _ibuf[2]=0; _ibuf[3]=1; _ibuf[4]=1; _ibuf[5]=0; _ibuf[6]=1;  
    _obuf[1]=1; _obuf[2]=1; _obuf[3]=1; _obuf[4]=0; _obuf[5]=1; _obuf[6]=0;
    SetNetPattern(6, _ibuf, _obuf);
    
    memset( _ibuf, 0, sizeof(_ibuf) );   memset( _obuf, 0, sizeof(_obuf) );
    _ibuf[1]=1; _ibuf[2]=1; _ibuf[3]=0; _ibuf[4]=1; _ibuf[5]=1; _ibuf[6]=0;  
    _obuf[1]=1; _obuf[2]=1; _obuf[3]=1; _obuf[4]=1; _obuf[5]=0; _obuf[6]=0;
    SetNetPattern(7, _ibuf, _obuf);

    memset( _ibuf, 0, sizeof(_ibuf) );   memset( _obuf, 0, sizeof(_obuf) );  
    _ibuf[1]=1; _ibuf[2]=1; _ibuf[3]=1; _ibuf[4]=1; _ibuf[5]=1; _ibuf[6]=1;  
    _obuf[1]=0; _obuf[2]=0; _obuf[3]=1; _obuf[4]=1; _obuf[5]=1; _obuf[6]=1;
    SetNetPattern(8, _ibuf, _obuf);
    
  


}

und hier jetzt die Ausgabe:

Code:
NumPattern=1  SetNetPattern=2
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
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
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
0.00
0.00
0.00
0.00
0.00
0.00
0.00
     Targets:
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
NumPattern=2  SetNetPattern=1
0.00
0.00
1.00
0.00
0.00
1.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
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
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
0.00
0.00
     Targets:
1.00
1.00
0.00
0.00
1.00
0.00
0.00
0.00
0.00
0.00
NumPattern=3  SetNetPattern=3
0.00
1.00
0.00
0.00
1.00
1.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
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
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
0.00
0.00
     Targets:
1.00
1.00
0.00
1.00
0.00
0.00
0.00
0.00
0.00
0.00
NumPattern=4  SetNetPattern=4
0.00
1.00
1.00
0.00
1.00
1.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
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
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
0.00
0.00
     Targets:
0.00
0.00
0.00
1.00
1.00
0.00
0.00
0.00
0.00
0.00
NumPattern=5  SetNetPattern=5
1.00
0.00
0.00
1.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
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
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
0.00
0.00
0.00
0.00
     Targets:
0.00
0.00
1.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
NumPattern=6  SetNetPattern=6
1.00
0.00
1.00
1.00
0.00
1.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
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
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
0.00
0.00
     Targets:
1.00
1.00
1.00
0.00
1.00
0.00
0.00
0.00
0.00
0.00
NumPattern=7  SetNetPattern=7
1.00
1.00
0.00
1.00
1.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
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
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
0.00
0.00
0.00
     Targets:
1.00
1.00
1.00
1.00
0.00
0.00
0.00
0.00
0.00
0.00
NumPattern=8  SetNetPattern=8
1.00
1.00
1.00
1.00
1.00
1.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
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
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
0.00
0.00
     Targets:
0.00
0.00
1.00
1.00
1.00
1.00
0.00
0.00
0.00
0.00

vielleicht, weil Pattern 2 gepatcht wird, obwohl NumPattern nur auf 1 steht.... ?
das muss allerdings funktionieren, denn später geht alles durcheinander an Nummern.
Außerdem wird nur ein Teil gepatcht, ein anderer nicht (nur 6 von 100 Ins, und nur 8 von 10 outs)

Korrektur - das mit Pattern 2 bei Numpattern=1 kann nicht der Grund sein, denn es folgen ja sofort die restlichen, insb. das "echte" 2.Muster...

!

vielleicht werden ja wirklich die lokalen arrays nicht alle bei der Deklaration komplett mit Null initialisiert...?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.05.2015, 22:10
Beitrag #12
RE: wieder mal: Problem mit arrays als Fkt.-Parameter
Hi,
ist etwa NMAXIN und NMAXOUT größer als 6? Dann fehlt natürlich was.
Bei der Deklaration wird gar nichts initialisiert. Da steht dann das drin, was vorher zufällig in dem Speicherbereich steht. Das ist C und nicht ABAP...
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
13.05.2015, 07:44
Beitrag #13
RE: wieder mal: Problem mit arrays als Fkt.-Parameter
ja, sind beide größer, ich dachte wirklich, beim Neuinitialisieren wären alle Werte Null.
ABAP kenne ich allerdings gar nicht Wink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.05.2015, 09:29
Beitrag #14
RE: wieder mal: Problem mit arrays als Fkt.-Parameter
(13.05.2015 07:44)HaWe schrieb:  ja, sind beide größer, ich dachte wirklich, beim Neuinitialisieren wären alle Werte Null.
Nein, C macht eigentlich nichts, was man nicht explizit sagt. Das ist auch ganz gut so, da dann kein (Programm-)Speicherplatz verschwendet wird. Wenn Du Variablen initialisieren willst, dann musst Du das im Programm selbst machen.

Zitat:ABAP kenne ich allerdings gar nicht Wink
Das ist die Programmiersprache von SAP. In dem Umfeld kommt es nicht auf ein paar Byte mehr oder weniger an. In ABAP werden Variablen bei der Definition automatisch mit einem typspezifischen Initialwert belegt.

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
  Funksteckdose mit NFC an und wieder ausschalten blackzero23 12 194 20.02.2017 23:27
Letzter Beitrag: hotsystems
  Smart Home Webserver Basic Authentication Problem Osotastic 21 293 20.02.2017 18:00
Letzter Beitrag: Tommy56
  ESP8622 - 01 sendet UDP - Problem WLan Kriskind 33 1.378 11.02.2017 18:59
Letzter Beitrag: Tommy56
  Problem mit Sketch senden an Uno feuerwehr 5 312 31.01.2017 20:41
Letzter Beitrag: Tommy56
  Beim Hochladen USB Problem Nils 10 536 29.12.2016 21:05
Letzter Beitrag: renid55
  Arduino Mega startet immer wieder neu Badger1875 9 823 26.12.2016 17:56
Letzter Beitrag: Badger1875
  Problem mit SD Card Library BennIY 4 327 06.10.2016 18:38
Letzter Beitrag: Bitklopfer
  Problem mit SD.remove Eichner 6 284 22.08.2016 19:42
Letzter Beitrag: Eichner
  4x16 Tastermatrix Problem Michel 16 1.038 14.07.2016 10:02
Letzter Beitrag: StephanBuerger
  Problem mit Delay und Millis funnyzocker 1 613 26.06.2016 09:54
Letzter Beitrag: hotsystems

Gehe zu:


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