Команда Триггер(Trigger) используется, когда вы хотите синхронизировать время начала ST с другим ST. Пример ниже показывает. как синхронизировать ST1 с ST0 при помощи триггера.
$pid0 = pid_open("/mmap/st0"); // open ST 0
pid_ioctl($pid0, "set div sec"); // set unit: second
pid_ioctl($pid0, "set mode output pulse"); // set mode: pulse
pid_ioctl($pid0, "set count 1 1"); // set count values: 1 and 1
pid_ioctl($pid0, "set repc 2"); // set repeat count: 2
pid_ioctl($pid0, "set output dev uio0 0"); // set output dev / pin: uio0 / 0
$pid1 = pid_open("/mmap/st1"); // open ST 1
pid_ioctl($pid1, "set div sec"); // set unit: second
pid_ioctl($pid1, "set mode output pulse"); // set mode: pulse
pid_ioctl($pid1, "set trigger from st0"); // set trigger target: st0
pid_ioctl($pid1, "set count 1 1"); // set count values: 1 and 1
pid_ioctl($pid1, "set repc 2"); // set repeat count: 2
pid_ioctl($pid1, "set output dev uio0 1"); // set output dev / pin: uio0 / 1
pid_ioctl($pid1, "start"); // start ST 1
pid_ioctl($pid0, "start"); // start ST 0
while(pid_ioctl($pid1, "get state"));
pid_close($pid0);
pid_close($pid1);
Как вы видите в примере выше, ST (который вы хотите синхронизировать с выходным временем), должен стартовать до запуска цели триггера.
Выходной результат выглядит следующим образом:
ST имеет следующий диапазон ошибок:
Случай | Диапазон ошибки |
---|---|
Одновременное использование 2-х ST | приблизительно 1㎲ |
Одновременное использование 8-ми ST | приблизительно 4㎲ |
※ Если вам нужна высокая точность, используйте HT.