PWM 模式

PWM输出模式是反复次数为无限的脉冲输出模式。因此反复次数与计数设定之外所有使用方法与脉冲输出模式相同。在PWM输出模式可使用的命令如下。

命令 下级命令 说明
set mode output pwm set mode: pwm
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] [T2] set output timing parameters
trigger from ht0 set trigger target: ht0
php set trigger target: none
reset - reset
get state get current state
div get division rate
start - start
stop - stop

设定计数值

计数值设定为了调整输出时间来设定。在PWM输出模式下需要两个计数值设定。计数值设定方法如下。

命令 语法
set count pid_ioctl($pid, "set count T1 T2");

在PWM输出模式下可设定的计数值范围如下。

区分 可设定参数值
T1 0 ~ 32764
T2 0 ~ 32764
T1 + T2 1 ~ 32764

在PWM输出模式下T1与T2的时间如下。

ht_set_pwm_01

PWM输出模式使用例

PWM输出模式使用例

$pid = pid_open("/mmap/ht0");           // open HT 0
pid_ioctl($pid, "set div us");          // set unit: microsecond
pid_ioctl($pid, "set mode output pwm"); // set mode: PWM mode
pid_ioctl($pid, "set count 1 1");       // set count values: 1, 1
pid_ioctl($pid, "start");               // start HT
usleep(50);
pid_ioctl($pid, "stop");                // stop HT
pid_close($pid);

在实行上面例子时HT的输出结果如下。

ht_set_pwm_02