daisywonder
发表于 2013-9-8 22:28
我是新手,正好可以学学经验,谢谢楼主
sinc_mark
发表于 2013-9-9 13:08
哪一个人不是从菜鸟起飞的,楼主加油!
xiangchli
发表于 2013-9-9 14:39
WAZLS
发表于 2013-9-10 15:09
学习了
泗一起
发表于 2013-9-24 21:30
HORSE7812
发表于 2013-9-25 12:58
:)
1036522154
发表于 2013-12-19 17:01
真希望快点变成像楼主那样
funior
发表于 2013-12-19 17:25
没有毅力的飘过,不想被人踩死在嵌入式的路上,但这一年进步确实不大,原因是多方面的,但总主要的还是因为没有毅力,希望下一年可以好一点,奔三了,压力很大
夜空中的星
发表于 2017-6-17 17:11
不错学习了
yjmdxp
发表于 2017-7-13 17:18
感谢分享
zhuannng
发表于 2017-7-14 13:07
支持
huangsangui
发表于 2017-8-17 11:03
不错,**下来
xppx1987
发表于 2020-11-2 10:29
好贴mark一下!
潜力变实力
发表于 2020-11-2 11:22
写得很好,加油。
coco7890
发表于 2020-11-17 18:44
本帖最后由 coco7890 于 2020-11-17 20:19 编辑
楼主还可以看到吗?
我有个疑问,进入定时器中断时保存现场,这个时候的SP值是多少,是哪个任务里面SP值都不知道
这个时候是不是需要把任务栈预留大些,把进入定时中断时的现场保存到某一个任务栈里面去,是我这样
分析的吧?
另外一个问题是:
task_tcb[ next_task % 8 ].task_stk_top =SP;//保存当前任务的栽顶SP指针到当前任务的控制块TCB
next_task++;指向下一个任务
//堆栽指针指向下一个任务栽顶
SP = task_tcb[ next_task % 8 ].task_stk_top;
在进入定时中断后压栈保存现场,后面SP改变到下一个任务的栈指针了,最后中断返回时出栈,出栈的数据在上一个任务栈里面了,恢复的数据就不是原来保存的数据,这是为什么?