IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

 
 Ответить  Открыть новую тему 
> Проблемка с COM-портом
сообщение
Сообщение #1


Гость






Такая ситуация...
Есть устройство, с 25-pin serial выходом, при этом распайка по пинам абсолютно не стыкуется со стандартной.
Есть COM-порт компьютера, через который хочется связать его с железякой.
Есть еще собственноручно спаяный переходник между железякой и портом.
Есть прога на паскале, которая должна бы считывать то, что у нас приходит с порта.
Результат - вся эта конструкция вместе не работает. :'(

А теперь собственно вопросы ???
Как правильно юзать порт - с использованием PortW, вызовом прерывания, assign-ом (как где-то на этoм форуме предлагали) или еще как?

И где есть человеческое описание протокола RS-232, то есть не только названия сигналов и по каким проводам, а когда какой из них выставляется и когда спадает и какой результат они вызывают?

Thx a lot!
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


...
*****

Группа: Пользователи
Сообщений: 1 347
Пол: Мужской

Репутация: -  3  +


Мне интересно как порт юзается с помощью assign?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Профи
****

Группа: Пользователи
Сообщений: 775
Пол: Мужской

Репутация: -  0  +


Цитата
Мне интересно как порт юзается с помощью assign?


А на каком форуме - ему это предлагали? В принципе - это возможно, если переписать проц. Assign.  :)
А по поводу описаловки RS посмотри в поисковиках, инфы море...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Четыре квадратика
****

Группа: Пользователи
Сообщений: 579
Пол: Мужской

Репутация: -  4  +


По поводу assign - это мог написать я... За что купил - за то и продаю. Цитирую дословно из книги Епанешникова:
Связь с внешними устройствами в языке Паскаль осуществляется также через файловые переменные.
В TP существует два типа внешних устройств: устройства ОС и текстовые устройства.
Устройства ОС, с которыми осуществляется обмен информацией, могут быть описаны как файлы со стандартными именами. Эти имена следующие:
<...>
COM1, COM2 - имена двух портов
<...>


Если честно, то сам не пробовал - не на чем :-[ Но за что купил - за то и продаю.


--------------------
Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Профи
****

Группа: Пользователи
Сообщений: 775
Пол: Мужской

Репутация: -  0  +


А что это за чувак - Епанешников и какого года книга?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


...
*****

Группа: Пользователи
Сообщений: 1 347
Пол: Мужской

Репутация: -  3  +


Цитата
В принципе - это возможно, если переписать проц. Assign.  

Да, тут выход один!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Четыре квадратика
****

Группа: Пользователи
Сообщений: 579
Пол: Мужской

Репутация: -  4  +


А. М. Епанешников, В. А. Епанешников, "Программирование в среде Turbo Pascal 7.0", 4-е изд, М., Диалог-МИФИ, 2000.

Опять же говорю - сам не пробовал, т. к. не на чем - ни на com, ни на lpt ничего не висит. Компилятор не ругается. Может, кто проверит - мне самому интересно?


--------------------
Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Профи
****

Группа: Пользователи
Сообщений: 775
Пол: Мужской

Репутация: -  0  +


Цитата
А. М. Епанешников, В. А. Епанешников, "Программирование в среде Turbo Pascal 7.0", 4-е изд, М., Диалог-МИФИ, 2000.

Опять же говорю - сам не пробовал, т. к. не на чем - ни на com, ни на lpt ничего не висит. Компилятор не ругается. Может, кто проверит - мне самому интересно?


Попробую, если с'ассигнит на LPT, может и выведу что на принтер..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Профи
****

Группа: Пользователи
Сообщений: 775
Пол: Мужской

Репутация: -  0  +


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!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гость






Попробовал запустить програмку - с началом англ алфавита - оно отвечает, что Error 160: Device Write Fault. Кстати, кажется там должно быть Rewrite вместо Reset

На PortW[$2f8]:=$AA не ругается, но осциллограф, присобаченый к выходам порта, не показывает ничего..... >:(
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Профи
****

Группа: Пользователи
Сообщений: 775
Пол: Мужской

Репутация: -  0  +


Доки по интерфейсу с RS читал??
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Гость






в точности того, что мне нужно - не нашел, но кое-что полезное есть.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Профи
****

Группа: Пользователи
Сообщений: 775
Пол: Мужской

Репутация: -  0  +


Тебе нужен интерфейс с RS или распайка кабеля?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Гость






Распайка кабеля у меня есть. Мне нужны временные диаграммы этих сигналов. Интересует, например, когда спадает сигнал готовности к приему - после первого переданного бита даных или после последнего, ну и в таком роде...

А вообще-то основная проблема - заставить пахать порт! Он упорно притворяется нерабочим.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Гость






Нет, это просто маразм... >:(

Все сосотяния портов 2F8-2FE меняются так, как будто все посылается. Реально же на осциллографе я не вижу ничего!  :o

Может, у кого-нибудь есть идея, даже самая дурацкая? Очень нужно!
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Гость






Вообще-то COM - дволольно сложная в управлении железяка, кроме как по служебным линиям DTR - DSR и RTS - CTS напрямую вывести/прочитать ничего нельзя. Перед тем, как с ним работать, надо его запрограммировать - поставить формат обмена и установить делитель скорости. Под чем ты пытаешься его использовать - под DOS или "форточками" (разница глобальная)? Как тебе нужно организовать обмен - произвольной последовательностью сигналов или в формате RS-232? Скинь мне ответы на мыло. Я давно занимаюсь управлением всяким нестандартным хардом через COM, попробую помочь.
Леонид.
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 19.10.2017 21:30
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"