lunes, 27 de enero de 2014

Eventos. (Codigo)

Código del programa.

#include"Cpu.h"
#include"Events.h"
#include"mqx_tasks.h"
//#include "user_config.h"
#include"lwevent.h"

#define ROJO 1
#define VERDE 2
#define AZUL 4
/* User includes (#include below this line is not maintained by Processor Expert) */
  LWEVENT_STRUCT lwevent;


voidTask1_task(uint32_t task_init_data)
{
int counter = 0;
  _lwevent_create(&lwevent,LWEVENT_AUTO_CLEAR);  //Poneencero a los bits delevento
  _lwevent_set(&lwevent,ROJO);                    //activa el bit ROJO
  _task_abort(_task_get_id());
while(1) {
    counter++;
/* Write your code here ... */
  }
}

voidTask2_task(uint32_t task_init_data)
{
int counter = 0;

while(1) {
    counter++;
_lwevent_wait_for(&lwevent,ROJO,FALSE,NULL);
/* Write your code here ... */
Rojo_ClrVal(Rojo_DeviceData);
Verde_SetVal(Verde_DeviceData);
Azul_SetVal(Azul_DeviceData);
_time_delay_ticks(100);
    _lwevent_set(&lwevent,VERDE);
  }
}


voidTask3_task(uint32_t task_init_data)
{
int counter = 0;

while(1) {
    counter++;
_lwevent_wait_for(&lwevent,VERDE,FALSE,NULL);  //Puedeser TRUE o FALSE
/* Write your code here ... */
Verde_ClrVal(Verde_DeviceData);
    Rojo_SetVal(Rojo_DeviceData);
Azul_SetVal(Azul_DeviceData);
    _time_delay_ticks(100);
    _lwevent_set(&lwevent,AZUL);
/* Write your code here ... */

  }
}

voidTask4_task(uint32_t task_init_data)
{
int counter = 0;

while(1) {
    counter++;
_lwevent_wait_for(&lwevent,AZUL,FALSE,NULL);
Azul_ClrVal(Azul_DeviceData);
    Rojo_SetVal(Rojo_DeviceData);
Verde_SetVal(Verde_DeviceData);
    _time_delay_ticks(100);
/* Write your code here ... */
    _lwevent_set(&lwevent,ROJO);
/* Write your code here ... */

  }

}

No hay comentarios:

Publicar un comentario