在截取模式中设定切换对象决定切换始点。切换对象不仅是HT0还可以指定相应HT的针脚输入。切换始点指HT的内部截取计数动作时间。 因此,当计时工作时在切换始点以前执行截取动作,此时计数值将全部为0。 以下示例显示在HT输入上升沿中切换,截取两个下降沿计数的例子。
$pid = pid_open("/mmap/ht0"); // open HT 0
pid_ioctl($pid, "set div us"); // set unit: microsecond
pid_ioctl($pid, "set mode capture fall"); // set mode: capture with falling edge
// set trigger target: pin event with rising edge
pid_ioctl($pid, "set trigger from pin rise");
pid_ioctl($pid, "set repc 2"); // set repeat count: 2
pid_ioctl($pid, "start"); // start HT 0
while(pid_ioctl($pid, "get state"))
;
for($i = 0; $i < 2; $i++)
echo "[$i]", pid_ioctl($pid, "get count $i"), "\r\n"; // read count values
pid_close($pid);
在实行上面例子期间,假设HT0的输入中,输入了周期为20㎲占空比为50%的2个方波时,计数0与1的值将如下被测定。
结果如下:
[0]10
[1]20