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

📄 main.c

📁 可以在ADS下跑的工程有很多,但在Keil下面的ucOS工程还没有.在这里,提供一个可以在Keil环境下跑起来的基于三星的44b0的ucOS工程,可以在RAM中调试.
💻 C
字号:
#include	"..\includes.h"               /* uC/OS interface */
//#include "..\inc\Touch.h"

/* allocate memory for tasks' stacks */
#ifdef SEMIHOSTED
#define STACKSIZE       (SEMIHOSTED_STACK_NEEDS+64)
#else
#define	STACKSIZE	0x8ff
#endif


//extern struct TOUCHPOS Touchpos;
extern int ScreenFlag;

extern void Touch_check(void);
extern void SampleProcess(void);
extern void Show_corporationname(U8 LcdBuffer);
extern void Show_Screen(U8 scrnum);
extern void Process_Touch(void);

unsigned int Stack1[STACKSIZE]={0};
unsigned int Stack2[STACKSIZE]={0};
unsigned int Stack3[STACKSIZE]={0};
unsigned int Stack4[STACKSIZE]={0};

OS_EVENT *Sem;
OS_EVENT *TouchBox;

/* semaphores event control blocks */

/*
 * Task running at the highest priority.
 */
void Task1(void *i)
{
    for (;;)
    {
	   OSTimeDly(8000);
    }
}

void Task2(void *i)
{
//    INT8U err;
    for (;;)
    {
  	   Uart_Printf("1st task\t");
	   OSTimeDly(2000);
    }
}

void Task3(void *i)
{

	for(;;)
	{
	   Uart_Printf("2nd task\t");
	   OSTimeDly(1500);
	}
}

void Task4(void *i)
{
    for (;;)
    {
	    OSTimeDly(90);
    }
}


/*
 * Main function.
 */
void Main(void)
{


//    char Id1 = '1';
    char Id2 = '2';
    char Id3 = '3';
    char Id4 = '4';

   //PLL 的计算参考 光盘 \电路资料\芯片资料\核心板资料\S3C44B0X\05-CLOCK.PDF
    ChangePllValue(0X43,0X3,0X1);   //小板8M晶振,OUT 60M; 冰河电子 ARM7 核心板

    /* do target (uHAL based ARM system) initialisation */
    ARMTargetInit();
    //Show_corporationname(0);
    //Show_corporationname(240);
    /* needed by uC/OS */
    OSInit();

    OSTimeSet(0);

    /*
     * create the semaphores
     */
   Sem = OSSemCreate(0);
   TouchBox = OSMboxCreate((void *)0);

    /*
     * create the tasks in uC/OS and assign decreasing
     * priority to them
     */
//    OSTaskCreate(Task1, (void *)&Id1, (void *)&Stack1[STACKSIZE - 1], 1);
    OSTaskCreate(Task2, (void *)&Id2, (void *)&Stack2[STACKSIZE - 1], 2);
    OSTaskCreate(Task3, (void *)&Id3, (void *)&Stack3[STACKSIZE - 1], 3);
    OSTaskCreate(Task4, (void *)&Id4, (void *)&Stack4[STACKSIZE - 1], 4);

    /* Start the (uHAL based ARM system) system running */
    ARMTargetStart();

    /* start the game */
    OSStart();

    /* never reached */
}                               /* main */
/*void Main1(void)
{       ARMTargetInit();
     ARMTargetStart();
     while(1)
	{Delay(10);
 rPDATC &=0xfffd;
 rPDATC &=0xfffc;
 rPDATC |=0x1;
 	 ExtInt5();}
}*/

⌨️ 快捷键说明

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