app.docx
- 文档编号:24349553
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:13
- 大小:16.32KB
app.docx
《app.docx》由会员分享,可在线阅读,更多相关《app.docx(13页珍藏版)》请在冰豆网上搜索。
app
//#include
#include"..\APP\includes.h"
/*
*********************************************************************************************************
*LOCALDEFINES
*********************************************************************************************************
*/
/*
*********************************************************************************************************
*LOCALGLOBALVARIABLES
*********************************************************************************************************
*/
staticOS_STKApp_TaskStartStk[APP_TASK_START_STK_SIZE];
//staticOS_STKApp_TaskLCDStk[APP_TASK_LCD_STK_SIZE];
//staticOS_STKApp_TaskKbdStk[APP_TASK_KBD_STK_SIZE];
//staticOS_STKApp_TaskJoystickStk[APP_TASK_Joystick_STK_SIZE];
//staticOS_EVENT*InfoSem;
//staticOS_EVENT*Disp_Box;
//staticchar*dp;
/*
*********************************************************************************************************
*LOCALFUNCTIONPROTOTYPES
*********************************************************************************************************
*/
staticvoidApp_TaskCreate(void);
staticvoidApp_DispScr_SignOn(void);
staticvoidApp_TaskStart(void*p_arg);
//staticvoidApp_TaskLCD(void*p_arg);
//staticvoidApp_TaskKbd(void*p_arg);
//staticvoidApp_TaskJoystick(void*p_arg);
/*
*********************************************************************************************************
*main()
*
*Description:
ThisisthestandardentrypointforCcode.Itisassumedthatyourcodewillcall
*main()onceyouhaveperformedallnecessaryinitialization.
*
*Argument:
none.
*
*Return:
none.
*********************************************************************************************************
*/
intmain(void)
{
CPU_INT08Uos_err;
//BSP_IntDisAll();/*Disableallintsuntilwearereadytoacceptthem.*/
CPU_IntDis();
OSInit();/*Initialize"uC/OS-II,TheReal-TimeKernel".*/
BSP_Init();/*InitializeBSPfunctions.*/
App_DispScr_SignOn();
printf("OSInitOK!
\r\n");
os_err=OSTaskCreate((void(*)(void*))App_TaskStart,
/*Createthestarttask.*/
(void*)0,
(OS_STK*)&App_TaskStartStk[APP_TASK_START_STK_SIZE-1],
(INT8U)APP_TASK_START_PRIO);
printf("CreatApp_TaskStart!
\r\n");
#if(OS_TASK_NAME_SIZE>=11)
OSTaskNameSet(APP_TASK_START_PRIO,(CPU_INT08U*)"StartTask",&os_err);
#endif
//InfoSem=OSSemCreate(0);
//Disp_Box=OSMboxCreate((void*)0);
OSTimeSet(0);
OSStart();/*Startmultitasking(i.e.givecontroltouC/OS-II).*/
return(0);
}
/*
*********************************************************************************************************
*App_TaskStart()
*
*Description:
Thestartuptask.TheuC/OS-IItickershouldonlybeinitializeoncemultitaskingstarts.
*
*Argument:
p_argArgumentpassedto'App_TaskStart()'by'OSTaskCreate()'.
*
*Return:
none.
*
*Caller:
Thisisatask.
*
*Note:
none.
*********************************************************************************************************
*/
staticvoidApp_TaskStart(void*p_arg)
{
CPU_INT32Ui;
CPU_INT32Uj;
//CPU_INT32Udly;
(void)p_arg;
OS_CPU_SysTickInit();/*InitializetheSysTick.*/
#if(OS_TASK_STAT_EN>0)
OSStatInit();/*DetermineCPUcapacity.*/
#endif
//App_TaskCreate();
while(DEF_TRUE)
{
LED_Green_ON();
OSTimeDlyHMSM(0,0,0,100);
LED_Green_OFF();
OSTimeDlyHMSM(0,0,0,100);
App_DispScr_SignOn();
}
}
/*
*********************************************************************************************************
*App_TaskCreate()
*
*Description:
Createtheapplicationtasks.
*
*Argument:
none.
*
*Return:
none.
*
*Caller:
App_TaskStart().
*
*Note:
none.
*********************************************************************************************************
*/
staticvoidApp_TaskCreate(void)
{
CPU_INT08Uos_err;
//os_err=OSTaskCreate((void(*)(void*))App_TaskLCD,(void*)0,
//(OS_STK*)&App_TaskLCDStk[APP_TASK_LCD_STK_SIZE-1],
//(INT8U)APP_TASK_LCD_PRIO);
//printf("CreatApp_TaskLCD!
\r\n");
//#if(OS_TASK_NAME_SIZE>=9)
//OSTaskNameSet(APP_TASK_LCD_PRIO,"LCD",&os_err);
//#endif
//os_err=OSTaskCreate((void(*)(void*))App_TaskKbd,(void*)0,
//(OS_STK*)&App_TaskKbdStk[APP_TASK_KBD_STK_SIZE-1],
//(INT8U)APP_TASK_KBD_PRIO);
//printf("CreatApp_TaskKbd!
\r\n");
//#if(OS_TASK_NAME_SIZE>=9)
//OSTaskNameSet(APP_TASK_KBD_PRIO,"KeyBoard",&os_err);
//#endif
//os_err=OSTaskCreate((void(*)(void*))
//App_TaskJoystick,(void*)
//0,
//(OS_STK*)&App_TaskJoystickStk[APP_TASK_Joystick_STK_SIZE-1],
//(INT8U)
//APP_TASK_Joystick_PRIO);
//printf("CreatApp_TaskJoystick!
\r\n");
//#if(OS_TASK_NAME_SIZE>=9)
//OSTaskNameSet(APP_TASK_Joystick_PRIO,"Joystick",&os_err);
//#endif
}
/*
*********************************************************************************************************
*App_DispScr_SignOn()
*
*Description:
DisplayuC/OS-IIsysteminformationontheUSART.
*
*Argument:
none.
*
*Return:
none.
*
*Caller:
App_TaskKbd().
*
*Note:
none.
*********************************************************************************************************
*/
staticvoidApp_DispScr_SignOn(void)
{
printf("\r\nMicriumuC/OS-II\r\n");
printf("STSTM32(Cortex-M3)\r\n\r\n");
printf("uC/OS-II:
V%ld.%ld%ld\r\n",OSVersion()/100,
(OSVersion()%100)/10,(OSVersion()%10));
printf("TickRate:
%ld\r\n",OS_TICKS_PER_SEC);
printf("CPUUsage:
%ld%\r\n",OSCPUUsage);
printf("CPUSpeed:
%ldMHz\r\n",BSP_CPU_ClkFreq()/1000000L);
printf("#Ticks:
%ld\r\n",OSTime);
printf("#CtxSw:
%ld\r\n\r\n",OSCtxSwCtr);
}
/*
*********************************************************************************************************
*********************************************************************************************************
*uC/OS-IIAPPHOOKS
*********************************************************************************************************
*********************************************************************************************************
*/
#if(OS_APP_HOOKS_EN>0)
/*
*********************************************************************************************************
*TASKCREATIONHOOK(APPLICATION)
*
*Description:
Thisfunctioniscalledwhenataskiscreated.
*
*Argument:
ptcbisapointertothetaskcontrolblockofthetaskbeingcreated.
*
*Note:
(1)Interruptsaredisabledduringthiscall.
*********************************************************************************************************
*/
voidApp_TaskCreateHook(OS_TCB*ptcb)
{
}
/*
*********************************************************************************************************
*TASKDELETIONHOOK(APPLICATION)
*
*Description:
Thisfunctioniscalledwhenataskisdeleted.
*
*Argument:
ptcbisapointertothetaskcontrolblockofthetaskbeingdeleted.
*
*Note:
(1)Interruptsaredisabledduringthiscall.
*********************************************************************************************************
*/
voidApp_TaskDelHook(OS_TCB*ptcb)
{
(void)ptcb;
}
/*
*********************************************************************************************************
*IDLETASKHOOK(APPLICATION)
*
*Description:
ThisfunctioniscalledbyOSTaskIdleHook(),whichiscalledbytheidletask.Thishook
*hasbeenaddedtoallowyoutodosuchthingsasSTOPtheCPUtoconservepower.
*
*Argument:
none.
*
*Note:
(1)Interruptsareenabledduringthiscall.
*********************************************************************************************************
*/
#ifOS_VERSION>=251
voidApp_TaskIdleHook(void)
{
}
#endif
/*
*********************************************************************************************************
*STATISTICTASKHOOK(APPLICATION)
*
*Description:
ThisfunctioniscalledbyOSTaskStatHook(),whichiscalledeverysecondbyuC/OS-II's
*statisticstask.Thisallowsyourapplicationtoaddfunctionalitytothestatisticstask.
*
*Argument:
none.
*********************************************************************************************************
*/
voidApp_TaskStatHook(void)
{
}
/*
*********************************************************************************************************
*TASKSWITCHHOOK(APPLICATION)
*
*Description:
Thisfunctioniscalledwhenataskswitchisperformed.Thisallowsyoutoperformother
*operationsduringacontextswitch.
*
*Argument:
none.
*
*Note:
1Interruptsaredisabledduringthiscall.
*
*2Itisassumedthattheglobalpointer'OSTCBHighRdy'pointstotheTCBofthetaskthat
*willbe'switchedin'(i.e.thehighestprioritytask)and,'OSTCBCur'pointstothe
*taskbeingswitchedout(i.e.thepreemptedtask).
*********************************************************************************************************
*/
#ifOS_TASK_SW_HOOK_EN>0
voidApp_TaskSwHook(void)
{
}
#endif
/*
*********************************************************************************************************
*OS_TCBInit()HOOK(APPLICATION)
*
*Description:
ThisfunctioniscalledbyOSTCBInitHook(),whichiscalledbyOS_TCBInit()aftersetting
*upmostoftheTCB.
*
*Argument:
ptcbisapointertotheTCBofthetaskbeingcreated.
*
*Note:
(1)InterruptsmayormaynotbeENABLEDduringthiscall.
*********************************************************************************************************
*/
#ifOS_VERSION>=204
voidApp_TCBInitHook(OS_TCB*ptcb)
{
(void)ptcb;
}
#endif
#endif
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- app