利用纬图的Ginkgo USB-SDI12适配器可以很容易的实现对SDI-12总线设备进行控制,下面就以实际程序来简单说明下。
C/C++程序如下:
// SDI12_Test.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "ControlSDI.h"
int _tmain(int argc, _TCHAR* argv[])
{
int ret,i;
uint8_t read_buffer[512]={0};
uint8_t respond_buffer[512]={0};
//扫描已经连接的设备
ret = SDI_ScanDevice(1);
if(ret <= 0){
printf("No device connect!\n");
return ret;
}
//打开设备
ret = SDI_OpenDevice(SDI_USBSDI, 0, 0);
if (ret != ERR_SUCCESS){
printf("Open device error!\n");
return ret;
}
//初始化SDI12模块
ret = SDI_InitSDI(SDI_USBSDI, 0, 1);
if (ret != ERR_SUCCESS){
printf("Initialize SDI-12 error!\n");
return ret;
}
//发送命令
printf("Please input SDI-12 command(end of '!')!\n");
while(1){
memset(read_buffer,0,sizeof(read_buffer));
scanf("%s",read_buffer);
ret = SDI_SendCmd(SDI_USBSDI,0,1,read_buffer,respond_buffer);
if(ret == ERR_SUCCESS){
printf("%s",(char *)respond_buffer);
}else{
printf("Excute command error!\n");
}
}
return 0;
}
复制代码
使用Ginkgo USB-SDI12适配器基本步骤为:
扫描设备->打开设备->初始化设备->读写数据
程序运行效果如下:
其中以‘!’结尾的是我们输入的控制命令字符串,下面一行是设备返回的字符串