Forum: Mikrocontroller und Digitale Elektronik Fifo in der Praxis


von walter (Gast)


Lesenswert?

Habe mir eben den Artikel über FIFO angesehen!
Und habe noch Unklarheiten!
Wie wird die Fifo konkret in der main abgearbeitet?
Kann man das Beispiel auf für Can Nehmen und jeweils 8 Byte rein 
stopfen?
Danke Lg

von Karl M. (Gast)


Lesenswert?

Hallo !

was ist den "der Artikel über FIFO" ?

Gibt es einen Link oder einen Auszug zum mitdiskutieren ?

von THOR (Gast)


Lesenswert?

www.mikrocontroller.net/articles/FIFO

Hätte man drauf kommen können.

von walter (Gast)


Lesenswert?


von Einer K. (Gast)


Lesenswert?

walter schrieb:
> und jeweils 8 Byte

Im Artikel steht:
> Daten können auch vom Typ struct sein
Also sollte es kein wirkliches Problem sein, da 8 Byte Brocken rein zu 
stecken.

von Falk B. (falk)


Lesenswert?

@ walter (Gast)

>Wie wird die Fifo konkret in der main abgearbeitet?

Steht das nicht im Artikel drin?

>Kann man das Beispiel auf für Can Nehmen und jeweils 8 Byte rein
>stopfen?

Kann man, ist aber eher ungewöhnlich, man schreibt die Daten direkt in 
das CAN-Modul, das kümmert sich um den Rest.

von walter (Gast)


Lesenswert?

Und wie werden die Daten in der main heraus geholt?
Wie kann das konkret aussehen?
Danke Lg

von Falk B. (falk)


Lesenswert?

@ walter (Gast)

>Und wie werden die Daten in der main heraus geholt?
>Wie kann das konkret aussehen?

Wenn eine Funktion Interesse an Empfangsdaten vom UART hat, dann prüft 
diese Funktion, ob Daten im FIFO vorliegen und wenn ja wieviele. Dann 
kann sie die entsprechende Anzahl Daten auslesen und verarbeiten oder 
halt "warten", bis genügend Daten vorliegen. "Warten" heißt hier, die 
CPU-Kontrolle abzugeben und erst beim nächsten Aufruf der Funktion das 
alles wieder zu prüfen, siehe Multitasking.

Am Ende ist dieses Verfahren identisch zum Empfang von Daten per UART 
ohne zusätzlichen FIFO, nur daß dieser eben deutlich mehr Daten puffern 
kann.

von walter (Gast)


Lesenswert?

Falk B. schrieb:
> Wenn eine Funktion Interesse an Empfangsdaten vom UART hat, dann prüft
> diese Funktion, ob Daten im FIFO vorliegen und wenn ja wieviele.

Ach auch die vorliegende Menge kann vorab kontrolliert werden?
In meinem Fall geht es um Can!
Welchen der drei Beispiele aus dem Artikel ist zu empfehlen?
Danke für deine Antwort!

von Falk B. (falk)


Lesenswert?

@ walter (Gast)

>> Wenn eine Funktion Interesse an Empfangsdaten vom UART hat, dann prüft
>> diese Funktion, ob Daten im FIFO vorliegen und wenn ja wieviele.

>Ach auch die vorliegende Menge kann vorab kontrolliert werden?

Sicher.

>In meinem Fall geht es um Can!

Yes, we CAN ;-)

>Welchen der drei Beispiele aus dem Artikel ist zu empfehlen?

https://www.mikrocontroller.net/articles/FIFO#FIFO_als_Bibliothek

von walter (Gast)


Lesenswert?

Falk B. schrieb:
> @ walter (Gast)
>
>>> Wenn eine Funktion Interesse an Empfangsdaten vom UART hat, dann prüft
>>> diese Funktion, ob Daten im FIFO vorliegen und wenn ja wieviele.
>
>>Ach auch die vorliegende Menge kann vorab kontrolliert werden?
>
> Sicher.
>
>>In meinem Fall geht es um Can!
>
> Yes, we CAN ;-)
>
>>Welchen der drei Beispiele aus dem Artikel ist zu empfehlen?
>
> https://www.mikrocontroller.net/articles/FIFO#FIFO_als_Bibliothek

Soory wenn ich so dumm frage aber wo bekomme ich diese Bibliothek?
Danke Lg

von Stefan F. (Gast)


Lesenswert?

Der Quelltext ist doch im Artikel komplett enthalten. Hast du ihn 
überhaupt gelesen?

von walter (Gast)


Lesenswert?

Stefan U. schrieb:
> Der Quelltext ist doch im Artikel komplett enthalten. Hast du ihn
> überhaupt gelesen?

Ja habe den Artikel gelesen! Und habe dann gefragt welche der drei 
Beispiele am besten geht! Darauf wurde geantwortet das FIFO als 
Bibliothek zu verwenden ist! Im Artikel sehe ich aber keine Bibliothek!
Danke Lg

von Falk B. (falk)


Lesenswert?

"Die kleine Bibliothek ist als Archiv verfügbar."

Mal das Wort Archiv im Artikel anclicken und staunen ;-)

von walter (Gast)


Lesenswert?

Falk B. schrieb:
> Mal das Wort Archiv im Artikel anclicken und staunen ;-)

Man o Man wie blöd! Soory und vielen Dank!!!!

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
Noch kein Account? Hier anmelden.