- 打卡等级:初来乍到
- 打卡总天数:1
- 最近打卡:2024-10-09 23:02:01
注册会员
- 积分
- 72
|
发表于 2024-10-9 22:35:19
|
显示全部楼层
本帖最后由 gmaker 于 2024-10-9 22:37 编辑
这里的stopfun并没有改变stepinfo->DirConversely 这个的值,但是调用完丢失了指针变成一个空的结构体了
调用堆栈是main.c->Task_Main->SelfCheck()->CheckChannelMoveBuffer()->Step_MoveAndStopByFun();
输出这样的
----a:99
a1:99
Stop:99
a2:0,r:16 //这里没有改变值变成0了,也就是指针参数丢失了
a4:0
有的时候a2是99就正常 有时候变0了
请问,是不是堆栈太深了导致的?
还是数据栈给的空间不够?改过OStypeInt8u OSLOC_STACKS taskStack_main[30]; 这个30改到100都没用
请问下任务执行时会把堆栈的变量都存起来吗?我用协作模式也是一样的结果
|
|