информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Где водятся OGRыСтрашный баг в WindowsВсе любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Китайский прорыв из ESXi 
 С наступающим 
 libmdbx => MithrilDB 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[php] [win32] работа с последовательным портом 09.08.04 11:52  
Автор: J'JF <Dmytro Volhushyn> Статус: Elderman
Отредактировано 10.08.04 00:01  Количество правок: 2
<"чистая" ссылка>
У кого-нибудь есть опыт?
потому что постоянно напарываюсь на какие-то приколы...
Простые функции типа fopen работают только на запись. Читать с COM-порта ничего не получается :-(
Да и запись, признаться, работает странно. Например, отправляю символ ">", а реально он посылает в порт, к примеру, не "3e", а "7b" (за точность не ручаюсь, но что-то в этом духе) :-(
Поставил php5 - в нем уже худо-бедно работают функции dio.
Проработало немного, потом опять сдохло... Писать - пишет , а вот читать - ни в какую. Причем без переконфигурации и т.п... просто на выходных в один прекрасный момент скрипт перестал получать данные. И все. Сегодня мне пока не удалось его разморозить :-(
При этом тупая программка, написанная на delphi (да что там - любой терминал) на этой же тачке и пишет, и читает нормально.

Хоть кто-нибудь что-нибудь скажите! Может, не валять дурака и не использовать php для такой задачи? (хотя задача-то - тривиальнейшая).
А как дело обстоит с perl? Нормально ли он работает с последовательным портом под виндой?

P.S. Только что выяснил, как можно восстановить работоспособность dio в php5: применить заново локальные политики безопасности!!!!! (тачка не в домене). Ничерта не пойму... а как это связано-то???
Осталось тогда выяснить, что же слетает такого, что отваливается программное чтение из последовательного порта при помощи php.

P.P.S. Проверил ActivePerl 5.8.4 - пишет в порт именно то, что нужно. А вот читать - не читает... Скрипт наподобие этого:
---
open(PORT,"+<","COM2");
print PORT ">H\r\n";
$str='';
while (ord($buff)!=10)
{
$buff=getc(PORT);
if (defined($buff))
{ $str=$str+$buff;}
}
сlose PORT;
---
при любом раскладе возвращает пустую $str (точнее, возвращает, если ограничить количество итераций, а так, ессно, висит... При этом скрипт на php со сохожим алгоритмом, только с использованием dio на чтение работает).
Есть у кого-нибудь комментариии какие-то?
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2026 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach