3D Guidance trakSTARTM 获取六自由度值(X、Y、Z、A、E、R)
纠结了几天,终于解决了这个问题,根据自己的摸索,将步骤记下来,便于以后自己查看,也希望对其他人有所帮助。
获取六自由度值有两种方法:一是USB直接获取,二是串口方式获取
- USB获取数据
根据提供的dll 文件进行开发,(ATC3DG.DLL)
首先创建C++控制台程序 ,如工程名称 TestATC3DG
引入头文件 ATC3DG.h 和资源文件 ATC3DG.lib
主入口类创建为 TestATC3DG.cpp
具体代码如下所示:
// TestATC3DG.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include <wincon.h>
#include "ATC3DG.h"
#include "time.h"
void errorHandler(int error);
#define HEADER_LINE 2 // print format specifier
#define FOOTER_LINE 9 // print format specifier
#define STATUS_LINE 11 // print format specifier
void main()
{
CSystem ATC3DG;
CSensor *pSensor;
CXmtr *pXmtr;
int errorCode;
int i;
int sensorID;
short id;
int records = 100;
char output[256];
int numberBytes;
clock_t goal;
clock_t wait=10; // 10 ms delay
COORD page_pos;
HANDLE hconsole = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_CURSOR_INFO lpConsoleCursorInfo;
printf("**********接受电磁信号数据值*******************\n");
printf("ATC3DG Sample Application\n");
//初始化ATC3DG驱动和DLL
printf("Initializing ATC3DG system...\n");
errorCode = InitializeBIRDSystem();
if(errorCode!=BIRD_ERROR_SUCCESS) errorHandler(errorCode);
//得到系统配置
errorCode = GetBIRDSystemConfiguration(&ATC3DG.