update System/sv_create.h.

Signed-off-by: 零中断延迟的RTOS <cosyos@139.com>
This commit is contained in:
零中断延迟的RTOS
2025-05-11 10:06:35 +00:00
committed by Gitee
parent 5762f390ec
commit 3d6ec75655

View File

@@ -4,8 +4,8 @@
* @brief 创建服务
* @details 用于创建 CosyOS 内核对象。
* @author 迟凯峰
* @version V1.2.3
* @date 2025.05.03
* @version V1.2.4
* @date 2025.05.11
******************************************************************************/
#ifndef __SV_CREATE_H
@@ -118,30 +118,40 @@
void name(void)
#endif
#endif
#if defined ( __GNUC__ )
#define s_hookorhand_hand(p) .hand=(s_taskhand_tsp)p
#define s_hookorhand_hook(p) .hook=p
#else
#define s_hookorhand_hand(p) (s_voidvoid_tfp)p
#define s_hookorhand_hook(p) p
#endif
#define OS_TIMQRYINIT (s_timqry_t)(SYSCFG_USERTIMQRYINIT - 1) /*!< 定时查询初始值 */
/** 静态创建定时中断任务 */
#define sCSV_CreateTask_TimInt(tmid, arl, name, pri, tss, srt, res) \
s_tasknode_ts u_taskhand_##name; \
s_timinthand_ts _STATIC_MEM_ u_timinthand_##tmid = {0, 0, arl, 1, {sKill_E(.hand=)(s_taskhand_tsp)&u_taskhand_##name}}; \
s_timinthand_ts _STATIC_MEM_ u_timinthand_##tmid = {0, 0, arl, 1, {s_hookorhand_hand(&u_taskhand_##name)}}; \
sCSV_CreateTask(name, pri, tss, srt, res)
/** 动态创建定时中断任务 */
#define dCSV_CreateTask_TimInt(tmid, arl, name, pri, tss, srt, res) \
s_taskhand_ts u_taskhand_##name; \
s_timinthand_ts _STATIC_MEM_ u_timinthand_##tmid = {0, 0, arl, 1, {sKill_E(.hand=)(s_taskhand_tsp)&u_taskhand_##name}}; \
s_timinthand_ts _STATIC_MEM_ u_timinthand_##tmid = {0, 0, arl, 1, {s_hookorhand_hand(&u_taskhand_##name)}}; \
dCSV_CreateTask(name, pri, tss, srt, res)
/** 静态创建定时查询任务 */
#define sCSV_CreateTask_TimQry(tmid, event, arl, name, pri, tss, srt, res) \
bool u_timqryevent_##tmid(void) MCUCFG_C51USING {return (event ? true : false);} \
s_tasknode_ts u_taskhand_##name; \
s_timqryhand_ts _STATIC_MEM_ u_timqryhand_##tmid = {OS_TIMQRYINIT, OS_TIMQRYINIT, arl, 1, {sKill_E(.hand=)(s_taskhand_tsp)&u_taskhand_##name}, u_timqryevent_##tmid}; \
s_timqryhand_ts _STATIC_MEM_ u_timqryhand_##tmid = {OS_TIMQRYINIT, OS_TIMQRYINIT, arl, 1, {s_hookorhand_hand(&u_taskhand_##name)}, u_timqryevent_##tmid}; \
sCSV_CreateTask(name, pri, tss, srt, res)
/** 动态创建定时查询任务 */
#define dCSV_CreateTask_TimQry(tmid, event, arl, name, pri, tss, srt, res) \
bool u_timqryevent_##tmid(void) MCUCFG_C51USING {return (event ? true : false);} \
s_taskhand_ts u_taskhand_##name; \
s_timqryhand_ts _STATIC_MEM_ u_timqryhand_##tmid = {OS_TIMQRYINIT, OS_TIMQRYINIT, arl, 1, {sKill_E(.hand=)(s_taskhand_tsp)&u_taskhand_##name}, u_timqryevent_##tmid}; \
s_timqryhand_ts _STATIC_MEM_ u_timqryhand_##tmid = {OS_TIMQRYINIT, OS_TIMQRYINIT, arl, 1, {s_hookorhand_hand(&u_taskhand_##name)}, u_timqryevent_##tmid}; \
dCSV_CreateTask(name, pri, tss, srt, res)
@@ -153,14 +163,14 @@
/** 创建定时中断钩子 */
#define sCSV_CreateHook_TimInt(tmid, arl, name) \
void name(void); \
s_timinthand_ts _STATIC_MEM_ u_timinthand_##tmid = {0, 0, arl, 0, {sKill_E(.hook=)name}}; \
s_timinthand_ts _STATIC_MEM_ u_timinthand_##tmid = {0, 0, arl, 0, {s_hookorhand_hook(name)}}; \
void name(void) MCUCFG_C51USING
/** 创建定时查询钩子 */
#define sCSV_CreateHook_TimQry(tmid, event, arl, name) \
void name(void); \
bool u_timqryevent_##tmid(void) MCUCFG_C51USING {return (event ? true : false);} \
s_timqryhand_ts _STATIC_MEM_ u_timqryhand_##tmid = {OS_TIMQRYINIT, OS_TIMQRYINIT, arl, 0, {sKill_E(.hook=)name}, u_timqryevent_##tmid}; \
s_timqryhand_ts _STATIC_MEM_ u_timqryhand_##tmid = {OS_TIMQRYINIT, OS_TIMQRYINIT, arl, 0, {s_hookorhand_hook(name)}, u_timqryevent_##tmid}; \
void name(void) MCUCFG_C51USING