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

📄 test.c

📁 针对UCOS的移植,对ARM7体系架构上的做移植.是一个很麻烦的问题,您需要的是修改一些底层的启动代码.
💻 C
📖 第 1 页 / 共 2 页
字号:
    EventQ1     = OSQCreate(&EventQTbl1[0], EVENT_Q_1_SIZE);
    OSEventNameSet(EventQ1, "Queue #1", &err);

    EventQ2     = OSQCreate(&EventQTbl2[0], EVENT_Q_2_SIZE);
    OSEventNameSet(EventQ2, "Queue #2", &err);
#endif

#if OS_MUTEX_EN > 0
    EventMutex1 = OSMutexCreate(MUTEX_PIP_1, &err);
    OSEventNameSet(EventMutex1, "Mutex #1", &err);

    EventMutex2 = OSMutexCreate(MUTEX_PIP_2, &err);
    OSEventNameSet(EventMutex2, "Mutex #2", &err);
#endif

#if OS_FLAG_EN > 0
    FlagGrp1    = OSFlagCreate(0x00FF, &err);
    OSFlagNameSet(FlagGrp1, "Flag #1", &err);

    FlagGrp2    = OSFlagCreate(0xFF00, &err);
    OSFlagNameSet(FlagGrp2, "Flag #2", &err);
#endif

#if OS_MEM_EN > 0
    MemPart1    = OSMemCreate(&MemPart1Tbl[0], MEM_BLKS_1, MEM_BLK_SIZE_1, &err);
    OSMemNameSet(MemPart1, "Partition #1", &err);

    MemPart2    = OSMemCreate(&MemPart2Tbl[0], MEM_BLKS_2, MEM_BLK_SIZE_2, &err);
    OSMemNameSet(MemPart2, "Partition #2", &err);
#endif
}

/*$PAGE*/
/*
*********************************************************************************************************
*                                             TASK #1
*********************************************************************************************************
*/

static void  AppTask1 (void *pdata)
{
    INT8U   err;
#if OS_MEM_EN > 0
    INT8U  *pblk1;
    INT8U  *pblk2;
    INT8U  *pblk3;
    INT8U  *pblk4;
    INT8U  *pblk5;
#endif


    pdata = pdata;
    while (TRUE) {
        AppTask1Ctr++;
#if OS_SEM_EN > 0
        OSSemPend(EventSem2, 0, &err);
		OSTimeDly(100);
		OSSemPost(EventSem2);
#endif
#if OS_MEM_EN > 0
        pblk1 = (INT8U *)OSMemGet(MemPart1, &err);
		OSTimeDly(OS_TICKS_PER_SEC);
        pblk2 = (INT8U *)OSMemGet(MemPart1, &err);
		OSTimeDly(OS_TICKS_PER_SEC);
        pblk3 = (INT8U *)OSMemGet(MemPart1, &err);
		OSTimeDly(OS_TICKS_PER_SEC);
        pblk4 = (INT8U *)OSMemGet(MemPart1, &err);
		OSTimeDly(OS_TICKS_PER_SEC);
        pblk5 = (INT8U *)OSMemGet(MemPart1, &err);
		OSTimeDly(OS_TICKS_PER_SEC);
		OSMemPut(MemPart1, (void *)pblk1);
		OSMemPut(MemPart1, (void *)pblk2);
		OSMemPut(MemPart1, (void *)pblk3);
		OSMemPut(MemPart1, (void *)pblk4);
		OSMemPut(MemPart1, (void *)pblk5);
#endif
		OSTimeDly(1);
    }
}
/*$PAGE*/
/*
*********************************************************************************************************
*                                             TASK #2
*********************************************************************************************************
*/

static void  AppTask2 (void *pdata)
{
    INT8U   err;
#if OS_MEM_EN > 0
    INT8U  *pblk1;
    INT8U  *pblk2;
    INT8U  *pblk3;
    INT8U  *pblk4;
    INT8U  *pblk5;
#endif


    pdata = pdata;
    while (TRUE) {
        AppTask2Ctr++;
#if OS_SEM_EN > 0
        OSSemPend(EventSem2, 0, &err);
		OSTimeDly(100);
		OSSemPost(EventSem2);
#endif
#if OS_MEM_EN > 0
        pblk1 = (INT8U *)OSMemGet(MemPart2, &err);
		OSTimeDly(OS_TICKS_PER_SEC);
        pblk2 = (INT8U *)OSMemGet(MemPart2, &err);
		OSTimeDly(OS_TICKS_PER_SEC);
        pblk3 = (INT8U *)OSMemGet(MemPart2, &err);
		OSTimeDly(OS_TICKS_PER_SEC);
        pblk4 = (INT8U *)OSMemGet(MemPart2, &err);
		OSTimeDly(OS_TICKS_PER_SEC);
        pblk5 = (INT8U *)OSMemGet(MemPart2, &err);
		OSTimeDly(OS_TICKS_PER_SEC);
		OSMemPut(MemPart2, (void *)pblk1);
		OSMemPut(MemPart2, (void *)pblk2);
		OSMemPut(MemPart2, (void *)pblk3);
		OSMemPut(MemPart2, (void *)pblk4);
		OSMemPut(MemPart2, (void *)pblk5);
#endif
		OSTimeDly(1);
    }
}
/*$PAGE*/
/*
*********************************************************************************************************
*                                             TASK #3
*********************************************************************************************************
*/

