OpenEdv-开源电子网

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

FreeRTOS新建3个任务,一个始终没运行,偶尔进去一次

[复制链接]

23

主题

69

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-1-5
在线时间
50 小时
发表于 2018-3-29 22:28:04 | 显示全部楼层 |阅读模式
10金钱
刚学习,也没做啥高难度的,调试了栈大小,感觉跟它有些关系,因为起初只能跑空闲任务,软件定时器都歇菜了,后来都改大了,其中两个任务运行起来了,但是还有一个始终跑不起来,希望指点一二,我也会抓紧看是哪里的问题的,谢谢啦!代码在附件里!

freertos.zip

3.55 KB, 下载次数: 44

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2018-3-30 09:21:04 | 显示全部楼层
检查任务是否创建成功
回复

使用道具 举报

23

主题

69

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-1-5
在线时间
50 小时
 楼主| 发表于 2018-3-30 22:34:07 | 显示全部楼层
创建失败了,可能是栈的问题,我用的STM32F469,这几个小任务应该不至于吧,还有可能是任务数量多了吗?加起IDLE总共四个任务,还有2个队列,一个信号量
回复

使用道具 举报

23

主题

69

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-1-5
在线时间
50 小时
 楼主| 发表于 2018-3-30 23:21:08 | 显示全部楼层
E:\Screenshots\1.png   E:\Screenshots\2.png   这个回调怎么不行呢,我重新建了个uart+DMA,normal方式发一次数据,进了完成回调中断的额,今天查到这里了,把while(!uart_tx_flag);注释了其他任务都正常了.

总之乱扁一通遇到1.只有idle正常 2.除send任务创建失败,其他都正常3.send任务创建成功,但卡在while()处。 现在把堆栈都改小了,之前为了以防万一,都往大了改 了。
Y[0ET(S4E@$[2$BT]I@[5S1.png
回复

使用道具 举报

23

主题

69

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-1-5
在线时间
50 小时
 楼主| 发表于 2018-3-30 23:22:45 | 显示全部楼层
超级简单的callback
2.png.png
回复

使用道具 举报

23

主题

69

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-1-5
在线时间
50 小时
 楼主| 发表于 2018-3-30 23:30:28 | 显示全部楼层
奇怪了,我把信号量释放了,if下面的while(!uart_tx_flag)能运行过去,也就是串口不断发Hello World!,这里为什么能进回调函数呢,明天再来看下到,大家有啥想法,请不吝赐教啊
回复

使用道具 举报

14

主题

204

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2443
金钱
2443
注册时间
2017-9-13
在线时间
559 小时
发表于 2018-4-2 13:31:56 | 显示全部楼层
当数据发送成功后会调用HAL_UART_TxCpltCallback()
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-20 23:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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