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

📄 main_entry.c

📁 lwip在ucos上的移植源码
💻 C
字号:
/*    *  hello.c *  this file implement start_kernel and irqhandler *  for Atmel AT91 operating system * *  Bugs report:     li ming  ( lmcs00@mails.tsinghua.edu.cn ) *  Last modified:   2003-02-02  * */ #include "skyeye_stdio.h"#include "includes.h"#include "at91_init.h"//yangye (OSTickISR -> OSISR)extern void OSISR(void);void Sleep(INT16U uSec);void Task1(void * pParam);void Task2(void * pParam);extern void  OSTimeTick(void);#define	N_TASKS			3	// Number of tasks#define	TASK_STK_SIZE	1024		// Stack size, in sizeof OS_STK, or int 32bitOS_STK	TaskStk[N_TASKS][TASK_STK_SIZE];	// Tasks stackschar s[200];char tmp[200];OS_EVENT *sem1;/* start_kernel entry */void start_kernel(void){	int i;	int	task_1 = 1;	int	task_2 = 2;	for(i=0;i<7;i++)		s[i] = 'a';	s[7] = '\n';	/* firstly, we should install irq mode handler, must call do_irq in any user's handler  */	install_irqhandler(OSISR);	//yangye	request_irq(5,OSTimeTick);	OSInit();		OSTaskCreate(Task1, &task_1, &TaskStk[0][TASK_STK_SIZE-1], 0);	OSTaskCreate(Task2, &task_2, &TaskStk[1][TASK_STK_SIZE-1], 1);		OSStart();}/* Task1 get_user_input */void Task1(void * pParam){	at91_init();	sem1 = OSSemCreate(0);	while (1)	{		skyeye_printf( "Task1 running... Please input a string:> " );		skyeye_gets(s);		OSSemPend(sem1,0,(void*)0);		skyeye_printf("aaaaaaaaaaa");	}}/* Task2 print_user_input */void Task2(void * pParam){		 	while(1)		{		skyeye_printf( "Task2 running... Your input string: \"%s\"\n", s );			OSSemPost(sem1);	}}/* call system delay function */void Sleep(INT16U uSec){	OSTimeDly((INT16U) (uSec) * 10);}

⌨️ 快捷键说明

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