裸机怎么跑多任务呢?

2019-03-23 17:56发布

最近遇到点麻烦,裸机跑多任务不知道怎么搞了,翻了论坛的帖子,找到了这篇讲时间轮询的原帖地址问题是帖中的方法怎么解决当单个任务执行时间过长的情况呢?比如我要跟从机通信,而通信速率非常之慢,或者刷屏刷的也很慢,这个问题也可以说成是,怎么解决任务当中delay函数的实现……
看了ucos里面的解决方法,需要保护任务现场用汇编,如果这样不如直接上操作系统,不知道这个问题在裸机下是如何解决的?


此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
汤权
1楼-- · 2019-03-24 21:31
 精彩回答 2  元偷偷看……
飞鸿浩劫
2楼-- · 2019-03-24 23:18
汤权 发表于 2016-11-21 18:53
老大厉害,可能任务少是可以的,不过貌似光定时器初始化什么的就够烦人的了,stm32运行一个实时系统不是很e ...

就想知道不用操作系统能不能完美解决这些问题,难道以前没有操作系统的时候就没办法了?办法肯定是有的只不过我才找了一天还没找到
汤权
3楼-- · 2019-03-25 00:28
飞鸿浩劫 发表于 2016-11-21 19:04
就想知道不用操作系统能不能完美解决这些问题,难道以前没有操作系统的时候就没办法了?办法肯定是有的只 ...

哦哦,这样啊,操作系统本身说白了不就是一个裸机程序嘛,既然这样肯定能直接实现功能啊。加油,祝你成功
迈尔风随
4楼-- · 2019-03-25 03:43
 精彩回答 2  元偷偷看……
飞鸿浩劫
5楼-- · 2019-03-25 04:25
迈尔风随 发表于 2016-11-21 20:45
使用时间分片、轮转的方式实现,把大任务分割成几个时间片,也就是小任务,然后几个大任务轮转执行,把需要 ...

嗯,谢谢
ianhom
6楼-- · 2019-03-25 06:17
https://github.com/ianhom/MOE
我自己写的一个小的调度,事件驱动或protothread方式都可以,可以试试看

一周热门 更多>