在希望将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要比成为trigger对象的ST要先启动。
输出如下。
ST存在trigger误差。ST的trigger误差范围如下。
区分 | 误差范围 |
---|---|
Simultaneously use 2 STs | approximately 1㎲ |
Simultaneously use 8 STs | approximately 4㎲ |
※ 需要更高的准确度时,请使用HT。