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.
Hallo, und wo genau ist das Problem? Bau Dir drei getrennte FIFO Buffer mit Füllstandsanzeige auf und bei einem Overflow des ersten FIFO's speichert du deine Daten ins naechste. Gruß, Dirk
"Entschuldigung das ich Frage" Lies nochmal deinen Text durch. Es ist keine einzige Frage drin. Du beschreibst nur, wie du vorzugehen gedenkst.
Nimm einen (genügend grossen) Puffer und benutze verschiedene Zeiger für das Eintragen und Auslesen.
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] ); }
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.