mirror of
https://gitee.com/cosyos/cosyos.git
synced 2026-02-05 19:39:42 +08:00
update Demo-Service/事件同步/event_ressus.c.
Signed-off-by: 零中断延迟的RTOS <cosyos@139.com>
This commit is contained in:
@@ -31,12 +31,12 @@ bool resume_task_1 = false; // 恢复task_1标志位,用于FLAG服务
|
||||
*/
|
||||
uCreateTask(task_1, 1, 384, 0, 0)
|
||||
{
|
||||
while(1){
|
||||
uSuspendTasking();
|
||||
/* 处理事件 开始 */
|
||||
|
||||
/* 处理事件 结束 */
|
||||
}
|
||||
while(1){
|
||||
uSuspendTasking();
|
||||
/* 处理事件 开始 */
|
||||
|
||||
/* 处理事件 结束 */
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -45,19 +45,19 @@ uCreateTask(task_1, 1, 384, 0, 0)
|
||||
*/
|
||||
void XXXx_IRQHandler(void) // interrupt XXXx_VECTOR
|
||||
{
|
||||
/* 清中断标志位 开始 */
|
||||
|
||||
/* 清中断标志位 结束 */
|
||||
/* 紧急处理事件 开始 */
|
||||
|
||||
/* 紧急处理事件 结束 */
|
||||
/* 同步至task_1 开始 */// 可采用 FIFO服务 或 FLAG服务
|
||||
/* 采用 FIFO服务 */
|
||||
iResumeTask(task_1); // 恢复task_1
|
||||
/* 采用 FLAG服务 */
|
||||
/* 清中断标志位 开始 */
|
||||
|
||||
/* 清中断标志位 结束 */
|
||||
/* 紧急处理事件 开始 */
|
||||
|
||||
/* 紧急处理事件 结束 */
|
||||
/* 同步至task_1 开始 */// 可采用 FIFO服务 或 FLAG服务
|
||||
/* 采用 FIFO服务 */
|
||||
iResumeTask(task_1); // 恢复task_1
|
||||
/* 采用 FLAG服务 */
|
||||
////resume_task_1 = true; // 先设置标志位
|
||||
////iPendSV_Set(); // 再触发PendSV,而后在 pendsv_hook 中调用并执行服务
|
||||
/* 同步至task_1 结束 */
|
||||
/* 同步至task_1 结束 */
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -68,16 +68,16 @@ void XXXx_IRQHandler(void) // interrupt XXXx_VECTOR
|
||||
*/
|
||||
void pendsv_hook(void) MCUCFG_OSIT_ATTRIBUTE
|
||||
{
|
||||
if(resume_task_1){ // 查询标志位
|
||||
resume_task_1 = false; // 清除标志位
|
||||
pResumeTask(task_1); // 恢复task_1
|
||||
}
|
||||
if(resume_task_1){ // 查询标志位
|
||||
resume_task_1 = false; // 清除标志位
|
||||
pResumeTask(task_1); // 恢复task_1
|
||||
}
|
||||
}
|
||||
|
||||
/** 启动钩子 */
|
||||
void start_hook(void)
|
||||
{
|
||||
uStartTask_Ready(task_1); // 启动task_1,初始状态为就绪状态
|
||||
uStartTask_Ready(task_1); // 启动task_1,初始状态为就绪状态
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user