Interrupt priority change disabling the interrupt.

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

Interrupt priority change disabling the interrupt.

1,459 次查看
bharadwaaj
Contributor III

When I try to yield a semaphore from UART interrupt it was asserting in the following line

configASSERT( ucCurrentPriority >= ucMaxSysCallPriority );

on doing some search I found this is issue in the UART interrupt which should have lower priority than the system interrupt of the RTOS. So when i tried to change the interrupt priority in the following way. 

/* Install LPUART irq handler */
INT_SYS_InstallHandler(s_lpuartRxTxIrqId[instance], g_lpuartIsr[instance], (isr_t*) 0);

INT_SYS_SetPriority(s_lpuartRxTxIrqId[instance], 17); //<----- change of priority

/* Enable LPUART interrupt. */
INT_SYS_EnableIRQ(s_lpuartRxTxIrqId[instance]);

this code is in lp_uartdriver.c post this I am not getting any uart Rx or Tx interrupts. 

0 回复数