正 STM32H745 和 ThreadX 实时操作系统开发的项目中,外部事件会触发 EXTI10 中断;在 HAL_GPIO_EXTI_Callback() 中断回调函数中,我调用了 tx_event_flags_set() 函数来启动一个需要执行特定操作的进程。
根据 ThreadX 的官方建议:从自定义中断处理函数中调用 RTOS 函数时,应将该中断分配为最低优先级,数值最大。但实际测试中发现:
当把 EXTI10 的抢占优先级设为 15 时,程序运行极不稳定;
当抢占优先级设为 0时,一切工作正常。
导致这一问题有哪些原因?
|
|