Příkazy jazyka BASIC

Abecedně řazený přehled syntaxe jednotlivých příkazů jazyka BASIC pro mikrokontrolér PICAXE. Seznam není kompletní, na jeho doplnění se průběžně pracuje.

adcconfig

Syntaxe:

ADCCONFIG config

config – je konstanta nebo proměnná, určující konfiguraci ADC

Funkce příkazu:

Specifikuje zdroj referenčního napětí pro ADC

adcsetup

Syntaxe:

{let} ADCSETUP = channels

channels – je číslo / maska povolení ADC

Funkce příkazu:

U PICAXE série X2 je nutné při použití příkazů ‚readadc / readadc10‘ nakonfigurovat ADC piny. U ostatních mikrokontrolérů PICAXE je konfigurace prováděna automaticky.

backward

Syntaxe:

BACKWARD motor

motor – je A nebo B

Funkce příkazu:

Spustí otáčení motoru dozadu. Tento příkaz je ekvivalentní low 4, high 5 pro motor A, nebo low 6, high 7 pro motor B.

bcdtoascii

Syntaxe:

BCDTOASCII proměnná, desítky, jednotky

BCDTOASCII proměnná datového typu word, tisíce, stovky, desítky, jednotky

Proměnná – obsahuje hodnotu (0-99) nebo při použití proměnné typu word hodnotu (0-9999)

Tisíce – obsahují ASCII hodnotu (“0” až “9”)

Stovky – obsahují ASCII hodnotu (“0” až “9”)

Desítky – obsahují ASCII hodnotu (“0” až “9”)

Jednotky – obsahují ASCII hodnotu (“0” až “9”)

Funkce příkazu:

Převede BCD hodnotu na jednotlivé ASCII byty.

bintoascii

Syntaxe:

BINTOASCII proměnná, stovky, desítky, jednotky

BINTOASCII word proměnná, desetitisíce, tisíce, stovky, desítky, jednotky

Proměnná typu byte může obsahovat hodnotu 0-255,  proměnná typu word může obsahovat hodnotu 0-65535

Desetitisíce – obsahují ASCII hodnotu (“0” až “9”)

Tisíce – obsahují ASCII hodnotu (“0” až “9”)

Stovky – obsahují ASCII hodnotu (“0” až “9”)

Desítky – obsahují ASCII hodnotu (“0” až “9”)

Jednotky – obsahují ASCII hodnotu (“0” až “9”)

Funkce příkazu:

Převede binární hodnotu na jednotlivé ASCII byty.

booti2c

Syntaxe:

BOOTI2C,slot

slot – je adresa externí EEPROM a číslo slotu (4 až 7)

Funkce příkazu:

Do mikrokontrolérů PICAXE řady X2 je možno zavést nový program jeho zkopírováním z externí EEPROM s rozhraním I2C.

branch

Syntaxe:

BRANCH offset,(address0,address1…addressN)

Offset je proměnná, jejíž hodnota určuje, která adresa (0,1…N) bude použita.

Address – jsou návěští, na která se větví program podle hodnoty proměnné offset.

Funkce příkazu:

Tento příkaz umožňuje větvení programu podle hodnoty proměnné offset. Pokud je její hodnota 0, skočí se na první návěští, pokud je hodnota 1, skočí se na druhé atd. Pokud je hodnota větší, nežli odpovídá poslednímu uvedenému návěští, neprovede se žádný skok a program pokračuje na dalším řádku.

Tento příkaz je funkčně shodný s příkazem on .. goto

button

Syntaxe:

BUTTON pin,downstate,delay,rate,bytevariable,targetstate,address

pin –  je proměnná nebo konstanta, určující, který vstup bude použit.

downstate – je proměnná nebo konstanta (0 nebo 1), určující, jaký bude mít vstup logický stav po sepnutí spínače. Je-li po sepnutí spínače  na vstupu log.1, (V+), (např. 10k pull-down rezistor se spínačem připojeným na V+) zadejte 1. Je-li při sepnutí spínače  na vstupu log.0 (0V), (např. 10k pull-up rezistor s přepínačem připojeným na 0V) zadejte 0.

