stefano_ Inserito: 13 dicembre 2004 Segnala Share Inserito: 13 dicembre 2004 ciao a tutti,sto realizzando un programmino con un pic16f84 e picbasic pro V 7.1Il programma è costituito da un ciclo che si ripete all'infinito che aspetta la pressione di un tastodopodiche incrementa di una unita un display a 7 segmenti per poi attendere nuovamente la pressionedel 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 esempioCome 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 Link al commento Condividi su altri siti More sharing options...
Gianmario Pedrani Inserita: 13 dicembre 2004 Segnala Share Inserita: 13 dicembre 2004 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 ifdonon badare a come ho scritto non so se la sistassi è corretta ma spero di averti dato un idea ciaooooooooooooo Link al commento Condividi su altri siti More sharing options...
stefano_ Inserita: 14 dicembre 2004 Autore Segnala Share Inserita: 14 dicembre 2004 se scrivo if a = 3 then a = a+1 else a = a - 1 end ifmi 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 Link al commento Condividi su altri siti More sharing options...
wnc Inserita: 14 dicembre 2004 Segnala Share Inserita: 14 dicembre 2004 if a ==3?Differenza tra confronto e assegnamento Link al commento Condividi su altri siti More sharing options...
stefano_ Inserita: 14 dicembre 2004 Autore Segnala Share Inserita: 14 dicembre 2004 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 Link al commento Condividi su altri siti More sharing options...
Gianmario Pedrani Inserita: 14 dicembre 2004 Segnala Share Inserita: 14 dicembre 2004 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 Link al commento Condividi su altri siti More sharing options...
giacomo56 Inserita: 14 dicembre 2004 Segnala Share Inserita: 14 dicembre 2004 prova a terminare l'if con endif invece di end if.Ciao. Link al commento Condividi su altri siti More sharing options...
stefano_ Inserita: 14 dicembre 2004 Autore Segnala Share Inserita: 14 dicembre 2004 ciao,ho visto l'. interno ed utilizza = sia per il confronto che per l'assegnazione, poi ho provato a terminare con endifma non c'è niente da fare proprio non vuole andare !!!!!!!!!!!!!!!!!Se vi viene in mente qualcosa fatemi sapere !!!!!! Link al commento Condividi su altri siti More sharing options...
giacomo56 Inserita: 14 dicembre 2004 Segnala Share Inserita: 14 dicembre 2004 Allora forse c'è un errore a monte.Prova a postare un programmino completo.Ciao. Link al commento Condividi su altri siti More sharing options...
Gianmario Pedrani Inserita: 14 dicembre 2004 Segnala Share Inserita: 14 dicembre 2004 (modificato) Per assegnare una variabile devi mettere := mentre = lo usi per confrontare, prova!!!!! se deriva da vb e' per forza cosi' ciaooooooooooo Modificato: 14 dicembre 2004 da Gianmario Pedrani Link al commento Condividi su altri siti More sharing options...
stefano_ Inserita: 14 dicembre 2004 Autore Segnala Share Inserita: 14 dicembre 2004 device 16f84define portb = %00000000 'tutta la portb come uscitedefine porta = %11100 'RA0 e RA1 come uscite RA2 RA3 RA4 come ingressilow a.0 ' disattivo RA0low a.1 ' disattivo RA1outb (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 loopendil circuito non dovrebbe avere problemi perche se utilizzo l'istruzione "button" come per esempiobutton B.2gosub okok:set a.1returntutto funziona a meraviglia.Grazie 1000 ancora a tutti Link al commento Condividi su altri siti More sharing options...
stefano_ Inserita: 14 dicembre 2004 Autore Segnala Share Inserita: 14 dicembre 2004 un'altra cosa,moi capita spesso di leggere che l'ultima versione di pic basic da provare e scaricare è la 2.4 io hopic basic V 7.1 !!!!!!!!!!!!!!!!!parliamo dello stesso programma ??!?!?!?! non vorrei che fosse questo l'inghippo !!!! Link al commento Condividi su altri siti More sharing options...
giacomo56 Inserita: 14 dicembre 2004 Segnala Share Inserita: 14 dicembre 2004 E allora non è PicBasic Pro! Latest Release: 2.45Basta andare nel suo sito.Ciao. Link al commento Condividi su altri siti More sharing options...
stefano_ Inserita: 14 dicembre 2004 Autore Segnala Share Inserita: 14 dicembre 2004 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 !!! Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora