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

📄 sample.c

📁 ucos ii 在linux移植说明 包括详细文档
💻 C
字号:
/*
*********************************************************************************************************
*                                               sample.c
*
* Description:	This sample program uses the ucos linux port to start 5 simple tasks.
*
* Author: Philip Mitchell*
*********************************************************************************************************
*/#include <stdio.h>#include <stdlib.h>#include "ucos_ii.h"/* Function common to all tasks */void MyTask( void *p_arg ){	char* sTaskName = (char*)p_arg;#if OS_CRITICAL_METHOD == 3 
    OS_CPU_SR     cpu_sr = 0;
#endif	while(1)	{		/* printf uses mutex to get terminal access, therefore must enter critical section */		OS_ENTER_CRITICAL();		printf( "Name: %s\n", sTaskName );		OS_EXIT_CRITICAL();		/* Delay so other tasks may execute. */		OSTimeDly(1);	}/* while */}int main (void){	/* pthreads allocates its own memory for task stacks. This UCOS linux port needs a minimum stack size		in order to pass the function information within the port. */	INT8U Stk1[ OSMinStkSize() ];	INT8U Stk2[ OSMinStkSize() ];	INT8U Stk3[ OSMinStkSize() ];	INT8U Stk4[ OSMinStkSize() ];	INT8U Stk5[ OSMinStkSize() ];	char sTask1[] = "Task 1";	char sTask2[] = "Task 2";	char sTask3[] = "Task 3";	char sTask4[] = "Task 4";	char sTask5[] = "Task 5";	OSInit();	OSTaskCreate( MyTask, sTask1, (void*)Stk1, 4 );	OSTaskCreate( MyTask, sTask2, (void*)Stk2, 5 );	OSTaskCreate( MyTask, sTask3, (void*)Stk3, 6 );	OSTaskCreate( MyTask, sTask4, (void*)Stk4, 7 );	OSTaskCreate( MyTask, sTask5, (void*)Stk5, 8 );    OSStart();}

⌨️ 快捷键说明

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