Пример #1
0
/** \brief Main function
 *
 * This is the main entry point of the software.
 *
 * \returns 0
 *
 * \remarks This function never returns. Return value is only to avoid compiler
 *          warnings or errors.
 */
int main(void)
{
	InitLed();
	InitTeclas();

	uint32_t i;
	edu_ciaa_ledRGB RGB;
    edu_ciaa_key mi_key;



	apagarLed(rojo);
	apagarLed(amarillo);
	apagarLed(verde);


	RGB.LEDrojo=ENCENDIDO;
    RGB.LEDverde=ENCENDIDO;
    RGB.LEDazul=ENCENDIDO;

   /* perform the needed initialization here */

   while(1) {



	   leerTeclas(& mi_key);

	   for (i=PERIODO; i!=0; i--)
       {
        asm ("nop");
       }

	   if(mi_key.Tecla_1==PULSADO)
	   {
		   toogleRGB(& RGB);
	   }
	   if(mi_key.Tecla_2==PULSADO)
	   {
		   toogle(rojo);
	   }
	   if(mi_key.Tecla_3==PULSADO)
	   {
	   	   toogle(amarillo);
	   }
	   if(mi_key.Tecla_4==PULSADO)
	   {
	  	   toogle(verde);
	   }


      /* add your code here */
   }


   return 0;


}/*este es el del main*/
Пример #2
0
int main(void)
{
   /* perform the needed initialization here */
	uint8_t INICIOLEDS;
	uint8_t INICIOTECLAS;
	uint8_t INICIOTIMERS;
	uint8_t ESTADOESCANEO;


	//VARIABLES DE TECLAS
	uint8_t PRENDIDO = 1;
	uint8_t APAGADO = 0;
	uint8_t PULSADO = 0;
	uint8_t NO_PULSADO = 1;


	//Instancaimos el struc de TECLAS
	TECLAS_1_2_3_4 TECLAS;

	//Inicializamos los puertos de TECLAS
	INICIOTECLAS = InicializarTeclas();

	//----------------------------------
	//VARIABLES DEL TIMER RTI
	uint32_t DURACION_DEL_CICLO_COLOR=100;//Es una variable que se usa para determina cuantas cuentas del RTI dura un ciclo del color. En este caso la duración de un color es igual a 100 cuentas del RTI
	uint32_t TIEMPO_TIMER_RTI=1;//Tiempo en milisegundo del contador RTI
	uint32_t Cuenata_color=0;//Es una variable que cuenta la cantidad de ciclos que se va a mostrar un color determinado
	uint32_t TIEMPO_DEL_COLOR=5;//Es una variable que determina el tiempo total que va a durar un color. Se determina con la cantidad de ciclos que se va a mostrar de un color

	//Inicializamos los TIMERS y definimos el intervalo
	INICIOTIMERS = InicializarTimers();

	DefinirIntervaloRTI(TIEMPO_TIMER_RTI);


	//----------------------------------
	//VARIABLES DE LEDS
	//Inicializamos los puertos de LED
	INICIOLEDS = inicializarPuertos();

	//Instancaimos el struc de LED
	LED_1_2_3_RGB LEDS;

	//VARIABLES DEL RGB
	//Instancaimos el struc de COLORES DE RGB
	COLORES_LEDRGB COLORES_RGB;
	GenerarColoresRGB();

	//DEFINIMOS LOS INTERVALOS DE TIEMPO INICIALES QUE LO VAMOS A DEJAR PRENDIDO A CADA COLOR DEL RGB

	COLORES_RGB.color_ledR=DURACION_DEL_CICLO_COLOR;
	COLORES_RGB.color_ledG=DURACION_DEL_CICLO_COLOR;
	COLORES_RGB.color_ledB=DURACION_DEL_CICLO_COLOR;

	//----------------------------------

	do
	{//GENERAMOS EL ARCOIRIS
		if(!EstadoTecla(TEC1))
		{

			do
			{
				//Seleccionamos lo que vamos a cambiar de estado. En este caso los tres R-G-B
				LEDS.ledR = PRENDIDO;
				LEDS.ledG = PRENDIDO;
				LEDS.ledB = PRENDIDO;
				LEDS.LED_UNO = APAGADO;
				LEDS.LED_DOS = APAGADO;
				LEDS.LED_TRES = APAGADO;

				//CAMBIAMOS EL ESTAD
				cambiarEstado(&LEDS);

				//INICIALIZAMOS a CERO EL CONTADOR DEL TIMER
				SetContadorRGB(CERO);

				//ARRANCAMOS UN CICLO DE COLOR EL CUAL DURA UNA CANTIDAD IGUAL A DURACION_DEL_CICLO_COLOR. EN ESTE CASO SE DEFINIO EN 100 mseg

				//Obtenemos el valor del contador
				uint32_t tiempoPrendido = GetContadorRGB();

				do
				{
					tiempoPrendido = GetContadorRGB();

					if(COLORES_RGB.color_ledR <= tiempoPrendido)
					{
						apagarLed(LEDR);
					}
					if(COLORES_RGB.color_ledG <= tiempoPrendido)
					{
						apagarLed(LEDG);
					}
					if(COLORES_RGB.color_ledB <= tiempoPrendido)
					{
						apagarLed(LEDB);
					}
				}
				while(tiempoPrendido<=DURACION_DEL_CICLO_COLOR);

				//LUEGO DE CUMPLIDO UN CICLO DE VISUALIZACIÓN DE UN COLOR

				//Aumentamos el contador de ciclos
				Cuenata_color++;

			}while(TIEMPO_DEL_COLOR>=Cuenata_color);

			//INICIALIZAMOS A CERO EL CONTADOR DE COLOR
			Cuenata_color=CERO;
			//CAMBIAMOS EL COLOR, MEDIANTE EL CAMBIO DE LA DURACIÓN DE LOS RGB
			CambiarColorRGB(&COLORES_RGB,DURACION_DEL_CICLO_COLOR);
		}
		else
		{
			//Seleccionamos el que vamos a cambiar de estado. PRIMERO EL LED1
			LEDS.ledR = APAGADO;
			LEDS.ledG = APAGADO;
			LEDS.ledB = APAGADO;
			LEDS.LED_UNO = PRENDIDO;
			LEDS.LED_DOS = APAGADO;
			LEDS.LED_TRES = APAGADO;

			//CAMBIAMOS EL LED1
			cambiarEstado(&LEDS );

			//Esperamos un intervalo


			SetContadorRGB(CERO);

			uint32_t INTERVALO=250;//Definimos un intervalo de 250 milisegundos entre el ensendido de cada color

			uint32_t tiempoDeEspera = CERO;

			do
			{
				tiempoDeEspera= GetContadorRGB();
			}
			while(tiempoDeEspera<INTERVALO);
			//Apagamos el LED1
			apagarLed(LED1);

			//Seleccionamos el SIGUEINTE, EL LED2
			LEDS.ledR = APAGADO;
			LEDS.ledG = APAGADO;
			LEDS.ledB = APAGADO;
			LEDS.LED_UNO = APAGADO;
			LEDS.LED_DOS = PRENDIDO;
			LEDS.LED_TRES = APAGADO;

			//CAMBIAMOS EL LED2
			cambiarEstado(&LEDS );

			//Esperamos otro intervalo de 250 ms
			SetContadorRGB(CERO);

			do
			{
				tiempoDeEspera= GetContadorRGB();
			}
			while(tiempoDeEspera<INTERVALO);
			//Apagamos el LED2
			apagarLed(LED2);
		}

	}while(1);

}
Пример #3
0
/** \brief Main function
 *
 * This is the main entry point of the software.
 *
 * \returns 0
 *
 * \remarks This function never returns. Return value is only to avoid compiler
 *          warnings or errors.
 */
