找回密码
 立即注册
查看: 47|回复: 6

关于多任务我的一些问题

[复制链接]
  • 打卡等级:偶尔看看II
  • 打卡总天数:24
  • 最近打卡:2025-06-16 12:00:55
已绑定手机

39

主题

295

回帖

891

积分

高级会员

积分
891
发表于 4 天前 来自手机 | 显示全部楼层 |阅读模式
想多任务想了不止一会了,最近玩RTX51时候又有些不太懂的地方,还有一些理解,希望大家来解答一下,讨论一下。
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:24
  • 最近打卡:2025-06-16 12:00:55
已绑定手机

39

主题

295

回帖

891

积分

高级会员

积分
891
发表于 4 天前 来自手机 | 显示全部楼层
首先就是实现上。
我总感觉所谓泛指的多任务和RTOS总有一条线,就是阻塞不阻塞。
多任务不一定非的是RTOS,比如那个协程,还有定时器调度什么的。(个人感觉定时器调度就挺好玩的,把大任务拆碎定时跑,每次跑一点),但他们我发现如果一个环节阻塞了整个都会卡住。但RTOS还不是,一个任务里死循环其他任务照样跑,不会因为一个阻塞其他都不走了。
那问题来了,RTOS怎么实现这种灵活切换不同函数间的运行呢?汇编代码我看不太懂,有没有比较好理解的解释?如果是定时器调度,各种任务毕竟还是一根线上的蚂蚱
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:24
  • 最近打卡:2025-06-16 12:00:55
已绑定手机

39

主题

295

回帖

891

积分

高级会员

积分
891
发表于 4 天前 来自手机 | 显示全部楼层
然后是任务间通信。
RTOS(比如RTX51TNY),任务间想传递大数据,该怎么弄?发信号不是都发的是字节或者位吗?直接访问全局变量安全吗?
另外关于某个函数的互斥调用,怎么弄?要就是想偷懒是设置成可重入,那能被两个任务同时调用吗?(没涉及共享资源比如同一个IO脚,同一个SPI口之类的,仅仅是同时调用用同一个函数)
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:24
  • 最近打卡:2025-06-16 12:00:55
已绑定手机

39

主题

295

回帖

891

积分

高级会员

积分
891
发表于 4 天前 来自手机 | 显示全部楼层
比如传个数组什么的,该怎么弄?直接把指针发过去行吗?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:24
  • 最近打卡:2025-06-16 12:00:55
已绑定手机

39

主题

295

回帖

891

积分

高级会员

积分
891
发表于 4 天前 来自手机 | 显示全部楼层
最后就是栈的配置。
怎么估算大概用多少栈啊?
比如RX51tny里置顶RAMTOP和FREESTACK,这两个还不是越大越好,第一遍我想把RAMTOP直接拉满到1fff,但为什么不行?同理FREESTACK开太大(到0xff就报错了),
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:99
  • 最近打卡:2025-06-16 09:28:47

733

主题

1万

回帖

1万

积分

管理员

积分
16635
发表于 4 天前 | 显示全部楼层
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:24
  • 最近打卡:2025-06-16 12:00:55
已绑定手机

39

主题

295

回帖

891

积分

高级会员

积分
891
发表于 4 天前 来自手机 | 显示全部楼层
神农鼎 发表于 2025-6-12 12:18
先把这个掌握了



ok
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-16 13:05 , Processed in 0.954256 second(s), 80 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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