Hjälp med if

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Murre
Inlägg: 30
Blev medlem: 2 januari 2005, 00:31:02

Hjälp med if

Inlägg av Murre »

Hur får jag if att funka? Jag vill att en switchen på port RA0 ska få leden på port RB0 att blinka. Jag kör mikrobasic och får inte det att funka. antingen så blinkar leden hela tiden eller så funkar inget. Hade även varit kul om någon vill förklara hur der funkar om man vill att led 1 ska blinka 10ggr sedan ska led 2 blinka 10ggr med if forlmel
Användarvisningsbild
strombom
Inlägg: 3305
Blev medlem: 27 maj 2003, 10:50:20
Ort: Västra Götaland
Kontakt:

Inlägg av strombom »

har du schema och kod vi kan se ?

har du pull-up motstånd på RA0 ?

/Johan
Murre
Inlägg: 30
Blev medlem: 2 januari 2005, 00:31:02

Inlägg av Murre »

Jag har vellemans experiment kort med dioder motstånd och allt annat på ett och samma ställe. sw1-sw4 är kopplade till RA0-RA3 och dioderna till RB0 - RB5 med motstånd och allt. jag vet inte skillnaden mellan pull-up och vanliga motstånd men det bör vara rätt. Detta är en av alla koder jag testat
if RA0. = 1 then
goto test 1
end if
Detta är i kort som jag har förstått att det ska vara
Murre
Inlägg: 30
Blev medlem: 2 januari 2005, 00:31:02

Inlägg av Murre »

Jag har äntligen lyckats med switchen nu e det bara do formeln jag vill försöka mig på
Robert Nielsen
Inlägg: 700
Blev medlem: 23 augusti 2003, 20:42:38

Inlägg av Robert Nielsen »

Murre> Kan du klistra in koden du använde, har samma problem med input. kör också mikrobasic och det vill sig inte
Murre
Inlägg: 30
Blev medlem: 2 januari 2005, 00:31:02

Inlägg av Murre »

jag kopierade svaret du fick och sedan funkade det. testa ett skapa ett nytt program och lklistra in hela koden så funkar det nog. Har du testat att använda do?
Murre
Inlägg: 30
Blev medlem: 2 januari 2005, 00:31:02

Här e hela min kod

Inlägg av Murre »

main:

cmcon = 7 ' Stäng av komparator
TrisA = 255 ' PortA är input
TrisB = 0 ' PortB är Output


loop:
If PortA.0 = 1 Then ' Ifall PortA.0 är hög.
goto test
End If
If PortA.1 = 1 Then
goto test1
else
goto loop
End If

goto loop

test:

PortB = %100000
delay_ms (100)
PortB = %110000
delay_ms (100)
PortB = %111000
delay_ms (100)
PortB = %011100
delay_ms (100)
PortB = %001110
delay_ms (100)
PortB = %000111
delay_ms (100)
PortB = %000011
delay_ms (100)
PortB = %000001
delay_ms (100)
PortB = %000011
delay_ms (100)
PortB = %000111
delay_ms (100)
PortB = %001110
delay_ms (100)
PortB = %011100
delay_ms (100)
PortB = %111000
delay_ms (100)
PortB = %110000
delay_ms (100)
PortB = %100000
delay_ms (100)
PortB = %000000
delay_ms (100)
goto loop

test1:
PortB = %001100
delay_ms (200)
PortB = %010010
delay_ms (200)
PortB = %100001
delay_ms (200)
PortB = %110011
delay_ms (200)
PortB = %111111
delay_ms (200)
PortB = %011110
delay_ms (200)
PortB = %001100
delay_ms (200)
PortB = %000000
goto loop

end.
Robert Nielsen
Inlägg: 700
Blev medlem: 23 augusti 2003, 20:42:38

Inlägg av Robert Nielsen »

Tack, nu fungerar det.
Jag har inte provat att använda Do, ännu men det kommer nog.
Murre
Inlägg: 30
Blev medlem: 2 januari 2005, 00:31:02

Inlägg av Murre »

Hojta till om du får det att funka
Skriv svar