Данный режим переключает выходной сигнал. Доступные команды в этом режиме:
Команды | Подкоманды | Описание | |||
---|---|---|---|---|---|
set | mode | output | toggle | set mode: toggle | |
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] ... [T8] | set output timing parameters | |||
repc | [N] | set repeat count | |||
trigger | from | ht0 | set trigger target: ht0 | ||
php | set trigger target: none | ||||
reset | - | reset | |||
get | state | get current state | |||
div | get division rate | ||||
repc | get remaining repeat count | ||||
start | - | start | |||
stop | - | stop |
Подкоманды команды "set output" в режиме переключения:
Раздел | Синтаксис |
---|---|
open-drain | pid_ioctl($pid, "set output od"); |
push-pull | pid_ioctl($pid, "set output pp"); |
output HIGH | pid_ioctl($pid, "set output high"); |
output LOW | pid_ioctl($pid, "set output low"); |
invert output | pid_ioctl($pid, "set output invert 1"); // inverted output pid_ioctl($pid, "set output invert 0"); // normal output |
Все команды выполняются сразу после выполнения каждой командной строки.
Данная команда предназначена для установки количества повторений на выходе. Вы можете установить значения от нуля до 64 для счетчика повторений N. Если N не указан, то по умолчанию N будет равно нулю. Установка этого значения на ноль означает максимальное количество повторений (64).
Команда | Синтаксис |
---|---|
set repc | pid_ioctl($pid, "set repc N"); |
Данная команда предназначена для определения времени для выходного сигнала. В режиме переключения действительное число значений счета колеблется от 1 до 8. Способ использования команды выглядит следующим образом:
Команда | Синтаксис |
---|---|
set count | pid_ioctl($pid, "set count T1 T2 … T8"); |
Доступные значения для счета в режиме переключения следующие:
Раздел | Доступные значения счета |
---|---|
T1 ~ T8 | 1 ~ 32764 |
На приведенной ниже схеме показана форма сигнала в случае установки только 1-го значения T1.
Если вы задали 2 значения или больше, каждое значение подсчета будет использоваться по порядку. Когда количество повторений больше числа установленного отсчета, будут опять использованы значения счетчика из первого счета. Например, форма сигнала установки из 3 значений счета (T1, T2 и T3) с 4 повторными подсчетами выгялдит следующим образом:
$pid = pid_open("/mmap/ht0"); // open HT 0
pid_ioctl($pid, "set div us"); // set unit: microsecond
pid_ioctl($pid, "set mode output toggle"); // set mode: toggle
pid_ioctl($pid, "set repc 1"); // set repeat count: 1
pid_ioctl($pid, "set count 1"); // set count T1: 1
pid_ioctl($pid, "start"); // start HT
while(pid_ioctl($pid, "get state"));
pid_close($pid);
Значение "set count" - это промежуток времени между запуском HT и сигналом переключения выхода. Форма волны выходного сигнала НТ выглядит следующим образом:
$pid = pid_open("/mmap/ht0"); // open HT 0
pid_ioctl($pid, "set div us"); // set unit: microsecond
pid_ioctl($pid, "set mode output toggle"); // set mode: toggle
pid_ioctl($pid, "set repc 3"); // set repeat count: 3
pid_ioctl($pid, "set count 1 2 1"); // set count values: 1, 2 and 1
pid_ioctl($pid, "start"); // start HT
while(pid_ioctl($pid, "get state"));
pid_close($pid);
В приведенном выше примере заданы 3 значения счетчика (T1, T2 и T3), а это 1, 2 и 1 микросекунды. Форма волны выходного сигнала HT выглядит следующим образом: