📄 ext3.c
字号:
/*********************************************************************************************************
** Small RTOS
** The Real-Time Kernel
** (c) Copyright 2002-2003, chenmingji
** All Rights Reserved
** V1.50.0 内部测试版
**
**--------------文件信息--------------------------------------------------------------------------------
**文 件 名: ext3.c
**创 建 人: 陈明计
**最后修改日期: 2004年8月8日
**描 述: ext3源代码。
**
********************************************************************************************************/
#include "config.h"
void TaskA(void *Pdata);
void TaskB(void *Pdata);
void TaskC(void *Pdata);
OS_STK TaskStk[3][512];
int main(void)
{
OSInit();
OSSetRoundTick(6,2);
OSTaskCreate(TaskA, NULL, &(TaskStk[0][512 -1]), 4, 0, 512, USR32Mode, 0);
while(1)
{
PCON = PCON | 0x01; /* CPU进入休眠状态 */
}
}
void TaskA(void *Pdata)
{
uint8 *p;
uint8 c;
Pdata = Pdata;
TargetInit();
OSTaskCreate(TaskB, NULL, &(TaskStk[1][512 -1]), 5, 1, 512, USR32Mode, 0);
OSTaskCreate(TaskC, NULL, &(TaskStk[2][512 -1]), 6, 2, 512, USR32Mode, 0);
c = '4';
while (1)
{
OSMsgPost(2, &c);
p = (uint8 *)OSMsgBackPend(0, &c);
c = *p;
}
}
void TaskB(void *Pdata)
{
uint8 *p;
uint8 c;
Pdata = Pdata;
c = '5';
while (1)
{
OSMsgPost(2, &c);
p = (uint8 *)OSMsgBackPend(0, &c);
c = *p;
}
}
void TaskC(void *Pdata)
{
uint8 *p;
TASK_ID TaskId;
uint8 c, err;
Pdata = Pdata;
c = '6';
while (1)
{
p = (uint8 *)OSMsgPend(0, &TaskId, &err);
err = *p;
OSMsgBackPost(TaskId, &c);
}
}
/*********************************************************************************************************
** End Of File
********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -