software:qview:qview_6:qcl_library:bc22initbuf

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Prossima revisione
Revisione precedente
software:qview:qview_6:qcl_library:bc22initbuf [2024/07/05 11:44] – creata qem218software:qview:qview_6:qcl_library:bc22initbuf [2024/09/02 14:34] (versione attuale) qem214
Linea 1: Linea 1:
-====== BC22PushBuf ======+====== BC22InitBuf ======
  
 **B = **//Buffer// **B = **//Buffer//
Linea 5: Linea 5:
 **C = **//Funzioni di Calcolo// **C = **//Funzioni di Calcolo//
  
-La funzione BC22PushBuf __inserisce un valore in una memoria di tipo FIFO__. La funzione richiede un valore in ingresso nella variabile '**NewElement**' e lo inserisce nella memoria..+La funzione BC22InitBuf __esegue l'inizializzazione di un array per essere utilizzato come memoria FIFO (First In First Out)__. La funzione richiede il passaggio del nome dell'array che funge da buffer, di due variabili per memorizzare l'indice di inizio fine dati all'interno dell'array e restituisce un valore sulla variabile ErrCode nel caso ci sia un errore.
  
 ===== IMPLEMENTAZIONE ===== ===== IMPLEMENTAZIONE =====
  
-**BC22PushBuf (BufferNewElement, ErrorCode, head, tail)**+**BC22InitBuf (arrayerrcode, head, tail)**
  
 Parametri: Parametri:
  
-^IN/OUT^TIPO VARIABILE^NOME DI ESEMPIO^DIM^^ +^ IN/OUT  ^ TIPO VARIABILE    ^ NOME DI ESEMPIO  ^ DIM                                     || 
-|  IN  |  ARRGBL/ ARRSYS  |  Buffer  |  B/W/L/ |Array contenente il Buffer+|  IN     |  ARRSYS / ARRGBL  |  array           |  B/W/L/ | Array contenente i dati      
-|  IN  |  GLOBAL  |  NewElement  |  L/S/W/B  |Variabile contenente il valore da introdurre nel buffer| +|  OUT    |  GLOBAL           |  errcode         |  F/B      Flag di errore (vedi sotto)  | 
-|  OUT  |  GLOBAL  |  ErrorCode  |  F  |Variabile contenente l'errore eventualmente occorso in fase di inserimento del valore+|  IN     |  GLOBAL / SYSTEM  |  head            |  L        | Indice interno               
-|  IN  |  GLOBAL / SYSTEM  |  head  |  L  |Indice interno| +|  IN     |  GLOBAL / SYSTEM  |  tail            |  L        | Indice interno               |
-|  IN  |  GLOBAL / SYSTEM  |  tail  |  L  |Indice interno|+
  
 ==== Errore ==== ==== Errore ====
  
-Una volta richiamata la funzione se ci sono degli errori la variabile di errore (ErrorCode) assume i seguenti valori:\\ +Nessun errrore
-Nessun errore\\ +
-1 - Dato non inserito a causa di: memoria piena.+
  
 === Esempio === === Esempio ===
- 
-Inserisce il valore del conteggio di un device nel buffer circolare ad ogni fronte del flag "gfInsVal" 
  
 <code QCL> <code QCL>
 +;...
 +INIZ:                 
 +      BC22InitBuf (Buffer, ErrCode, gl001, gl002)**
 MAIN:                  MAIN:                 
-      IF gfInsVal +      WAIT 1 
-            gfInsVal = 0 +      JUMP MAIN 
-            NewElement = count:posit +END
-            BC22PushBuf (Buffer, NewElement, ErrorCode, gl001, gl002) +
-      ENDIF+
 </code> </code>
  
 === Note === === Note ===
  
-  *L'utilizzo di questa funzione è legato alla funzione **BC22InitBuf** che inizializza la memoria+  * La funzione deve essere necessariamente richiamata per inizializzare la memoria, successivamente a questa operazione possono essere utilizzate le altre funzioni **BC22PopBuf**, **BC22PushBuf**, **BC22Inspect** e **BC22Elements**. 
-  *La funzione complementare a questa è la funzione **BC22PopBuf** che estrae un dato dalla memoria FIFO.+ 
 +==== Differenze rispetto alla precedente versione ==== 
 + 
 +Rispetto alla precedente implementazione la variabile <code>errcode</code> può essere anche di tipo Byte 
  
  • Ultima modifica: 2024/07/05 11:44