//以固定位置模式为例
RetCode result;
int exit_cmd = 0;
//库加载
result = YKM_LoadLib();
YKM_BusInfo busInfo;
//等待系统初始化完成
while (!exit_cmd)
{
result = YKM_GetBusInfo(&busInfo);
if (busInfo.running)
break;
Sleep(100);
}
//位置比较设置配置参数
YKM_CompareConfig compareConfig;
memset(&compareConfig, 0, sizeof(YKM_CompareConfig));
compareConfig.ena_bit0 = 1;
compareConfig.ena_bit1 = 1;
compareConfig.ena_bit2 = 1;
compareConfig.ena_bit3 = 1;
compareConfig.enable_2d = 0;
compareConfig.mode = YKM_COMPARE_MODE::COMPARE_MODE_FIX;
compareConfig.keep_time = 1023;
compareConfig.spacing1 = 0;
compareConfig.spacing2 = 0;
compareConfig.number = 0;
result = YKM_SetCompareConfigPCI(0, chlCmpCfg, compareConfig);
print(result);
//设置比较数据
YKM_CompareItemData compareItemData;
memset(&compareItemData, 0, sizeof(YKM_CompareItemData));
compareItemData.value1 = 1;
compareItemData.value2 = 0;
compareItemData.threshold = 0;
compareItemData.out_bit0 = 1;
compareItemData.out_bit1 = 1;
compareItemData.out_bit2 = 1;
compareItemData.out_bit3 = 1;
result = YKM_SetCompareValuePCI(0, chlCmpCfg, compareItemData);
//启动位置比较
result = YKM_StartComparePCI(0, chlCmpCfg);
//判断比较是否完成
YKM_CompareStatus CompareStatus;
memset(&CompareStatus, 0, sizeof(YKM_CompareStatus));
while (!exit_cmd)
{
YKM_GetCompareStatusPCI(0, 0, &CompareStatus);
if (CompareStatus.hd_active == 0)
break;
Sleep(1);
}
//停止位置比较
YKM_StopComparePCI(0, 0);
|