Hallo,
ich komm in der Sache mit dem FIFO leider nicht so richtig weiter :-(
Ich poste hier mal den Code, den ich für den FPGA geschrieben habe. Wie man erkennt erfasse ich unter anderem 32 Kanäle
jede Milisekunde und schreibe die Werte in einen FIFO. Hier fangen die Unklarheiten schon an, was trage ich am Timeoutanschluss
des FIFO hier sinnvollerweise ein? In der Hilfe steht folgendes:
Zitat:Timeout specifies the time, in number of clock ticks, that the method waits for available space in the FIFO if the FIFO is full. A value of –1 prevents the function from timing out. A value of 0 indicates no wait.
Mir ist nich klar, wie sich -1 von 0 unterscheidet. Und was passiert wenn der FIFO voll ist, wir der dann einfach überschrieben?
Bisher hatte ich Probleme in der Art, dass nach einem Pufferüberlauf die Reihenfolge der Kanäle im Array nicht mehr stimmt. Kanal 0, im Array auf Index 0 wanderte plötzlich ans Ende des Arrays und die anderen rückten dementsprechend einen Platz nach vorne. Dieses Phänomen trat auf als ich unter besagtem Timeout 5 (Ticks) angegeben hatte.
Diesen habe ich nunmal auf -1 gestellt, worauf die Kanäle auch bei einem Pufferüberlauf im Array an der gleichen Stelle blieben.
Allerdings sind die Werte dann fraglich, an Kanal 0 hab ich z.B. 8 Volt angeschlossen, dieser Wert sinkt kontinuierlich ganz langsam ab.
Irgendwie weiss ich grad garnicht was ich mache, deshalb frag ich Euch ;-)
Gruß,
Georg