OpenEdv-开源电子网

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

调用post函数会发送阻塞吗?

[复制链接]

74

主题

187

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
462
金钱
462
注册时间
2017-6-7
在线时间
137 小时
发表于 2020-10-11 17:45:09 | 显示全部楼层 |阅读模式
2.png 1.png 核心代码是如上。
首先我的疑问是为什么会任务调度?因为任务3一直不会挂起且优先级更高,但实际却任务切换了。首先系统时钟节拍为#define  OS_CFG_TICK_RATE_HZ            200u   
按键延时只是10ms。所以不会是按键扫描函数引起的。基本猜测为post函数有阻塞的可能,我就把post和等待函数注释了,发现确实无法任务调度。
那么问题来了,调用post函数会发送阻塞吗?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

74

主题

187

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
462
金钱
462
注册时间
2017-6-7
在线时间
137 小时
 楼主| 发表于 2020-10-11 18:03:48 | 显示全部楼层
已解决,应该是不会的,就是按键哪里导致的,系统节拍5ms,延时了10ms...
回复 支持 反对

使用道具 举报

0

主题

37

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1080
金钱
1080
注册时间
2018-5-24
在线时间
115 小时
发表于 2020-10-12 15:48:18 | 显示全部楼层
    if ((opt & OS_OPT_POST_NO_SCHED) == (OS_OPT)0) {
        OSSched();                                          /* Run the scheduler                                      */
    }
这个是post函数里面的,从你的opt看出是会调度的,只不过可能没有更高优先级的任务执行
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-5-29 10:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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