Estoy tratando de usar Timer3 en JN5169 con una devolución de llamada de Interrupción en el flanco descendente.
La fuente del reloj es la fuente principal del reloj y la estoy configurando con un valor de escalado previo de 8. La salida PWM está desactivada.
// clock is 16MHz so the time period is 0.0625micro seconds
// we are using pre-scaler value of 8 so it will divide the
// clock by 2^8 = 256 hence multiplying the time period by 256
// so the timer clock will be 0.0625 * 256 = 16 ,micro sec
vAHI_TimerEnable(E_AHI_TIMER_3,
8,// pre-scaler
FALSE, // disable interupt on rising edge
TRUE, // enable falling edge interupt
FALSE); //no output on pin
vAHI_TimerClockSelect(E_AHI_TIMER_3,
FALSE, //use internal 16MHz clock
FALSE); //for PWM only
// Registering the callback function
vAHI_Timer3RegisterCallback(vTimer3ISR);
// Starting the timer for single shot
uint16 timePeriod = 500; // 16us *500 = 8000 us (8ms)
vAHI_TimerStartSingleShot(E_AHI_TIMER_3, 78, timePeriod);
Aquí está la función de devolución de llamada de interrupción.
PRIVATE void vTimer3ISR(uint32 u32DeviceId, uint32 u32ItemBitmap) {
DBG_vPrintf(TRUE, "\n callback ISR ");
// rest of the code
}
El problema aquí es que la devolución de llamada nunca ocurre.
Vale la pena mencionar que estoy trabajando con la implementación de DimmableLight del ejemplo provisto en ZigbeeHADemo GitHub - jdeltoft / NXP-Home-Automation