📄 main.c
字号:
//*----------------------------------------------------------------------------
//* ATMEL Microcontroller Software Support - ROUSSET -
//*----------------------------------------------------------------------------
//* The software is delivered "AS IS" without warranty or condition of any
//* kind, either express, implied or statutory. This includes without
//* limitation any warranty or condition with respect to merchantability or
#include "Includes/includes.h"
#include "Includes/AT91RM9200.h"
#include "Includes/lib_AT91RM9200.h"
#include "Interrupt/timer.h"
//#include "lib_arm920t.h"
// AT91F_DBGU_Printk is defined in init.c
extern void AT91F_DBGU_Printk(char *);
extern void uprintf(char *fmt,...);
OS_EVENT *SemNewRx;
#define TASK_STK_SIZE 128
OS_STK TaskStartStk[TASK_STK_SIZE];
OS_STK Task1Stk[TASK_STK_SIZE];
OS_STK Task2Stk[TASK_STK_SIZE];
OS_STK Task3Stk[TASK_STK_SIZE];
OS_STK Task4Stk[TASK_STK_SIZE];
OS_STK Task5Stk[TASK_STK_SIZE];
#define TaskStartPrio 2
#define Task1Prio 3
#define Task2Prio 4
#define Task3Prio 7
#define Task4Prio 8
#define Task5Prio 9
void TaskStart(void *data);
void Task1(void *data);
void Task2(void *data);
void Task3(void *data);
void Task4(void *data);
void Task5(void *data);
int main (void)
{
AT91F_DBGU_Printk("\n\n\r-I- ======================================\n\r");
AT91F_DBGU_Printk("-I- AT91RM9200 UART example\n\r");
AT91F_DBGU_Printk("-I- ======================================\n\r");
// Timer0_Init ();
OSInit();
// SemNewRx = OSSemCreate(1);
OSTimeSet(0);
OSTaskCreate(TaskStart, (void *)0, &TaskStartStk[TASK_STK_SIZE - 1], TaskStartPrio);
OSStart();
while(1);
return 0;
}
void TaskStart(void *pdata)
{
pdata = pdata;
// 避免编译警告 /
Timer0_Init ();
OSTaskCreate(Task1, (void *)0, &Task1Stk[TASK_STK_SIZE - 1], Task1Prio); // 创建任务 /
OSTaskCreate(Task2, (void *)0, &Task2Stk[TASK_STK_SIZE - 1], Task2Prio); // 创建任务 /
OSTaskCreate(Task3, (void *)0, &Task3Stk[TASK_STK_SIZE - 1], Task3Prio); // 创建任务 /
OSTaskCreate(Task4, (void *)0, &Task4Stk[TASK_STK_SIZE - 1], Task4Prio); // 创建任务 /
OSTaskCreate(Task5, (void *)0, &Task5Stk[TASK_STK_SIZE - 1], Task5Prio);
for (;;)
{
// OSTaskSuspend(OS_PRIO_SELF);
OSSchedLock() ;
AT91F_DBGU_Printk("-I- --------00000000000\n\r");
OSSchedUnlock() ;
OSTimeDly(20);
// AT91F_DBGU_Printk("-I- --------------------------------------\n\r");
}
}
void Task1(void *pdata)
{
pdata = pdata; // 避免编译警告 /
// Timer1_Init ();
for (;;)
{
OSSchedLock() ; //停止任务调度
// OSTimeDly(1);
AT91F_DBGU_Printk("-I- -------11111111111----------\n\r");
// OSTimeDly(2);
OSSchedUnlock() ;
OSTimeDly(20);
// OSTimeDly(OS_TICKS_PER_SEC ); // 延时20毫秒 /
}
}
void Task2(void *pdata)
{
pdata = pdata; // 避免编译警告 /
for (;;)
{
OSSchedLock() ; //停止任务调度
// OSTimeDly(1);
AT91F_DBGU_Printk("-I- --------222222222222----------\n\r");
// OSTimeDly(2);
OSSchedUnlock() ;
OSTimeDly(20);
// OSTimeDly(OS_TICKS_PER_SEC/18 ); // 延时20毫秒 /
}
}
void Task3(void *pdata)
{
pdata = pdata; // 避免编译警告 /
for (;;)
{
OSSchedLock() ; //停止任务调度
// OSTimeDly(1);
uprintf("-I- --------33333333333----------\n\r");
// OSTimeDly(2);
OSSchedUnlock() ;
OSTimeDly(20);
// OSTimeDly(OS_TICKS_PER_SEC/9 ); // 延时20毫秒 /
}
}
void Task4(void *pdata)
{
pdata = pdata; // 避免编译警告 /
for (;;)
{
OSSchedLock() ; //停止任务调度
// OSTimeDly(1);
AT91F_DBGU_Printk("-I- --------44444444444----------\n\r");
// OSTimeDly(2);
OSSchedUnlock() ;
OSTimeDly(20);
// OSTimeDly(OS_TICKS_PER_SEC ); // 延时20毫秒 /
}
}
void Task5(void *pdata)
{
pdata = pdata; // 避免编译警告 /
for (;;)
{
OSSchedLock() ; //停止任务调度
// OSTimeDly(1);
AT91F_DBGU_Printk("-I- --------55555555555----------\n\r");
// OSTimeDly(2);
OSSchedUnlock() ;
OSTimeDly(20);
// OSTimeDly(OS_TICKS_PER_SEC/3 ); // 延时20毫秒 /
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -