截取模式与切换模式


在截取模式中设定切换对象决定切换始点。切换对象不仅是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的值将如下被测定。

ht_set_triggercap

结果如下:

[0]10
[1]20