提问题就认真一点,用心一点
买了一个电机,想通过C语言程序控制它,卖家已经给了库函数,怎么把它写成完整的程序。自己写的问题很多,求指正。
卖家给的:3. 库函数介绍 本章将对所有库函数进行介绍,并给出了示例程序,示例中出现的所有宏均在库函数所 附带的头文件(NTControl.h)中定义。
注意,该库的所有功能都使用 cdecl 调用约定。某些开发环境(例如 Delphi)默认使 用 stdcall。导入库函数时必须考虑到这一点。
3.1 初始化函数 NT_OpenSystem 函数原型:
NT_STATUS NT_OpenSystem(NT_INDEX *systemIndex, const char *systemLocator, const char *options);
功能描述:用来初始化
systemLocator 指定的系统。
systemIndex 是系统句柄,由此函数调用成功 后返回。该参数将作为入口参数传递给其他库函数,作为系统索引来寻址指定系统。
options 是配置选项表,用于配置 Dll 的通信模式,还可以复位控制器。每种配置选项之间必须用逗 号或换行符分隔。
options 的配置选项表:
● reset 在控制器上电的情况下进行硬件复位,该项非必选项。
● async,sync 使用 async 选项将通信模式设置为异步,使用 sync 选项将通信 模式设置为同步,该项为必选项。
入口参数
● systemIndex (unsigned 32bit),输出 – 返回打开的系统的句柄。
● systemLocator (const char pointer),输入 - 指定系统的定位符。
● options (const char pointer),输入 - 初始化系统的配置选项。参见 options 的配置 选项表。
示例程序:const char loc[] = “usb:id:5535186640”;
NT_STATUS result;
NT_INDEX ntHandle; // connect to a USB interface for async. communication and reset the system
result = NT_OpenSystem(&ntHandle, loc, “async,reset”);
if(result != NT_OK) {
// handle error
}
自己写的:#include "NT_Control.h"
#include <stdio.h>
const char loc[] = "usb:ix:0";
NT_STATUS result;
NT_INDEX ntHandle;
const char *systemLocator, *options;
int main(void) {
result = NT_OpenSystem(&ntHandle, loc, "sync,reset");
if (result != NT_OK) {
return -1;
} else {
printf("%d\n", result);
}
return 0;
}
|