Behöver hjälp, ny på pic (basic)

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
björn
EF Sponsor
Inlägg: 2570
Blev medlem: 29 mars 2004, 23:09:55

Behöver hjälp, ny på pic (basic)

Inlägg av björn »

hej, jag har köpt en P80481 från kjell för att försöka få lite koll på pic programmereing. Jag gjordfe först det "obligatoriska" rinnande vattnet och allt gick bra. sen skulle jag försöka påverka med en av knapparna men det vill sig inte alls.
Jag kodar i PICbasic och i detta försöket försöker jag få en liten fördröjning på det rinnande vattnet när Switch1 är nedtryckt.
kan någon hjälpa mig? jag har sökt här och googlat men inte hittat något bra svar.

TRISA = $FF
TRISB = $00
Loop:
PORTB = 1'$01
pause 250
PORTB = 2'$02
pause 250
PORTB = 4'$04
pause 250
PORTB = 8'$08
pause 250
PORTB = 16'$10
pause 250
PORTB = 32'$20
pause 250
IF PORTA.1 THEN pause 5000
'PORTB = $80

goto Loop
Användarvisningsbild
Hedis
Inlägg: 2493
Blev medlem: 8 december 2003, 15:10:44
Ort: Vänersborg
Kontakt:

Inlägg av Hedis »

Jag är inte så hemma på basic, men det är inte så att du måste peka if-satsen emot en rutin?

IF PORTA.1 THEN delay

delay:
pause 5000
goto loop

Vad gör -->'<-- före portb=$80 förresten?

Förresten, du måste inte ha if porta.1=1 then delay?

Jag kan som sagt ingen basic, bara gissningar.
Användarvisningsbild
björn
EF Sponsor
Inlägg: 2570
Blev medlem: 29 mars 2004, 23:09:55

Inlägg av björn »

Vad gör -->'<-- före portb=$80 förresten?

Ingenting :-) , det är som jag bortkomm'enterade $80 för att se om det gick att skriva in det i vanliga siffror bara.
Jag testar dina ideer i denna stund.
Användarvisningsbild
Hedis
Inlägg: 2493
Blev medlem: 8 december 2003, 15:10:44
Ort: Vänersborg
Kontakt:

Inlägg av Hedis »

Ahh, misstänkte nästan att det var tecknet för kommentar. ; är fint i Assembler annars. :)
Användarvisningsbild
Hedis
Inlägg: 2493
Blev medlem: 8 december 2003, 15:10:44
Ort: Vänersborg
Kontakt:

Inlägg av Hedis »

Jag kollade lite i en annan tråd här.

IF pWidth = 1 THEN igen har hak0n använt sig utav.

Så prova IF porta.1 = 1 THEN delay

delay:
pause 5000
goto loop
Användarvisningsbild
björn
EF Sponsor
Inlägg: 2570
Blev medlem: 29 mars 2004, 23:09:55

Inlägg av björn »

tack, nu verkar det som det borde funka... för om jag sätter IF porta.1 = 0 så hoppar den till delay rutinen, men jag lyckas inte få knappen att påverka.
börjar tro att det är kortet som strular, får ta och mäta på det imorgon.

Jaja, jag tackar än engång för hjälpen, det kommer nog fler frågor imorgon :-)

Mvh Björn
Användarvisningsbild
björn
EF Sponsor
Inlägg: 2570
Blev medlem: 29 mars 2004, 23:09:55

Inlägg av björn »

Det var inte fel på kortet, det var att jag hade glömt stänga den analoga comparatorn med cmcon = 7. När det var gjort funkade allt :-)
Användarvisningsbild
Hedis
Inlägg: 2493
Blev medlem: 8 december 2003, 15:10:44
Ort: Vänersborg
Kontakt:

Inlägg av Hedis »

Grymmt störande att sånna extrafeatures är aktiva som standard.

På AVR måste man aktivera sånt om man vill. (förutom JTAG på mega32:an, tog någon timme innan jag hittade felet, men det är ju bara för det är en programmeringsmöjlighet)
ristomemo
Inlägg: 1028
Blev medlem: 29 mars 2004, 14:12:18

Inlägg av ristomemo »

När du trycker ned knappen, jordar du då, eller lägger du på +5V ?
Om du har en knapp med slutning mot jord måste du ha ett pullup motstånd. Vissa pinnar på PICarna har interna pullup motsånd, men dessa måste aktiveras har jag för mig.

Vilken PIC är det du håller på med 16F ????
Användarvisningsbild
björn
EF Sponsor
Inlägg: 2570
Blev medlem: 29 mars 2004, 23:09:55

Inlägg av björn »

det är 16f628. jag lägger en etta vid nertryckt kontakt. Men som sagt det funkar fin nu efter att jag stängt den attans comparatorn.
Skriv svar