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

📄 app.c

📁 DSPic33FJ64GP206单片机的应用
💻 C
字号:
/*
*********************************************************************************************************
*                                               uC/OS-II
*                                         The Real-Time Kernel
*
*                               (c) Copyright 2006, Micrium, Weston, FL
*                                          All Rights Reserved
*
*
*                                      Microchip Application Code
*
* File : APP.C
* By   : Eric Shufo
*********************************************************************************************************
*/

#include "includes.h"

OS_STK        AppStartTaskStk[APP_TASK_START_STK_SIZE];
OS_STK        LEDTaskStk[120];
OS_STK        KEYTaskStk[120];
OS_STK        TEMTaskStk[120];
OS_STK 		  UART1TaskStk[100];
//=======================================//
static  void  AppStartTask(void *pdata);
static  void  AppsLEDTask(void *pdata);
static  void  KeydetectorTask(void *pdata);	
static  void  TemperatureTask(void *pdata);	
static  void  AppsUSART1Task(void *pdata);
//=====================================//
INT16S  main (void)
{
    OSInit();                                                          
    OSTaskCreate(AppStartTask,(void *)0,(OS_STK *)&AppStartTaskStk[0], 4);
    OSTaskCreate(AppsLEDTask,(void *)0,(OS_STK *)&LEDTaskStk[0], 3);	
    OSTaskCreate(KeydetectorTask ,(void *)0,(OS_STK *)&KEYTaskStk[0], 2);	
    OSTaskCreate(TemperatureTask ,(void *)0,(OS_STK *)&TEMTaskStk[0], 1);	
    OSTaskCreate(AppsUSART1Task ,(void *)0, (OS_STK *)&UART1TaskStk[0], 0);
    OSStart();                                                                                                                
}
//================prio=4==========================//
static  void  AppStartTask (void *pdata)
{                                        
     for(;;) 
	{                                                     
    	OSTimeDly(1);
	}
}
//==============prio=3====================//
void AppsLEDTask(void *pdata)
{
    for(;;)
    {
		//LATBbits.LATB1=~LATBbits.LATB1;
        OSTimeDly(1);
    }
}
//========================================//

#if (uC_PROBE_OS_PLUGIN > 0)
static  void  AppProbeCallback (void)
{
}
#endif

//======================================//

#if (OS_APP_HOOKS_EN > 0)
void  App_TaskCreateHook (OS_TCB *ptcb)
{
#if (uC_PROBE_OS_PLUGIN > 0) && (OS_PROBE_HOOKS_EN > 0)
    OSProbe_TaskCreateHook(ptcb);
#else
    (void)ptcb;
#endif
}

//=======================================//

void  App_TaskDelHook (OS_TCB *ptcb)
{
    (void)ptcb;
}

//==================================//

#if OS_VERSION >= 251
void  App_TaskIdleHook (void)
{
}
#endif

//=========================================//

void  App_TaskStatHook (void)
{
}

//========================================//

#if OS_TASK_SW_HOOK_EN > 0
void  App_TaskSwHook (void)
{
#if (uC_PROBE_OS_PLUGIN > 0) && (OS_PROBE_HOOKS_EN > 0)
    OSProbe_TaskSwHook();
#endif
}
#endif

//========================================//

#if OS_VERSION >= 204
void  App_TCBInitHook (OS_TCB *ptcb)
{
    (void)ptcb;
}
#endif

//=======================================//

#if OS_TIME_TICK_HOOK_EN > 0
void  App_TimeTickHook (void)
{
#if (uC_PROBE_OS_PLUGIN > 0) && (OS_PROBE_HOOKS_EN > 0)
    OSProbe_TickHook();
#endif
}
#endif

#endif 


//==============prio=2======================//
static void KeydetectorTask( void *pdata )
{
	//unsigned char cBuffer[ 32 ]="S2 KEY is pressed now !     \n\r";
	//TRISFbits.TRISF0=0;
	for( ;; )
	{
		OSTimeDly( 1 );
	}
}

/**********************************************************************************/
// Send the temperature data to UART port / 500ms
// flash the temperature indicator LED (RB3)
/*******************prio=1********************************************************/
static void TemperatureTask(void *pvParameters)
{

	//unsigned char temp;
	//unsigned char cBuffer1[ 32 ]="Current temperature is :    \n\r"; 

	for( ;; )
	{
		OSTimeDly( 1 );
	}	
}	
//===============prio=0===========================//
static void AppsUSART1Task( void *pdata )
{
	BSP_Init();
	OSStatInit();
	for( ;; )
	{
		OSTimeDly(1);		
	}
}

⌨️ 快捷键说明

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