int main(void)
{
	uint32_t i;
	edu_ciaa_ledRGB RGB;


    InitLed();

	prenderLed(rojo);
	apagarLed(rojo);
	apagarLed(amarillo);
	apagarLed(verde);

	apagarRGB(& RGB);

   /* perform the needed initialization here */

   while(1) {

toogle(amarillo);

	   RGB.LEDrojo=ENCENDIDO;
	   RGB.LEDverde=APAGADO;
	   RGB.LEDazul=APAGADO;
 for (i=PERIODO; i!=0; i--)
 {
 asm ("nop");
 }
	   toogleRGB(& RGB);



   RGB.LEDrojo=APAGADO;
   RGB.LEDverde=ENCENDIDO;
   RGB.LEDazul=APAGADO;

   for (i=PERIODO; i!=0; i--)
    {
    asm ("nop");
    }
   	   toogleRGB(& RGB);



RGB.LEDrojo=APAGADO;
RGB.LEDverde=APAGADO;
RGB.LEDazul=ENCENDIDO;

for (i=PERIODO; i!=0; i--)
 {
 asm ("nop");
 }
	   toogleRGB(& RGB);

   }


   return 0;


}/*este es el del mail*/
Пример #4
0
int main(void)
{
   /* perform the needed initialization here */

	uint8_t INICIO;
	uint8_t PRENDIDO = 1;
	uint8_t APAGADO = 0;
	uint8_t CAMBIO_DE_ESTADO = 0;
	uint32_t i;
	uint32_t INTERVALO=500000;

	//Intancaimos e inicializamos el struc
	LED_1_2_3_RGB LEDS;

	//Inicializamos los puertos
	INICIO = inicializarPuertos();

	//ARRANCAMOS UN CICLO INFINITO
	do
	  {
		//Seleccionamos el que vamos a cambiar de estado. PRIMERO EL LED1
		LEDS.ledR = APAGADO;
		LEDS.ledG = APAGADO;
		LEDS.ledB = APAGADO;
		LEDS.LED_UNO = PRENDIDO;
		LEDS.LED_DOS = APAGADO;
		LEDS.LED_TRES = APAGADO;

		//CAMBIAMOS EL LED1
		CAMBIO_DE_ESTADO = cambiarEstado(&LEDS );

		//Esperamos un intervalo
		for(i=INTERVALO ;i!=0;i--)
			{
				asm("nop");
			};
		//Apagamos el LED1
		apagarLed(LED1);

		//Seleccionamos el SIGUEINTE, EL LED2
		LEDS.ledR = APAGADO;
		LEDS.ledG = APAGADO;
		LEDS.ledB = APAGADO;
		LEDS.LED_UNO = APAGADO;
		LEDS.LED_DOS = PRENDIDO;
		LEDS.LED_TRES = APAGADO;

		//CAMBIAMOS EL LED2
		CAMBIO_DE_ESTADO = cambiarEstado(&LEDS );

		//Esperamos un intervalo
		for(i=INTERVALO ;i!=0;i--)
			{
				asm("nop");
			};
		//Apagamos el LED2
		apagarLed(LED2);
		//Seleccionamos el SIGUEINTE, EL LED3
		LEDS.ledR = APAGADO;
		LEDS.ledG = APAGADO;
		LEDS.ledB = APAGADO;
		LEDS.LED_UNO = APAGADO;
		LEDS.LED_DOS = APAGADO;
		LEDS.LED_TRES = PRENDIDO;

		//CAMBIAMOS EL LED3
		CAMBIO_DE_ESTADO = cambiarEstado(&LEDS );

		//Esperamos un intervalo
		for(i=INTERVALO ;i!=0;i--)
			{
				asm("nop");
			};

		//Apagamos el LED3
		apagarLed(LED3);

		//Seleccionamos el SIGUEINTE, EL LEDG
		LEDS.ledR = APAGADO;
		LEDS.ledG = PRENDIDO;
		LEDS.ledB = APAGADO;
		LEDS.LED_UNO = APAGADO;
		LEDS.LED_DOS = APAGADO;
		LEDS.LED_TRES = APAGADO;

		//CAMBIAMOS EL LEDG
		CAMBIO_DE_ESTADO = cambiarEstado(&LEDS );

		//Esperamos un intervalo
		for(i=INTERVALO ;i!=0;i--)
			{
				asm("nop");
			};

		//Apagamos el LEDG
		apagarLed(LEDG);

		//Seleccionamos el SIGUEINTE, EL LEDR
		LEDS.ledR = PRENDIDO;
		LEDS.ledG = APAGADO;
		LEDS.ledB = APAGADO;
		LEDS.LED_UNO = APAGADO;
		LEDS.LED_DOS = APAGADO;
		LEDS.LED_TRES = APAGADO;

		//CAMBIAMOS EL LEDR
		CAMBIO_DE_ESTADO = cambiarEstado(&LEDS );

		//Esperamos un intervalo
		for(i=INTERVALO ;i!=0;i--)
			{
				asm("nop");
			};

		//Apagamos el LEDR
		apagarLed(LEDR);

		//Seleccionamos el SIGUEINTE, EL LEDB
		LEDS.ledR = APAGADO;
		LEDS.ledG = APAGADO;
		LEDS.ledB = PRENDIDO;
		LEDS.LED_UNO = APAGADO;
		LEDS.LED_DOS = APAGADO;
		LEDS.LED_TRES = APAGADO;

		//CAMBIAMOS EL LEDB
		CAMBIO_DE_ESTADO = cambiarEstado(&LEDS );

		//Esperamos un intervalo
		for(i=INTERVALO ;i!=0;i--)
			{
				asm("nop");
			};
		//Apagamos el LEDG
		apagarLed(LEDB);

	  }
	  while(1);


}