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

📄 main.c

📁 基于LPC2148的UCOSII移植
💻 C
字号:
#include "config.h"
#include "stdlib.h"
#include "led.h"
#include "SPI.h"
/********UC/OS模板来自高手之手,鄙人挪用*********************/
/*************************M*********************************/
/******挪用:月亮 QQ:228939191 ******************************/
#define	TaskStkLengh	64					//定义用户任务0的堆栈长度
 
OS_STK	TaskStk0 [TaskStkLengh];			//定义用户任务0的堆栈
OS_STK	TaskStk1 [TaskStkLengh];			//定义用户任务1的堆栈
OS_STK	TaskStk2 [TaskStkLengh];			//定义用户任务2的堆栈
OS_STK	TaskStk3 [TaskStkLengh];			//定义用户任务3的堆栈
OS_STK	TaskStk4 [TaskStkLengh];			//定义用户任务4的堆栈
OS_STK	TaskStk5 [TaskStkLengh];			//定义用户任务5的堆栈 

void 	Task0(void *pdata);					//Task0 任务0
void 	Task1(void *pdata);					//Task1 任务1
void 	Task2(void *pdata);					//Task2 任务2
void 	Task3(void *pdata);					//Task3 任务3
void 	Task4(void *pdata);					//Task4 任务4
void 	Task5(void *pdata);					//Task5 任务5

OS_EVENT *DispSem;

/****************0`9字码*******************************************/
uint8   const seven_seg[13]={0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F,0x00,0x40,0x5C};
/******************************************************************/
/**********************主程序**************************************/
/******************************************************************/
int main (void)
{
	TargetInit();

	SPI_init();			  //SPI初始化
	IO_Int(); 			  //输出灯与蜂鸣器初始化

	OSInit ();
	DispSem = OSSemCreate(1);
  	OSTaskCreate (Task0,(void *)0, &TaskStk0[TaskStkLengh - 1], 3);	 																								
  	OSTaskCreate (Task1,(void *)0, &TaskStk1[TaskStkLengh - 1], 4);	
 	OSTaskCreate (Task2,(void *)0, &TaskStk2[TaskStkLengh - 1], 5);																										
  	OSTaskCreate (Task3,(void *)0, &TaskStk3[TaskStkLengh - 1], 6);
 	OSTaskCreate (Task4,(void *)0, &TaskStk4[TaskStkLengh - 1], 7);																										
  	OSTaskCreate (Task5,(void *)0, &TaskStk5[TaskStkLengh - 1], 8);		
	OSStart ();
	return 0;															
}
/*************************************************************
                             Task0 任务0 (P1.8灯亮 灭 )
**************************************************************/
void Task0	(void *pdata)
{
	pdata = pdata;
	while (1)
	{
		LedCS0(TRUE);
		OSTimeDly(100);
		LedCS0(FALSE);
		OSTimeDly(100);
	}
}
/*************************************************************
                            Task1 任务1	(P1.9灯循环亮 灭 )
**************************************************************/
void Task1(void *pdata)
{	
	pdata = pdata;
	while (1)
	{
		LedCS1(TRUE);
		OSTimeDly(150);
		LedCS1(FALSE);
		OSTimeDly(150);
	}
}
/*************************************************************
                             Task2 任务2 (P1.20灯 循环亮 灭 )
**************************************************************/
void Task2	(void *pdata)
{
	pdata = pdata;
	while (1)
	{
		LedCS2(TRUE);
		OSTimeDly(200);
		LedCS2(FALSE);
		OSTimeDly(200);
	}
}
/*************************************************************
                             Task3 任务3   (P0.7 蜂鸣器 循环鸣 停 )
**************************************************************/
void Task3	(void *pdata)
{
	pdata = pdata;
	while (1)
	{
	 	LedCS3(TRUE);
		OSTimeDly(1);
		LedCS3(FALSE);
		OSTimeDly(500);
	}
}
/*************************************************************
                             Task4 任务4  (数码管从0~9 循环显示)
**************************************************************/
void Task4	(void *pdata)
{
	pdata = pdata;		
	while (1)
	{
	 	uint8 i;
	 	for(i=0;i<10;i++)
		{
 			MSPI_SendData(~seven_seg[i]);
			OSTimeDly(200);
		}
	}
}
/*************************************************************
                             Task5 任务5  (P1.21-P1.25LED灯 循环亮 灭)
**************************************************************/
void Task5(void *pdata)
{
	pdata=pdata;
	while(1)
	{
		LedCS4(TRUE);
		OSTimeDly(400);
		LedCS4(FALSE);
		OSTimeDly(400);
	}
}
/**************************************************************
*********************** END ***********************************
**************************************************************/

⌨️ 快捷键说明

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