Hilfe suche Softwarelösung in c

Gast #2244666
Lesenswert?

Hllo liebes Forum,
ich stehe mal wieder vor einem Problem und weiß nicht genau wie ich es 
lösen soll. Also ich habe eine Variable mask in der werden durch 
interrupts verschiedene Bits gesetzt. Parallel dazu wird zyklisch eine 
Funktion aufgerufen, die sich jeweils immer das älteste bit raussucht 
und diese gleichzeitig wieder löschen soll, so dass eine art ring 
entsteht..

Vielen Dank für eure Hilfe

Dominik
Gast #2244675
Lesenswert?

Wie wärs wenn Du einfach einen Pointer auf das älteste Element machst, 
dann kannst Du auch einfach/direkt darauf zugreifen.

Wenn dann neue Werte hinzugefügt werden, dann muss nur der Pointer auf 
den neuen "ältesten" Wert umgestellt werden (wahrscheinlich in Deinen 
ISRs).
Gast #2244768
Lesenswert?

Okay... Na dann fang ich mal an... Also ich habe  14 MOB´s (Message 
Objects) diese werden in eine ISR der reihe nach vollgeschrieben. 
Gleichzeitig habe ich eine 16 Bit Variable (mask) in der die 
beschriebenen mobs markiert werden. Zyklisch wird eine Funktion 
aufgerufen die die Mobs der reihe nach leeren soll und die mask wieder 
auf null setzt, wenn der mob leer ist. Pro Funktionsaufruf soll immer 
ein mob gelesen und geleert werden


Ich hoffe jetzt ist es ein bisschen verständlicher erklärt.

Gruß

Dominik
Gast #2244848
Lesenswert?

Habe meinen Ansatz so überlegt, jedesmal wenn ich in die ISR gehe wird 
ein Zähler hochgezählt. Ein zweiter Zähler wird hochgezählt wenn ich mir 
den mob hole, der zweite Zähler sollte immer eins kleiner sein als der 
ISR Zähler. Hole ich mir einen MOB, so wird dieser in der Maske wieder 
gelöscht..


Nunja und dann komm ich irgendwie nicht weiter..

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren