- LiFePO4 Speicher Test         
Ergebnis 1 bis 5 von 5

Thema: Rechenproblem beim Feldpointer

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Experte Avatar von sternst
    Registriert seit
    07.07.2008
    Beiträge
    672
    Zitat Zitat von oberallgeier Beitrag anzeigen
    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?
    Geändert von sternst (27.09.2012 um 18:54 Uhr)
    MfG
    Stefan

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.698
    Zitat Zitat von sternst Beitrag anzeigen
    Dann verstehe ich erst recht nicht, was denn nun das Problem ist ...
    Danke Stefan. Mein Problem heißt wohl so in der Art "sich selbst ein Bein stellen" oder . . . das will ich nu nicht schreiben.

    Beim Nachdenken ist mir jetzt klar geworden was passiert. Ich schreibe (beispielsweise, siehe erstes Posting, drittes Codefenster mit "Buffersize : 252") 252 uint8_t-Zahlen, die ab dem Werte 10 hochgezählt werden, in den I2C-Buffer. Es ist deutlich zu sehen, dass die Einzelwerte nicht bei 252 aufhören, sondern uint8_t-gerecht bis 255 weiterlaufen und mit 0 wieder anfangen. Im 242ten Feld steht auch korrekt 242+10 (krieg ich im Moment sogar im Kopf hin, das ist 252) - und danach gehts weiter und bis über den Zahlenüberlauf hinaus.

    Mist, ich hab mich im beschränkten Zahlenraum der 8bittigen, unsigned Welt verheddert.

    Danke für die geduldigen Denkanstösse.
    Ciao sagt der JoeamBerg

Ähnliche Themen

  1. Problem beim Konfigurieren von TIMER1 beim M32-Board
    Von dirty_bird_981 im Forum Robby RP6
    Antworten: 8
    Letzter Beitrag: 10.01.2012, 22:52
  2. Rechenproblem mit Single
    Von Tido im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 15
    Letzter Beitrag: 21.07.2009, 10:26
  3. Rechenproblem (Syntax?)
    Von Bääääär im Forum C - Programmierung (GCC u.a.)
    Antworten: 12
    Letzter Beitrag: 07.03.2008, 17:53
  4. Busfrequenz beim PCF8574 und beim PCF8591?
    Von roboter im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 17.04.2007, 14:34
  5. Antworten: 9
    Letzter Beitrag: 14.03.2005, 20:08

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test