Сигнал линии модема


modem является командой для установки сигналов линии модема. Сигналами линии модема, которыми управляет эта команда, являются RTS и DTR, и оба сигнала могут быть установлены одновременно или индивидуально.

Одновременная настройка

"set modem (signal)"

Введите двухзначный двоичный номер в signal.
Первая цифра указывает значение сигнала RTS, а вторая цифра - на значение сигнала DTR. Значение 0 указывает на активное состояние, а значение 1 на неактивное состояние.

Значение Состояние RTS Состояние DTRц
00 активное активное
01 активное неактивное
10 неактивное активное
11 неактивное неактивное
<?php
include "/lib/sd_spc.php";

$sid = 14;
spc_reset();
spc_sync_baud(115200);

spc_request_dev($sid, "set uart 115200N81");

spc_request_dev($sid, "set modem 11");                // RTS & DTR: active
echo spc_request_dev($sid, "get modem"), "\r\n";      // output(e.g.): 111111
sleep(1);

spc_request_dev($sid, "set modem 00");                // RTS & DTR: inactive
echo spc_request_dev($sid, "get modem"), "\r\n";      // output(e.g.): 110101
sleep(1);
?>

Индивидуальная настройка

"set modem rts (rts signal)"
"set modem dtr (dtr signal)"

Введите 1 цифру бинарного сигнала в signal.
Значение 0 указывает на активное состояние, а значение 1 указывает на неактивное состояние.

<?php
include "/lib/sd_spc.php";

$sid = 14;
spc_reset();
spc_sync_baud(115200);

spc_request_dev($sid, "set uart 115200N81");

spc_request_dev($sid, "set modem rts 1");             // RTS: active
echo spc_request_dev($sid, "get modem rts"), "\r\n";  // output(e.g.): 1
sleep(1);

spc_request_dev($sid, "set modem dtr 1");             // DTR: active
echo spc_request_dev($sid, "get modem dtr");          // output(e.g.): 1
?>

※ Примечание: Установочный модемный сигнал ("set modem") и аппаратное управление потоком (RTS / CTS) не могут быть использованы одновременно.