mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Buffer Wechseln


Autor: Michael Hegener (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: schlumpf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und was ist jetzt die Frage?

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...wieder mal jemand, der mit Informationen nur so um sich haut...

Autor: Michael Hegener (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh Entschuldigung das ich Frage!
Was fehlt denn noch an Information?

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Entschuldigung das ich Frage"

Lies nochmal deinen Text durch. Es ist keine einzige Frage drin. Du
beschreibst nur, wie du vorzugehen gedenkst.

Autor: Michael Hegener (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frage: Wie stelle ich das mit C als Programmiersprache an?

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf welchem Controller bitte?

Autor: inoffizieller WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm einen (genügend grossen) Puffer und benutze verschiedene Zeiger für
das Eintragen und Auslesen.

Autor: Michael Hegener (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MB90F350 Fujitsu

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht 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] );
}

Autor: Michael Hegener (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke schön!!!!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.