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

📄 app.c

📁 MinOS嵌入式操作系统,C/C++源代码!基于KeilC51编译器.
💻 C
字号:
#include "OS_Includes.h"

#define LED_ON	 1
#define LED_OFF	 0

sbit LED1=P1^0;
sbit LED2=P1^1;
sbit LED3=P1^2;
sbit LED4=P1^3;

void TaskA(void);
#define TaskAPrio	 1                        //声明任务TaskA(void)的优先级。
unsigned char idata TaskAStk[MAX_STK_SIZE];   //声明任务TaskA(void)的堆栈空间。

void TaskB(void);
#define TaskBPrio	 2                        //声明任务TaskB(void)的优先级。
unsigned char idata TaskBStk[MAX_STK_SIZE];   //声明任务TaskB(void)的堆栈空间。

void TaskC(void);
#define TaskCPrio	 3                        //声明任务TaskC(void)的优先级。
unsigned char idata TaskCStk[MAX_STK_SIZE];   //声明任务TaskC(void)的堆栈空间。

void main(void)
{
	OSInit();                               //初始化OS任务控制块(initialization OSTCB)。
	OSTaskCreate(TaskA,TaskAStk,TaskAPrio); //建立任务TaskA(void)。
	OSTaskCreate(TaskB,TaskBStk,TaskBPrio); //建立任务TaskB(void)。
	OSTaskCreate(TaskC,TaskCStk,TaskCPrio); //建立任务TaskC(void)。
	OSStart();                              //起动OS。
	while (1)
	{
		LED1=LED_ON;	
		OSTimeDly(50);
		LED1=LED_OFF;	
		OSTimeDly(50);
	}
}

void TaskA(void)
{
	while (1)
	{
		LED2=LED_OFF;	
		OSTimeDly(200);
		LED2=LED_ON;	
		OSTimeDly(200);
	}
}

void TaskB(void)
{
	while (1)
	{
		LED3=LED_OFF;	
		OSTimeDly(500);
		LED3=LED_ON;	
		OSTimeDly(500);
	}
}
void TaskC(void)
{
	while (1)
	{
		LED4=LED_OFF;	
		OSTimeDly(1000);
		LED4=LED_ON;	
		OSTimeDly(1000);
	}
}



//hook function for user App --- 时钟节拍回掉函数
void AppTickHook()
{
}

⌨️ 快捷键说明

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