static void  AppTask3 (void *pdata)
{
    INT8U  err;


    pdata = pdata;
    while (TRUE) {
        AppTask3Ctr++;
#if OS_SEM_EN > 0
        OSSemPend(EventSem2, 0, &err);
		OSTimeDly(100);
		OSSemPost(EventSem2);
#endif
		OSTimeDly(1);
    }
}
/*$PAGE*/
/*
*********************************************************************************************************
*                                             TASK #4
*********************************************************************************************************
*/

static void  AppTask4 (void *pdata)
{
    pdata = pdata;
    while (TRUE) {
        AppTask4Ctr++;
#if OS_Q_EN > 0
		OSQPost(EventQ1, (void *)"Msg #1 to Q1");
		OSTimeDly(10);
		OSQPost(EventQ2, (void *)"Msg #2 to Q2");
#endif
		OSTimeDly(20);
    }
}
/*$PAGE*/
/*
*********************************************************************************************************
*                                             TASK #5
*********************************************************************************************************
*/

static void  AppTask5 (void *pdata)
{
    pdata = pdata;
    while (TRUE) {
        AppTask5Ctr++;
#if OS_Q_EN > 0
		OSQPost(EventQ1, (void *)"Msg #3 to Q1");
		OSTimeDly(20);
		OSQPost(EventQ2, (void *)"Msg #4 to Q2");
#endif
		OSTimeDly(40);
    }
}
/*$PAGE*/
/*
*********************************************************************************************************
*                                             TASK #6
*********************************************************************************************************
*/

static void  AppTask6 (void *pdata)
{
    INT8U   err;
	char   *pmsg;
	char    s[30];


    pdata = pdata;
    while (TRUE) {
        AppTask6Ctr++;
#if OS_Q_EN > 0
        pmsg = (char *)OSQPend(EventQ1, 0, &err);
		strcpy(s, pmsg);
#endif
		OSTimeDly(1);
    }
}
/*$PAGE*/
/*
*********************************************************************************************************
*                                             TASK #7
*********************************************************************************************************
*/

static void  AppTask7 (void *pdata)
{
    INT8U   err;
	char   *pmsg;
	char    s[30];


    pdata = pdata;
    while (TRUE) {
        AppTask7Ctr++;
#if OS_Q_EN > 0
        pmsg = (char *)OSQPend(EventQ2, 0, &err);
		strcpy(s, pmsg);
#endif
		OSTimeDly(1);
    }
}
/*$PAGE*/
/*
*********************************************************************************************************
*                                             TASK #8
*********************************************************************************************************
*/

static void  AppTask8 (void *pdata)
{
    INT8U  err;


    pdata = pdata;
    while (TRUE) {
        AppTask8Ctr++;
#if OS_FLAG_EN > 0
		OSFlagPost(FlagGrp1, 0x000F, OS_FLAG_SET, &err);
        OSTimeDly(100);
		OSFlagPost(FlagGrp1, 0x00F0, OS_FLAG_SET, &err);
        OSTimeDly(100);
		OSFlagPost(FlagGrp1, 0x0F00, OS_FLAG_SET, &err);
        OSTimeDly(100);
		OSFlagPost(FlagGrp1, 0xF000, OS_FLAG_SET, &err);
        OSTimeDly(100);
#endif
        OSTimeDly(1);
    }
}
/*$PAGE*/
/*
*********************************************************************************************************
*                                             TASK #9
*********************************************************************************************************
*/

static void  AppTask9 (void *pdata)
{
    INT8U  err;


    pdata = pdata;
    while (TRUE) {
        AppTask9Ctr++;
#if OS_FLAG_EN > 0
        OSFlagPend(FlagGrp1, 0x00FF, OS_FLAG_WAIT_SET_ALL + OS_FLAG_CONSUME, 100, &err);
#endif
        OSTimeDly(100);
    }
}
/*$PAGE*/
/*
*********************************************************************************************************
*                                             TASK #A
*********************************************************************************************************
*/

