1回答

0收藏

[原创] USB转SDI-12总线上位机测试程序及相关资料

Raspberry Pi Raspberry Pi 3412 人阅读 | 1 人回复 | 2019-04-30

利用纬图的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;
  • }


[color=rgb(51, 102, 153) !important]复制代码

使用Ginkgo USB-SDI12适配器基本步骤为:
扫描设备->打开设备->初始化设备->读写数据

程序运行效果如下:

其中以‘!’结尾的是我们输入的控制命令字符串,下面一行是设备返回的字符串。

程序工程源码(vs2010):
VC_USB_SDI12_Test.rar (884.52 KB,)
SDI-12总线协议英文版:
SDI-12_version1_3_January_12_2009.pdf (528.49 KB,)
SDI-12总线协议中文版:
SDI12_V1.3_中文版.pdf (276.92 KB,)
分享到:
回复

使用道具 举报

回答|共 1 个

倒序浏览

沙发

sh-fluke

发表于 2019-5-2 09:17:05 | 只看该作者

链接其它网站,无法下载。
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条