Kelvin093 2022-01-03 15:33 采纳率: 0%
浏览 66
已结题

FreeRTOS在临界区里能任务切换吗?

xQueueGenericSend()函数中,给队列发送消息,我发现这个函数一开始就执行taskENTER_CRITICAL()函数进入临界区。如果该队列的待接收事件列表不为空,切优先级大于当前的任务就执行queueYIELE_IF_USING_PREEMPTION()函数进行任务切换。那这时他是还没有退出临界区的。
所以有点疑问:这里执行queueYIELE_IF_USING_PREEMPTION()给PendSV标志,然后是不是要等退出临界区以后,再进行任务切换?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 1月11日
    • 创建了问题 1月3日

    悬赏问题

    • ¥15 数学建模招标中位数问题
    • ¥15 phython路径名过长报错 不知道什么问题
    • ¥15 深度学习中模型转换该怎么实现
    • ¥15 HLs设计手写数字识别程序编译通不过
    • ¥15 Stata外部命令安装问题求帮助!
    • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
    • ¥15 TYPCE母转母,插入认方向
    • ¥15 如何用python向钉钉机器人发送可以放大的图片?
    • ¥15 matlab(相关搜索:紧聚焦)
    • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计