打开附件
此例子是用来模拟dos下的线程切换功能,参照了uc/os的代码.
现在有一个本人不能解决的问题,希望各位帮忙解答.
问题:
1.程序在初始化了任务一堆栈,任务二堆栈后,初始化0x08的定时中断.正常
2.利用OSStartHighRdy()函数启动任务一正常,改变task的参数也可正常启动任务二.
3.通过定时中断0x08的函数OSTickISR进行任务一到任务二的切换.正常任务二可以启动.
但此时只要是按键盘一次,则程序死掉.0x08定时中断不再产生.任务一和任务二可以通过软中断来切换,
但只要通过硬件切换则不正常.
此程序的错误起大家指正.
谢谢.
c: test.c
asm: os.asm
msn:
yaly163@hotmail.com
20041017