📄 main.c
字号:
/*
*************************************************************************************************************
*-----------------------------------uC/OS Kernel移植主函数文件MAIN.C----------------------------------------
*
*--------------------------------------------- 文件信息 ----------------------------------------------------
* 文件名称 : MAIN.C
* 文件功能 : 应用程序
* 补充说明 : uC/OS基本功能测试
*--------------------------------------------- 版本信息 ----------------------------------------------------
* 修改作者 : NJUST
* 修改日期 : 2007/11/5
* 版本声明 : V1.0.0
*-----------------------------------------------------------------------------------------------------------
************************************************************************************************************
*/
#include "..\test\SRC\config.h"
#define STACKSIZE 1024
OS_STK_DATA stk;
/*
*************************************************************************************************************
** 分配各任务的堆栈容量 **
*************************************************************************************************************
*/
OS_STK Stack_Task_START[STACKSIZE];
OS_STK Stack_Task_1[STACKSIZE];
OS_STK Stack_Task_2[STACKSIZE];
/*
*************************************************************************************************************
- 函数名称 : Task_3(void *pdata)
- 函数说明 : 点亮D8熄灭D7,优先级为9
- 输入参数 : pdata
- 输出参数 : 无
*************************************************************************************************************
*/
void Task_2(void *pdata)
{
/*INT32U i;
for(;;)
{
for(i=0;i<100000;i++);
rPCONB = 0x7cf;
rPDATB = 0x7df;
for(i=0;i<100000;i++);
OSTimeDly(50);
}*/
}
/*
*************************************************************************************************************
- 函数名称 : Task_2(void *pdata)
- 函数说明 : 点亮D7熄灭D8,优先级为7
- 输入参数 : pdata
- 输出参数 : 无
*************************************************************************************************************
*/
void Task_1(void *pdata)
{
/*INT32U i;
for (;;)
{
for(i=0;i<100000;i++);
rPCONB = 0x7cf;
rPDATB = 0x7ef;
for(i=0;i<100000;i++);
OSTimeDly(70);
}*/
}
/*
*************************************************************************************************************
- 函数名称 : Task_START
- 函数说明 : 系统启动后运行的第一个任务,,熄灭D7、D8,优先级为5
- 输入参数 : pdata
- 输出参数 : 无
*************************************************************************************************************
*/
void Task_START(void *pdata)
{
INT32U i;
Rtc_Tick_Init(); //打开时钟节拍,让操作系统跑起来
OSTaskCreate(Task_1, (void *)0, (OS_STK *)&Stack_Task_1[(STACKSIZE) - 1], 7); //在任务里创建另一个任务
OSTaskCreate(Task_2, (void *)0, (OS_STK *)&Stack_Task_2[(STACKSIZE) - 1], 9); //在任务里创建另一个任务
/*for(;;)
{
for(i=0;i<100000;i++);
rPCONB = 0x7cf;
rPDATB = 0x7ff;
for(i=0;i<100000;i++);
OSTimeDly(90); //延时400个节拍
}*/
}
/*
*************************************************************************************************************
- 函数名称 : Main(void)
- 函数说明 : 系统的主程序入口
- 输入参数 : 无
- 输出参数 : 无
*************************************************************************************************************
*/
void Main(void)
{
Target_Init(); // ARMII实验系统的初始化,包括CPU板
OSInit(); // 操作系统的初始化
OSTaskCreate(Task_START, (void *)0, (OS_STK *)&Stack_Task_START[STACKSIZE - 1], 5); //创建任务一
OSStart();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -