Buffer Wechseln

Gast #404289
Lesenswert?
• ▲
▼
Hallo werte Gemeinde.
Möchte gerne gespeicherte Messwerte des ADC in Buffer schreiben.
Nun soll noch mit den Werten gerechnet werden und zu diesem zweck soll
wenn der erste Buffer voll ist in einen zweiten und dritten geschrieben
werden und um nicht mit den "neuen" Messwerten zu rechnen.
#404299
Lesenswert?
• ▲
▼
Wo liegt das Problem?

struct Buffer {
  int Werte[100];
  int NrWerte;
};

struct Buffer Messung1;    // der erste Buffer
struct Buffer Messung2;    // der zweite Buffer
struct Buffer Messung3;    // der dritte Buffer
struct Buffer* Active;     // Zeiger auf den aktiven Buffer
                           // in den aktiven Buffer werden Werte
                           // geschrieben

void Store( int Wert )
{
  // Speicher den Wert im aktiven Buffer
  Active->Werte[ Active->NrWerte ] = Wert;
  Active->NrWerte++;
}

int main()
{
  // den ersten Buffer aktivieren
  Messung1.NrWerte = 0;
  Active = &Messung1;

  // speichere ein paar Werte im aktiven Buffer
  Store( 100 );
  Store( 50 );
  Store( 150 );

  // Es ist Zeit den 2. Buffer zu aktivieren ...
  Messung2.NrWerte = 0;
  Active = &Messung2;

  // .. denn wir wollen mit der ersten Messreihe was machen
  Compute( &Messung1 );
}

void Compute( struct Buffer& Buff )
{
  int i;

  for( i = 0; i < Buff->NrWerte; ++i )
    printf( Buff->Werte[i] );
}

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.