Vai al contenuto
PLC Forum


Info Su Pic Basic - info su pic basic


Messaggi consigliati

Inserito:

ciao a tutti,

sto realizzando un programmino con un pic16f84 e picbasic pro V 7.1

Il programma è costituito da un ciclo che si ripete all'infinito che aspetta la pressione di un tasto

dopodiche incrementa di una unita un display a 7 segmenti per poi attendere nuovamente la pressione

del pulsante per poi incrementare ancora, il problema è che parallelamente a questo ciclo infinito vorrei ci fosse un secondo ciclo infinito che mi setti e resetti un uscita a distanza di 1 secondo per esempio

Come posso fare ??

Ancora una cosa:

poò essere che in pic basic pro V7 non ci sia l'istruzione select case ???

come sempre ringrazio anticipatamente tutti

ciao ciao


Gianmario Pedrani
Inserita:

se utilizzai un linguaggio ad alto livello come il basic, puoi implementare le tue funzioni in un unico ciclo infinito verificandole con degli if

es:

while condizione

if tasto premuto = vero

incrementi , fai quello che devi fare

end if

if tempo = 10 sec

if uscita = 1

resett uscita

else uscita = 0

setti uscita

end if

do

non badare a come ho scritto non so se la sistassi è corretta ma spero di averti dato un idea

ciaooooooooooooo

Inserita:

se scrivo

if a = 3 then

a = a+1

else

a = a - 1

end if

mi da il seguente errore

"IF A = 3 THEN assignment operator missing"

e

"ELSE assignment operator missing"

come mai ???? la sintassi dovrebbe essere corretta !??!?!?!!

grazie ancora per la tua risposta

Inserita:

nel manuale l'operazione di confronto è =

l'operazione == non esiste comunque per sicurezza ho fatto delle prove ma non funzia ugualmente !!!!!!

Aiutooooooooooooo ?!?!!!!!!!!!!!!!!

Grazie 1000 ragazzi per il vostro interesse

Gianmario Pedrani
Inserita:

Credo che ci sia qualcosa che non quadra, anche perche' nel tuo pezzetto di codice fai un confronto

if=3 then

e poi sotto fai un assegnazione a=a+1

credo che sia un po strano che l'operando di assegnazione sia uguale a quello di confronto

Prova a controllare l'help interno

e poi facci sapere

credo che il confronto sia a= 3 then

e poi devi scrivere a:= a+1

i := sono l'assegnazione in visualbasic

Inserita:

prova a terminare l'if con endif invece di end if.

Ciao.

Inserita:

ciao,

ho visto l'. interno ed utilizza = sia per il confronto che per l'assegnazione, poi ho provato a terminare con endif

ma non c'è niente da fare proprio non vuole andare !!!!!!!!!!!!!!!!!

Se vi viene in mente qualcosa fatemi sapere !!!!!!

Inserita:

Allora forse c'è un errore a monte.

Prova a postare un programmino completo.

Ciao.

Gianmario Pedrani
Inserita: (modificato)

Per assegnare una variabile devi mettere := mentre = lo usi per confrontare, prova!!!!!

se deriva da vb e' per forza cosi'

ciaooooooooooo

Modificato: da Gianmario Pedrani
Inserita:

device 16f84

define portb = %00000000 'tutta la portb come uscite

define porta = %11100 'RA0 e RA1 come uscite RA2 RA3 RA4 come ingressi

low a.0 ' disattivo RA0

low a.1 ' disattivo RA1

outb (67) ' Attivo le uscite in modo tale da visualizzare il numero 7 sul display

' creo un ciclo infinito che mi controlla se schiaccio il pulsante presente su RA2

' se lo trova schiacciato (livello logico 0) attivo RA1 ( fino a quando tengo premuto il pulsante )

loop:

IF INPORTA & 2=0 Then high a.1 'se il il bit 2 di RA ( e quindi RA2) vale 1 ( livello logico alto ) attivo RA1

goto loop

end

il circuito non dovrebbe avere problemi perche se utilizzo l'istruzione "button" come per esempio

button B.2

gosub ok

ok:

set a.1

return

tutto funziona a meraviglia.

Grazie 1000 ancora a tutti

Inserita:

un'altra cosa,

moi capita spesso di leggere che l'ultima versione di pic basic da provare e scaricare è la 2.4 io ho

pic basic V 7.1 !!!!!!!!!!!!!!!!!

parliamo dello stesso programma ??!?!?!?! non vorrei che fosse questo l'inghippo !!!!

Inserita:

E allora non è PicBasic Pro! Latest Release: 2.45

Basta andare nel suo sito.

Ciao.

Inserita:

scusate ma il prg che ho si chiama let picbasic e pensavo fosse il picbasic di cui sento tanto parlare !!!!!

Se non è così sapete qualcosa su questo programma ???

Grazie ancora e scusate di nuovo se vi ho fatto penare !!!

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...