Ejemplo n.º 1
0
int main(void)
{
	/* perform the needed initialization here */

	InitLed();

	currentLed = REDLED;
	LedOn(currentLed);

	for(;;){

		// Esperar para cambiar el estado del led
		for( i = counter ; i > 0 ; --i ){

		}

		ToggleLed(currentLed);

		switch(currentLed){
		case REDLED:
			currentLed = YELOWLED;
			break;
		case YELOWLED:
			currentLed = GREENLED;
			break;
		case GREENLED:
			currentLed = RGBLED_RED;
			break;
		case RGBLED_RED:
			currentLed = RGBLED_BLUE;
			break;
		case RGBLED_BLUE:
			currentLed = RGBLED_GREEN;
			break;
		case RGBLED_GREEN:
			currentLed = RGBLED_VIOLT;
			break;
		case RGBLED_VIOLT:
			currentLed = REDLED;
			break;
		default:
			break;
		}

		ToggleLed(currentLed);

		if( elapsedCycles < TOGGLE_CYCLES ){
			++elapsedCycles;
		}
		else{
			if( counter < accelCounter ){
				counter = 10000000;
			}
			counter = counter - accelCounter;
			elapsedCycles = 0;
		}

	}
	return 0;
}
Ejemplo n.º 2
0
/*Aplicación en la que se hacen parpadear todos los leds de la placa.*/
int main(void)
{

#define DELAY 5000000
	edu_CIAA_ledRGB ledRGB;
	ledRGB.red = 1;
	ledRGB.green = 1;
	ledRGB.blue = 1;
	uint32_t i;

/*Configuro/inicializo los puertos para operar sobre los leds.*/
	InitGPIO_EDUCIAA_Leds();

/*Hago parpadear todos los leds*/
	while(1)
		{
			for(i = DELAY; i != 0; i--)
			{
				asm("nop");
			}
			ToggleLed(LED_AMARILLO);
			ToggleLed(LED_ROJO);
			ToggleLed(LED_VERDE);
			ToggleLedRGB(&ledRGB);
		}
}
Ejemplo n.º 3
0
/*Aplicación en la que se encienden y apagan todos los leds de la placa,
 * de modo secuencial.*/
int main(void)
{
	tec.T1 = 1;
	tec.T2 = 1;
	tec.T3 = 1;
	tec.T4 = 1;
	rgb.blue = 1;
	rgb.green = 1;
	rgb.red = 1;
	uint32_t i;

	#define DELAY 5000000

	InitGPIO_EDUCIAA_Teclas();
	InitGPIO_EDUCIAA_Leds();

	while(1)
		{

			Escaneo_Teclado(&tec);
			if (tec.T1 == 0)
			{
				rgb.blue=1;
				rgb.green=1;
				rgb.red=1;
				ToggleLedRGB(&rgb);
			}

			else
			{
				rgb.blue=0;
				rgb.green=0;
				rgb.red=0;
				RGBoff(&rgb);
			}
			if (tec.T2 == 0)
				ToggleLed(LED_AMARILLO);
			else
				LEDoff(LED_AMARILLO);
			if (tec.T3 == 0)
				ToggleLed(LED_ROJO);
			else
				LEDoff(LED_ROJO);
			if (tec.T4 == 0)
				ToggleLed(LED_VERDE);
			else
				LEDoff(LED_VERDE);
			for(i = DELAY; i != 0; i--)
			{
				asm("nop");
			}
		}
}
/**
  * @brief  This function handles External line 0 interrupt request.
  * @param  None
  * @retval None
  */
void EXTI0_IRQHandler(void)
{
  if(EXTI_GetITStatus(EXTI_Line0) != RESET)
  {
    /* Toggle LED1 */
		ToggleLed();
		NVIC_SystemReset();		
    
		/* Clear the EXTI line 0 pending bit */
    EXTI_ClearITPendingBit(EXTI_Line0);
  }
}
Ejemplo n.º 5
0
int main(void)
{
  /* Watchdog timer disabled */
  WDTCTL = WDTPW + WDTHOLD;
  
  BspInit();    // Set up
  
  TimerInit(); 

  LedCtor(&led,   kPort1, kPin5); //P1.5 (red)

  ToggleLed();
  __eint();        // Enable global interrupts
  
  while(true)
  {
    if (tog == 1) //1 second
    {
      tog = 0;
      ToggleLed();
    }
  }
}
Ejemplo n.º 6
0
unsigned long RTCHandler(void *pvCBData, unsigned long ulEvent,
                              unsigned long ulMsgParam, void *pvMsgData)
{

    // RTC increment interrupt
    if(RTCIntFlagCheck(RTC_INT_INC))
    {
        //Clear second increment interrupt
        RTCIntFlagClear(RTC_INT_INC);
        ToggleLed();
    }

    // RTC alarm match interrupt
    if(RTCIntFlagCheck(RTC_INT_ALARM))
    {
        //Clear alarm interrupt then reset counter.
        RTCIntFlagClear(RTC_INT_ALARM);
        RTCCounterReset();
        RTCTimeSet(RTC_TIMETYPE_SECOND,      0);
        RTCTimeSet(RTC_TIMETYPE_MINUTE,      0);
        RTCTimeSet(RTC_TIMETYPE_HOUR,        0);
        RTCTimeSet(RTC_TIMETYPE_DAYOFWEEK,   0);
        RTCTimeSet(RTC_TIMETYPE_DAYOFMONTH,  0);
        RTCTimeSet(RTC_TIMETYPE_DAYOFYEAR,   0);
        RTCTimeSet(RTC_TIMETYPE_MONTH,       0);
        RTCTimeSet(RTC_TIMETYPE_YEAR,        0);
        
        RTCAlarmSet(RTC_TIMETYPE_SECOND,     0);
        RTCAlarmSet(RTC_TIMETYPE_MINUTE,     1);
        RTCAlarmSet(RTC_TIMETYPE_HOUR,       0);
        RTCAlarmSet(RTC_TIMETYPE_DAYOFWEEK,  0);
        RTCAlarmSet(RTC_TIMETYPE_DAYOFMONTH, 0);
        RTCAlarmSet(RTC_TIMETYPE_DAYOFYEAR,  0);
        RTCAlarmSet(RTC_TIMETYPE_MONTH,      0);
        RTCAlarmSet(RTC_TIMETYPE_YEAR,       0);
    
        // Fast blink LED
        SysCtlDelay(TICK_SLOW);
        ToggleLed();

        SysCtlDelay(TICK_SLOW);
        ToggleLed();

        SysCtlDelay(TICK_SLOW);
        ToggleLed();
        
        SysCtlDelay(TICK_SLOW);
        ToggleLed();

        SysCtlDelay(TICK_SLOW);
        ToggleLed();

    }

    return (0);
}