一、前言
osThreadSuspend可以让线程A挂起,线程A保持在BLOCKED状态,直到其他线程使用osThreadResume唤起线程A。如果其他线程的优先级低于线程A,那么唤起的瞬间就会上下文切换至线程A,就是说线程A马上运行。
STM32工程:
链接:https://pan.baidu.com/s/1feg2Q4CIhfPwnRZtbWDFLw
提取码:0sl4
二、API
官方手册有出现Note的地方需要特别注意,比如这两个API都不能被中断回调函数调用(比如TIM溢出中断,FDCAN接收中断等)。
三、实验目的
通过按键KEY2将Start线程挂起,再通过按键KEY1将Start线程恢复。
四、代码
4.1、main.h
4.2、main.c
五、Event Recorder调试
Event Recorder可以很方便调试RTX5。可以看到,等调用osThreadSuspend时,Start线程就不会再进入Runing态,等调用osThreadResume时,Start线程才会重新能进入Runing态。