📄 app.c.bak
字号:
#include "os.h"
HTASK g_testTask1;
HTASK g_testTask2;
HTASK g_testTask3;
HSEMA g_testSem;
void tTest1Entry(void * p);
void tTest2Entry(void * p);
void tTest3Entry(void * p);
STATUS app_entry(void)
{
TASK_INFO taskInfo;
/* create semaphore. */
g_testSem = semCreate(OS_SEMA_BIN, 1, "sem for test");
if (g_testSem != NULL_SEMA)
{
OS_printf("test semaphore created, id is [%d]!!\n", g_testSem);
}
else
{
OS_printf("Create test semaphore fail!!!\n");
return OS_FAIL;
}
/* create test tasks. */
taskInfo.priority = 10;
strcpy (&taskInfo.name[0], "tTestTask1");
taskInfo.taskEntry = tTest1Entry;
taskInfo.pData = (void *)1;
taskInfo.msgQSize = 100;
taskInfo.semaQSize = DEFAULT_SEM_Q_SIZE;
taskInfo.stackSize = DEFAULT_STACK_SIZE;
taskInfo.option = OPT_TASK_DEFAULT;
g_testTask1 = taskCreate(&taskInfo);
if (g_testTask1 != NULL_TASK)
{
OS_printf("test task 1 created, id is [%d]!!\n", g_testTask1);
}
else
{
OS_printf("Create test task 1 fail!!!\n");
return OS_FAIL;
}
/* create test tasks. */
taskInfo.priority = 10;
strcpy (&taskInfo.name[0], "tTestTask2");
taskInfo.taskEntry = tTest2Entry;
taskInfo.pData = (void *)2;
taskInfo.msgQSize = 100;
taskInfo.semaQSize = DEFAULT_SEM_Q_SIZE;
taskInfo.stackSize = DEFAULT_STACK_SIZE;
taskInfo.option = OPT_TASK_DEFAULT;
g_testTask2 = taskCreate(&taskInfo);
if (g_testTask2 != NULL_TASK)
{
OS_printf("test task 2 created, id is [%d]!!\n", g_testTask2);
}
else
{
OS_printf("Create test task 2 fail!!!\n");
return OS_FAIL;
}
/* create test tasks. */
taskInfo.priority = 10;
strcpy (&taskInfo.name[0], "tTestTask3");
taskInfo.taskEntry = tTest3Entry;
taskInfo.pData = (void *)3;
taskInfo.msgQSize = 100;
taskInfo.semaQSize = DEFAULT_SEM_Q_SIZE;
taskInfo.stackSize = DEFAULT_STACK_SIZE;
taskInfo.option = OPT_TASK_DEFAULT;
g_testTask3 = taskCreate(&taskInfo);
if (g_testTask3 != NULL_TASK)
{
OS_printf("test task 3 created, id is [%d]!!\n", g_testTask3);
}
else
{
OS_printf("Create test task 3 fail!!!\n");
return OS_FAIL;
}
return OS_SUCCESS;
}
void tTest1Entry(void * p)
{
while (1)
{
if (semTake(g_testSem, 40) == OS_FAIL)
{
continue;
}
light_led(LED2, LED_ON);
delay(300000);
light_led(LED2, LED_OFF);
delay(300000);
taskDelay(2);
semGive(g_testSem);
}
}
void tTest2Entry(void * p)
{
while (1)
{
if (semTake(g_testSem, 40) == OS_FAIL)
{
continue;
}
light_led(LED2, LED_ON);
delay(300000);
light_led(LED2, LED_OFF);
delay(300000);
light_led(LED2, LED_ON);
delay(300000);
light_led(LED2, LED_OFF);
delay(300000);
taskDelay(2);
semGive(g_testSem);
}
}
void tTest3Entry(void * p)
{
while (1)
{
if (semTake(g_testSem, 40) == OS_FAIL)
{
continue;
}
light_led(LED2, LED_ON);
delay(100000);
light_led(LED2, LED_OFF);
delay(100000);
light_led(LED2, LED_ON);
delay(100000);
light_led(LED2, LED_OFF);
delay(100000);
light_led(LED2, LED_ON);
delay(100000);
light_led(LED2, LED_OFF);
delay(100000);
taskDelay(2);
semGive(g_testSem);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -