software:qview:qview_6:qcl_library:bc22popbuf

BC22PopBuf

B = Buffer

C = Funzioni di Calcolo

La funzione BC22PopBuf estrae un valore da una memoria tipo FIFO. La memoria FIFO è implementata mediante una variabile di tipo array.

BC22PopBuf (array, Element, ErrorCode, head, tail)

Parametri:

IN/OUT TIPO VARIABILE NOME DI ESEMPIO DIM
IN ARRGBL / ARRSYS Buffer B/W/L/S Array contenente il Buffer
OUT GLOBAL Element L/S / W / B Variabile nella quale viene posto il valore estratto dal buffer
OUT GLOBAL ErrorCode F/B Variabile contenente l'errore eventualmente occorso in fase di inserimento del valore
IN GLOBAL / SYSTEM head L Indice interno
IN GLOBAL / SYSTEM tail L Indice interno

Una volta richiamata la funzione se ci sono degli errori la variabile di errore (ErrorCode) assume i seguenti valori:
0 - Nessun errore, dato estratto
1 - La memoria FIFO è vuota

Esempio

Estrae un dato dalla coda del buffer e lo pone nella variabile “glDato” ad ogni fronte della variabile “gfEstrai”

MAIN:                 
      IF gfEstrai
             gfEstrai = 0
             BC22PopBuf (Buffer, Element, ErrorCode, gl001, gl002)
               IF NOT ErrorCode
                   glDato = Element
               ENDIF
      ENDIF

Note

  • L'utilizzo di questa funzione è legato alla funzione BC22InitBuf che inizializza il buffer in questione e che deve essere richiamata almeno una volta prima della funzione BC22PushBuf.
  • La funzione complementare a questa è la funzione BC22PushBuf che immette un dato nella memoria FIFO.

Rispetto alla precendente implementazione la variabile

ErrorCode

può essere anche di tipo Byte

  • Ultima modifica: 2024/07/10 09:18