切换模式是输出切换信号的模式。在此模式中可使用的命令如下。
命令 | 下级命令 | 说明 | |||
---|---|---|---|---|---|
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时的时间如下。
在切换输出模式中设定两个以上的计数值时,此值在每输出始点按顺序使用。如果反复次数比设定的计数值多时,重新自开始值按顺序使用。 反复次数为4时设定3个值(T1 ~ T3)的情况时间如下。
$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的输出结果如下。
$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输出结果如下。