
Zitat von
oberallgeier
Code:
...
//i2cdata mit Werten füllen, die der Master auslesen und ändern kann
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
for(uint8_t i=0;i<i2c_buffer_size;i++)
{ //
i2cdata[i]=10+i; // Dummywerte aufwärtszählen ab 10 ...
} //
// - - - - - - - - - - - - - - -
Daher ist diese Belegung ab dem Zahlenwert 10 noch im Sinne des Programmierers.
Dann verstehe ich erst recht nicht, was denn nun das Problem ist. Du schreibst in die letzten 10 Bytes des Buffers (Index 242 - 251) die Werte 252 bis 5, und du bekommst genau das als Ausgabe.
Und wenn das hier
Code:
#define i2c_buffer_size 127
die aktuelle Größe sein soll, wieso steht dann in der Ausgabe "Buffersize : 252"? Und wenn der Buffer 127 Bytes groß sein soll, und die Schleife fälschlicherweise die 10 Bytes hinter dem aktuellen Buffer ausgeben soll (mit dem Inhalt eines ehemals größeren Buffers), warum besteht die "falsche" Ausgabe dann nicht aus den Zahlen 137 bis 146?
Lesezeichen