C语言加载lib静态库-加载ch347的官方库

ch347的官方资源包里面,提供了lib静态库,在vs中加载测试,代码如下:

//
//
#include <Windows.h>
#include <iostream>
#include "ch347/CH347DLL.H"

#pragma comment(lib,"ch347/amd64/CH347DLLA64.LIB")




void TestI2C()
{
	UCHAR buff[100] = { 0 };
	int nLen = 10;
	if (!CH347I2C_Set(0, 0x01))
	{
		printf("CH347I2C_SET err=0x%x\n", GetLastError());
		return;
	}

	for (int i = 0; i < nLen; i++)
	{
		buff[i] = i + 0x80;
	}
	CH347WriteEEPROM(0, ID_24C01, 0, nLen, buff);


	UCHAR buff2[100] = { 0 };
	CH347ReadEEPROM(0, ID_24C01, 0, nLen, buff2);

	for (int i = 0; i < nLen; i++)
	{
		printf("%02x", buff2[i]);
	}
}

#define CH347_DEVICE_INDEX 0

int main()
{
	HANDLE hDevice = INVALID_HANDLE_VALUE;
	do
	{
		hDevice = CH347OpenDevice(CH347_DEVICE_INDEX);
		if (hDevice == INVALID_HANDLE_VALUE)
		{
			printf("CH347OpenDevice err=0x%x\n", GetLastError());
			break;
		}


		mDeviceInforS DevInformation;
		if (!CH347GetDeviceInfor(0, &DevInformation))
		{
			printf("CH347GetDeviceInfor err=0x%x\n", GetLastError());
			break;
		}
		UCHAR	iDriverVer;
		UCHAR	iDllVer;
		UCHAR	ibcdDevice;
		UCHAR	iChipType;
		if (!CH347GetVersion(CH347_DEVICE_INDEX,
			&iDriverVer,
			&iDllVer,
			&ibcdDevice,
			&iChipType))
		{
			printf("CH347GetVersion err=0x%x\n", GetLastError());
			break;
		}

		if (!CH347SetTimeout(CH347_DEVICE_INDEX, 3000, 5000))
		{
			printf("CH347SetTimeout err=0x%x\n", GetLastError());
			break;
		}
		mDeviceInforS DevInformation2;
		if (!CH347GetDeviceInfor(0, &DevInformation2))
		{
			printf("CH347GetDeviceInfor err=0x%x\n", GetLastError());
			break;
		}

		TestI2C();

		//CH347I2C_Set(0, 3);

	} while (0);



	if (hDevice != INVALID_HANDLE_VALUE)
	{
		CH347CloseDevice(CH347_DEVICE_INDEX);
	}
	return 0;
}

其中,#pragma comment就是用来加载lib的,#pragma 称为预处理指令,还有很多其他的用法。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值