main.c

来自「这是移植到凌阳十六位单片机上的UCOS 凌阳十六位单片机性能强大」· C语言 代码 · 共 65 行

C
65
字号
#include "includes.h"

#define MAX_STK_SIZE  50

//**************************************
void TaskA(void* data);
OS_STK TaskA_Stk[MAX_STK_SIZE+1];
#define TaskA_Prio 4

void TaskB(void* data);
OS_STK TaskB_Stk[MAX_STK_SIZE+1];
#define TaskB_Prio 8
//**************************************
void InitSystem(void);

OS_EVENT *sem;

int main(void)
{
	OSInit();
	sem=OSSemCreate(1);
	OSTaskCreate(TaskA, (void *)0, &TaskA_Stk[MAX_STK_SIZE], TaskA_Prio);
	OSTaskCreate(TaskB, (void *)0, &TaskB_Stk[MAX_STK_SIZE], TaskB_Prio);
	OSStart();
	return 0;
}

void TaskA(void *data)
{
	INT8U erra;
	data=data;
 
	InitSystem();
	for(;;)
	{
		OSSemPend(sem,0,&erra);
		*P_IOA_Data=0xff0f;
		OSTimeDly(64);
		OSSemPost(sem);
	} 
}

void TaskB(void *data)
{
	INT8U errb;
	data=data;
	for(;;)
	{
		OSSemPend(sem,0,&errb);
		*P_IOA_Data=0xfff0;
		OSTimeDly(64);
		OSSemPost(sem);
	}
}


void InitSystem(void)
{
	*P_IOA_Dir = 0xffff;			//设置IOA口为同相低电平输出
	*P_IOA_Attrib = 0xffff;
	*P_IOA_Data = 0xffff;
	
	*P_TimeBase_Setup = C_TMB1_64Hz;
	*P_INT_Ctrl = C_IRQ6_TMB1;
}

⌨️ 快捷键说明

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