/* 暂停一个任务
这个函数用来挂起一个任务,则该任务可以是调用任务
传递给OSTaskSuspend()优先级是调用任务或者OS_PRIO_SELF的优先级
*
参数:prio是要挂起的任务的优先级,如果指定OS_PRIO_SELF,则调用task会暂停自己并重新调度
*
返回值:OS_ERR_NONE 请求的任务被挂起
OS_ERR_TASK_SUSPEND IDLE 如果你暂停不允许的空闲任务
OS_ERR_PRIO_INVALID 指定的优先级高于最大的优先级
OS_ERR_TASK_SUSPEND_PRIO 如果挂起的任务不存在
* OS_ERR_TASK_NOT_EXITS 如果任务被分配给一个互斥锁PIP
*/
#if OS_TASK_SUSPEND_EN > 0u
INT8U OSTaskSuspend (INT8U prio)
{
BOOLEAN self;
OS_TCB *ptcb;
INT8U y;
#if OS_CRITICAL_METHOD == 3u /* Allocate storage for CPU status register */
OS_CPU_SR cpu_sr = 0u;
#endif