Vai al contenuto
PLC Forum


costanti in basic


amis

Messaggi consigliati

Salve a tutti eccoci alle prese con un nuovo problema.

Seguendo il corso Mikrobasic di Giovanni di Maria mi trovo in difficolta' perche' nello stesso si fa riferimento al compilatore mikrobasic mentre io utilizzo Microcodestudio , evidentemente i comandi non sono del tutto uguali.

In alcune prove per la visualizzazione di numeri su di un display 7 segmenti all'inizio del programma c'e' un comando che assegna 10 byte alla costante display e assegna ad ogniuno un valore " const display as byte(10)= (63,21,22,33,444,234,444,5,5,6)"

il comando successivo e' "dim k as byte" nell'esecuzione del programma quando il pic si trova ad eseguire il comando portb=display(k) si visualizzera' dal primo all'ultimo i valori assegnati alla costante display sul 7 segm.

Ora pero' codestudio non esegue il comando dando un errore, provando ad assegnare comunque i 10 byte alla costante in questo modo " display CON BYTE(10) "non riesco a capire come assegnare i valori ad ogni singolo byte per poi richiamarlo nel programma con semplici passaggi cosi' come si verificava nell'esempio citato prima.

Ho dato un'occhiata all'. di codestudio ma ci ho capito poco.

Qualcuno sicuramente si e' trovato ad utilizzare le costanti con codestudio ed a questi io chiedo gentilmente un aiuto.

Grazie mille .

Link al commento
Condividi su altri siti


Ciao,

nel manuale o nell' . di mcs devi cercare "arrays" (insieme, gruppo).

La traduzione e' (a spanne):

-----

Esempio :

fish var bit[8]

La prima locazione dell' array e' l' elemento "0". Nel array "fish", definito sopra, gli elementi sono numerati da fish[0] a fish[7] per un totale di 8 elementi.

A causa del modo in cui gli array sono allocati in memoria, ci sono dei limiti per ogni tipo.

Dimensione massima degli elementi:

BIT 256

BYTE 96*

WORD 48*

* Dipendono dal processore, vedi nella sezione riguardante l' allocazione in memoria per ulteriori informazioni.

-----

Percio' la tua istruzione:

const display as byte(10)= (63,21,22,33,444,234,444,5,5,6)

diventa, utilizzando "VAR" :

display var byte[10] ' Dichiarazione array

' Dati array "display"

display[0]=63 ' Primo elemento

display[1]=21

display[2]=22

display[3]=33

display[4]=444

display[5]=234

display[6]=444

display[7]=5

display[8]=5

display[9]=6 ' Ultimo elemento

e userai "display[non]" dove richiesto.

Prova cosi'...

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...