*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
SYMBOL: ?RTX_RAMTOP
MODULE: E:\KEIL70.1\C51\LIB\RTX51TNY.LIB (?RTX51_TINY_KERNAL)
*** WARNING L4: DATA SPACE MEMORY OVERLAP
FROM: 0008H
TO: 000DH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?RTX_CURRENTTASK
MODULE: E:\KEIL70.1\C51\LIB\RTX51TNY.LIB (?RTX51_TINY_OS_CREATE)
ADDRESS: 003BH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?RTX_RAMTOP
MODULE: E:\KEIL70.1\C51\LIB\RTX51TNY.LIB (?RTX51_TINY_OS_CREATE)
ADDRESS: 004FH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?RTX_CURRENTTASK
MODULE: E:\KEIL70.1\C51\LIB\RTX51TNY.LIB (?RTX51_TINY_OS_CREATE)
ADDRESS: 0079H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?RTX_CURRENTTASK
MODULE: E:\KEIL70.1\C51\LIB\RTX51TNY.LIB (?RTX51_TINY_OS_WAIT)
ADDRESS: 00B1H
附简单程序:#include <AT89X51.H>
#include <Rtx51Tny.h>
//#include"at89c51rtx51tny.h"
#define uchar unsigned char
#define uint unsigned int
#define sys 0
#define key 1
#define delay 2
#define ledflash 3
uchar i,j,k;
void InitProc(void)_task_ sys
{
// InitAt89c51();
os_create_task(key);
os_create_task(delay);
os_create_task(ledflash);
}
void KeyProc(void) _task_ key
{
while(1)
{
os_wait(K_TMO,3,0);
if(i <255)
i++;
else
i=0;
}
}
void DelayProc (void) _task_ delay
{
//os_wait(K_TMO,3,0);
while(1)
{
if(k <2550)
k++;
else
k=0;
}
}
void LedProc(void) _task_ ledflash
{while(1)
{if(j <255)
j++;
else
j=0;
}
}
以下是引用linkaimu在2003-9-25 13:40:43的发言: [讨论]还需进修。WHILE连BREAK都不要了你做死循环吗? |
應該不用加STARTUP.A51我用89C52試過沒問題。不過用89C51就算把RAMTOP改成7F也不行。