⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 MicroChip等单片机开发的专业RTOS,源代码
💻 C
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -