Режим 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 требуются 2 значения счетчика. Как установить значения счетчика:

Команда Синтаксис
set count pid_ioctl($pid, "set count T1 T2");

Дорступные значения для счетчиков T1 и T2 в режиме PWM следующие:

Раздел Доступные значения подсчета
T1 0 ~ 32764
T2 0 ~ 32764
T1 + T2 1 ~ 32764

На схеме ниже показана форма сигнала, о котором говорилось выше.

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_set_pwm_02