ch372USB通信

By admin at 2020-09-11 • 0人收藏 • 1200人看过
import console; 
var dll = raw.loadDll("/CH37xWR.dll",,"cdecl");
usbInit = dll.api("usbInit","bool(INT ulIndex)" );
usbClose = dll.api("usbClose","bool(void)" );
usbWrite = dll.api("usbWrite","INT(INT unEndPoint,pointer pSendBytes,INT unSendLength)" );
usbRead = dll.api("usbRead","INT(INT unEndPoint,pointer pRecvBytes,INT unSendLength)" );

console.log(usbInit(0))
//var data = raw.buffer({byte a[4]={0xb0;0x4f;0x01;0x01}});
var data2 = raw.buffer({byte a[3]={0xD0;0x2f;0x00}});
console.log(usbWrite(2,data2,3));
sleep(1000)

var ret = raw.buffer(100,'\0');
console.log(usbRead(2,ret,64))

console.dump(raw.tostring(ret))

var data = raw.buffer({byte a[4]={0xb0;0x4f;0x01;0x01}});
console.log(usbWrite(2,data,4));
sleep(1000)

var ret = raw.buffer(100,'\0');
console.log(usbRead(2,ret,64))

console.dump(string.hex(raw.tostring(ret),""))

console.log(usbClose())

console.pause(true);

本来用网上别人二次封装的, 发现各种有问题, 算了自己封装了一个.

ch375.zip




VS2015封装dll的工程代码如下:

#include "stdafx.h"
#include "doDll.h"
#include "CH375DLL.h"
#pragma comment(lib,"CH375DLL")  //隐式调用库文件


bool OPenSuccess = false;
unsigned int CH375_Index = 0;

DODLL_API bool usbInit(int index=0)
{
	CH375_Index = index;
	if (OPenSuccess == false) {
		OPenSuccess = (CH375OpenDevice(CH375_Index) != INVALID_HANDLE_VALUE);
	}
	
	return OPenSuccess;
}

DODLL_API bool usbClose(void)
{
	if (OPenSuccess == true)
	{
		CH375CloseDevice(CH375_Index);
		OPenSuccess = false;
	}
	return true;
}

DODLL_API long usbWrite(INT unEndPoint, unsigned char* pSendBytes, ULONG unSendLength)
{
	ULONG len = unSendLength;
	if (OPenSuccess == true)
	{
		BOOL ret = CH375WriteData(CH375_Index, pSendBytes, &len);
		if (ret == TRUE)
		{
			return len;
		}
		else {
			return -1;
		}
	}
	return -1;
}

DODLL_API long usbRead(INT unEndPoint, unsigned char* pRecBytes, ULONG unSendLength)
{
	ULONG len = unSendLength;
	if (OPenSuccess == true)
	{
		BOOL ret = CH375ReadData(CH375_Index, pRecBytes, &len);
		if (ret == TRUE)
		{
			return len;
		}
		else {
			return -1;
		}
	}
	return -1;
}

doDll.zip


登录后方可回帖

登 录
信息栏
 私人小站

本站域名

ChengXu.XYZ

投诉联系:  popdes@126.com



快速上位机开发学习,本站主要记录了学习过程中遇到的问题和解决办法及上位机代码分享

这里主要专注于学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.
如果侵权,联系 Popdes@126.com

友情链接
Aardio官方
Aardio资源网


才仁机械


网站地图SiteMap

Loading...