main.c

来自「MicroChip等单片机开发的专业RTOS,源代码」· C语言 代码 · 共 79 行

C
79
字号
#define OS_MAIN
#include <jacos.h>
#include "\jacos\prim\prim_io.h"

OST_TASK  task1;
OST_TASK  task2;
OST_TASK  task3;

OST_EVENT  event1;

unsigned char counter;
unsigned char st1 = 'A';
unsigned char st2 = 'B';

__task void T_1( void )
{
  OST_ERR_MSG y;
  while(1) {
    counter++;
    OS_Post_MsgR(&event1,(OST_MSG_P)&st1,y );
    if (y) {
      counter = 0;
    }
    OS_Cooperate();
    counter++;
  }
}

__task void T_2( void )
{
  while(1) {
    counter++;
    OS_Cooperate();
    counter++;    
  }
}

__task void T_3( void )
{
  unsigned char *msg;
  while(1) {
    counter++;
    OS_Wait_Msg(&event1,msg);
    if (*msg == 'B') {
      counter = 0;
    } else if (*msg == 'A') {
      counter = 1;
    } else {
      counter--;
    }
  }
}

void main(void)
{
  OS_Init();
  OS_Task_Create(T_1,&task1);
  OS_Task_Create(T_2,&task2);
  OS_Task_Create(T_3,&task3);

  OS_Msg_Create(&event1,(void*) 0);

  #include "\jacos\prim\prim_tmr.c"

  while(1) {
    OS_Scheduler();
  }
}

//__interrupt void intr(void)
#include "\jacos\prim\prim_isr.c"
{
  OS_Timer_Tick_Set();
  if (OS_Post_MsgI(&event1,(OST_MSG_P)&st2) == OS_ERROR) {
    counter--;
  }
}

⌨️ 快捷键说明

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