Linkit en: LTask Blink (2 / 2 steg)

Steg 2: kod

För att installera koden, måste du först innehålla den LTask och vmtimer headers. Jag också ange min PIN-kod för digital utgång.

#include "LTask.h"
#include "vmtimer.h"
int pin = 8.

Klassen LTask hanterar threading för din Arduino kod, till Linkit en OS. Den huvudsakliga metoden du kommer att komma åt i denna klass är den remoteCall funktionen som definieras som:

remoteCall (remote_call_ptr func, void * userdata)

där remote_call_ptr är en typedef:

TypeDef booleska (* remote_call_ptr) (void * user_data);

userdata är alla objekt som du vill skicka till din callback funktion.

Vmtimer huvudet definierar funktionen vm_create_timer, som vi kommer att använda för att skapa en loopande timer som utlöser våra funktion callback som vi registrerar.

VMINT vm_create_timer (VMUINT32 millisekunder, VM_TIMERPROC_T timerproc);

Parametrarna är millisekunder mellan timer callbacks och funktionen att motringning. vm_create_timer returnerar id för timern som skapar en Linkit systemet. Det kommer att vara mindre än noll om systemet inte kunde skapa en timer.

Obs: det kan bara finnas ett max på 10 av dessa timers när som helst i din kod, så om du planerar att använda flera du bör se till du radera timers när du är klar med dem.

void setup()

Starta din följetong, ange din PIN-kod till digital utgång och jag personligen stänga av lampan i början. Viktigast av allt kommer vi att använda LTask remoteCall för att registrera en funktion "createTimer" att ha systemanropet när den är klar att starta en tråd.

LTask.remoteCall ((remote_call_ptr) createTimer, NULL);

void loop()

Gör ingenting, vi kommer inte att använda slingan för detta exempel

I createTimer()

Detta kallas av systemet, eftersom vi har registrerat den här funktionen med LTask.remoteCall(). Vi måste använda remoteCall innan vi kan sätta den vmtimer, som kommer att fungera som våra loop().

VMINT timerId = vm_create_timer (1000, (VM_TIMERPROC_T) timerTick);

VMINT är ett heltal. vm_create_timer har två parametrar, tid i millisekunder som du vill använda timern att vänta innan du anropar funktionen anges i den andra parametern. Funktionen måste matcha en VM_TIMER_PROC_T underskrift, som definieras som en funktion som tar en integer parameter (aktivitets-id)

TypeDef void (* VM_TIMERPROC_T)(VMINT tid);

void timerTick(VMINT tid)

Detta är vår funktion som kommer att kallas varje gång vmtimer utlöser. Det här exemplet växla jag bara LED på eller av med digitalWrite() som vanligt.

om (blinkCount & 1) {
digitalWrite (pin, hög);
Serial.println ("LED på");
}
annat {
digitalWrite (pin, låg);
Serial.println ("LED av");
}

Som var sagt tidigare, det kan alltid bara vara är 10 vmtimer aktiv. Så är det god praxis att ta bort dem när du är klar. Efter 10 upprepningar på timerTick bort jag timern.

vm_delete_timer(tid);

Och det är det!

Jag hoppas detta har hjälpt någon undersöker med hjälp av timern är som tillhandahålls av Linkit en.

Se Steg
Relaterade Ämnen

LinkIt en ultimata IoT

Om du någonsin har varit till Förenade Arabemiraten i sommar, kommer du förmodligen vet om värmen där. Men när du är inomhus, i ditt hus eller rum, och luftkonditioneringen slås på, du känner inte värmen alls.Nu föreställa sig du måste gå för en tid,...

Gör en Wi-Fi styrd Robot med en LinkIt

Här är en steg för steg guide som hjälper dig bygga första robot och lägga till komplexitet, som du följa med. Förutom bygga ett grundläggande hinder att undvika robot med hjälp av en UltraSonic sensor och Sparkfun motor driver , kommer du också lära...

Snurrar skallen kontrolleras av Web app

Här är en stor halloween inredning objekt för tabellen middag och snacks för din Halloweenfest. Göra en spooky snurrande skalle som du kan utlösa från en enkel Web App om du Tablet PC/mobil medan dina gäster plockar upp sina snacks...Den snurrande sk...

Linkit en Setup Guide

Linkit ONE är en av de mest imponerande Arduino-liknande styrelserna där ute. Det är en awesome högpresterande plattform för Sakernas Internet och kläder, inklusive massor av funktioner som:WiFi och Bluetooth 4.0GSM och GPRSGPSLjud-CodecSD-kortplatsL...

LinkIt en installationsguide för Windows

Mer programvara? Jag trodde jag kunde använda Arduino IDE! I detta instructable jag ska visa dig hur du får din styrelsen arbeta. Bättre, jag visar dig hur man installerar LinkIt en SDK med en senare och bättre version av Arduino - 1.6.4!SDK står för...

Linkit en: Kodning grunderna

Arduino kodningSteg 1: material USB-sladdLinkit enDatorSteg 2:Först måste du Hämta programvaran arduino. Här en länk att ladda ner.Steg 3: startaStälla in växlarna till dessa positioner när du kopplar in linkit enUSB-UART SPI nu öppna filen Arduino I...

LinkIt en och en VFD modul

Min första steget till en personlig mobil säkerhetssystem använder en LinkIt är mänskliga gränssnittet. Med all elektronik behöver du ett mänskligt gränssnitt, en LCD- eller annan anordning för att berätta vad läge enheten du använder och vilken enhe...

Två sätt MQTT-SMS Bridge (Linkit One)

Detta projekt är för Linkit One. Denna prototyp styrelse är programmerat som en Arduino men har mycket mer funktioner. Detta projekt visar GSM (SMS) och inbyggd WiFi enheter.Funktionerna i detta projekt:Ansluta till WiFiSMSSkapar tvåvägs SMS till MQT...

Panik-knappen med SMS + GPS (Linkit en)

Detta projekt är för Linkit One. Denna prototyp styrelse är programmerat som en Arduino men har mycket mer funktioner. Detta projekt visar GSM (SMS) och GPS enheter.Funktionerna i detta projekt:Tryck på knappen Skicka SMS till ett eller flera nummerS...

Bärbar SMS Motion Alarm (Linkit en)

Detta enkla projekt är för en verkligt bärbara stealth rörelselarm med en Linkit (LIO) prototyp styrelse. Eftersom LinkitOne är batteridrivna kan du sätta det någonstans du.LIO är som Arduino på steroider. En av de trevliga extrafunktioner är en GSM...

LinkIt en: GATT Server Intro

LinkIt en har stöd för Bluetooth Low Energy aka BLE. Lågenergi mode i Bluetooth är mycket energieffektiv, vilket gör den föredrog läge för olika IoT enheter.I detta instructable, kommer jag att ge ett intro på hur till använda BLE GATT tjänster i Lin...

LinkIt ett – MCP23017 I2C Port Expander

MCP23017 chip är indata- och expander, som använder I2C kommunikationsprotokoll. Du kan ansluta den till din LinkIt One med två stift endast (SDA, SLC) och få 16 digitala I/O portar. Dessutom kan du ansluta upp till åtta expandrar i serien och får 12...

Emotion skjorta med en Linkit en

Min familj älskar filmen Inside Out. Så jag tänkte det skulle vara bra om jag gjorde en skjorta som skulle visa känslor. Jag bestämde mig Linkit en skulle vara perfekt för detta eftersom det skulle ge dig tillgång till trådlöst till kontrollerSteg 1:...

LinkIt en Tutorials - #1 Hej världen

Den mest grundläggande formen av Hello World när du använder microcontrollers vänder en LED på och av.På en hel del microcontrollers finns minst en användare kontrollerbar LED ombord.Det finns ett antal förutsättningar innan vi kan aktivera LED av oc...

Snabbare detektering med LinkIt en

Med IR-sensorn kan vi upptäcka hastigheten på motor. Jaghar en liten rover som drivs av Intel Edison och jag var nyfiken på dess hastighet så låt oss skapa en enhet som kommer att upptäcka hastigheten hos ett fordon. I denna ansökan kommer vi att anv...

Blinds automatisering med en LinkIt

Automatisera du persienner, är en stor helg projekt, kan du sätta ihop med Mediatek LinkIt en plattform och 3D tryckta delar som STL-filer är fästade i steg 2.Om du vill rotera den blinda wand/rod använder vi en kontinuerlig rotation servo. Och förfl...

LinkIt en starthjälp

Nyligen i Mediatek Linkit en giveaway var jag en av de 250 som fick denna mångsidiga, liten sak. Med fantastiska funktioner som inbyggd Bluetooth, GSM, Wifi, GPS, Sd-kortplats, Audio jack, Linkit en styrelsen är bara perfekt sak för alla beslutsfatta...

Styr högspänning enheter med en LinkIt

I de förgångna få projekt jag har använt en LinkIt styrelsen och styrelsens LinkIt en är bra för Sakernas Internet program. Men den LinkIt One är inte kan hantera hög spänning och aktuella enheter, som till exempel ditt hem belysningssystem eller and...

Fisa maskin (med Linkit en)

Ja, du läste titeln rätt. Detta är en automatisk fart brusgenerator. Det är en linkit en med en av två rörelsedetektorer ansluten till den. När någon eller något rör sig i närheten leker det en fjärt buller.Detta kan naturligtvis vara något buller oc...