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

📄 ex1.c

📁 UCOSII移植到430芯片中使用
💻 C
字号:
/******************************************************************************/
/*                                                                            */
/*                   EX1.C: 例子程序                                          */       
/*                   仿照RtxTiny2 Ex1                                         */
/*                                                                            */
/******************************************************************************/

#include <includes.h>                 /* UCOSII 主头文件     */

void job0(void *yydata);              /* 定义3个任务         */
void job1(void *yydata);
void job2(void *yydata);

OS_STK TaskStk[3][MaxStkSize];        /* 定义任务堆栈        */

long counter0;                        /* 任务0的计数器                   */
long counter1;                        /* 任务1的计数器                   */
long counter2;                        /* 任务2的计数器                   */

void main(void)
{
  OSInit();
  InitTimer0();
  OSTaskCreate(job0, (void *)0, (void *)&TaskStk[0][0],5);/* 建立任务0 */ 
  OSStart();                        /* 开始多任务调度 */
}


/******************************************************************************/
/*       任务0 'job0':                                                        */
/******************************************************************************/
void job0 (void *yydata)  {
  yydata = yydata;                    /* 避免编译器警告 */                 
  OSTaskCreate(job1, (void *)0, (void *)&TaskStk[1][0], 6); /* 建立任务1 */          
  OSTaskCreate(job2, (void *)0, (void *)&TaskStk[2][0], 7); /* 建立任务2 */        
  while (1)  {                        /* 死循环                          */
    counter0++;                       /* counter0 加一                   */
    OSTimeDly(2);                     /* 等待2个Tick                     */
  }
}

/******************************************************************************/
/*    任务1 'job1':                                                           */
/******************************************************************************/
void job1 (void *yydata)  {
  long b;
  yydata = yydata;                    /* 避免编译器警告                 */
  while (1)  {                        /* 死循环                         */
    counter1++;                       /* counter1 加一                  */
    b++;
    OSTimeDly(4);                     /* 等待4个Tick                    */
  }
}

/******************************************************************************/
/*    任务 'job2':                                                            */
/******************************************************************************/
void job2 (void *yydata)  {
  long c;
  yydata = yydata;                    /* 避免编译器警告                 */ 
  while (1)  {                        /* 死循环                         */
    counter2++;                       /* counter2 加一                  */
    c++;
    OSTimeDly(6);                     /* 等待6个Tick                    */
  }
}

⌨️ 快捷键说明

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