编辑器设定及监控的命令是enc。
相关命令有计数方向设置、计数器值设定、计数值监控及定期监控等。
设定计数方向的命令是Tset pol。
"dc1 enc set pol (polarity)"
在polarity上指定计数方向(+ 或是 -),基本值是+。
在传感器为一个的编辑器上polarity上设定为0。 此情况,pos的值将会一直增加。
方向 | 旋转方向 | 计数器值 |
---|---|---|
+ | forward | increase |
+ | reverse | decrease |
- | forward | decrease |
- | reverse | increase |
0 | forward | increase |
0 | reverse | increase |
spc_request_dev($sid, "dc1 enc set pol +");
spc_request_dev($sid, "dc1 enc set pol -");
设定编辑器计数值的命令是set pos。
"dc1 enc set pos (value)"
给value指定计数值。计数值可设定范围为-1000000000 (-10亿)至+1000000000 (10亿)。
spc_request_dev($sid, "dc1 enc set pos -5000");
spc_request_dev($sid, "dc1 enc set pos 3000");
设定编辑器取样计数的命令是set psr。
"dc1 enc set psr (value)"
在value上指定取样计数。
编辑器器取样计数指在测定编辑器输出脉冲时使用的脉冲个数。取样计数越多,误差越小。编辑器取样计数可从1设定到64。
spc_request_dev($sid, "dc1 enc set psr 16");
监控编辑器计数值的命令是get pos。
"dc1 enc get pos"
<?php
include "/lib/sd_spc.php";
spc_reset();
spc_sync_baud(115200);
$sid = 1;
spc_request_dev($sid, "dc1 pwm set period 10000");
spc_request_dev($sid, "dc1 pwm set width 1000");
while(1)
{
$count = spc_request_dev($sid, "dc1 enc get pos");
echo "$count\r\n";
}
?>
监控编辑器脉冲输出周期的命令是get period。
"dc1 enc get period"
编辑器输出脉冲的周期的单位是毫秒(us)。
为了减少误差,在进行编辑器输出脉冲周期监控时,请将编辑器取样数设定为高值。
<?php
include "/lib/sd_spc.php";
spc_reset();
spc_sync_baud(115200);
$sid = 1;
spc_request_dev($sid, "dc1 pwm set period 10000");
spc_request_dev($sid, "dc1 pwm set width 1000");
spc_request_dev($sid, "dc1 enc set psr 4");
while(1)
{
$count = spc_request_dev($sid, "dc1 enc get period");
echo "$count\r\n";
}
?>