mirror of
https://gitee.com/cosyos/cosyos.git
synced 2026-02-06 03:41:41 +08:00
@@ -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
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user