Меню

+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Страницы 1
Например, если установили разные диапазоны измерения напряжения, то одному и тому же входному напряжению будут соответствовать разные коды АЦП (за исключением одного значения напряжения - в районе нулевого, для которого коды совпадут).
Знак напряжения должен был совпадать. Но я нашел ошибку в своем коде - при печати функцией sprintf() использовал некорректный код формата (перепутал int и short), что давало такой странный эффект. Теперь вроде работает. Спасибо вам за ответ!
Доброе время суток. Пытаюсь снять показания с АЦП E14-140, но возникла сложность - при использовании LGraph2 и самописной программы показания различаются кардинально, даже в режиме "Коды АЦП". Схема подключения источника сигнала одна и та же, канал измерений один и тот же (насколько я могу судить), но LGraph2 стабильно показывает коды в районе ~3200, а программа - ~-6500.
Настройка канала 1 (верхний в списке) LGraph2: режим с общей землей, 2 Гц, масштаб 1.0, смещение 0.0.
Настройка канала 0 в моей программе:
channel = 0;
ADC_PARS_E140 params;
module->GET_ADC_PARS(¶ms);
params.ChannelsQuantity = 1;
unsigned short range = ADC_INPUT_RANGE_10000mV_E140;
params.ControlTable[0] = (channel & 0x1F) | (1 << 5) | (range << 6);
module->SET_ADC_PARS(¶ms);
Канал опрашивается с частотой 2 Гц функцией ADC_SAMPLE(), результат выводится в консоль без каких-либо дальнейших преобразований.
Если требуется, могу привести полный код программы.
Я не могу понять, как определить объем данных, который будет считан функцией ReadData(). Я взял за основу комплектный пример асинхронного чтения, и стал обнулять буфер данных перед вызовом ReadData(), а потом подсчитывать ненулевые элементы в соответствующей области буфера.
Как оказалось, их количество не совпадало с NumberOfWordsToPass, возвращенным из ReadData(). Для 32 запрошенных элементов я получал 33 измененных, для 64 - то 65, то 67, а для 128 количество затронутых элементов доходило до 242.
Почему такое поведение не упомянуто в документации, и как мне определить размер буфера для предотвращения выхода за его границу?
Страницы 1