4912|2

1234

帖子

4

TA的资源

纯净的硅(高级)

楼主
 

关于信号量的问题 [复制链接]

 这个问题困恼了有一段时间了,
问题描述: 现在有两个任务,用Pend阻塞了,用的两个不同的中断去Post的,相互之间没有联系,程序在运行了一段时间后,Pend的任务进不去了,不知道为什么(这里不是说我没有Post,我额外的用了通信方式去Post这两个信号量,任务不进了,一开始,两种Post方式都是正常的),除了那两个任务不进外,其他任务很正常,比如,串口协议处理(用的消息队列),PID运算(用的是信号量),灯闪烁都很好,
这是怎么回事?

最新回复

你先试试把那两个任务的优先级都调到高一点(就是比你当前的用户任务都高),然后看看这两个任务能不能运行?如果能,合理安排下其他任务的执行时间,可能是被高优先级任务一直抢占了,没有机会去执行。----个人见解  详情 回复 发表于 2015-12-14 19:54
点赞 关注
个人签名天地庄周马;江湖范蠡船。
个性签名还是放QQ号吧,2060347305,添加说明EEworld好友
 

回复
举报

951

帖子

1

TA的资源

纯净的硅(中级)

沙发
 
你先试试把那两个任务的优先级都调到高一点(就是比你当前的用户任务都高),然后看看这两个任务能不能运行?如果能,合理安排下其他任务的执行时间,可能是被高优先级任务一直抢占了,没有机会去执行。----个人见解

点评

都怪我没有说清楚,其实灯闪的任务优先级是用户任务中最低的,它很正常,其他高任务优先级也很正常,而我这两个任务的优先级处在中间,不是被别的任务给抢占了,要不然灯闪的任务也不可能做的,而是我试着用串口去Po  详情 回复 发表于 2015-12-15 09:31
 
个人签名人有的时候真是奇怪,选择了会后悔,放弃了会遗憾,完美只能是一种理想,不是一种存在。
 
 

回复

1234

帖子

4

TA的资源

纯净的硅(高级)

板凳
 
huixianfxt 发表于 2015-12-14 19:54
你先试试把那两个任务的优先级都调到高一点(就是比你当前的用户任务都高),然后看看这两个任务能不能运行 ...

都怪我没有说清楚,其实灯闪的任务优先级是用户任务中最低的,它很正常,其他高任务优先级也很正常,而我这两个任务的优先级处在中间,不是被别的任务给抢占了,要不然灯闪的任务也不可能做的,而是我试着用串口去Post,一开始是可以的,程序运行个一段时间,Pend不进去了,哎,其实我想了个治标不治本的方法,当中断Post后,pend的任务进去后关了它对应的中断,要出去了才开此中断,可是,虽然实现了,总感觉哪里不对
 
个人签名天地庄周马;江湖范蠡船。
个性签名还是放QQ号吧,2060347305,添加说明EEworld好友
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表