ucos_test.c

来自「IARSOURCECODE是基于LPC2478嵌入式软件IAR EWARM V4」· C语言 代码 · 共 91 行

C
91
字号
// System Head File
#include <stdarg.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>

// User Head File
#include "target.h"
#include "type.h"
#include "timer.h"
#include "irq.h"
#include "fio.h"
#include "rtc.h"
#include "uart0.h"

//uCos Head File
#include "ucos_ii.h"

extern   void EnableInterrupt(void) ;
extern   void DisableInterrupt( void ) ;

void TaskStart(void *p);
unsigned int TaskStart_stack[256];

void Task2(void *p);
unsigned int Task2_stack[256];

void Task3(void *p)  ;
unsigned int Task3_stack[256] ;

void main( void )
{

    TargetResetInit() ;
    UART0Init(9600);

    UART0_puts( "\r\nUCOS Start Running\r\n" ) ;

    OSInit();

    OSTaskCreate(TaskStart, (void *)0, (OS_STK *)&TaskStart_stack[256 - 1], 15);

    OSStart()  ;


}

void TaskStart(void *p)
{
      init_timer(0,1000) ;

      OSStatInit();

      OSTaskCreate(Task2, (void *)1, (OS_STK *)&Task2_stack[256 - 1], 20);
      OSTaskCreate(Task3, (void *)2 ,(OS_STK *)&Task3_stack[256-1], 22 ) ;

     for(;;)
     {
        UART0_puts( "Task1 Runing\r\n" ) ;
        OSTimeDly( 10 ) ;
     }
}


void Task2(void *p)
{
    for(;;)
    {
       UART0_puts( "Task2 Running\r\n") ;
       OSTimeDly( 20 ) ;
    }
}



void Task3( void *p )
{
   for( ;; )
   {
       UART0_puts( "Task3 Running\r\n" ) ;
       OSTimeDly( 30 ) ;
   }
}






⌨️ 快捷键说明

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