⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 protocol.cpp

📁 HOST和DSP利用USB通信
💻 CPP
字号:
#include "../stdafx.h"

#ifdef __WINDOWS
#include "stdio.h"
#include "malloc.h"

#else 
/*DSP*/
#include "std.h"
#include "mem.h"
extern int HEAP;

#endif

#include "protocol.h"
#include "simpleProtocol.h"


/*
 usage: pack data.
 package: in parameter
 data: out parameter, point to the data buffer that will be sent soon
 return: data length, 0 means failed
 */
/*
int packData(const Package* package, char** data) {
	char* dataPointer;
	int length;
	unsigned int i;
	
	if (package == NULL)
		return FAILED;

	length = sizeof(package->type) + 
		sizeof(package->dataLength) +
		package->dataLength;	

#ifdef __WINDOWS
	*data = (char*) malloc(length);
	if (*data == NULL) {
		return FAILED;		
	}
#else
	//DSP
	*data = MEM_alloc(HEAP, length, 0);
	if (*data == MEM_ILLEGAL) {
		return FAILED;
	}
#endif	 
	dataPointer = *data;
	// little endian
	*((unsigned int*)dataPointer) = package->type;
	dataPointer += sizeof(unsigned int);

	*((unsigned int*)dataPointer) = package->dataLength;	
	dataPointer += sizeof(unsigned int);

	for (i = 0; i < package->dataLength; i++) {
		dataPointer[i] = package->data[i];
	}

	return length;
}
*/
/*
 usage: extract package from received data
 data: in parameter, received data
 package: out parameter
 return: 0 means failed
 */
/*
int extractPackage(char* data, Package *package) {
	char* dataPointer = data;

	if (package == NULL || data == NULL)
		return FAILED;

	package->type = *((unsigned int*) dataPointer);
	dataPointer += sizeof(unsigned int);

	package->dataLength = *((unsigned int*) dataPointer);
	dataPointer += sizeof(unsigned int);

	package->data = dataPointer;

	return OK;
}
*/

⌨️ 快捷键说明

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