USING INTERRUPT TIMER IN EXAMPLE JN-AN-1218-Zigbee-Light-Bulb

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

USING INTERRUPT TIMER IN EXAMPLE JN-AN-1218-Zigbee-Light-Bulb

跳至解决方案
2,464 次查看
nguyenanhgiau10
Contributor IV

I working on JN-AN-1218-Zigbee_Light-Bulb application. I want to use interrupt timer (e.g Timer 0). My configuration is below.

/*Initiate timer */
// 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_0, 8, FALSE, TRUE, FALSE);
vAHI_TimerClockSelect(E_AHI_TIMER_0, FALSE, FALSE);
// Registering the callback function
vAHI_Timer0RegisterCallback(vTimer0ISR);
// Starting the timer for single shot
vAHI_TimerStartSingleShot(E_AHI_TIMER_0, 500, 500); // 16us *500 = 8000 us (8ms)

My callback function:

PUBLIC void vTimer0ISR(uint32 u32DeviceId, uint32 u32ItemBitmap) {
DBG_vPrintf(TRUE, "\n callback ISR ");
//rest code
}

It don't call callback function.

anything wrong?

For this configuration, if I run it on simple project (without OS and ZPS), it is OK.

标签 (2)
标记 (2)
0 项奖励
回复
1 解答
2,113 次查看
mario_castaneda
NXP TechSupport
NXP TechSupport

Hi Giau,

Did you add the interrupt service routine in the irq_JN516X.s?

Enabled the interrupt channel priority and the vector table. For example

   .byte 5                 # timer0 priority
‍

    .word vTimer0ISR      #5

Regards,

Mario

在原帖中查看解决方案

0 项奖励
回复
5 回复数
2,114 次查看
mario_castaneda
NXP TechSupport
NXP TechSupport

Hi Giau,

Did you add the interrupt service routine in the irq_JN516X.s?

Enabled the interrupt channel priority and the vector table. For example

   .byte 5                 # timer0 priority
‍

    .word vTimer0ISR      #5

Regards,

Mario

0 项奖励
回复
2,113 次查看
nguyenanhgiau10
Contributor IV

I got it. Thanks Mario.

By the way, how do I use PWM on JN5169? Can u give me an example using PWM?

0 项奖励
回复
2,113 次查看
mario_castaneda
NXP TechSupport
NXP TechSupport

Hi Giau,

Please look at the LightingBoard.c file.

C:\NXP\bstudio_nxp\sdk\JN-SW-4170\Platform\DK4\Source

  
#define WHITE_LED_TIMER          E_AHI_TIMER_3

vAHI_TimerEnable(WHITE_LED_TIMER, WHITE_LED_TIMER_PRESCALE, FALSE, FALSE, TRUE);
  vAHI_TimerConfigureOutputs(WHITE_LED_TIMER, FALSE, TRUE);
  vAHI_TimerClockSelect(WHITE_LED_TIMER, FALSE, TRUE);‍‍‍

//Set the level
vAHI_TimerStartRepeat(WHITE_LED_TIMER, gu16PwmLastValue , PWM_COUNT );

You will find the PWM set up for the light bulb.

Regards,

Mario

0 项奖励
回复
2,113 次查看
nguyenanhgiau10
Contributor IV

Hi Mario,

In JN-AN-1218-Zigbee-Light-Bulb Application, Timer4 also was decleared.

.byte 13                                         # pwm4 priority

.extern vISR_Timer4

.word vISR_Timer4                       # 13

I don't see anywhere using timer4.

Correct me if I wrong?

0 项奖励
回复
2,113 次查看
nguyenanhgiau10
Contributor IV

Great Mario,

Thank you so much!

0 项奖励
回复