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
Question Problem beim seriellen Einlesen von RFID-Reader Bezel 5 201 05.11.2017 22:37
Letzter Beitrag: Tommy56
  Übergabe von Arrays an Funktionen Marcel 4 323 31.10.2017 13:28
Letzter Beitrag: Tommy56
  Fortschritte beim 3-flammigen Gasgrill - nun wieder Pause MOE. 17 830 14.09.2017 11:24
Letzter Beitrag: Bitklopfer
  NeoPixels: Sketch will nicht - Problem mit delay? Zabsi 5 403 22.08.2017 15:17
Letzter Beitrag: Tommy56
  Problem mit LSM 303 Snörb 1 269 22.08.2017 14:16
Letzter Beitrag: Snörb
  Problem mit externem Interrupt manfred474 13 1.033 13.08.2017 08:54
Letzter Beitrag: MicroBahner
  Problem mit Klassen GuaAck 4 422 09.08.2017 09:28
Letzter Beitrag: MicroBahner
Question Problem mit TFT Sam217 8 779 20.07.2017 21:51
Letzter Beitrag: hotsystems
  Problem FastLED fliege_m 3 524 16.07.2017 16:56
Letzter Beitrag: Tommy56
Question Problem beim Hochladen auf AtTiny45. Hilfe -.- Jonas Lindenblatt 17 1.450 16.04.2017 12:58
Letzter Beitrag: Jonas Lindenblatt

Gehe zu:


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