找回密码
 立即注册
楼主: fanxsp

原创极简的51-MCU专用RTOS TinyRTOS51

  [复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:342
  • 最近打卡:2025-04-30 08:26:34
已绑定手机

6

主题

202

回帖

810

积分

高级会员

积分
810
发表于 2024-9-30 14:41:03 | 显示全部楼层
最好有个讲解的教程,方便移植
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-10-09 23:02:01

0

主题

9

回帖

72

积分

注册会员

积分
72
发表于 2024-10-8 23:29:21 | 显示全部楼层
本帖最后由 gmaker 于 2024-10-8 23:39 编辑

截图202410082328232886.jpg
在task中能传递结构体指针吗?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:202
  • 最近打卡:2025-04-29 08:30:00

0

主题

47

回帖

304

积分

中级会员

积分
304
发表于 2024-10-9 09:13:33 | 显示全部楼层
福音啦
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:501
  • 最近打卡:2025-05-01 14:43:21

1

主题

183

回帖

1863

积分

金牌会员

积分
1863
发表于 2024-10-9 09:45:36 | 显示全部楼层
本帖最后由 fanxsp 于 2024-10-9 09:48 编辑
gma*** 发表于 2024-10-8 23:29
在task中能传递结构体指针吗?

可以,但是任务函数本身不支持参数传递
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-10-09 23:02:01

0

主题

9

回帖

72

积分

注册会员

积分
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都没用

请问下任务执行时会把堆栈的变量都存起来吗?我用协作模式也是一样的结果
截图202410092225494340.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:501
  • 最近打卡:2025-05-01 14:43:21

1

主题

183

回帖

1863

积分

金牌会员

积分
1863
发表于 2024-10-10 07:56:11 | 显示全部楼层
本帖最后由 fanxsp 于 2024-10-10 08:02 编辑
gma*** 发表于 2024-10-9 22:35
这里的stopfun并没有改变stepinfo->DirConversely 这个的值,但是调用完丢失了指针变成一个空的结构体了
调 ...

没有完整的程序,你有没有在多个任中都要调用这个函数据,或使用这个结构?printf()函数是不可重入的,其它任务还有没有用到这个函数?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-10-09 23:02:01

0

主题

9

回帖

72

积分

注册会员

积分
72
发表于 2024-10-10 10:14:54 | 显示全部楼层
没有  这个是启动自检  其他任务还是挂起状态的,我做个重现的简化代码试试
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-10-09 23:02:01

0

主题

9

回帖

72

积分

注册会员

积分
72
发表于 2024-10-10 10:20:07 | 显示全部楼层
协作模式是不是就会避免重入问题,只有OSDelay才会切换任务?我其实只希望OSDelay才却换任务.
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:501
  • 最近打卡:2025-05-01 14:43:21

1

主题

183

回帖

1863

积分

金牌会员

积分
1863
发表于 2024-10-10 12:41:48 | 显示全部楼层
gma*** 发表于 2024-10-10 10:20
协作模式是不是就会避免重入问题,只有OSDelay才会切换任务?我其实只希望OSDelay才却换任务. ...

协作模式,只在OSDelay()处进行任务切换。简化后,如果还不能发现问题,可以把完整程序发出来,大家一起找一下原因。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-10-09 23:02:01

0

主题

9

回帖

72

积分

注册会员

积分
72
发表于 2024-10-10 21:19:48 | 显示全部楼层
是我代码的问题,已解决.非常感谢解答
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:41 , Processed in 0.136622 second(s), 110 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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