ptp_task.c

来自「包括EPA协议栈」· C语言 代码 · 共 30 行

C
30
字号
#include "ucos_ii.h"
#include "memif.h"
#include "tasks.h"
#define PTP_TASK_GLOBALS
#include "ptp_module.h"
#undef PTP_TASK_GLOBALS

static OS_STK gPTProcStack[TASK_STACK_SIZE];
static void* gPTProcMsgQTbl[MSG_AMOUNT_PTP];
static void PTProcTask(void* pdata);

uint8 PtpInit(void) {
	gpPTProcMsgQ = OSQCreate(gPTProcMsgQTbl, MSG_AMOUNT_PTP);
	OSTaskCreate(PTProcTask, (void*)0, (void*)(&gPTProcStack[TASK_STACK_SIZE]), TASK_PRIORITY_PTP);
	PTP_init();
	return (0);
}

void PTProcTask(void* pdata) {
	uint8 err;
	PInSock pisock;

	while(1) {
		pisock = (PInSock)OSQPend(gpPTProcMsgQ, 0, &err);
		if(pisock) {
			PTP_RECV_PROCESS((uint8 *)pisock->payload);
			FreeInSock(pisock);
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?