OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4973|回复: 3

关于freertos中任务切换宏定义的疑问????

[复制链接]

15

主题

22

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
263
金钱
263
注册时间
2016-6-19
在线时间
88 小时
发表于 2017-6-16 19:12:24 | 显示全部楼层 |阅读模式
下面是摘自freertos关于任务切换的宏:portYIELD_WITHIN_API();—〉找到宏定义部分:#define portYIELD_WITHIN_API portYIELD—〉找到portYIELD的宏定义:
#define portYIELD()                                                                                                                                \
{                                                                                                                                                                \
        /* Set a PendSV to request a context switch. */                                                                \
        portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT;                                                                \
                                                                                                                                                                \
        /* Barriers are normally not required but do ensure the code is completely        \
        within the specified behaviour for the architecture. */                                                \
        __dsb( portSY_FULL_READ_WRITE );                                                                                        \
        __isb( portSY_FULL_READ_WRITE );                                                                                        \
}我的疑问是:#define portYIELD_WITHIN_API portYIELD中portYIELD没有了括号()
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2017-6-17 09:24:31 | 显示全部楼层
本帖最后由 zuozhongkai 于 2017-6-17 09:27 编辑

看调用portYIELD_WITHIN_API的地方,肯定有括号,仔细分析下图中的这行代码,用portYIELD怎么替换的。 14Z)[K34]YJD6Q4KAPIHXJR.png
回复 支持 反对

使用道具 举报

15

主题

22

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
263
金钱
263
注册时间
2016-6-19
在线时间
88 小时
 楼主| 发表于 2017-6-17 09:41:14 | 显示全部楼层
zuozhongkai 发表于 2017-6-17 09:24
看调用portYIELD_WITHIN_API的地方,肯定有括号,仔细分析下图中的这行代码,用portYIELD怎么替换的。

谢谢啦,之前想问题想偏了。
回复 支持 反对

使用道具 举报

2

主题

474

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6077
金钱
6077
注册时间
2018-6-27
在线时间
524 小时
发表于 2020-12-1 09:07:29 | 显示全部楼层
学习学习,学习学习。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 16:58

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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