below is tow interrupt code ,if I want to set systick interrupt prioyity higher than wdog, who can tell me below code is right or wrong.?l an a new user ,firstly use S32K144 and S32DS.
please give me code or example code,thank you .
/* Install IRQ handlers for WDOG and SysTick interrupts */
INT_SYS_InstallHandler(WDOG_EWM_IRQn, WDOG_ISR, (isr_t *)0);
INT_SYS_InstallHandler(SysTick_IRQn, SysTick_Handler, (isr_t *)0);
INT_SYS_SetPriority(WDOG_EWM_IRQn,0);
INT_SYS_SetPriority(SysTick_IRQn,1);
Solved! Go to Solution.
Hi,
The lower priority number, the higher priority level.
So in your code, the WDOG interrupt has higher priority then SysTick.
The code should be:
void WDOG_IRQ_handler(void) {
// do something
}
void SysTick_IRQ_Handler(void){
// do something
}
INT_SYS_InstallHandler(WDOG_EWM_IRQn, WDOG_IRQ_handler, (isr_t *)0);
INT_SYS_InstallHandler(SysTick_IRQn, SysTick_IRQ_Handler, (isr_t *)0);
INT_SYS_SetPriority(WDOG_EWM_IRQn, 1);
INT_SYS_SetPriority(SysTick_IRQn, 0);
INT_SYS_EnableIRQ(WDOG_EWM_IRQn);
INT_SYS_EnableIRQ(SysTick_IRQn);
Regards,
Daniel
Hi,
The lower priority number, the higher priority level.
So in your code, the WDOG interrupt has higher priority then SysTick.
The code should be:
void WDOG_IRQ_handler(void) {
// do something
}
void SysTick_IRQ_Handler(void){
// do something
}
INT_SYS_InstallHandler(WDOG_EWM_IRQn, WDOG_IRQ_handler, (isr_t *)0);
INT_SYS_InstallHandler(SysTick_IRQn, SysTick_IRQ_Handler, (isr_t *)0);
INT_SYS_SetPriority(WDOG_EWM_IRQn, 1);
INT_SYS_SetPriority(SysTick_IRQn, 0);
INT_SYS_EnableIRQ(WDOG_EWM_IRQn);
INT_SYS_EnableIRQ(SysTick_IRQn);
Regards,
Daniel