Ringbuffer aus FIFO-Artikel

OP #1725259
Lesenswert?
• ▲
▼
Moin,

Ich habe nur eine kleine Frage:
Ich versuche gerade, das Codebeispiel des ringbuffers aus diesem 
artikel:

http://www.mikrocontroller.net/articles/FIFO

zum Laufen zu bekommen. Das schreiben in den Ringbuffer läuft soweit 
gut, ich kann auch auslesen, ob der Buffer voll ist oder nicht.

Jedoch kriege ich die Daten nicht mehr aus dem Buffer raus.
Sehe ich das Falsch, oder ist die Funktion BufferOut nicht dafür 
ausgelegt?!

kann ich in meiner main nicht einfach schreiben:
1
data = BufferOut(0x01)  // 0x01 = Leseadresse

Was verstehe ich das falsch?



Greez Jey
Gast #1725270
Lesenswert?
• ▲
▼
Dann schau Dir mal die Funktion BufferOut() genauer an.
1
unsigned char data;
2
unsigned char result;
3

4
result = BufferOut(&data)

Der Rückgabewert der Funktion sind nicht die Daten, sondern ob Dein 
Zugriff geklappt hat. Im Übergabeargument steht die Zieladresse, wohin 
Deine zu lesenden Daten hin sollen.
OP #1725296
Lesenswert?
• ▲
▼
also wenn ich das richtig verstehe:
1
status = BufferOut(&data);

liegt in der Variable status nacher die information, ob das geklapt hat 
oder nicht, und in data liegt dann der Wert?

Ich habe das falsch verstanden, da ich vom EEprom gewohnt war, dass man 
eine "Speicheradresse" angeben kann. Hier wird einfach immer nur der 
hinterste Wert ausgelesen, richtig?


Mfg Jey

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.