Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года

LTR34 настройка каналов

Вы не вошли.

 Поиск | Регистрация | Вход 

Nickey
28.01.2019 18:37:40
#1

Гость

LTR34 настройка каналов

Здравствуйте! Не могу понять, почему при инициализации модуля LTR34 выдается ошибка "Неверная конфигурация логических каналов". Помогите пожалуйста.

#include "pch.h"
#include "include/ltr34api.h"
#include <iostream>

TLTR34 conf;
int error = 0;
const char *status;

const char * initialize(const char *crate, int slot);
void setupChannels();
void dataSend();
const char * start();
const char * stop();
void checkError(int error);

int main()
{
	const char *crate = "2T364030";
	int slot = 12;

	initialize(crate, slot);

	SetConsoleOutputCP(1251);
	std::cout << status << std::endl;

	return 0;
}

const char * initialize(const char *crate, int slot) {
	error = LTR34_Init(&conf);
	checkError(error);

	if (!error) {
		error = LTR34_Open(&conf, SADDR_DEFAULT, SPORT_DEFAULT, crate, slot);
		checkError(error);
	}

	setupChannels();

	if (!error) {
		error = LTR34_Reset(&conf);
		checkError(error);
	}

	if (!error) {
		error = LTR34_Config(&conf);
		checkError(error);
	}

	return status;
}

void setupChannels() {
	conf.ChannelQnt = 2;
	conf.LChTbl[0] = LTR34_CreateLChannel(1, 0);
	conf.LChTbl[0] = LTR34_CreateLChannel(3, 0);

	conf.FrequencyDivisor = 40;
	conf.UseClb = true;
	conf.AcknowledgeType = false;
	conf.ExternalStart = false;
	conf.RingMode = true;
}

void checkError(int error) {
	if (error) {
		const char *errorString = LTR34_GetErrorString(error);
		status = errorString;
	}
	else {
		status = "Операция успешно выполнена";
	}
}
28.01.2019 18:59:34
#2

Сотрудник "Л Кард"
Здесь с 17.04.2014
Сообщений: 1,291

Re: LTR34 настройка каналов

Добрый вечер.

У Вас видимо опечатка в коде - Вы два раза заполняете первый элемент логической таблицы, в то время как второй остается незаполненным.
Вместо

conf.LChTbl[0] = LTR34_CreateLChannel(1, 0);
conf.LChTbl[0] = LTR34_CreateLChannel(3, 0);

должно быть

conf.LChTbl[0] = LTR34_CreateLChannel(1, 0);
conf.LChTbl[1] = LTR34_CreateLChannel(3, 0);
Nickey
29.01.2019 09:54:19
#3

Гость

Re: LTR34 настройка каналов

Действительно! Именно в этом и заключалась ошибка. Благодарю.
P.s. Писал опираясь на документацию, в которой были следующие строки:
9848574

Контакты

Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2

Многоканальный телефон:
+7 (495) 785-95-25

Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru

Время работы: с 9-00 до 19-00 мск