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

📄 main.c

📁 在纯DOS下运行的TurboC3_ucos2_ucgui bug改进版本
💻 C
字号:
#include "headers.h"
#include "gui.h"
#include <graphics.h>

#define DEMOCHOICE 6

#if DEMOCHOICE==1
  #include "WMRedraw.c"
#elif DEMOCHOICE==2
  #include "DIMsgBox.c"
#elif DEMOCHOICE==3
  #include "progbar.h"
  #include "MProgbar.c"
#elif DEMOCHOICE==4
  #include "button.h"
  #include "PhonButt.c"
#elif DEMOCHOICE==5
  #include "DIALOG.h"
  #include "DRadio.c"
#elif DEMOCHOICE==6
  #include <stddef.h>
  #include "DIALOG.h"
  #include "DIALOALL.C"
#endif

void DrawInit (void)
{
 int driver=DETECT,graphmode,ErrorCode;
// registerfarbgidriver(EGAVGA_driver_far);
 initgraph (&driver,&graphmode,"");
 ErrorCode = graphresult();		/* Read result of initialization*/
  if( ErrorCode != grOk ){		/* Error occured during init	*/
    printf(" Graphics System Error: %s\n", grapherrormsg( ErrorCode ) );
    exit( 1 );
  }
}

void main(void) {
  OpenHZ ("uC_GUI\\gui\\Chinese\\hzk16");
  DrawInit ();

  OSInit();                                              /* Initialize uC/OS-II                      */
  PC_DOSSaveReturn();                                    /* Save environment to return to DOS        */
  PC_VectSet(uCOS, OSCtxSw);                             /* Install uC/OS-II's context switch vector */

  OS_ENTER_CRITICAL();
  PC_VectSet(0x08, OSTickISR);                           /* Install uC/OS-II's clock tick ISR        */
  PC_SetTickRate(OS_TICKS_PER_SEC);                      /* Reprogram tick rate                      */
  OS_EXIT_CRITICAL();

#if DEMOCHOICE==0
  OSTaskCreateExt(TestTask1,(void *)0,&TestTask1Stk[TASK_ONE_STACKSIZE-1],1,1,&TestTask1Stk[0],TASK_ONE_STACKSIZE,(void *)0,OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
#elif DEMOCHOICE==1
  OSTaskCreateExt(DemoRedraw,(void *)0,&TestTask1Stk[TASK_ONE_STACKSIZE-1],1,1,&TestTask1Stk[0],TASK_ONE_STACKSIZE,(void *)0,OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
#elif DEMOCHOICE==2
  OSTaskCreateExt(DemoMsgBox,(void *)0,&TestTask1Stk[TASK_ONE_STACKSIZE-1],1,1,&TestTask1Stk[0],TASK_ONE_STACKSIZE,(void *)0,OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
#elif DEMOCHOICE==3
  OSTaskCreateExt(DemoProgBar,(void *)0,&TestTask1Stk[TASK_ONE_STACKSIZE-1],1,1,&TestTask1Stk[0],TASK_ONE_STACKSIZE,(void *)0,OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
#elif DEMOCHOICE==4
  OSTaskCreateExt(DemoButton,(void *)0,&TestTask1Stk[TASK_ONE_STACKSIZE-1],1,1,&TestTask1Stk[0],TASK_ONE_STACKSIZE,(void *)0,OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
#elif DEMOCHOICE==5
  OSTaskCreateExt(DemoRadio,(void *)0,&TestTask1Stk[TASK_ONE_STACKSIZE-1],1,1,&TestTask1Stk[0],TASK_ONE_STACKSIZE,(void *)0,OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
#elif DEMOCHOICE==6
  OSTaskCreateExt(DemoDialogAll,(void *)0,&TestTask1Stk[TASK_ONE_STACKSIZE-1],1,1,&TestTask1Stk[0],TASK_ONE_STACKSIZE,(void *)0,OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
#endif

  OSTaskCreateExt(TestTask2,(void *)0,&TestTask2Stk[TASK_TWO_STACKSIZE-1],2,2,&TestTask2Stk[0],TASK_TWO_STACKSIZE,(void *)0,OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
  //OSTaskCreateExt(TestTask3,(void *)0,&TestTask3Stk[TASK_THR_STACKSIZE-1],3,3,&TestTask3Stk[0],TASK_THR_STACKSIZE,(void *)0,OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);

  OSStart();
  while (1);
}

⌨️ 快捷键说明

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