software:qview:qview_6:qcl_library:bc22popbuf

Questa è una vecchia versione del documento!


BC22PopBuf

B = Buffer

C = Funzioni di Calcolo

La funzione BC22PopBuf estrae un valore da una memoria tipo FIFO. La memoria FIFO e' 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 e' 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:15