[讨论] msOS

dj狂人   2014-4-17 12:45 楼主
上传最近在玩的msOS,感觉挺有意思的,用51就能玩,适合嵌入式入门,有助理解基本概念,其中用的函数指针、结构体数组让我对C又有了新的认识。系统节拍10ms,如果用的单片机没有T2定时器话,改用T0就得了,有兴趣下回去看看,哈哈

    msOS.zip (2014-4-17 12:37 上传)

    6.91 MB, 下载次数: 50

回复评论 (5)

这个不错
点赞  2014-4-17 13:17
原来这货还不算真正的RTOS,最多支持4个任务,也没法真正的实现任务切换,只能单任务执行,不过它的软件定时器倒是还没弄明白怎么用,再研究研究
点赞  2014-4-26 11:06
引用: dj狂人 发表于 2014-4-26 11:06
原来这货还不算真正的RTOS,最多支持4个任务,也没法真正的实现任务切换,只能单任务执行,不过它的软件定时器倒是还没弄明白怎么用,再研究研究
我看过 作者的博客

他是刻意把任务限定死的,而且也没必要做成链表,以支持动态创建。。


其实觉得他说的也不是没有道理。

关于 没必要动态创建,我觉得有一定的道理。
但其他的我觉得则要深入看了才知道。

但不可否认,任务间的通信确实很难把握。

我自己工作的这个也是,名义上是用了操作系统多任务,但实际上任务通信机制没用上。靠的一个FLASH的记录。





强者为尊,弱者,死无葬身之地
点赞  2015-2-12 11:20
引用: 辛昕 发表于 2015-2-12 11:20 我看过 作者的博客 他是刻意把任务限定死的,而且也没必要做成链表,以支持动态创建。。 其实觉得他说的也不是没有道理。 关于 没必要动态创建,我觉得有一定的道理。 但其他的我觉得则要深入看了才知道。 但不可否认,任务间的通信确实很难把握。 我自己工作的这个也是,名义上是用了操作系统多任务,但实际上任务通信机制没用上。靠的一个FLASH的记录。
这个怎么说呢。我这个帖子上传的是51版的,51版本的还是属于前后台架构,没有任务的说法。而基于32位单片机的那 个版本才有任务的说法。这个版本由于原来是可以支持八个任务的,后面由于需求的原因改成了两个任务(menu和logic),也 不是做成链表吧,他文档里说的那个是为任务切换服务的,并不是用于任务创建。 还有 任务间的通信 在基于32位单片机版的msOS里面得到了很好的解决,他里面采用的是数据库的思想。这是怎么一回 事呢。是这样子的,首先在这msOS里面,又两个任务,一个界面任务(menu)、一个是 逻辑任务(logic)。 界面任务负责对数据进行显示。而逻辑任务负责数据的更新。系统进行运行的时候首先一直停留在优先级最低的界面任务 中,当外界进来一个消息的时候,由界面任务切换到逻辑任务进行对消息的处理,并更新数据库中的数据,消息处理完之后再切 换回界面任务,然后 menu 识别到有数据更新之后从数据库中取出数据并显示。 本帖最后由 dj狂人 于 2015-3-5 18:55 编辑
点赞  2015-3-5 18:52
引用: dj狂人 发表于 2015-3-5 18:52
这个怎么说呢。我这个帖子上传的是51版的,51版本的还是属于前后台架构,没有任务的说法。而基于32位单片机的那

个版本才有任务的说法。这个版本由于原来是可以支持八个任务的,后面由于需求的原因改成了两个任务(menu和logic),也

不是做成链表吧,他文档里说的那个是为任务切换服务的,并不是用于任务创建。

           还有 任务间的通信  在基于32位单片机版的msOS里面得到了很好的解决,他里面采用的是数据库的思想。这是怎么一回

事呢。是这样子的,首先在这msOS里面,又两个任务,一个界面任务(menu)、一个是 逻辑任务(logic)。

           界面任务负责对数据进行显示。而逻辑任务负责数据的更新。系统进行运行的时候首先一直停留在优先级最低的界面任务

中,当外界进来一个消息的时候,由界面任务切换到逻辑任务进行对消息的处理,并更新数据库中的数据,消息处理完之后再切

换回界面任务,然后 menu 识别到有数据更新之后从数据库中取出数据并显示。
看懂了,他和我现在工作的那个项目,基本是一个思路

强者为尊,弱者,死无葬身之地
点赞  2015-3-5 21:17
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复