📄 main.c
字号:
/*
\\\|///
\\ - - //
( @ @ )
+---------------------oOOo-(_)-oOOo-------------------------+
| uC/OS |
| ported to LPC2103 ARM7TDMI-S CPU |
| by Xiaoran Liu |
| 2007.12.16 |
| ZERO research Instutute |
| www.the0.net |
| Oooo |
+----------------------oooO--( )--------------------------+
( ) ) /
\ ( (_/
\_)
*/
#include <lpc2103.h>
#include "includes.h"
#include "OS_CPU.h"
#include "bsp.h"
#include "tft018.h"
/*
*********************************************************************************************************
* CONSTANTS
*********************************************************************************************************
*/
#define TASK_STK_SIZE 128
INT8U x=0,y=0,time=0; /* Size of each task's stacks (# of WORDs) */
// 发光管接在P0.31引脚
//#define BEEP (1<<24)
/*
*********************************************************************************************************
* VARIABLES
*********************************************************************************************************
*/
OS_STK TaskStartStk[TASK_STK_SIZE];
OS_STK Task1Stk[TASK_STK_SIZE];
/*
*********************************************************************************************************
* FUNCTION PROTOTYPES
*********************************************************************************************************
*/
void TaskStart(void *data); /* Function prototypes of Startup task */
void Task1(void *data);
/* Function prototypes of tasks */
void Task1 (void *pdata) {
pdata = pdata;
for(;;) {
if(time==20)
{
OSTaskSuspend(1);
}
if(time==40)
{
OSTaskResume(1);
}
time++;
if(x>100)
{
x=0;
y+=16;
}
LCD_PutString(x,y,"Y",Cyan,Blue);
OSTimeDly(5);
x+=8;
}
/* Prevent compiler warning */
// OSTaskCreate(Task2,(void *)0, &Task2Stk[TASK_STK_SIZE - 1], 3);
}
void Task2 (void *pdata) {
pdata = pdata;
for(;;) {
if(time==20)
{
OSTaskSuspend(1);
}
if(time==40)
{
OSTaskResume(1);
}
time++;
if(x>100)
{
x=0;
y+=16;
}
LCD_PutString(x,y,"Z",Cyan,Blue);
OSTimeDly(5);
x+=8;
}
/* Prevent compiler warning */
// OSTaskCreate(Task2,(void *)0, &Task2Stk[TASK_STK_SIZE - 1], 3);
}
/**********************************************************************************************************
* STARTUP TASK
*********************************************************************************************************
*/
void TaskStart (void *pdata)
{
pdata = pdata; /* Prevent compiler warning */
BSP_init();
BacklightOn();
LCD_Init();
LCD_Clear_Screen(Blue);
OSTaskCreate(Task1, (void *)0, &Task1Stk[TASK_STK_SIZE - 1], 1);
for(;;) {
if(x>100)
{
x=0;
y+=16;
}
LCD_PutString(x,y,"M",Cyan,Blue);
OSTimeDly(15);
x+=8;
}
OSTaskDel(0);
}
/*
*********************************************************************************************************
* MAIN
*********************************************************************************************************
*/
int main(void) {
OSInit();
OSTaskCreate(TaskStart, (void *)0, &TaskStartStk[TASK_STK_SIZE - 1], 0);
OSStart(); /* Start multitasking */
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -