ESPnow sendet nur die ersten 32 Bit

OP #6899293
Lesenswert?

Hallo zusammen,

ich hoffe, ich bin in der richtigen Rubrik gelandet. Falls nicht, bitte 
ich das zu entschuldigen. Nun zu meinem Problem:

Laut Information von Espressif kann man bis zu 250 Byte per ESPnow 
verschicken. Leider überträgt er bei mir nur die ersten 32 Bit, den Rest 
überträgt er nur als 0. Als Test habe ich ein unsigned int Array 
erstellt und konnte so feststellen, dass nur die ersten beiden Daten 
übertragen werden.

Ich würde mich freuen, wenn mir jemand sagen könnte, welchen Fehler ich 
gemacht habe und wie ich ihn korrigieren kann.

Viele Grüße
Simon
Angehängte Dateien:
#6899585
Lesenswert?

Also so in der Art.
Vielleicht noch eine Ausgabe o.ä. dass begrenzt wurde.
1
void OnDataRecv(const uint8_t * mac, const uint8_t *temp, int len) {
2
int lenLim =len;
3

4
if(lenLim>sizeof(inmstrg))
5
{
6
lenLim = sizeof(inmstrg);
7
}
8
  memcpy(&inmstrg, temp,lenLim);
9
  Serial.print("Bytes received: ");
10
  Serial.println(lenLim);
11
       for ( int i = 0; i < 4; ++i ) {
12
      // loop through columns of current row
13
      for ( int j = 0; j < 16; ++j )
14
      Serial.print (inmstrg[ i ][ j ] );
15
      Serial.println( ) ; // start new line of output
16
   } 
17
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren