打印

大家来接蜜: os 大泻蜜...............................................

[复制链接]
楼主: highgear
手机看帖
扫描二维码
随时随地手机跟帖
61
xjw_xl_box| | 2011-11-7 22:03 | 只看该作者 回帖奖励 |倒序浏览
Suspend 和 resume 函数就是切换程序指针啊。。

使用特权

评论回复
62
zzz1367| | 2011-11-7 22:51 | 只看该作者
MARK

使用特权

评论回复
63
ainideli| | 2011-11-7 23:48 | 只看该作者

使用特权

评论回复
64
Cortex-M0| | 2011-11-8 03:07 | 只看该作者
好贴,勤顶,学习

使用特权

评论回复
65
xsp123666| | 2011-11-8 16:07 | 只看该作者
别沉了

使用特权

评论回复
66
zhihuizhou| | 2011-11-8 16:54 | 只看该作者
刘前辈出马 比腥风血雨  墙裂围观

使用特权

评论回复
67
DownCloud| | 2011-11-8 17:09 | 只看该作者
本帖最后由 DownCloud 于 2011-11-8 17:13 编辑

汇编有写过简单的抢占式系统, C语言不算精, 所以目前还写不出来。
相信看了highgear老师的系统后定会有所进步。

使用特权

评论回复
68
流行音乐| | 2011-11-8 21:15 | 只看该作者
最简单的OS模型,欢迎拍砖!

#include
sbit LED = P0^0;

unsigned char TaskID = 0;
unsigned char TimerCount = 0;


void (*pTask[2])(void);

void Timer0Init()
{
        TMOD=0x01;
        TH0=(65536-50000)/256;
        TL0= ...
西安农民工 发表于 2011-11-7 19:54


这个能运行吗?
在定时器中断处理函数中调用死循环的 task 函数,什么时候中断处理才能结束?

使用特权

评论回复
69
312567150| | 2011-11-8 21:58 | 只看该作者
不懂

使用特权

评论回复
70
312567150| | 2011-11-8 21:59 | 只看该作者
不懂

使用特权

评论回复
71
ningling_21| | 2011-11-8 22:01 | 只看该作者
看似挺简单,和RTX51相比如何?

使用特权

评论回复
72
highgear|  楼主 | 2011-11-8 22:01 | 只看该作者
农民工的意思大概是想利用中断来切换任务,但有几个问题:51的中断如果没有 reti 则不会再次响应;
即便调用一次 reti 开放中断, 因为任务的死循环,堆栈最终会溢出。

使用特权

评论回复
73
koohappy| | 2011-11-8 22:20 | 只看该作者
30到了没有

使用特权

评论回复
74
DownCloud| | 2011-11-8 22:21 | 只看该作者
已经研究完了,嘿嘿。
思路很清晰。有一点疑问,highgear老师是不是先编完中断函数,看一下用了哪些寄存器再决定Registers的成员的,只是编程过程上的疑问,呵呵。当然也可以嵌入汇编都保存啦,哈哈。
哈哈,又进步了,重拾编程爱好。
以前写汇编觉得很有趣,写过很多很多,后来写高级语言,写的程序总感觉怪怪的,有点感觉把握不住。没有了在汇编里当国王的乐趣。

使用特权

评论回复
75
紫痕o0| | 2011-11-8 22:23 | 只看该作者
:)

使用特权

评论回复
76
sunocean| | 2011-11-8 23:25 | 只看该作者
这个必须顶

使用特权

评论回复
77
Cortex-M0| | 2011-11-9 05:32 | 只看该作者
嘿嘿。俺也初步研究完了。
思路超级清晰。程序也写的超级精简,多一个字符显啰嗦,少一个字符则杯具。

为了更好的学习highgear老师的编程思路,平时不玩OS的俺,尝试改写了一下程序。
目标:
1.  将任务堆栈从片内256字节RAM内,移到扩充的外部 64K RAM中。
2.  将最大任务数扩展到127个。
3.  沿用highgear老师的编程思路,不用汇编插入PUSH, POP指令保存中断压栈寄存器,完全自动压栈保护各变量。

使用特权

评论回复
78
DownCloud| | 2011-11-9 08:02 | 只看该作者
紧跟contexm0斑竹,下午回来修改程序。

使用特权

评论回复
79
highgear|  楼主 | 2011-11-9 08:58 | 只看该作者
呵呵,谢谢大家关注,谢谢123姐姐的改进,能对大家有帮助,让我感到很欣慰。

这个程序为了精简易读,牺牲了一些效率,从实用性和效率都不能和tiny os 相提并论,但我相信包括我在内的很多人一看到汇编,头就大了。另外有一个小疏忽, 中断里的 ET0 = 1 应放在最最后。

使用特权

评论回复
80
keasy| | 2011-11-9 10:01 | 只看该作者
OS还是有用的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则