切换模式


切换模式是输出切换信号的模式。在此模式中可使用的命令如下。

命令 下级命令 说明
set mode output toggle set mode: toggle
div ms set unit: millisecond
us set unit: microsecond
output od open-drain
pp push-pull
low output LOW
high output HIGH
invert 0 not invert output
1 invert output
count [T1] ... [T8] set output timing parameters
repc [N] set repeat count
trigger from ht0 set trigger target: ht0
php set trigger target: none
reset - reset
get state get current state
div get division rate
repc get remaining repeat count
start - start
stop - stop

输出设定

HT的输出设定有如下项目。

区分 语法
open-drain pid_ioctl($pid, "set output od");
push-pull pid_ioctl($pid, "set output pp");
output HIGH pid_ioctl($pid, "set output high");
output LOW pid_ioctl($pid, "set output low");
invert output pid_ioctl($pid, "set output invert 1"); // inverted output
pid_ioctl($pid, "set output invert 0"); // normal output

所有输出模式设定在命令行的实行同时反映在输出针脚。

确定反复次数

反复次数决定输出信号的输出次数。可设定的N的范围是0 ~ 64。基本值为0时,0指最大反复次数64。

区分 语法
set repc pid_ioctl($pid, "set repc N");

计数值设定

计数设定为了调整输出时间使用。在切换输出模式可以设定计数值为最少1至最多8个。设定方法如下。

区分 语法
set count pid_ioctl($pid, "set count T1 T2 … T8");

在切换模式中可以使用的计数值范围如下。

单位 可设定范围
T1 ~ T8 1 ~ 32764

只设定T1时的时间如下。

ht_set_toggle_01

ht_set_toggle_02

在切换输出模式中设定两个以上的计数值时,此值在每输出始点按顺序使用。如果反复次数比设定的计数值多时,重新自开始值按顺序使用。 反复次数为4时设定3个值(T1 ~ T3)的情况时间如下。

ht_set_toggle_03

切换输出模式使用 例

切换输出模式使用

$pid = pid_open("/mmap/ht0");               // open HT 0
pid_ioctl($pid, "set div us");              // set unit: microsecond
pid_ioctl($pid, "set mode output toggle");  // set mode: toggle
pid_ioctl($pid, "set repc 1");              // set repeat count: 1
pid_ioctl($pid, "set count 1");             // set count T1: 1
pid_ioctl($pid, "start");                   // start HT
while(pid_ioctl($pid, "get state"));
pid_close($pid);

在切换模式中的"set count"指自HT的开始至发送输出始点为止的时间。在实行上面的例子时HT的输出结果如下。

ht_set_toggle_04

反复切换输出模式

$pid = pid_open("/mmap/ht0");               // open HT 0
pid_ioctl($pid, "set div us");              // set unit: microsecond
pid_ioctl($pid, "set mode output toggle");  // set mode: toggle
pid_ioctl($pid, "set repc 3");              // set repeat count: 3
pid_ioctl($pid, "set count 1 2 1");         // set count values: 1, 2 and 1
pid_ioctl($pid, "start");                   // start HT
while(pid_ioctl($pid, "get state"));
pid_close($pid);

在上面例子中通过"set repc"命令设定切换输出次数为3次,为了切换输出时间通过"set count"设定T1, T2和T3为1, 2和1微妙。实行上面例子时HT输出结果如下。

ht_set_toggle_05