⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test0001.c

📁 uCOS 嵌入式操作系统的改进版,增加了网络通讯.
💻 C
字号:
#include "..\keilc51\includes.h"
#if	1//#Lin

OS_STK	Task_OneStk[UserMaxStkSize];
OS_STK	Task_TwoStk[UserMaxStkSize];
OS_STK	Task_ThreeStk[UserMaxStkSize];
OS_STK	Task_TestStk[UserMaxStkSize];

void Task_One(void *testdata) reentrant;
void Task_Two(void *testdata) reentrant;
void Task_Three(void *testdata) reentrant;
void Task_Test(void *testdata) reentrant;

#endif

//data	OS_STK	UserSysSP_Start;

void	main(void)
{

	UserSysSP_Start = SP;	//获取动态分配的栈底,用于计算和仿真堆栈

	OSInit();

	UserInitTimerZero();

#if	1//#Lin
    OSTaskCreate(Task_Test, (void *)0, Task_TestStk,5);
    OSTaskCreate(Task_Two, (void *)0, Task_TwoStk,7);
    OSTaskCreate(Task_Three, (void *)0, Task_ThreeStk,6);
    OSTaskCreate(Task_One, (void *)0, Task_OneStk,4);	//#Lin@必须处于最高优先级
#endif

	OSStart();
	for(;;);
}

#if	1//#Lin

void Task_One(void *testdata) reentrant{

	testdata = testdata; 
	ET0 = 1;	//#Lin@启动时钟节拍中断
    
    for(;;){
		P1 ^= 0x01;
		OSTimeDly(10);
		P1 ^= 0x01;
		OSTimeDly(10);
//		OSTaskDel(6);

    }    
}

void Task_Two(void *testdata) reentrant{
	
	testdata = testdata; 
    
    for(;;){
		P1 ^= 0x02;
		OSTimeDly(20);
		P1 ^= 0x02;
		OSTimeDly(20);
		OSTaskSuspend(2);
    }    
}

void Task_Three(void *testdata) reentrant{

	testdata = testdata; 
    
    for(;;){
		P1 ^= 0x04;
		OSTimeDly(40);
		P1 ^= 0x04;
		OSTimeDly(40);
		OSTaskResume(2);
    }    
}

void Task_Test(void *testdata) reentrant{

	testdata = testdata; 
    
    for(;;){
		P1 ^= 0x08;
		OSTimeDly(80);
		P1 ^= 0x08;
		OSTimeDly(40);


	}

}

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -