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

📄 ping.c

📁 UCSO在三星S3C44B0X CPU上的移植。ejoy it
💻 C
字号:
/* * File:        ping.c * * uC/OS Real-time multitasking kernel for the ARM processor. * * This program is an example of using semaphore to * implement task rendevous. * * Created by Marco Graziano (marcog@crl.com). * */#include	"ucos.h" 	/* uC/OS interface */#include	"pid.h"/* allocate memory for tasks' stacks */#define	STACKSIZE	64uint	Stack1[STACKSIZE];uint	Stack2[STACKSIZE];/* semaphores event control blocks */OS_EVENT *Sem1;OS_EVENT *Sem2;/* * Task running at the highest priority.  */voidTask1(void *i){	uint	Reply;	for (;;) {		/* wait for the semaphore  */		OSSemPend(Sem2, 0, &Reply);		/* print task's id */		PutByte('1'); 		/* signal the semaphore */		OSSemPost(Sem1);	}}voidTask2(void *i){	uint	Reply;	for (;;) {		/* wait for the semaphore */		OSSemPend(Sem1, 0, &Reply);		/* print task's id */		PutByte('2'); 		/* signal the semaphore */		OSSemPost(Sem2);	}}/* * Main function. */intmain(int argc, char **argv){	char	Id1 = '1';	char	Id2 = '2';	/* needed by uC/OS */	OSInit();	/* 	 * create the semaphores	 */	Sem1 = OSSemCreate(1);	Sem2 = OSSemCreate(1);	/* 	 * create the tasks in uC/OS and assign decreasing	 * priority to them 	 */	OSTaskCreate(Task1, (void *)&Id1, (void *)&Stack1[STACKSIZE - 1], 1);	OSTaskCreate(Task2, (void *)&Id2, (void *)&Stack2[STACKSIZE - 1], 2);	/* start the game */	OSStart();	/* never reached */} /* main */

⌨️ 快捷键说明

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