你好!
我在示例的 StateMachine 源代码中看到此注释-
// SEM_WAIT 必须在不禁用中断的情况下运行。 TODO:如果需要,请仔细检查。
HWIP_RESTORE (之前的 HWISTATE);
我想知道这是否必要、正如评论所要求的那样。
我提出的原因是、这是因为我修改了此示例、它一次运行数天(或数小时)。
然后,我似乎随机丢失了 StateMachine 线程上的活动。
使用 RTOS 对象查看器时、我可以看到该信标上的线程一直处于挂起/阻止状态。
它看起来不像完全死锁、因为我调用 StateMachine_pend/postEvents 的其他线程仍在运行。
例如- StateMachine_EventMask 事件= StateMachine_pendEvents (&stateMachine、Event_PacketReceived | Event_PacketMissed、STATEMACHINE_Pend_Blocking);