If pin

Transkript

If pin
if pin
Platí pro všechny typy PICAXE
Syntaxe:
Jednořádkové varianty:
IF pin XX ?? value {AND/OR variable ?? value ...} THEN label
IF pin XX ?? value {AND/OR variable ?? value ...} THEN GOTO label
IF pin XX ?? value {AND/OR variable ?? value ...} THEN GOSUB label
IF pin XX ?? value {AND/OR variable ?? value ...} THEN EXIT
pin XX – označení pinu, jehož stav (logická úroveň) se bude testovat
Value – je proměnná nebo konstanta (obvykle 0 nebo 1).
?? – je jedno z následujících porovnávacích pravidel:
=
rovná se
is
rovná se
<>
nerovná se
!=
nerovná se
>
větší než
<
menší než
Víceřádková (bloková) varianta:
IF pin XX ?? value {AND/OR pin XX ?? value ...} THEN
{kód}
ELSEIF pin XX ?? value {AND/OR pin XX ?? value ...} THEN
{kód}
ELSE
{kód}
ENDIF
pin XX – označení pinu, jehož stav (logická úroveň) se bude testovat
Value – je proměnná nebo konstanta (obvykle 0 nebo 1).
?? – je jedno z následujících porovnávacích pravidel:
=
rovná se
is
rovná se
<>
nerovná se
!=
nerovná se
>
větší než
<
menší než
www.picaxe.cz
1
Popis:
V příkazu je nutno použít název bitové proměnné (pin1, pin2 atd.), nikoliv číslo vývodu (1, 2
atd.), čili 'if pin1 = 1 then...', a ne 'if 1 = 1 then...'
Některé PICAXE mají další vstupy na portA nebo portC. Při testování těchto vstupů musí být u
PICAXE řady X a X1 použito klíčové slovo PORTA nebo PORTC hned po IF, čímž se činnost
příkazu přesměruje na žádaný port. Pro novější příkazy se používá zápis PORT.PIN, například
if pinC.1 = 1 then...
Pokud se používá klíčové slovo PORTA nebo PORTC, je stále možné testovat více pinů pomocí
AND nebo OR, ale vždy se budou testovat vstupy na témže portu, není možné testovat v jedné
podmínce vstupy na různých portech.
Příkaz if .. then otestuje vstup pouze jednou během provádění příkazu. Obvykle se používá v
programové smyčce, která pravidelně testuje stavy vstupů. K trvalému testování vstupů je
určen příkaz setint, který konfiguruje podmínky k vyvolání přerušení.
Otestovat všechny vstupy lze použitím proměnné pins, například if pins = %10101010 then
gosub label. K hromadnému otestování jenom některých vstupů lze použít následující postup,
který otestuje vstupy 6 a 7:
let b1 = pins & %11000000
if b1 = %11000000 then gosub label.
Související příkazy:
• if
• else
• endif
• button
Příklad 1:
main:
if pin0 = 1 then flsh
; jump to flsh if pin0 is high
goto main
; else loop back to start
flsh:
high 1
; switch on output 1
pause 5000
; wait 5 seconds
low 1
; switch off output 1
goto main
; loop back to start
Příklad 2:
do
if pinC.0 = 1 then exit ; exit if pinC.0 is high
loop
www.picaxe.cz
2
Příklad 3:
Blikání LED když je vstup na vysoké úrovni
main
if porta pin0 = 1 then flsh
; jump to flsh if pin0 is high
goto main
; else loop back to start
flsh:
high 1
; switch on output 1
pause 5000
; wait 5 seconds
low 1
; switch off output 1
goto main
; loop back to start
www.picaxe.cz
3

Podobné dokumenty

Začínáme s PICAXE - HOBBYROBOT ← Malá robotika a

Začínáme s PICAXE - HOBBYROBOT ← Malá robotika a výrazně žlutá ukazuje stav H. Stav vstupů lze kliknutím měnit. Protože ale zatím se vstupy a výstupy nepracujeme, soustředíme pozornost jen na zápis programu. Během simulace se v něm po většinu dob...

Více

PICAXE – příručka programátora

PICAXE – příručka programátora zbytek po dělení (modulo) – alternativní zápis omezí výsledek shora – na maximální hodnotu omezí výsledek zdola – na minimální hodnotu

Více

Picaxe – procesor pro neprogramátory

Picaxe – procesor pro neprogramátory Rozmístění vývodů PICAXE-08M založeném na obvodu PIC 12F683-I/P je na schématu. Vývod 1 je kladné napájení, nemělo by klesnout pod 4,5 V a přesáhnout 5,5 V, vhodným zdrojem je čtyřčlánek Nixx akum...

Více

TOUCH pin, variable

TOUCH pin, variable AXE026 + adaptér USB/RS232) při kalibraci příkazu touch připojený k PICAXE, protože měření tím může být ovlivněno. Při kalibraci může zůstat připojen jen kabel AXE027. Vzhledem k nepatrným odlišnos...

Více

shiftout

shiftout Při výchozím nastavení je posouváno 8 bitů. Odlišný počet posouvaných bitů (1 až 8) lze nastavit volitelným parametrem bits. Pokud tedy budete chtít vysunout 12 bitů, rozdělte je na dva bajty, prvn...

Více

PIC AXE

PIC AXE Obousměrný regulátor, řízený modelářským servopulzem Tento regulátor je obdobou běžně vyráběných modelářských regulátorů stejnosměrných motorků. Na rozdíl od nich je sice určen pro menší proud, al...

Více

ZV tým ZV team

ZV tým ZV team • Podle analýzy obrazu průběžně aktualizovat mapu hřiště, rozložení herních prvků a pozici soupeře. Řídící systémy: • Podle situace na hřišti navigovat robota k herním prvkům, stavět z nich věže a ...

Více

Bludiště počítačových her - Softhouse

Bludiště počítačových her - Softhouse Stačí si jen zkusit oba tyto pojmy dosadit do věty: * Několikrát za den se X samovolně pokálí, a je proto nutné ho každý večer vykoupat... Pro prvních deset vět lze ovšem najít pojem, který zahrne ...

Více

resume - Picaxe

resume - Picaxe Při použití příkazu resume dojde k obnovení činnosti procesu, který byl dříve pozastaven příkazem suspend. Ostatní procesy běží beze změny. Pokud už proces běží, je příkaz ignorován. Související př...

Více