📄 abc.cpp
字号:
#include <stdio.h>
#include <dos.h>
#include "time.h"
#include "conio.h"
#include <stdio.h>
#include <stdlib.h>
typedef int S32;
typedef unsigned int U32;
typedef short S16;
typedef unsigned short U14;
typedef char S8;
typedef unsigned char U8;
#define MAXTSKNUM 3
typedef struct {
U32 t0;
U32 wait;
} aa;
aa TaskDly[MAXTSKNUM];
void init (void)
{
U32 i;
for (i=0;i<MAXTSKNUM;i++)
{
TaskDly[i].t0=0;
TaskDly[i].wait=0;
}
}
U32 curtsk;
void dly_tsk(U32 k)
{
TaskDly[curtsk].t0=0;
TaskDly[curtsk].wait=k;
}
U32 juge(U32 k)
{
if(TaskDly[curtsk].wait!=0)
TaskDly[curtsk].t0++;
if(TaskDly[curtsk].t0==0&&TaskDly[curtsk].wait==0)
return 1;
else if(TaskDly[curtsk].t0==TaskDly[curtsk].wait)
{ TaskDly[curtsk].t0=TaskDly[curtsk].wait=0;
return 1;
}
else return 0;
}
//S32 (*TaskN[MAXTSKNUM])(S32);
S32 cycletsk(S32)
{
////////Add you code here /////////
printf("I'm cycletsk. delay 500ms\n");
dly_tsk(500);
///////////////////////////////////
return 0;
}
S32 taskA(S32)
{
printf("I'm Task A running!!\n");
dly_tsk(1000);
return 0;
}
S32 taskB(S32)
{
printf("I'm Task B running!!\n");
dly_tsk(2000);
return 0;
}
S32 (*TaskN[MAXTSKNUM])(S32)={
cycletsk,
taskA,
taskB
};
//TaskN[MAXTSKNUM]={
// taskA,
//};
U32 SYSCLK=0;
int main(int argc, char* argv[])
{
int i;
//TaskN[0](0);
//TaskN[1](0);
init();
while(1)
{
for(curtsk=0;curtsk<MAXTSKNUM;curtsk++)
{
if(juge(curtsk))
TaskN[curtsk](0);
}
delay(1);
}
printf("hello!!\n");
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -