Example #1
0
void RIT_IRQHandler(void) {
	/* Clearn interrupt */
	Chip_RIT_ClearInt(LPC_RITIMER);
	if(controlFlag)
		DEBUGOUT("Overloaded\n");
	controlFlag = true;
}
void Rutina()
{
	uint8_t i;
	for(i=0; i<4; i++)
	{
		if (Chequea_T(&pulsador[i]))
			{
			if(!pulsador[i].estado)
							{
								pulsador[i].estado = 1;
								teclas_count[i] = 0;
							}
							else
							{
								teclas_count[i]++;
							}
			}

	  if(( pulsador[i].estado== 1) && (!Chequea_T(&pulsador[i])))
		{
			/*
			Se soltó la tecla i
			*/
			TitilarLeds();
	     	 pulsador[i].estado = 0;
		}

   }
    Chip_RIT_ClearInt(LPC_RITIMER);

}
Example #3
0
//__attribute__ ((section(".after_vectors")))
void RIT_IRQHandler (void)
{
	/* Clearn interrupt */
	Chip_RIT_ClearInt (LPC_RITIMER);

	/* Toggle LED */
	ritConfig.hook ();
}
/* Cortex-M0 core of LPC4337 uses RIT Timer for periodic IRQ */
void RIT_IRQHandler(void)
{
   if(Chip_RIT_GetIntStatus(LPC_RITIMER) == SET)
   {
      /* Store the calling context in a variable. */
      ContextType actualContext = GetCallingContext();

      /* Set ISR2 context. */
      SetActualContext(CONTEXT_ISR2);

#if (ALARMS_COUNT != 0)

      /* Counter increment. */
      static CounterIncrementType CounterIncrement = 1; /* TODO remove me. */

      (void)CounterIncrement; /* This avoids a compiler warning because the variable is not being used. */

      /*
       * Enter critical section.
       * */
      IntSecure_Start();

      /*
       * The the RTOS counter increment handler.
       * */
      CounterIncrement = IncrementCounter(0, 1 /* CounterIncrement */); /* TODO FIXME */

      /*
       * Exit the critical section.
       * */
      IntSecure_End();

#endif /* #if (ALARMS_COUNT != 0) */

      /* reset context */
      SetActualContext(actualContext);

#if (NON_PREEMPTIVE == OSEK_DISABLE)

      /*
       * Check if the currently active task is preemptive;
       * if it is, call schedule().
       * */

      if ( ( CONTEXT_TASK == actualContext ) &&
            ( TasksConst[GetRunningTask()].ConstFlags.Preemtive ) )
      {
         /* This shall force a call to the scheduler. */
         PostIsr2_Arch(isr);
      }

#endif /* #if (NON_PREEMPTIVE == OSEK_DISABLE) */

      Chip_RIT_ClearInt(LPC_RITIMER);

      NVIC_ClearPendingIRQ(RITIMER_IRQn);
   }
}
/**
 * @brief	RITimer IRQ handler and timebase management
 * @return	Nothing
 * @note	This function keeps a timebase for LWIP that can be
 * used for other functions.
 */
void OSEK_ISR_RIT_IRQHandler(void)
{
	/* Clear RITimer Interrupt, Reload counter value */
	Chip_RIT_ClearInt(LPC_RITIMER);
	Chip_RIT_SetCOMPVAL(LPC_RITIMER, Chip_RIT_GetCounter(LPC_RITIMER) + reload_val);/* Reload value */

	/* Increment tick count */
	systick_timems += saved_period;
}
Example #6
0
void CLearTimer(uint8_t timer){
	switch(timer){
	case RIT_TIMER:
		Chip_RIT_ClearInt(LPC_RITIMER);
		break;
	default:
		break;
	}
}
void RIT_IRQHandler(void){
    /* Clearn interrupt */
   Chip_RIT_ClearInt(LPC_RITIMER);

   t++;
   t%=T;
   DatoDAC=(t*Vmax)/T;
   /* Saco dato por DAC */
   Chip_DAC_UpdateValue(LPC_DAC,DatoDAC);
   if (t==0) {
	   InvierteLed(1);
     }
   }
/**
 * @brief	Initialize tick interrupts
 * @return	Nothing
 * @note	This function initializes the tick interrupts, and must
 * be called before starting the freeRTOS scheduler.
 */
void prvSetupTimerInterrupt(void)
{
	/* Clear any pending interrupt */
	Chip_RIT_ClearInt(LPC_RITIMER);

	/* Calculate reload value */
	reload_val = (configCPU_CLOCK_HZ / configTICK_RATE_HZ);
	Chip_RIT_SetCOMPVAL(LPC_RITIMER, Chip_RIT_GetCounter(LPC_RITIMER) + reload_val);/* Start tick */

	/* Set the priority and enable the interrupt */
	NVIC_SetPriority((IRQn_Type) RITIMER_IRQn, portNVIC_SYSTICK_PRI);
	NVIC_EnableIRQ((IRQn_Type) RITIMER_IRQn);
}
/* Enable LWIP tick and interrupt */
void lwipSysTick_Enable(uint32_t period)
{
	saved_period = period;

	/* Clear any pending interrupt */
	Chip_RIT_ClearInt(LPC_RITIMER);

	/* Calculate reload value */
	reload_val = ( SystemCoreClock / ( 1000 / period ) );
	Chip_RIT_SetCOMPVAL(LPC_RITIMER, Chip_RIT_GetCounter(LPC_RITIMER) + reload_val);/* Let it tick */

	/* Set the priority and enable the interrupt */
	NVIC_SetPriority((IRQn_Type) RITIMER_IRQn, RITIMER_IRQn_PRI);
	NVIC_EnableIRQ((IRQn_Type) RITIMER_IRQn);
}
/**
 * @brief	RITimer IRQ handler and timebase management
 * @return	Nothing
 * @note	This function keeps a timebase for LWIP that can be
 * used for other functions.
 */
void RIT_IRQHandler(void)
{
#define CONTEXT_ISR2 3
   typedef uint8_t ContextType;
   extern ContextType ActualContext;

   ContextType ctx = ActualContext;
   ActualContext = CONTEXT_ISR2;

	/* Clear RITimer Interrupt, Reload counter value */
	Chip_RIT_ClearInt(LPC_RITIMER);
	Chip_RIT_SetCOMPVAL(LPC_RITIMER, Chip_RIT_GetCounter(LPC_RITIMER) + reload_val);/* Reload value */

	/* Increment tick count */
	systick_timems += saved_period;

   ActualContext = ctx;
}
Example #11
0
void Rutina(void)
{
    TitilarLeds();
    contador++;
    Chip_RIT_ClearInt(LPC_RITIMER);
    if (arciris)
    {
    	if (cdor_cres<TARC)
    		{
    			cdor_cres++;
    		}
    	    else
    		{
    	    	cdor_cres=MIN_COR;
    		}
    }

}
/**
 * @brief	Tick interrupt handler routine
 * @return	Nothing
 * @note	This function handles the tick interrupts that are generated by RITIMER.
 */
void xPortSysTickHandler(void)
{
	unsigned long ulDummy;

	/* TODO: check if WWDT interrupt and redirect */
	Chip_RIT_ClearInt(LPC_RITIMER);
	Chip_RIT_SetCOMPVAL(LPC_RITIMER, Chip_RIT_GetCounter(LPC_RITIMER) + reload_val);/* Reload value */

#if configUSE_PREEMPTION == 1
	/* If using preemption, also force a context switch. */
	*(portNVIC_INT_CTRL) = portNVIC_PENDSVSET;
#endif

	ulDummy = portSET_INTERRUPT_MASK_FROM_ISR();
	{
		vTaskIncrementTick();
	}
	portCLEAR_INTERRUPT_MASK_FROM_ISR(ulDummy);
}
/**
 * @brief	Tick interrupt handler routine
 * @return	Nothing
 * @note	This function handles the tick interrupts that are generated by RITIMER.
 */
void RIT_IRQHandler(void)
{
	unsigned long ulPreviousMask;

	/* TODO: check if WWDT interrupt and redirect */
	Chip_RIT_ClearInt(LPC_RITIMER);
	Chip_RIT_SetCOMPVAL(LPC_RITIMER, Chip_RIT_GetCounter(LPC_RITIMER) + reload_val);/* Reload value */

#if configUSE_PREEMPTION == 1
	/* If using preemption, also force a context switch. */
	*(portNVIC_INT_CTRL) = portNVIC_PENDSVSET;
#endif

	ulPreviousMask = portSET_INTERRUPT_MASK_FROM_ISR();
	{
		/* Increment the RTOS tick. */
		if( xTaskIncrementTick() != pdFALSE )
		{
			/* Pend a context switch. */
			*(portNVIC_INT_CTRL) = portNVIC_PENDSVSET;
		}
	}
	portCLEAR_INTERRUPT_MASK_FROM_ISR( ulPreviousMask );
}
void ISR_interrumpe (void)
{
	Chip_RIT_ClearInt(LPC_RITIMER);
	//cambiar_estado(1);
}
Example #15
0
void MyRITimerISR(void){
	FlagCounter = 1;
	Chip_RIT_ClearInt(LPC_RITIMER);

}
Example #16
0
void LimpiarBitInterrupcionTimer(void){
	Chip_RIT_ClearInt(LPC_RITIMER);
}
Example #17
0
void BorrarBandera( void )
{
	Chip_RIT_ClearInt( LPC_RITIMER );
}
Example #18
0
void limpiarinterrpTimer(void){
	Chip_RIT_ClearInt(LPC_RITIMER);
}
Example #19
0
extern void InterrupRitISR(void){
	InvertirLed(LED_B);
	InvertirLed(LED1);
	Chip_RIT_ClearInt(LPC_RITIMER);
}
Example #20
0
void RITCleanInterrupt(void)
{
	Chip_RIT_ClearInt(LPC_RITIMER);
}
Example #21
0
void ReiniciarTimer(void){
	Chip_RIT_ClearInt(LPC_RITIMER);
}
Example #22
0
void BorraFlagRIT(void)
{
	Chip_RIT_ClearInt(LPC_RITIMER);       /* Limpia el flag de interrrupción*/
}
Example #23
0
void InicializarTimer(int tiempo){
	Chip_RIT_Init(LPC_RITIMER);
	Chip_RIT_ClearInt(LPC_RITIMER);
	NVIC_EnableIRQ(RITIMER_IRQn); //habilito interr
	Chip_RIT_SetTimerInterval(LPC_RITIMER, tiempo); //seteo tiempo
}
Example #24
0
// funcion de atenci+on de interrupcion
void MyRITimerISR(void){
	Chip_ADC_SetStartMode(LPC_ADC0, ADC_START_NOW,ADC_TRIGGERMODE_RISING);
	Chip_RIT_ClearInt(LPC_RITIMER);

}
/**
 * Interrupt Handler called when RITIMER tick
 */
void RIT_IRQHandler(void) {
	Chip_RIT_ClearInt(LPC_RITIMER);
	onControl();
}