📄 ext2.c
字号:
/*********************************************************************************************************
** Small RTOS
** The Real-Time Kernel
** (c) Copyright 2002-2003, chenmingji
** All Rights Reserved
** V1.50.0 内部测试版
**
**--------------文件信息--------------------------------------------------------------------------------
**文 件 名: ext2.c
**创 建 人: 陈明计
**最后修改日期: 2004年8月8日
**描 述: ext2源代码。
**
********************************************************************************************************/
#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, 40);
OSTaskCreate(TaskA, NULL, &(TaskStk[0][512 -1]), 6, 0, 512, USR32Mode, 0);
while(1)
{
PCON = PCON | 0x01; /* CPU进入休眠状态 */
}
}
void InitialiseUART0(uint32 bps)
{
uint16 Fdiv;
PINSEL0 = (PINSEL0 & 0xfffffff0) | 0x05; /* 选择管脚为UART0 */
U0LCR = 0x80; /* 允许访问分频因子寄存器 */
Fdiv = (Fpclk / 16) / bps; /* 设置波特率 */
U0DLM = Fdiv / 256;
U0DLL = Fdiv % 256;
U0LCR = 0x03; /* 禁止访问分频因子寄存器 */
/* 且设置为8,1,n */
U0IER = 0x00; /* 禁止中断 */
U0FCR = 0x00; /* 初始化FIFO */
}
void TaskA(void *Pdata)
{
uint32 i;
Pdata = Pdata;
TargetInit();
InitialiseUART0(115200);
OSTaskCreate(TaskB, NULL, &(TaskStk[1][512 -1]), 6, 1, 512, USR32Mode, 0);
OSTaskCreate(TaskC, NULL, &(TaskStk[2][512 -1]), 6, 2, 512, USR32Mode, 0);
while (1)
{
U0THR = '0';
for (i = 0; i < 50000; i++);
}
}
void TaskB(void *Pdata)
{
uint32 i;
Pdata = Pdata;
while (1)
{
U0THR = '1';
for (i = 0; i < 100000; i++);
}
}
void TaskC(void *Pdata)
{
uint32 i;
Pdata = Pdata;
while (1)
{
U0THR = '2';
for (i = 0; i < 150000; i++);
}
}
/*********************************************************************************************************
** End Of File
********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -