定时器初始化如下:
timx_init(T1, 83, 999, 0, 1);
其中0为prePriority
在TIMER1_IRQHandler中调用
xSemaphoreGiveFromISR时
Keil仿真后程序卡在configASSERT( ucCurrentPriority >= ucMaxSysCallPriority )
排查原因:定时器的中断优先级大于系统能够管理的优先级。
解决办法:将定时器的优先级降低,即修改定时器初始化的prePriority
timx_init(T1, 83, 999, 9, 1);
完美解决!!!