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
  Problem mit SD Card Library BennIY 4 193 06.10.2016 18:38
Letzter Beitrag: Bitklopfer
  Problem mit SD.remove Eichner 6 212 22.08.2016 19:42
Letzter Beitrag: Eichner
  4x16 Tastermatrix Problem Michel 16 852 14.07.2016 10:02
Letzter Beitrag: StephanBuerger
  Problem mit Delay und Millis funnyzocker 1 459 26.06.2016 09:54
Letzter Beitrag: hotsystems
  Problem mit ESP8266 und EMail senden torsten_156 1 606 13.06.2016 21:14
Letzter Beitrag: torsten_156
  ESP8266_01 flashen - Problem torsten_156 12 1.056 30.05.2016 20:12
Letzter Beitrag: torsten_156
  Hardwareserial/Softserial: Problem mit Superklasse tuxedo0801 10 483 19.05.2016 12:25
Letzter Beitrag: amithlon
  wie Parameter der seriellen Schnittstelle anpassen? avoid 6 484 29.04.2016 16:44
Letzter Beitrag: avoid
  ESP8266 HTML Problem arduino_weatherstation 1 498 25.04.2016 21:52
Letzter Beitrag: rkuehle
  Problem mit OLED 0.96" Display torsten_156 3 545 03.04.2016 15:10
Letzter Beitrag: hotsystems

Gehe zu:


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