📄 tasks.c
字号:
/* created by bill.zhang */
#include "config.h"
#include "tasks.h"
OS_STK TaskLED1Stk [TaskLED1StkSize]; // 定义任务TaskLED1的堆栈
OS_STK TaskLED2Stk [TaskLED2StkSize]; // 定义任务TaskLED2的堆栈
/*
********************************************************************************************************
** Task0 任务0
** 完成目标板初始化和创建TaskLED1/2任务
********************************************************************************************************
*/
void Task0 (void *pdata)
{
pdata = pdata;
TargetInit ();
OSTaskCreate (TaskLED1,(void *)0, &TaskLED1Stk[TaskLED1StkSize - 1], 3);
OSTaskCreate (TaskLED2,(void *)0, &TaskLED2Stk[TaskLED2StkSize - 1], 4);
while (1)
{
OSTimeDly(10);
}
}
/*
********************************************************************************************************
** TaskLED1
** LED1任务
********************************************************************************************************
*/
void TaskLED1(void *pdata)
{
pdata = pdata; // 避免编译警告
PINSEL2 = PINSEL2 & (~0x08); // P1[25:16]选择GPIO
IO1DIR |= LED1; // 设置LED1控制口输出
IO1SET = LED1;
for (;;)
{
IO1CLR = LED1;
UART0_SendStr("a");
OSTimeDly(OS_TICKS_PER_SEC / 4);
IO1SET = LED1;
UART0_SendStr("b");
OSTimeDly(OS_TICKS_PER_SEC / 2);
}
}
/*
********************************************************************************************************
** TaskLED2
** LED2任务
********************************************************************************************************
*/
void TaskLED2(void *pdata)
{
pdata = pdata; // 避免编译警告
PINSEL2 = PINSEL2 & (~0x08); // P1[25:16]选择GPIO
IO1DIR |= LED2; // 设置LED2控制口输出
IO1SET = LED2;
for (;;)
{
int i=0,j=0;
IO1CLR = LED2;
UART0_SendStr("c");
OSTimeDly(OS_TICKS_PER_SEC / 2);
IO1SET = LED2;
UART0_SendStr("d");
OSTimeDly(OS_TICKS_PER_SEC / 1);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -