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

📄 ext3.c

📁 单片机C语言参考程序
💻 C
字号:
/*********************************************************************************************************
**				                               Small RTOS(51)
**                                   The Real-Time Kernel(For Keil c51)
**
**                                  (c) Copyright 2002-2003, chenmingji
**                                           All Rights Reserved
**
**                                                  V1.20.0
**
**
**--------------文件信息--------------------------------------------------------------------------------
**文   件   名: ext3.c
**创   建   人: 陈明计
**最后修改日期: 2003年8月3日
**描        述: ext3源代码。
**
**--------------历史版本信息----------------------------------------------------------------------------
** 创建人: 陈明计
** 版  本: V0.50
** 日 期: 2002年2月22日
** 描 述: 原始版本
**
**------------------------------------------------------------------------------------------------------
** 修改人: 陈明计
** 版  本: V1.11.0
** 日 期: 2003年12月2日
** 描 述: 删除TaskC代码
**
**------------------------------------------------------------------------------------------------------
** 修改人: 陈明计
** 版  本: V1.12.0
** 日 期: 2003年12月30日
** 描 述: 无变化
**
**------------------------------------------------------------------------------------------------------
** 修改人: 陈明计
** 版  本: V1.20.0
** 日 期: 2003年8月3日
** 描 述: 根据新版本要求修改
**
**--------------当前版本修订------------------------------------------------------------------------------
** 修改人: 
** 日 期:
** 描 述:
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#include "config.h"

void TaskA(void);
void TaskB(void);

uint32 StackS[11][64];

        void NotUse(void)
{
}
                            int main(void)
{
    OSInit();

	PC_DispClrScr(DISP_FGND_WHITE + DISP_BGND_BLACK); 
    PC_DispStr(15,  0, "Small RTOS(51), the Real-Time Kernel(For LPC2104)", DISP_FGND_WHITE + DISP_BGND_RED + DISP_BLINK);
    PC_DispStr(35,  1, "ChenMingJi", DISP_FGND_WHITE);
    PC_DispStr(35,  3, "EXAMPLE #3", DISP_FGND_WHITE);

    TargetInit();

    OSTaskCreate(TaskA, StackS[0] + 64 - 1, 0);
    OSTaskCreate(TaskB, StackS[1] + 64 - 1, 1);
    OSTaskCreate(TaskB, StackS[2] + 64 - 1, 2);
    OSTaskCreate(TaskB, StackS[3] + 64 - 1, 3);
    OSTaskCreate(TaskB, StackS[4] + 64 - 1, 4);
    OSTaskCreate(TaskB, StackS[5] + 64 - 1, 5);
    OSTaskCreate(TaskB, StackS[6] + 64 - 1, 6);
    OSTaskCreate(TaskB, StackS[7] + 64 - 1, 7);
    OSTaskCreate(TaskB, StackS[8] + 64 - 1, 8);
    OSTaskCreate(TaskB, StackS[9] + 64 - 1, 9);

    while(1)
    {
        NotUse();
        PCON = PCON | 0x01;                     /* CPU进入休眠状态 */
    }
    return 0;
}

uint8 ShowChar;


                            void TaskA(void)
{
    uint8 x,y;
    
    while (1)
    {
        OSWait(K_SIG,0);
        x = random(80);
        y = random(20);
        PC_DispChar(x, y + 5, ShowChar, DISP_FGND_LIGHT_GRAY);    
    }    
}


                            void TaskB(void)
{
    while (1)
    {
        ShowChar = OSRunningTaskID()+'0';
        OSSendSignal(0);
        OSWait(K_TMO,1);
    }    
}
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

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