static void  AppTaskA (void *pdata)
{
    INT8U  err;


    pdata = pdata;
    while (TRUE) {
        AppTaskACtr++;
#if OS_FLAG_EN > 0
        OSFlagPend(FlagGrp1, 0xFF00, OS_FLAG_WAIT_SET_ALL + OS_FLAG_CONSUME, 100, &err);
#endif
        OSTimeDly(100);
    }
}
/*$PAGE*/
/*
*********************************************************************************************************
*                                             TASK #B
*********************************************************************************************************
*/

static void  AppTaskB (void *pdata)
{
    INT8U  err;


    pdata = pdata;
    while (TRUE) {
        AppTaskBCtr++;
#if OS_FLAG_EN > 0
        OSFlagPend(FlagGrp1, 0x0FF0, OS_FLAG_WAIT_SET_ALL + OS_FLAG_CONSUME, 100, &err);
#endif
        OSTimeDly(100);
    }
}
/*$PAGE*/
/*
*********************************************************************************************************
*                                             TASK #A
*********************************************************************************************************
*/

static void  AppTaskC (void *pdata)
{
    INT8U  err;


    pdata = pdata;
    while (TRUE) {
        AppTaskCCtr++;
#if OS_MUTEX_EN > 0
        OSMutexPend(EventMutex1, 0, &err);
		OSTimeDly(100);
		OSMutexPost(EventMutex1);
#endif
		OSTimeDly(1);
    }
}
/*$PAGE*/
/*
*********************************************************************************************************
*                                             TASK #D
*********************************************************************************************************
*/

static void  AppTaskD (void *pdata)
{
    INT8U  err;


    pdata = pdata;
    while (TRUE) {
        AppTaskDCtr++;
#if OS_MUTEX_EN > 0
        OSMutexPend(EventMutex1, 0, &err);
		OSTimeDly(100);
		OSMutexPost(EventMutex1);
#endif
		OSTimeDly(1);
    }
}
/*$PAGE*/
/*
*********************************************************************************************************
*                                             TASK #E
*********************************************************************************************************
*/

static void  AppTaskE (void *pdata)
{
    pdata = pdata;
    while (TRUE) {
        AppTaskECtr++;
#if OS_MBOX_EN > 0
        OSMboxPost(EventMbox1, (void *)"Msg #1");
		OSTimeDly(100);
        OSMboxPost(EventMbox1, (void *)"Msg #2");
		OSTimeDly(100);
        OSMboxPost(EventMbox1, (void *)"Msg #3");
		OSTimeDly(100);
#endif
		OSTimeDly(1);
    }
}

/*$PAGE*/
/*
*********************************************************************************************************
*                                             TASK #F
*********************************************************************************************************
*/

static void  AppTaskF (void *pdata)
{
    INT8U  err;
	char  *pmsg;
	char   s[30];


    pdata = pdata;
    while (TRUE) {
        AppTaskFCtr++;
#if OS_MBOX_EN > 0
        pmsg = (char *)OSMboxPend(EventMbox1, 0, &err);
		strcpy(s, pmsg);
#endif
		OSTimeDly(1);
    }
}

/*
*********************************************************************************************************
*                                             TASK #G
*********************************************************************************************************
*/

static void  AppTaskG (void *pdata)
{
    INT8U  err;


    pdata = pdata;
    while (TRUE) {
        AppTaskGCtr++;
#if OS_SEM_EN > 0
        OSSemPend(EventSem3, 0, &err);
#endif
		OSTimeDly(1);
    }
}


static void  AppTaskH (void *pdata)
{
    INT8U  err;


    pdata = pdata;
    while (TRUE) {
        AppTaskHCtr++;
#if OS_SEM_EN > 0
        OSSemPend(EventSem3, 0, &err);
#endif
		OSTimeDly(1);
    }
}


static void  AppTaskI (void *pdata)
{
    INT8U  err;


    pdata = pdata;
    while (TRUE) {
        AppTaskICtr++;
#if OS_SEM_EN > 0
        OSSemPend(EventSem3, 0, &err);
#endif
		OSTimeDly(1);
    }
}


static void  AppTaskJ (void *pdata)
{
    INT8U  err;


    pdata = pdata;
    while (TRUE) {
        AppTaskJCtr++;
#if OS_SEM_EN > 0
        OSSemPend(EventSem3, 0, &err);
#endif
		OSTimeDly(1);
    }
}

⌨️ 快捷键说明

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