delay – je proměnná nebo konstanta (1 až 254, 0 nebo 255) která je počítadlem, udávajícím počet průchodů testovací smyčkou před spuštěním funkce autorepeat. Jestliže je tato hodnota v rozsahu 1 až 254, bude uložena do pomocné proměnné bytevariable, a po sepnutí spínače se po každém průchodu smyčkou zmenší o 1, dokud je spínač sepnut. K odskoku na návěští adress dojde teprve tehdy, když počítadlo dosáhne stavu 0. Počítadlo tedy nastavuje počáteční zpoždění před zahájením autorepeatu. Hodnota delay 255 funkci autorepeat zakáže.

Pokud potřebujete pomocí zpožďovací smyčky jen ošetřit mechanické zákmity spínače a pak provést jednoduchý odskok na návěští bez následného automatického opakování, použijte hodnotu delay 255.

Hodnota delay 0 zakáže jak zpožďovací smyčku, tak funkci autorepeat a příkaz button bude fungovat jako jednoduchý příkaz „if PIN = targetstate then…“.

rate – je proměnná nebo konstanta (0 až 255) která určuje rychlost běhu testovací smyčky a také určuje rychlost autorepeatu. Jakmile skončí testovací smyčka, bude hodnota rate uložena do pomocné proměnné bytevariable, a dokud je spínač sepnut, při každém průchodu smyčkou se hodnota rate sníží o 1. K odskoku na návěští adress dojde opakovaně vždy, když počítadlo dosáhne stavu 0. Tímto způsobem se nastavuje zpoždění mezi jednotlivými cykly autorepeatu.

bytevariable –je pomocná proměnná, která je používána pro čítač průchodů testovací smyčkou  a smyčkou autorepeatu. Hodnotu proměnné bytevariable je nutno v programu nastavit na 0 ještě před prvním použitím příkazu button (ještě před začátkem smyčky, uvnitř které se příkaz button používá.)

targetstate – je proměnná nebo konstanta (0 nebo 1), která určuje, při jakém stavu (0 = není stisknuto, 1 = stisknuto ) spínače dojde v programu k odskoku nebo větvení. Tato hodnota může být použita pro invertování funkce spínače, k odskoku tedy může dojít, pokud bude spínač sepnut (1), nebo pokud naopak sepnut není (0).

address – je návěští, na které program přeskočí, pokud je spínač sepnut.

Funkce příkazu:

Odstraňuje zákmity spínače, nastavuje autorepeat, a umožňuje větvení programu v závislosti na stavu spínače.

calibadc (calibadc10)

Syntaxe:

CALIBADC proměnná datového typu byte

CALIBADC10 proměnná datového typu word

Proměnná – určená k uložení adc hodnoty

Funkce příkazu:

Kalibruje interní AD převodník v mikrokontrolérech pomocí měření napěťové reference.

0,6 V – PICAXE 20M, 28X1, 40X1

1,2 V – PICAXE 28X2-3V, 28X2-3V

1,024 V – všechny ostatní mikrokontroléry podporující tento příkaz

Poznámka:

Tento příkaz není dostupný u PICAXE 28X2-5V/40X2-5V

clearbit

Syntaxe:

CLEARBIT proměnná, bit

proměnná – je cílová proměnná

bit – je cílový bit (0-7 pro proměnné datového typu byte, 0-15 pro proměnné datového typu word)

Funkce příkazu:

Vymazání specifického bitu v proměnné

compsetup

Syntaxe:

COMPSETUP config , ivr

config – je konstanta nebo proměnná určující nastavení komparátoru

ivr – je konstanta nebo proměnná určující konfigurace interní napěťovou referenci „odporové zátěže“

Funkce příkazu:

Konfiguruje interní komparátor na mikrokontrolérech série X2

count

Syntaxe:

COUNT pin, period, wordvariable

pin –  je proměnná nebo konstanta, určující, na kterém vstupním pinu se budou pulsy počítat.

period – je proměnná nebo konstanta, určující doba trvání vzorkovací periody (1 až 65 535 ms při taktovacím kmitočtu mikrokontroléru 4 MHz).

wordvariable – je proměnná datového typu word, do které se ukládá výsledek operace (0 až 65 535).

Funkce příkazu:

Počítá pulsy, přicházející na určený pin

daclevel

Syntaxe:

DACLEVEL level

level – je proměnná nebo konstanta která určuje výstupní úroveň na DAC (0-31).

Funkce příkazu:

Nastaví výstupní úroveň DAC výstupu (32 kroků, povolené hodnoty jsou v rozmezí 0-31)

dacsetup

Syntaxe:

DACSETUP config

config – je konstanta nebo proměnna určující konfiguraci DAC (digital to analog converter – digitálně analogový převodník)

Funkce příkazu:

Nastaví napěťovou referenci pro DAC

dec

Syntaxe:

DEC var

var – je proměnná, která se bude snižovat (dekrementovat)

Funkce příkazu:

Sníží o jedna hodnotu proměnné

disablebod

Syntaxe:

DISABLEBOD

Funkce příkazu:

Zakáže mikrokontroléru detekci nízkého napětí.

disabletime

Syntaxe:

DISABLETIME

Funkce příkazu:

Zakáže počítadlo času.

disconnect

Syntaxe:

DISCONNECT

Funkce příkazu:

Zakáže skenování pinu, určeného pro nahrávání nového programu.

do .. loop

Syntaxe:

DO

{program}

LOOP UNTIL/WHILE VAR ?? COND

DO

{ program }

LOOP UNTIL/WHILE VAR ?? COND AND/OR VAR ?? COND…

DO UNTIL/WHILE VAR ?? COND

{ program }

LOOP

DO UNTIL/WHILE VAR ?? COND AND/OR VAR ?? COND…

{ program }

LOOP

var – je testovaná proměnná

cond – je podmínka

?? – může být kterýkoliv z následujících operátorů:

=          rovná se

is         rovná se (alternativní zápis)

<>       nerovná se

!=        nerovná se (alternativní zápis)

>          větší než

<          menší než

Funkce příkazu:

Program běží je ve smyčce, dokud podmínka platí (true) nebo neplatí (false)

doze

Syntaxe:

DOZE perioda

Perioda – je proměnná nebo konstanta, která určuje délku režimu spánku mikrokontroléru.

Funkce příkazu:

Doze je krátká perioda. Sníží odběr proudu, ale přesnost některých časovačů může být ztracena. Doze používá stejnou frekvenci pro časový limit jako příkaz sleep (2,1s).

enablebod

Syntaxe:

ENABLEBOD

Funkce příkazu:

Povolí mikrokontroléru detekci nízkého napájecího napětí.

enabletime

Syntaxe:

ENABLETIME

Funkce příkazu:

Povolí počítadlo času.

exit

Syntaxe:

EXIT

Funkce příkazu:

Příkaz exit se používá k okamžitému opuštění smyčky do .. loop nebo for .. next.

fvrsetup

Syntaxe:

FVRSETUP off, FVRSETUP config

config – je konstanta nebo proměnná určující konfiguraci pevné napěťové reference

Funkce příkazu:

Nastaví interní FVR (pevnou napěťovou referenci)

get

Syntaxe:

GET lokace, proměnná, proměnná, WORD proměnná….

Lokace – je konstanta nebo proměnná určující adresu datové paměti.

Povolené hodnoty jsou:

0 to 127 pro mikrokontroléry série X1

0 to 127 pro mikokontrolér 20X2

0 to 1023 pro ostatní mikrokontroléry série X2

Proměnná – je proměnná typu byte, do níž budou vložena data z paměti. Pokud použijeme proměnnou typu word, musí být před jejím názvem použito klíčové slovo WORD

Funkce příkazu:

Načte data z určené oblast datové paměti mikrokontroléru.

HI2Cin

Syntaxe příkazu:

HI2CIN (proměnná,…)

HI2CIN lokace,(proměnná,…)

HI2CIN [newslave],(proměnná,…) (jen pro PICAXE řady -X2)

HI2CIN [newslave],lokace,(proměnná,…) (jen pro PICAXE řady -X2)

Lokace – je volitelná proměnná nebo konstanta datového typu byte nebo word, určující adresu v paměti.

Proměnná – do které se uloží přečtené přijaté bajty.

Newslave – je volitelná adresa, specifikující nové slave zařízení pro tento a všechny budoucí příkazy (jen pro PICAXE řady -X2).

Funkce příkazu:

Načte obsah vnitřních registrů I2C zařízení do proměnné.

HI2Cout

Syntaxe:

HI2COUT lokace,(proměnná,…)

HI2COUT (proměnná,…)

HI2COUT [newslave],lokace,(proměnná,…)

HI2COUT [newslave],(proměnná,…)

Lokace – je volitelná proměnná nebo konstanta určující adresu v paměti. Musí být v bitovém nebo wordovém tvaru.

Proměnná – obsahuje bajty k zápisu.

Newslave – je volitelná adresa, specifikující nové slave zařízení pro tento a všechny budoucí příkazy.

Funkce příkazu:

Mikrokontrolér PICAXE, v pozici I2C master, pošle data na I2C sběrnici.

HI2Cout

Syntaxe:

HI2COUT lokace,(proměnná,…)

HI2COUT (proměnná,…)

HI2COUT [newslave],lokace,(proměnná,…)

HI2COUT [newslave],(proměnná,…)

Lokace – je volitelná proměnná nebo konstanta určující adresu v paměti. Musí být v bitovém nebo wordovém tvaru.

Proměnná – obsahuje bajty k zápisu.

Newslave – je volitelná adresa, specifikující nové slave zařízení pro tento a všechny budoucí příkazy.

Funkce příkazu:

Mikrokontrolér PICAXE, v pozici I2C master, pošle data na I2C sběrnici.

HI2Csetup

Syntaxe:

HI2CSETUP OFF

HI2CSETUP I2CSLAVE, slaveaddress

HI2CSETUP I2CMASTER, slaveaddress, mode, addresslen

Režim Master: Mikrokontrolér PICAXE řídí komunikaci na I2C sběrnici. Řídí ostatní slave zařízení (například EEPROM paměti) a může vysílat data do jakéhokoliv I2C zařízení.

Režim Slave: Mikrokontrolér PICAXE je řízen pomocí jiného master zařízení (například jiný mikrokontrolér). Nemuže vysílat data na I2C sběrnici jinému zařízení.

slaveadress – je adresa I2C slave zařízení

mode – je klíčové slovo I2Cfast (400kHz) nebo I2Cslow (100kHz). Zápis klíčového slova musí být upraven podle aktuální frekvence na I2Cfast_8, I2Cslow_8 při 8MHz, atd.

addresslen – je klíčové slovo I2Cbyte nebo I2Cword. Určuje „adresovací metodu“, kterou používá I2C zařízení (například některé EEPROM paměti používají bajtové adresování a jiné wordové). Neurčuje délku navrácených dat pomocí příkazu HI2Cin, která jsou vždy bajtová.

Funkce příkazu:

Příkaz HI2Csetup je určen ke konfiguraci pinů mikrokontroléru PICAXE pro použití komunikace na sběrnici I2C a definuje komunikační adresu I2C zařízení.

 for..next

Syntaxe:

FOR variable = start TO end {STEP {-}increment}

..

příkazy programové smyčky

..

NEXT {variable}

variable – je proměnná, která je použita jako čítač cyklů

start – je počáteční hodnota čítače

end – je konečná hodnota čítače

increment – je nepovinná hodnota kroku čítače. Pokud není uvedena, použije se hodnota +1. Pokud je uvedena záporná hodnota, předpokládá se, že hodnota start je větší nežli hodnota end a čítá se směrem dolů.

Funkce příkazu:

Slouží k opakovanému provádění kódu (programové smyčky), vloženého mezi příkazy FOR a NEXT. Hodnoty ‚start‘ a ‚end‘ určují, na jakou hodnotu se na počátku nastaví proměnná ve funkci čítače cyklů a jejich rozdíl určuje, kolikrát smyčka proběhne. Při každém provedení příkazu NEXT se hodnota čítače zvětší (nebo zmenší) o předepsaný krok a porovná se s konečnou hodnotou end. Pokud je hodnota proměnné ve funkci čítače cyklů menší (nebo větší při záporném kroku) nežli end, smyčka se ukončí a program pokračuje dalším řádkem za NEXT.

if .. then / if .. and .. then / if .. or .. then

Syntaxe:

IF variable ?? value {AND/OR variable ?? value …} THEN address

variable – je proměnná. Bude porovnána s value

value – může být proměnná nebo konstanta

address – je návěští, na které se předá řízení programu, pokud je podmínka splněna

?? – může být jeden z následujících operátorů:

=          rovná se

is       rovná se (alternativní zápis)

<>       nerovná se

!=       nerovná se (alternativní zápis)

>          větší než

>=       větší nebo rovno

<          menší než

<=       menší nebo rovno

Funkce příkazu:

Příkaz porovnává dvě proměnné nebo proměnnou s konstantou a skočí na určené místo, pokud je podmínka splněna. Pokud není podmínka splněna, pokračuje se na daším řádku programu.

let pinsA / pinsB / pinsC / pinsD =

Syntaxe:

{LET} pinsA = value {LET} pinsB = value {LET} pinsC = value {LET} pinsD = value

value – je proměnná nebo konstanta, jejíž hodnota je uložena do proměnné pinsA / pinsB / pinsC / pinsD

Funkce příkazu:

Příkaz umožňuje hromadné nastavení výstupů PICAXE na vysokou (high) nebo nízkou (low) úroveň v závislosti na hodnotě value.

play

Syntaxe:

PLAY pin, tune                                 (Pro všechny PICAXE s vyjímkou osmipinových)

PLAY pin, tune, LED_mask         (Jen pro PICAXE řady -M2)

PLAY tune, LED_option               (jen pro osmipinové PICAXE)

pin – je proměnná nebo konstanta určující, který pin bude použit jako výstupní (u osmipinových mikrokontrolérů PICAXE je jako výstup použit vždy pin 2).

tune –   je proměnná nebo konstanta (0 – 3) určující, která skladba se zahraje:

0 – Happy Birthday

1 – Jingle Bells

2 – Silent Night

3 – Rudolph the Red Nosed Reindeer

LED_mask (jen u PICAXE řady -M2) – je proměnná nebo konstanta, určující na který výstup PICAXE (na tomtéž portu, k němuž je připojen i akustický měnič) budou připojeny LED, blikající během hraní melodie. Například použitím masky %00000011 budou pro připojení LED použity výstupy 0 a 1.

LED_option (jen u PICAXE 08M) – je proměnná nebo konstanta (0 -3) určující způsob blikání připojených LED během hraní:

0 – bez blikání

1 – výstup 0 se zapíná a vypíná

2 – výstup 4 se zapíná a vypíná

3 – výstupy 0 a 4 se střídavě zapínají a vypínají

Funkce příkazu:

Přehrává zvolenou skladbu na určeném výstupním pinu PICAXE

pulsin

Syntaxe:

PULSIN pin,state,variable

pin – je proměnná nebo konstanta, určující, na kterém vstupním pinu se bude měřit doba trvání pulsu.

state – je proměnná nebo konstanta (0 nebo 1), určující, se kterou hranou měřeného signálu začíná měření.

variable – je proměnná datového typu word, do které se ukládá výsledek měření (1 až 65 535) v jednotkách 10 µs.

Funkce příkazu:

Příkaz pulsin měří dobu trvání vstupního pulsu v jednotkách 10 µs. Jestliže se puls neobjeví do 0,65536 s, běh příkazu skončí a výsledkem je 0. Pokud je hodnota state 1, měří se doba trvání pulsu ve vysoké úrovni, měření začíná vzestupnou a končí sestupnou hranou. Pokud je hodnota state 0, měří se doba trvání pulsu v nízké úrovni, měření začíná sestupnou a končí vzestupnou hranou. Proměnná, do níž se ukládá výsledek měření, musí být datového typu word.

pwmduty

Syntaxe:

PWMDUTY pin,duty cycles

pin – je proměnná nebo konstanta, určující, který výstupní pin bude použit. Pro příkaz pwmout není ale možno použít každý výstupní pin – viz schéma rozložení pinů.

duty – je proměnná nebo konstanta (0-1023) která nastavuje činitel plnění PWM (činitel plnění je doba, po kterou se signál nalézá v log.1)

Funkce příkazu:

Mění činitel plnění po spuštění příkazu pwmout.

pwmout

Syntaxe:

PWMOUT pin,period,duty cycles

PWMOUT PWMDIV4,pin,period,duty cycles

PWMOUT PWMDIV16,pin,period,duty cycles

PWMOUT PWMDIV64,pin,period,duty cycles

PWMOUT pin, OFF

pin – je proměnná nebo konstanta, určující, který výstupní pin bude použit. Pro příkaz pwmout není ale možno použít každý výstupní pin – viz schéma rozložení pinů.

period – je proměnná nebo konstanta (0-255), která určuje periodu signálu PWM (perioda je délka jednoho celého cyklu, tj. součtu doby, po kterou je signál ve stavu log.0 a log.1).

