删除文件 System/sv_tick.h

This commit is contained in:
零中断延迟的RTOS
2025-06-17 08:31:42 +00:00
committed by Gitee
parent e08f2a6c3b
commit ec32e58330
-93
View File
@@ -1,93 +0,0 @@
/**************************************************************************//**
* @item CosyOS-III Kernel
* @file sv_tick.h
* @brief 滴答服务
* @details 仅在 SysTick 中调用并执行,包括在滴答钩子、定时中断钩子、
定时查询钩子、定时查询事件等处调用。
* @author 迟凯峰
* @version V1.2.0
* @date 2025.03.30
******************************************************************************/
#ifndef __SV_TICK_H
#define __SV_TICK_H
#include "os_redef.h"
s_ecode_t st_resume_task (s_tasknode_tsp htask);
s_ecode_t st_suspend_task (s_tasknode_tsp htask);
s_ecode_t st_delete_task (s_tasknode_tsp htask);
s_ecode_t st_clear_block (s_tasknode_tsp htask);
s_ecode_t st_set_block (s_tasknode_tsp htask, s_delay_t tick);
s_ecode_t st_set_taskpri (s_tasknode_tsp htask, s_u8_t npri);
bool st_take_semaphore (s_semaph_tsp hsem);
void *st_recv_msg (s_queue_tsp hque);
/**
@addtogroup 滴答服务
@{
*/
#define sTSV_ResumeTask(htask) st_resume_task(htask) /*!< 恢复任务 */
#define sTSV_SuspendTask(htask) st_suspend_task(htask) /*!< 挂起任务 */
#define sTSV_DeleteTask(htask) st_delete_task(htask) /*!< 删除任务 */
#define sTSV_ClearBlock(htask) st_clear_block(htask) /*!< 清除阻塞 */
#define sTSV_SetBlock(htask, tick) st_set_block(htask, tick) /*!< 设置阻塞 */
#define sTSV_SetTaskPri(htask, npri) st_set_taskpri(htask, npri) /*!< 设置任务优先级 */
#define sTSV_TakeSem(sem) st_take_semaphore(&sem) /*!< 获取计数信号量 */
#define sTSV_RecvMsg(que) st_recv_msg((s_queue_tsp)&que) /*!< 接收消息 */
#define sTSV_ClearDelay() sv_clear_delay() /*!< 清除就绪延时 */
#define sTSV_GiveBin(bin) sv_give_binary(&bin) /*!< 给予二值信号量 */
#define sTSV_GiveSem(sem) sv_give_semaphore(&sem) /*!< 给予计数信号量 */
#define sTSV_SendFetion(tbox, tion) sv_send_fetion(&tbox, tion) /*!< 发送飞信 */
#define sTSV_SendMail(mbox, mail) sv_send_mail(&mbox, mail) /*!< 发送邮件 */
#define sTSV_SendMsg(que, msg) sv_send_msg((s_queue_tsp)&que, msg) /*!< 发送消息 */
#define sTSV_TimInt(tmid, tick) sv_timint(tmid, tick) /*!< 定时中断 */
#define sTSV_TimQry(tmid, tick) sv_timqry(tmid, tick) /*!< 定时查询 */
#define sTSV_TakeBin(bin) si_take_binary(&bin) /*!< 获取二值信号量 */
#define sTSV_RecvFetion(tbox) si_recv_fetion(&tbox) /*!< 接收飞信 */
#define sTSV_RecvMail(mbox) si_recv_mail(&mbox) /*!< 接收邮件 */
#define sTSV_GetTime(t) s_memcpy(t, &s_rtc, sizeof(s_rtc)) /*!< 获取时间 */
/** 设置时间 */
#if SYSCFG_GETRTC_INT == __ENABLED__
#define sTSV_SetTime(t) \
do{ \
s_memcpy(&s_rtc, t, sizeof(s_rtc)); \
s_sign_every.set = true; \
sv_update_rtccopy(); \
}while(false)
#else
#define sTSV_SetTime(t) \
do{ \
s_memcpy(&s_rtc, t, sizeof(s_rtc)); \
s_sign_every.set = true; \
}while(false)
#endif
/** 查询标志组 */
#define sTSV_QueryFlagGroup(group) \
( \
sizeof(group) == 1 ? *(s_u8_t *)&group ? true : false \
: sizeof(group) == 2 ? *(s_u16_t *)&group ? true : false \
: sizeof(group) == 4 ? *(s_u32_t *)&group ? true : false \
: false \
)
/** 清除标志组 */
#define sTSV_ClearFlagGroup(group) \
do{ \
sizeof(group) == 1 ? *(s_u8_t *)&group = false : MCUCFG_TERNARYMASK \
sizeof(group) == 2 ? *(s_u16_t *)&group = false : MCUCFG_TERNARYMASK \
sizeof(group) == 4 ? *(s_u32_t *)&group = false : false; \
}while(false)
/** 写多标志位 */
#define sTSV_WriteFlagBits(group, value, nbit) \
stWriteFlagBits_##nbit(group, value,
/** @} */
#endif