спасибо за совет! завтра попробую! а резистор примерно какого сопротивления взять?
спасибо за совет! завтра попробую! а резистор примерно какого сопротивления взять?
Не надо резисторов, добавь в код :
IF CMPL AND ERR=0 THEN
INP_WORD:=BYTE_TO_WORD(RD_BUFFER[1]) OR SHL(BYTE_TO_WORD(RD_BUFFER[0]),8);
И еще можно изменить timeout примерно до 30 ms.
В принципе так и надо было изначально, но я покоцал, так как иначе другие устройства, которые в этой процедуре опрашиваются не работают, а МДВВ не было тогда. Назад вставить забыл.
Последний раз редактировалось Алексей Дмитриев; 02.11.2010 в 22:01.
спасибо всем,кто откликнулся! обязательно попробую все варианты!
Ур-раа! Заработало! Даже тайм-аут не менял! И скорость 115200.
На готовом-то мне,конечно удобно... А вот где бы почитать по какому принципу из буффера извлекают данные? Я новичек, поэтому не пойму зачем все эти побитные сдвиги... И сам принцип извлечения данных из буффера не понятен. А в РЭ про это ни слова, кстати, нет!
спасибо ещё раз всем откликнувшимся!!!
Вот тут, как раз все просто:
библиотечная функция работает с буфером типа массив байт (хз почему? )
Это выражение преобразует два соседних элемента массива в 16-ти разрядное слово:
INP_WORD:=BYTE_TO_WORD(RD_BUFFER[1]) OR SHL(BYTE_TO_WORD(RD_BUFFER[0]),8);
только и всего.
понятно! только странно, почему в руководстве по программированию про это не пишут...