duty – je proměnná nebo konstanta (0-1023) která nastavuje činitel plnění PWM (činitel plnění je doba, po kterou má signál úroveň log.1)

Klíčové slovo PWMDIV je použito pro nastavení dělícího poměru taktovacího kmitočtu na 4, 16 nebo 64.

restart

Syntaxe:

RESTART task

task – je proměnná nebo konstanta, určující číslo procesu

Funkce příkazu:

Příkaz restartuje proces s číslem „task“.

PICAXE řady M2 umožňují zpracovávat paralelně více procesů značených: start0, start1, atd. Při použití příkazu restart dojde k resetu zvoleného procesu, tedy ke skoku na první řádek zvoleného procesu. Při skoku nejsou uloženy ani vynulovány proměnné. Pozastavené procesy budou spuštěny, ostatní procesy běží beze změny. Pro obnovení celkové činnosti procesoru se používá příkaz reset.

resume

Syntaxe:

RESUME task

task – proměnná nebo konstanta, označující číslo procesu

Funkce příkazu:

Příkaz obnoví činnost zvoleného procesu.

PICAXE řady M2 umožňují zpracovávat paralelně více procesů značených: start0, start1, atd. Při použití příkazu resume dojde k obnovení činnosti procesu, který byl dříve pozastaven příkazem suspend. Ostatní procesy běží dále beze změny. Pokud už proces běží, je příkaz resume ignorován.

setint

Syntaxe:

SETINT input,mask

input – je proměnná nebo konstanta (0-255), která udává hodnoty vstupů

mask – je proměnná nebo konstanta (0-255), která určuje masku – použité vstupy.

Funkce příkazu:

Umožní přerušit běh programu při zadané kombinaci vstupů – zpracování asynchronních událostí.

setintflags

Syntaxe:

SETINTFLAGS OFF

SETINTFLAGS flags,mask

SETINTFLAGS AND flags,mask

SETINTFLAGS OR flags,mask

SETINTFLAGS NOT flags,mask

flags – proměnná nebo konstanta (0-255), určuje jaká má být hodnota na konkrétních bitech stavového bytu, při které dojde k přerušení

mask – proměnná nebo konstanta (0-255), určuje masku, tedy hodnota, která určuje, které piny mají být vyhodnocovány

Funkce příkazu:

Nastavuje vnitřní přerušení.

sound

Syntaxe:

SOUND pin,(note,duration,note,duration…)

pin – je proměnná nebo konstanta (0-7), určující, který vývod bude použit.

note – jsou proměnné nebo konstanty (0-255), které určují typ a frekvenci tónu. 0 značí pauzu, hodnoty 1‑127 jsou tóny stoupající frekvence, 128-255 je bílý šum stoupající frekvence.

duration – jsou proměnné nebo konstanty (0-255), které určují délku tónu v násobcích 10 ms.

Funkce příkazu:

Příkaz vytváří pípnutí, vhodné například pro upozornění obsluhy, indikaci stisku tlačítka apod. Ke generování hudebního signálu jsou určeny příkazy play nebo tune. Parametry note a duration musí být uvedeny vždy v páru.

suspend

Syntaxe:

SUSPEND task

task – proměnná nebo konstanta, určující číslo procesu

Funkce příkazu:

Pozastaví zvolený proces.

PICAXE řady M2 umožňují zpracovávat paralelně více procesů značených: start0, start1, atd. Při použití příkazu suspend dojde k pozastavení činnosti procesu. Činnost procesu může být znovu povolena příkazem resume. Pokud je už proces pozastaven, je příkaz suspend ignorován.

touch16

Syntaxe:

TOUCH16 channel, wordvariable

TOUCH16 [config], channel, wordvariable

channel – je proměnná nebo konstanta, která specifikuje použitý ADC vstup (nikoli číslo pinu!)

wordvariable – proměnná datového typu word (0-65535), do které bude uložen výsledek měření (u PICAXE řady –X2 se ukládá jen 10 bitů)

config – je proměnná nebo konstanta, určující konfigurační parametry

Funkce příkazu:

Příkaz touch16 zpracovává signál z dotekového čidla, připojeného na některý ze vstupů ADC mikrokontroléru a výsledek operace ukládá do proměnné datového typu word. Tento příkaz pracuje jen s piny, které jsou pro tuto funkci připraveny. Při spuštění automaticky konfiguruje určený pin jako ADC a zapíná na něm funkci dotykového senzoru.

Příkaz touch16 vyžaduje použití proměnné datového typu word (např. w1, nikoli b1), pokud potřebujete použít proměnnou typu byte, použijte příkaz touch.

touch

Syntaxe:

TOUCH channel, variable

channel – je proměnná nebo konstanta, která specifikuje použitý ADC vstup (nikoli číslo pinu!)

variable – proměnná, do které je uložen výsledek měření

Funkce příkazu:

Příkaz touch zpracovává signál z dotekového čidla, připojeného na některý ze vstupů ADC mikrokontroléru a výsledek operace ukládá do proměnné datového typu byte. Tento příkaz pracuje jen s piny, které jsou pro tuto funkci připraveny. Při spuštění automaticky konfiguruje určený pin jako ADC a zapíná na něm funkci dotykového senzoru.

Touch je „pseudo“ příkaz, který ve skutečnosti pracuje stejně jako příkaz touch16, ale konvertuje výsledek operace z šesnáctibitového formátu (word) do osmibitového (byte) tak, aby mohl být uložen do proměnné datového typu byte (0-255). Zpracování takto upraveného výsledku bude v jednodušších programech snazší, ale přesnost kalibrace senzoru se zmenší. Tam, kde je to možné, je proto doporučeno používat příkaz touch16 a výsledek ukládat do proměnné datového typu word, protože tímto způsobem získáte nejvyšší možnou přesnost měření.

tune

Syntaxe:

TUNE pin, speed, (note, note, note…)

TUNE pin, speed, LED_mask, (note, note, note…) (jen pro PICAXE řady -M2)

TUNE LED_option, speed, (note, note, note…) (jen pro osmipinové PICAXE)

pin – je proměnná nebo konstanta určující, který pin bude použit jako výstupní (u osmipinových mikrokontrolérů PICAXE je jako výstup použit vždy pin 2).

speed – je proměnná nebo konstanta (1-15) určující tempo přehrávání skladby.

notes – jsou data, generovaná pomocí programu Tune Wizard.

LED_mask (jen u PICAXE řady -M2) – je proměnná nebo konstanta, určující na který výstup PICAXE (na tomtéž portu, k němuž je připojen i akustický měnič) budou připojeny LED, blikající během přehrávání melodie. Například použitím masky %00000011 budou pro připojení LED použity výstupy 0 a 1.

LED_option (jen u PICAXE 08M) – je proměnná nebo konstanta (0 -3) určující způsob blikání připojených LED během přehrávání melodie:

0 – bez blikání

1 – výstup 0 se zapíná a vypíná

2 – výstup 4 se zapíná a vypíná

3 – výstupy 0 a 4 se střídavě zapínají a vypínají

Funkce příkazu:

Hraje uživatelem definovanou melodii

ultra

Syntaxe:

ULTRA pin, variable

pin – je proměnná nebo konstanta, která určuje použitý I/O pin.

variable – proměnná datového typu byte, do které se ukládá výsledek měření (0 když žádná překážka není detekována, hodnota 1-255 udává vzdálenost detekované překážky v centimetrech).

Popis:

Příkaz ultra vypočítá vzdálenost k překážce, změřenou ultrazvukovým dálkoměrem SRF05.

Dálkoměr SRF05 musí být připojen k PICAXE v provozním režim 2 (pin 4 připojen na 0 V, pin 2 nezapojen, pin 3 vstup/výstup). Podrobnosti naleznete v katalogovém listu SRF05.

Pin, použitý v příkazu ultra musí být obousměrný (vstup i výstup) a používá se ke spuštění měření i pro příjem echa.

Příkaz ultra nejprve spustí měření, pak měří délku pulzu, která je úměrná vzdálenosti překážky, naměřenou hodnotu převede na centimetry a tuto hodnotu uloží do proměnné typu byte. Hodnota nula znamená, že nebyla detekována žádná překážka v dosahu dálkoměru. Vzdálenost každé překážky, která je detekována ve vzdálenosti větší než 255 cm (např. na 3 m) je do proměnné uložena jako hodnota 255.

Vliv zvýšení rychlosti hodinového kmitočtu:

Tento příkaz bude pracovat správně jen při použití taktovací frekvence 4 MHz u PICAXE řady –M2 nebo 8 MHz u PICAXE řady -X2.