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

📄 main.c

📁 移植UCOS于增强型51单片机上
💻 C
字号:
#include "includes.h"
#include "init.h"
#include "ADC12.H"
#include "GaoJin.h"
OS_STK LedTaskStk[43];
OS_STK AdcTaskStk[90];
OS_STK GJTaskStk[50];


void TestTask2(void *pdata);
void TestTask1(void *pdata);
void TestTask2(void *pdata);

void LedTask(void *pdata)
{
	//int time;
	pdata=pdata;	
	OSTickInit();	//内核时钟初始化
	//time=OSTimeGet();
	P1OUT ^=BIT5;
	OSTimeDly(10);
	P1OUT ^=BIT5;
	OSTimeDly(10);
	P1OUT ^=BIT5;
	OSTimeDly(10);
	P1OUT ^=BIT5;
	OSTimeDly(10);
	P1OUT ^=BIT5;
	OSTimeDly(10);
	P1OUT ^=BIT5;
	OSTimeDly(10);
	P1OUT ^=BIT5;
	OSTimeDly(10);
	P1OUT ^=BIT5;
	OSTimeDly(10);
	while(1)
	{   
		P1OUT ^=BIT5;
		ClrOutWDG();
		OSTimeDly(200);     //内核时钟一个tick=4ms,这里延时400毫秒
		
		if(MyAdcFlag.adMoniCount>3000)//超过1.5秒钟AD没有进入中断说明邋AD已经出现异常了
		{
			_DINT();
			while(1);//等待复位
		}
	}
}

void main()
{
	WatchDogStop();
	InitClock(1,1);    //初始化系统时钟模块,参数为分频系数
	InitIO();    
	_EINT();  //必须先开总中断,否则任务的初始状态会是中断关闭状态,那么将导致任务调度失败
	OSInit();
	GJOUTPORT=0xff;
	//GJOUTPORT=ICOVERLOAD;
	OSTaskCreate(AdcTask,(void *)0,&AdcTaskStk[89],1);
	OSTaskCreate(LedTask,(void *)0,&LedTaskStk[42],0);
	OSTaskCreate(GJTask,(void *)0,&GJTaskStk[49],2);
	OSStart();
}

⌨️ 快捷键说明

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