BaroneRosso.it - Forum Modellismo

BaroneRosso.it - Forum Modellismo (https://www.baronerosso.it/forum/)
-   Circuiti Elettronici (https://www.baronerosso.it/forum/circuiti-elettronici/)
-   -   gestire segnale in ingresso pic (https://www.baronerosso.it/forum/circuiti-elettronici/122444-gestire-segnale-ingresso-pic.html)

marchino65 06 maggio 09 22:38

Citazione:

Originalmente inviato da sim176 (Messaggio 1501334)
Purtroppo avevo gia provato, mi aggiunge l'errore "if without a matching endif" prima degli altri già menzionati

ma in che linguaggio ?

sim176 06 maggio 09 22:54

In picbasic

marchino65 06 maggio 09 22:59

Citazione:

Originalmente inviato da sim176 (Messaggio 1501494)
In picbasic

appena provato
w0 var byte

if W0 < 100 then goto seq1
if W0 > 100 then goto seq2

seq1:
seq2:
funziona picbasic pro 2.45 e Microcode Studio come frontend

sim176 07 maggio 09 20:57

Ok, un passo è fatto. Ora si compila il tutto senza problemi, però non si accende alcun LED collegandolo alla ricevente.

marchino65 07 maggio 09 21:18

Citazione:

Originalmente inviato da sim176 (Messaggio 1542462)
Ok, un passo è fatto. Ora si compila il tutto senza problemi, però non si accende alcun LED collegandolo alla ricevente.

Buono,
prova a postare il codice

Saluti

sim176 07 maggio 09 22:36

ANSEL = 0 ' Set all digital
CMCON = 7 ' Analog comparators off
WO var byte

loop:
pulsin GPIO.3,1,WO
if WO < 111 then goto seq1
if WO > 111 then goto seq2

goto loop

seq1:
high 1
pause 500
goto loop

seq2:
high 2
pause 500
goto loop

End

marchino65 08 maggio 09 00:17

Citazione:

Originalmente inviato da sim176 (Messaggio 1542711)
ANSEL = 0 ' Set all digital
CMCON = 7 ' Analog comparators off
WO var byte

loop:
pulsin GPIO.3,1,WO
if WO < 111 then goto seq1
if WO > 111 then goto seq2

goto loop

seq1:
high 1
pause 500
goto loop

seq2:
high 2
pause 500
goto loop

End

prova così

ANSEL = 0 ' Set all digital
CMCON = 7 ' Analog comparators off
WO var byte

symbol led1 = gpio.1
symbol led2 = gpio.2

loop:
pulsin GPIO.3,1,WO
if WO < 111 then goto seq1
if WO > 111 then goto seq2


goto loop

seq1:
led1=1
pause 500
led1=0
goto loop

seq2:
led2=1
pause 500
led2=0
goto loop

Saluti

MSchiepp 08 maggio 09 09:36

Citazione:

Originalmente inviato da marchino65 (Messaggio 1542958)
prova così

ANSEL = 0 ' Set all digital
CMCON = 7 ' Analog comparators off

Non è che manca l'assegnazione della direzione dei pin di i/o...? tipo
TRISIO = 0xF9 ' set IIII IOOI


Michele

sim176 25 maggio 09 13:58

Salve a tutti, scusate il ritardo ma sono stato via per lavoro. Comunque ho risolto, ora il programma funziona perfettamente. Grazie a tutti per l'aiuto.


Tutti gli orari sono GMT +2. Adesso sono le 09:57.

Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002