📄 main.c
字号:
#include "includes.h"
#include "SPCE061A.h"
#define MAX_STK_SIZE 50
/*hehehe*/
void TaskA(void* data);
void TaskB(void* data);
void Taskkk(void* data);
OS_EVENT *sem;
OS_STK TaskAStk[MAX_STK_SIZE+1];
OS_STK TaskBStk[MAX_STK_SIZE+1];
OS_STK TaskkkStk[51];
int main(void)
{
OSInit();
sem=OSSemCreate(1);
OSTaskCreateExt(TaskA,(void *)0,&TaskAStk[MAX_STK_SIZE],20,20,TaskAStk,50,(void *)0,OS_TASK_OPT_STK_CHK+OS_TASK_OPT_STK_CLR);
OSTaskCreateExt(TaskB,(void *)0,&TaskBStk[MAX_STK_SIZE],23,23,TaskBStk,50,(void *)0,OS_TASK_OPT_STK_CHK+OS_TASK_OPT_STK_CLR);
OSTaskCreateExt(Taskkk,(void *)0,&TaskkkStk[50],19,19,&TaskkkStk[0],50,(void *)0,OS_TASK_OPT_STK_CHK+OS_TASK_OPT_STK_CLR);
OSStart();
}
void TaskA(void *data)
{
INT8U erra;
INT16U data_in;
data=data;
InitSystem();
*P_IOB_Data=0x0000;
for(;;)
{
OSSemPend(sem,0,&erra);
// display(0xff0f);
data_in=*P_IOB_Data;
data_in&=0xff00;
data_in|=0x000f;
*P_IOB_Data=data_in;
OSTimeDly(64);
OSSemPost(sem);
}
}
void TaskB(void *data)
{INT8U errb;
INT16U data_in;
data=data;
for(;;)
{
OSSemPend(sem,0,&errb);
// display(0xfff0);
data_in=*P_IOB_Data;
data_in&=0xff00;
data_in|=0x00f0;
*P_IOB_Data=data_in;
OSTimeDly(64);
OSSemPost(sem);
}
}
void Taskkk(void* data)
{
INT8U err;
INT16U data_in;
data=data;
for(;;)
{
data_in=*P_IOB_Data;
data_in&=0x00ff;
data_in|=0x0300;
*P_IOB_Data=data_in;
OSTimeDly(30);
data_in=*P_IOB_Data;
data_in&=0x00ff;
data_in|=0x0100;
*P_IOB_Data=data_in;
OSTimeDly(30);
*P_Watchdog_Clear=1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -