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

📄 main.c

📁 《增强型8051单片机实用开发技术》例程代码
💻 C
字号:
/* 本例程uCOS-II 版本为2.51*/  #include "includes.h"
sbit LED1=P1^3;
sbit LED2=P1^7;
OS_STK Task1Stk[MaxStkSize+1];
OS_STK Task2Stk[MaxStkSize+1];
OS_STK Task3Stk[MaxStkSize+1];

OS_EVENT* FirstSem;
INT8U err;void Task1(void *ppdata) reentrant{
	ppdata=ppdata;
	ET0=1;       //开时钟节拍中断-------根据杨屹文章更改	for(;;)    {
		LED1=~LED1;        OSTimeDly(OS_TICKS_PER_SEC/2);
		OSSemPost(FirstSem);	    }    }

void Task2(void *ppdata) reentrant{
	ppdata=ppdata;	for(;;)    {
	    OSSemPend(FirstSem,0,&err);
		LED2=~LED2;    }    }

void Task3(void *ppdata) reentrant{
	ppdata=ppdata;	for(;;)    {
		OSTimeDlyHMSM(0,0,10,0);
		PCA_PWM0=0x00;
		CCAP0H=0x40;
		OSTimeDly(OS_TICKS_PER_SEC/4);
		PCA_PWM0=0x03;    }    }void main(void){	OSInit();	InitHardware();
	FirstSem=OSSemCreate(0);//定义一个信号量
	OSTaskCreate(Task1,(void*)0,&Task1Stk[0],0);
	OSTaskCreate(Task2,(void*)0,&Task2Stk[0],1);
	OSTaskCreate(Task3,(void*)0,&Task3Stk[0],2);
	OSStart();
}

⌨️ 快捷键说明

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