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


ф-я SOFT_MEMORY_START на L1230

Вы не вошли.

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

Novikov Andrey V.
29.10.2004 13:01:25
#1

Гость

ф-я SOFT_MEMORY_START на L1230

Ситуация такая:
Если вызывать эту ф-ию без внешнего запуска (SYNCHRO_MODE(3,8,0,0)) то она нормально заполняет запрошеное кол-то точек через равные интервалы... вобщем все нормально. НО если включить синхронизацию, то процедура виснет.
среда разработки BP7.0, библиотека ф-й - lbiospas.tpu, , LBIOS - lbios004

на всякий случай приведу тексты работающей и неработающей программы:

Работающая:
ptr := @ch[1];
lNum := $7fffffff - Npoints;
SOFT_MEMORY_START(lNum,ptr,Nch,10,0,0,0,0);
repeat
  delay(1);
until TEST_FOR_INPUT_END;
ptr := @iData[1];
GET_INPUT_DATA(ptr,Npoints);

Неработаюшая:
ptr := @ch[1];
lNum := $7fffffff - Npoints;
SYNCHRO_SMODE(3,8,0,0);
SOFT_MEMORY_START(lNum,ptr,Nch,10,0,0,0,0); {останавливается здесь, т.е. не может дождаться сигнала на запуск}
repeat
  delay(1);
until TEST_FOR_INPUT_END;
SYNCHRO_SMODE(0,0,0,0);
ptr := @iData[1];
GET_INPUT_DATA(ptr,Npoints);

Скажу так же что если вместо SOFT_MEMORY_START использовать STREAM то внешний запуск нормально срабатывает.