test1.c

来自「S3C2410学习的基础资料 大部分实验源码及工程」· C语言 代码 · 共 87 行

C
87
字号
#include "includes.h"

OS_STK   TestTaskStk[100];
OS_STK Task_LED_Stack[512];
void Task_LED( void *Id ) ;
#define Task_LED_PRIO       6
void TestTask(void *pdata);
void Led_Set(int LedStatus);

int  main(void)
{
   	OSInit();
	OSTaskCreate(TestTask,(void *)0,&TestTaskStk[99],4);   
	OSStart();
	Uart0Print("the uCOS-II is running!\n");
}


void TestTask(void *pdata)
{   
    INT32U i=1;
	pdata=pdata;
	
	OSTaskCreate( Task_LED, (void *)0, (OS_STK *)&Task_LED_Stack[511], Task_LED_PRIO ) ;
	
	Init_Uart0();    //初始化串口0
	Init_Timer4();
	//LED初始化
	rGPFCON=(rGPFCON|0xFF00)&0x55FF;//GPF4--GPF7设置为output	
	
	while(1)
        {
          Uart0Print("Test\n");
          OSTimeDly(2);
          i++;
          Uart0Print("i=%d\n",i);
	}
}


/******************************************************************************
【功能说明】本任务使LED来回闪烁
******************************************************************************/
void Task_LED( void *Id )
{
	
	for(;;)
	{
		Led_Set( 0x08 ) ;		//
		OSTimeDly( 100 );		//将任务延时若干时钟节拍
		Led_Set( 0x04 ) ;		//
		OSTimeDly( 100 );		//将任务延时若干时钟节拍
		Led_Set( 0x02 ) ;		//
		OSTimeDly( 100 );		//将任务延时若干时钟节拍
		Led_Set( 0x01 ) ;		//
		OSTimeDly( 100 );		//将任务延时若干时钟节拍
		Led_Set( 0x00 ) ;		//
		OSTimeDly( 30 );		//将任务延时若干时钟节拍
	}
}

/****************************************************************************
【功能说明】四个LED 点亮/熄灭状态设置(LedStatus低四位电平高低对应着四个LED亮/熄)
****************************************************************************/
void Led_Set(int LedStatus)
{
	if((LedStatus&0x01)==0x01)		//D3
		rGPFDAT &= ~(1<<4);//GPF4 output 0
	else
		rGPFDAT |= (1<<4); //GPF4 output 1
	
	if((LedStatus&0x02)==0x02)		//D4
		rGPFDAT &= ~(1<<5);//GPF5 output 0
	else
		rGPFDAT |= (1<<5); //GPF5 output 1

	if((LedStatus&0x04)==0x04)		//D5
		rGPFDAT &= ~(1<<6);//GPF4 output 0
	else
		rGPFDAT |= (1<<6); //GPF4 output 1

	if((LedStatus&0x08)==0x08)		//D6
		rGPFDAT &= ~(1<<7);//GPF4 output 0
	else
		rGPFDAT |= (1<<7); //GPF4 output 1
}

⌨️ 快捷键说明

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