本帖最后由 liboyang_bj 于 2011-3-28 16:11 编辑
最近做一个项目,要求使用RTX51 TINY。仿真时一切都好,但只要一烧片就出问题。发现程序总是不停的运行任务0(第一个创建的任务),我用AT89C51的片子。
以下为主程序:
#include <reg51.h>
#include <rtx51tny.h>
#define TASK_INIT 0
#define TASK_KEYSCAN 1
sbit led_green = P1^0;
sbit led_blue = P1^1;
sbit led_red = P1^2;
void task_init(void) _task_ TASK_INIT
{
led_green = 0;
led_blue = 0;
led_red = 0;
os_wait2(K_TMO, 10);
led_red = 1;
os_wait2(K_TMO, 10);
led_red = 0;
os_create_task(TASK_KEYSCAN);
os_delete_task(TASK_INIT);
}
void key_scan(void) _task_ TASK_KEYSCAN
{
while(1)
{
os_wait2(K_TMO, 20);
led_green = !led_green;
}
} |