📄 serial.c
字号:
/*********************************************************************************************************
** Small RTOS
** The Real-Time Kernel
** (c) Copyright 2002-2003, chenmingji
** All Rights Reserved
** V1.50.0 内部测试版
**
**--------------文件信息--------------------------------------------------------------------------------
**文 件 名: serial.c
**创 建 人: 陈明计
**最后修改日期: 2004年8月8日
**描 述: serial源代码。
**
********************************************************************************************************/
#include "config.h"
void TaskA(void *Pdata);
void TaskB(void *Pdata);
void TaskC(void *Pdata);
void TaskD(void *Pdata);
OS_STK TaskStk[4][512];
int main(void)
{
OSInit();
OSTaskCreate(TaskA, NULL, &(TaskStk[0][512 - 1]), 3, 0, 512, USR32Mode, 0);
while(1)
{
PCON = PCON | 0x01; /* CPU进入休眠状态 */
}
}
void putch(uint8 Data)
{
uint16 i;
U0THR = Data;
i = 2048;
do
{
} while (--i != 0);
}
OS_EVENT *SerialSem;
void TaskA(void *Pdata)
{
Pdata = Pdata;
TargetInit();
OSTaskCreate(TaskB, NULL, &(TaskStk[1][512 -1]), 4, 1, 512, USR32Mode, 0);
OSTaskCreate(TaskC, NULL, &(TaskStk[2][512 -1]), 5, 2, 512, USR32Mode, 0);
OSTaskCreate(TaskD, NULL, &(TaskStk[3][512 -1]), 6, 3, 512, USR32Mode, 0);
SerialSem = OSSemCreate(1);
while (1)
{
OSSemPend(SerialSem, 0);
putch('A');
putch('0');
putch('1');
putch('2');
putch('3');
putch('\n');
OSSemPost(SerialSem);
OSTimeDly(T0TC % 10 + 1);
}
}
void TaskB(void *Pdata)
{
Pdata = Pdata;
while (1)
{
OSSemPend(SerialSem, 0);
putch('B');
putch('0');
putch('1');
putch('2');
putch('3');
putch('\n');
OSSemPost(SerialSem);
OSTimeDly(T0TC % 10 + 1);
}
}
void TaskC(void *Pdata)
{
Pdata = Pdata;
while (1)
{
OSSemPend(SerialSem, 0);
putch('C');
putch('0');
putch('1');
putch('2');
putch('3');
putch('\n');
OSSemPost(SerialSem);
OSTimeDly(T0TC % 10 + 1);
}
}
void TaskD(void *Pdata)
{
uint8 i;
Pdata = Pdata;
while (1)
{
OSSemPend(SerialSem, 0);
for (i = 0; i < 100; i++)
{
putch('D');
putch('E');
putch('F');
putch('G');
putch(' ');
}
OSSemPost(SerialSem);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -