If pin
Transkript
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
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...
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
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...
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...
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...
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...
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 ...
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
...
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ř...