📄 task.c
字号:
#include "task.h"
/**************************************************
*progStart: start program *
*function: create Send task and Receive Task *
*RETURN: *
*/
void progStart(void)
{
dataSemId = semBCreate (SEM_Q_FIFO, SEM_EMPTY); /*create signal*/
tidSend = taskSpawn ("tSend", 200, 0, STACK_SIZE, (FUNCPTR)taskSend,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
tidReceive = taskSpawn ("tReceive", 200, 0, STACK_SIZE,
(FUNCPTR)taskReceive,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
tidmain = taskSpawn ("tMain",200,0,STACK_SIZE,
(FUNCPTR)main,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
return; /*create task*/
}
/*************************************************
for main printf
**************************************************/
void main(void)
{
while(1)
{
taskDelay(sysClkRateGet() * 3);
printf("\n*******************\n");
}
return;
}
/**************************************************
* taskSend: send data *
* function: send singnao vevry 2secd *
* RETURN: *
*/
void taskSend(void)
{
SendInit();/*Send Task init*/
while(1)
{
taskDelay(sysClkRateGet() * 2); /*task delay 2 sencond*/
semGive(dataSemId); /*send signal*/
}
return;
}
/**************************************************
* taskReceive: receive data *
* function: waite dataSemId, *
* RETURN: *
*/
void taskReceive(void)
{
ReceiveInit(); /*receive task init*/
while(1)
{
semTake(dataSemId, WAIT_FOREVER);
printf("\n Receive a data");
}
return;
}
/**************************************************
* SendInit: init send task *
* function: init send task *
* RETURN: *
*/
void SendInit(void)
{
printf("\nInitial Send Task");
return;
}
/**************************************************
* ReceiveInit: init receive task *
* function: init receive task *
* RETURN: *
*/
void ReceiveInit(void)
{
printf("\nInitial Receive Task");
return;
}
/**************************************************
* progStop: stop program *
* function: dele sem delet all task and stop pro *
* RETURN: *
*/
void progStop(void)
{
semDelete(dataSemId); /*delete signal*/
taskDelete(tidSend);
taskDelete(tidReceive);
taskDelete(tidmain);
printf("the end!\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -