Paso 2: código
Para configurar el código, debe incluir primero los encabezados LTask y vmtimer. Especificar mi pin para salida digital.
La clase LTask encarga de enhebrado para el código de Arduino, para el sistema operativo una de Linkit. El método principal que se va accediendo en esta clase es la función de remoteCall, que se define como:
donde remote_call_ptr es un typedef:
y userdata es cualquier objeto que quieras pasar a la función callback.
La cabecera de vmtimer define la función vm_create_timer, que utilizaremos para crear un bucle contador que desencadena la devolución de llamada de función que registramos.
Los parámetros son los milisegundos entre devoluciones de llamada de temporizador y la función de devolución de llamada. vm_create_timer devuelve el identificador del temporizador que genera el sistema Linkit. Va ser menor que cero si el sistema no puede crear un contador de tiempo.
Nota: sólo puede haber un máximo de 10 de estos contadores de tiempo en cualquier momento en el código, así que si usted planea en usar múltiples debe asegurarse de que eliminar temporizadores Cuando acabes con ellos.
void setup()
Iniciar su serie, configurar su pin de salida digital, y personalmente apago el LED al principio. Lo más importante utilizaremos remoteCall LTask para registrar una función "createTimer" tiene la llamada al sistema cuando está listo para comenzar un hilo de rosca.
void loop()
No hacer nada, no va a utilizar el circuito para este ejemplo
En createTimer()
Esto se llama el sistema, ya que nos hemos colocado esta función con LTask.remoteCall(). Necesitamos utilizar remoteCall antes de que podemos configurar el vmtimer, que actuará como nuestra loop().
VMINT es un entero. vm_create_timer toma dos parámetros, el tiempo en milisegundos que desea el contador de tiempo a esperar antes de llamar a la función especificada en el segundo parámetro. La función debe coincidir con la firma VM_TIMER_PROC_T, que se define como una función que toma un parámetro entero (el id)
void timerTick(VMINT tid)
Esta es nuestra función que se llamará cada vez que se desencadena la vmtimer. Para este ejemplo, yo sólo encender el LED o apagar con el digitalWrite() como normal.
Como fue indicado antes, sólo puede haber 10 vmtimer de activos. Así que es una buena práctica para eliminarlos cuando haya terminado. Después de 10 iteraciones en el timerTick, eliminar el temporizador.
Y eso es todo!
Espero esto haya ayudado a alguien mirando con el temporizador de proporcionados por Linkit uno.