硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3954|回复: 2
收起左侧

[FreeRTOS] 任务通知的问题请教

[复制链接]

62

主题

77

回帖

263

积分

高级会员

积分
263
发表于 2018-7-31 17:20:11 | 显示全部楼层 |阅读模式
在一个最高优先级任务1里面发送通知:
                                                xTaskNotify((TaskHandle_t        )BatTask_Handler,//接收任务通知的电池任务句柄
                                                (uint32_t                )BIT_1,                        //要更新的bit
                                                (eNotifyAction        )eSetBits);                                //更新指定的bit

                                                   ......
                                                 vtaskdealy(1000);

在次高级任务2里面接收通知。
        xResult = xTaskNotifyWait(0x00000000,      
                                                        0xFFFFFFFF,      
                                                        &ulValue,        /* 保存ulNotifiedValue到变量ulValue中 */
                                                        (TickType_t        )portMAX_DELAY);  /* 最大允许延迟时间 */
                                                if(xResult == pdPASS)  //任务通知获取成功
                                                {

                                                    .......
发现当任务1发送消息后马上切换到任务2执行,然后再切换回任务1,为什么不是最高优先级任务1执行完才切换到任务2 ?

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107220
QQ
发表于 2018-8-1 12:12:44 | 显示全部楼层
不好意思,昨天没有看到这个帖子。

你的函数 vtaskdealy(1000);释放CPU权限了。
回复

使用道具 举报

62

主题

77

回帖

263

积分

高级会员

积分
263
 楼主| 发表于 2018-8-1 14:48:06 | 显示全部楼层
eric2013 发表于 2018-8-1 12:12
不好意思,昨天没有看到这个帖子。

你的函数 vtaskdealy(1000);释放CPU权限了。

是的,后面我才看到注意到,谢谢管理员每贴必回的精神。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-22 04:58 , Processed in 0.149096 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表