📄 app.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 + -