Такая ситуация...
Есть устройство, с 25-pin serial выходом, при этом распайка по пинам абсолютно не стыкуется со стандартной.
Есть COM-порт компьютера, через который хочется связать его с железякой.
Есть еще собственноручно спаяный переходник между железякой и портом.
Есть прога на паскале, которая должна бы считывать то, что у нас приходит с порта.
Результат - вся эта конструкция вместе не работает. :'(
А теперь собственно вопросы ???
Как правильно юзать порт - с использованием PortW, вызовом прерывания, assign-ом (как где-то на этoм форуме предлагали) или еще как?
И где есть человеческое описание протокола RS-232, то есть не только названия сигналов и по каким проводам, а когда какой из них выставляется и когда спадает и какой результат они вызывают?
Thx a lot!
Мне интересно как порт юзается с помощью assign?
Цитата
Мне интересно как порт юзается с помощью assign?
А на каком форуме - ему это предлагали? В принципе - это возможно, если переписать проц. Assign. :)
А по поводу описаловки RS посмотри в поисковиках, инфы море...
trminator
12.04.2003 21:27
По поводу assign - это мог написать я... За что купил - за то и продаю. Цитирую дословно из книги Епанешникова:
Связь с внешними устройствами в языке Паскаль осуществляется также через файловые переменные.
В TP существует два типа внешних устройств: устройства ОС и текстовые устройства.
Устройства ОС, с которыми осуществляется обмен информацией, могут быть описаны как файлы со стандартными именами. Эти имена следующие:
<...>
COM1, COM2 - имена двух портов
<...>
Если честно, то сам не пробовал - не на чем :-[ Но за что купил - за то и продаю.
А что это за чувак - Епанешников и какого года книга?
Цитата
В принципе - это возможно, если переписать проц. Assign.
Да, тут выход один!
trminator
14.04.2003 20:31
А. М. Епанешников, В. А. Епанешников, "Программирование в среде Turbo Pascal 7.0", 4-е изд, М., Диалог-МИФИ, 2000.
Опять же говорю - сам не пробовал, т. к. не на чем - ни на com, ни на lpt ничего не висит. Компилятор не ругается. Может, кто проверит - мне самому интересно?
Цитата
А. М. Епанешников, В. А. Епанешников, "Программирование в среде Turbo Pascal 7.0", 4-е изд, М., Диалог-МИФИ, 2000.
Опять же говорю - сам не пробовал, т. к. не на чем - ни на com, ни на lpt ничего не висит. Компилятор не ругается. Может, кто проверит - мне самому интересно?
Попробую, если с'ассигнит на LPT, может и выведу что на принтер..
Const
a:array[1..12] of Char = ('A','B','C','D','E','F','G','H','I','J','K','L');
Var
F:File;
Begin
Assign(F,'LPT1');
Reset(F);
BlockWrite(F,a,12);
Close(F);
End.
ЭТО выводит на принтер (если, конечно, он висит на LPT1) начало англ. алфавита + кучу всякой хрени. В принципе это же стандартный ДОС stdout!!!
Попробовал запустить програмку - с началом англ алфавита - оно отвечает, что Error 160: Device Write Fault. Кстати, кажется там должно быть Rewrite вместо Reset
На PortW[$2f8]:=$AA не ругается, но осциллограф, присобаченый к выходам порта, не показывает ничего..... >:(
Доки по интерфейсу с RS читал??
в точности того, что мне нужно - не нашел, но кое-что полезное есть.
Тебе нужен интерфейс с RS или распайка кабеля?
Распайка кабеля у меня есть. Мне нужны временные диаграммы этих сигналов. Интересует, например, когда спадает сигнал готовности к приему - после первого переданного бита даных или после последнего, ну и в таком роде...
А вообще-то основная проблема - заставить пахать порт! Он упорно притворяется нерабочим.
Нет, это просто маразм... >:(
Все сосотяния портов 2F8-2FE меняются так, как будто все посылается. Реально же на осциллографе я не вижу ничего! :o
Может, у кого-нибудь есть идея, даже самая дурацкая? Очень нужно!
Вообще-то COM - дволольно сложная в управлении железяка, кроме как по служебным линиям DTR - DSR и RTS - CTS напрямую вывести/прочитать ничего нельзя. Перед тем, как с ним работать, надо его запрограммировать - поставить формат обмена и установить делитель скорости. Под чем ты пытаешься его использовать - под DOS или "форточками" (разница глобальная)? Как тебе нужно организовать обмен - произвольной последовательностью сигналов или в формате RS-232? Скинь мне ответы на мыло. Я давно занимаюсь управлением всяким нестандартным хардом через COM, попробую помочь.
Леонид.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.