diff --git a/System/sv_int_pend_fifo.h b/System/sv_int_pend_fifo.h deleted file mode 100644 index 7af5c141..00000000 --- a/System/sv_int_pend_fifo.h +++ /dev/null @@ -1,192 +0,0 @@ -/**************************************************************************//** - * @item CosyOS-II Kernel - * @file sv_int_pend_fifo.h - * @brief 中断挂起服务_FIFO - 调用宏 - * @details 仅在用户中断中调用,而后挂起到 PendSV 中执行。 - * @author 迟凯峰 - * @version V3.4.0 - * @date 2025.01.06 - ******************************************************************************/ - -#ifndef __SV_INT_PEND_FIFO_H -#define __SV_INT_PEND_FIFO_H - -/** - @addtogroup 中断挂起服务_FIFO - @{ - */ - -/** 清除就绪延时 */ -#define sPSV_ClearDelay \ -do{ \ - static sp_task_ts u_psv = {OS_SVID_CLEARDELAY, OS_NULL}; \ - mPendSV_FIFOLoad; \ -}while(false) - -/** 切换任务 */ -#define sPSV_SwitchTask(_htask) \ -do{ \ - static sp_task_ts u_psv = {OS_SVID_SWITCHTASK, OS_NULL}; \ - u_psv.htask = _htask; \ - mPendSV_FIFOLoad; \ -}while(false) - -/** 恢复任务 */ -#define sPSV_ResumeTask(_htask) \ -do{ \ - static sp_task_ts u_psv = {OS_SVID_RESUMETASK, OS_NULL}; \ - u_psv.htask = _htask; \ - mPendSV_FIFOLoad; \ -}while(false) - -/** 挂起任务 */ -#define sPSV_SuspendTask(_htask) \ -do{ \ - static sp_task_ts u_psv = {OS_SVID_SUSPENDTASK, OS_NULL}; \ - u_psv.htask = _htask; \ - mPendSV_FIFOLoad; \ -}while(false) - -/** 删除任务 */ -#define sPSV_DeleteTask(_htask) \ -do{ \ - static sp_task_ts u_psv = {OS_SVID_DELETETASK, OS_NULL}; \ - u_psv.htask = _htask; \ - mPendSV_FIFOLoad; \ -}while(false) - -/** 设置任务优先级 */ -#define sPSV_SetTaskPri(_htask, _npri) \ -do{ \ - static sp_taskpri_ts u_psv = {OS_SVID_SETTASKPRI, OS_NULL, _npri}; \ - u_psv.htask = _htask; \ - mPendSV_FIFOLoad; \ -}while(false) - -/** 设置阻塞(时间)*/ -#define sPSV_SetBlock(_htask, _tick) \ -do{ \ - static sp_blocktime_ts u_psv = {OS_SVID_SETBLOCK, OS_NULL, _tick}; \ - u_psv.htask = _htask; \ - mPendSV_FIFOLoad; \ -}while(false) - -/** 清除阻塞(状态)*/ -#define sPSV_ClearBlock(_htask) \ -do{ \ - static sp_task_ts u_psv = {OS_SVID_CLEARBLOCK, OS_NULL}; \ - u_psv.htask = _htask; \ - mPendSV_FIFOLoad; \ -}while(false) - -/** 定时中断 */ -#define sPSV_TimInt(_tmid, _tick) \ -do{ \ - static sp_timint_ts u_psv = {OS_SVID_TIMINT, _tmid, 0}; \ - u_psv.tick = _tick; \ - mPendSV_FIFOLoad; \ -}while(false) - -/** 定时查询 */ -#define sPSV_TimQry(_tmid, _tick) \ -do{ \ - static sp_timqry_ts u_psv = {OS_SVID_TIMQRY, _tmid, 0}; \ - u_psv.tick = _tick; \ - mPendSV_FIFOLoad; \ -}while(false) - -/** 上锁or给予二值信号量 */ -#define sPSV_WriteBin(_bin, _val) \ -do{ \ - static sp_binary_ts u_psv = {OS_SVID_BINARY, &_bin, _val}; \ - mPendSV_FIFOLoad; \ -}while(false) - -/** 给予计数信号量 */ -#define sPSV_GiveSem(_sem) \ -do{ \ - static sp_semaph_ts u_psv = {OS_SVID_GIVESEM, &_sem}; \ - mPendSV_FIFOLoad; \ -}while(false) - -/** 发送飞信 */ -#define sPSV_SendFetion(_tbox, _tion) \ -do{ \ - static sp_tionbox_ts u_psv = {OS_SVID_SENDFETION, &_tbox, 0}; \ - u_psv.fetion = _tion; \ - mPendSV_FIFOLoad; \ -}while(false) - -/** 发送邮件 */ -#define sPSV_SendMail(_mbox, _mail) \ -do{ \ - static sp_mailbox_ts u_psv = {OS_SVID_SENDMAIL, &_mbox, OS_NULL}; \ - u_psv.mail = _mail; \ - mPendSV_FIFOLoad; \ -}while(false) - -/** 发送消息 */ -#define sPSV_SendMsg(_que, _msg) \ -do{ \ - static sp_msg_ts u_psv = {OS_SVID_SENDMSG, (s_queue_tsp)&_que, OS_NULL}; \ - u_psv.msg = _msg; \ - mPendSV_FIFOLoad; \ -}while(false) - -/** 清除标志组 */ -#define sPSV_ClearFlagGroup(_group) \ -do{ \ - static sp_group_ts u_psv = {OS_SVID_GROUP, (void *)&_group, -sizeof(_group), ~0}; \ - mPendSV_FIFOLoad; \ -}while(false) - -/** 写多标志位 */ -#define sPSV_WriteFlagBits(_group, _sign, _nbit) \ -do{ \ - static sp_group_ts u_psv = {OS_SVID_GROUP, (void *)&_group, _sign##sizeof(_group), 0}; \ - u_##_group##_ts lv; \ - miWriteFlagBits; \ - sizeof(lv) == 1 ? *(s_u8_t *)&lv = false : MCUCFG_TERNARYMASK \ - sizeof(lv) == 2 ? *(s_u16_t *)&lv = false : MCUCFG_TERNARYMASK \ - sizeof(lv) == 4 ? *(s_u32_t *)&lv = false : false; \ - siWriteFlagBits_##_nbit( - -/** 全局变量写访问 */ -#define sPSV_WriteGVar(_gp, _lp, _size) \ -do{ \ - static sp_gvar_ts u_psv = {OS_SVID_GVARWRITE, _gp, _lp, _size}; \ - mPendSV_FIFOLoad; \ -}while(false) - -/** 挂起服务调用 */ -#define sPSV_PendSVC(_fp) \ -do{ \ - static sp_pendsvc_ts u_psv = {OS_SVID_PENDSVC, _fp}; \ - mPendSV_FIFOLoad; \ -}while(false) - -/** 发送信号 */ -#define sPSV_SendSign(_sign) \ -do{ \ - static sp_sign_ts u_psv = {OS_SVID_SENDSIGN, (s_bool_t *)&_sign}; \ - mPendSV_FIFOLoad; \ -}while(false) - -/** 设置时间 */ -#if SYSCFG_GETRTC_INT == __ENABLED__ -#define sPSV_SetTime(_t) \ -do{ \ - iWriteGAry(&s_rtc, _t, sizeof(s_rtc_ts)); \ - s_sign_every.set = true; \ - iSendSign(s_sign_rtc); \ -}while(false) -#else -#define sPSV_SetTime(_t) \ -do{ \ - iWriteGAry(&s_rtc, _t, sizeof(s_rtc_ts)); \ - s_sign_every.set = true; \ -}while(false) -#endif -/** @} */ - -#endif