硬汉嵌入式论坛

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

[FreeRTOS] FreeRTOS任务运行一段时间后无法运行了

[复制链接]

12

主题

33

回帖

69

积分

初级会员

积分
69
发表于 2019-3-9 14:49:34 | 显示全部楼层 |阅读模式
请教一下各位大佬,我在用FreeRTOS做东西的时候,创建一个任务A,然后A等待一个任务事件标志,这个标志是在中断里面置位的,中断是20ms一次,现在是中断大概几万次之后任务A就无法再运行了,我仿真看设置标志的函数是一直返回成功的,函数用的是这个xTaskNotifyFromISR,不知道这是什么原因导致的,如果有人遇到过这种情况麻烦指导一下小弟,先谢谢了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
发表于 2019-3-9 14:52:37 | 显示全部楼层
这种情况下,要先排查,仅创建一个启动任务,其它任务的创建先注释掉,然后呢中断不断发,看看是否有问题,如果有问题的话,基本就是你的程序模板或者哪里有问题了。
回复

使用道具 举报

12

主题

33

回帖

69

积分

初级会员

积分
69
 楼主| 发表于 2019-3-9 15:00:38 | 显示全部楼层
eric2013 发表于 2019-3-9 14:52
这种情况下,要先排查,仅创建一个启动任务,其它任务的创建先注释掉,然后呢中断不断发,看看是否有问题, ...

硬汉哥,我这边是还有其他任务的,但是其他任务都没有事,都能正常执行,中断也是正常的,都能进,那个标志置位函数也一直返回的是成功。就是任务A不能执行了,根本跳不到那句等待任务标志量的函数里,
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
发表于 2019-3-9 15:55:45 | 显示全部楼层
云恋夕阳 发表于 2019-3-9 15:00
硬汉哥,我这边是还有其他任务的,但是其他任务都没有事,都能正常执行,中断也是正常的,都能进,那个标 ...

依然是我前面说的,检测你的发送和接收函数标志,看是不是发送一直正常执行,而卡在你的接收里面某个地方,但是这个任务是正常的,仅仅是卡在某个位置执行不下去了。

这种情况基本就是你的这个任务设计问题了。
回复

使用道具 举报

12

主题

33

回帖

69

积分

初级会员

积分
69
 楼主| 发表于 2019-3-9 16:04:49 | 显示全部楼层
eric2013 发表于 2019-3-9 15:55
依然是我前面说的,检测你的发送和接收函数标志,看是不是发送一直正常执行,而卡在你的接收里面某个地方 ...

好的,谢谢硬汉哥,我再调试一下。
回复

使用道具 举报

12

主题

33

回帖

69

积分

初级会员

积分
69
 楼主| 发表于 2019-3-11 08:29:38 | 显示全部楼层
问题已经解决了,过来结了贴,好像是因为我中断函数执行的东西有点多,不过我测量过中断函数的执行时间,远远小于20ms的中断间隔。现在我换成中断里面只给中断处理任务发事件标志,然后在中断处理任务里面进行相应处理就不会出现这个问题了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
发表于 2019-3-11 08:58:16 | 显示全部楼层
云恋夕阳 发表于 2019-3-11 08:29
问题已经解决了,过来结了贴,好像是因为我中断函数执行的东西有点多,不过我测量过中断函数的执行时间,远 ...

感谢告知最终原因。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-1 11:36 , Processed in 0.255508 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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