mirror of
https://gitee.com/cosyos/cosyos.git
synced 2026-08-17 16:52:27 +08:00
40 lines
1.7 KiB
C
40 lines
1.7 KiB
C
/**************************************************************************//**
|
|
* @item CosyOS-III Kernel
|
|
* @file sv_pend.h
|
|
* @brief PSV服务
|
|
* @details 仅在 PendSV中断 中调用并执行。
|
|
* @author 迟凯峰
|
|
* @version v3.0.0
|
|
* @date 2026.07.21
|
|
******************************************************************************/
|
|
|
|
#ifndef __SV_PEND_H
|
|
#define __SV_PEND_H
|
|
|
|
/**
|
|
@addtogroup CosyOS_内核服务
|
|
@{
|
|
*//**
|
|
\defgroup PSV服务
|
|
\brief 仅在 PendSV中断 中调用并执行的服务。
|
|
包括通过挂起服务调用(iPendSVC)间接调用,在挂起服务钩子(pendsv_hook)中调用。
|
|
如果通过挂起服务调用(iPendSVC)间接调用,就是 FIFO服务;
|
|
如果通过挂起服务钩子(pendsv_hook) 调用,就是 FIAG服务。
|
|
@{
|
|
*/
|
|
|
|
#define sPSV_ClearDelay() sc_clear_delay() /*!< 清除就绪延时 */
|
|
#define sPSV_ResumeTask(htask) sc_resume_task(htask) /*!< 恢复任务 */
|
|
#define sPSV_SuspendTask(htask) sc_suspend_task(htask) /*!< 挂起任务 */
|
|
#define sPSV_DeleteTask(htask) sc_delete_task(htask) /*!< 删除任务 */
|
|
#define sPSV_ResetTask(htask, status) sc_reset_task(htask, status)/*!< 重置任务 */
|
|
#define sPSV_ClearBlock(htask) sc_clear_block(htask) /*!< 清除阻塞(状态)*/
|
|
#define sPSV_SetBlock(htask, tick) sc_set_block(htask, tick) /*!< 设置阻塞(时间)*/
|
|
#define sPSV_SetTaskPri(htask, npri) sc_set_taskpri(htask, npri) /*!< 设置任务优先级 */
|
|
#define sPSV_GiveBin(bin) sc_write_binary(&bin, true) /*!< 给予二值信号量 */
|
|
|
|
/** @} */
|
|
/** @} */
|
|
|
|
#endif
|