![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() ![]() |
![]() |
Geo |
![]()
Сообщение
#1
|
Гость ![]() |
Такая ситуация...
Есть устройство, с 25-pin serial выходом, при этом распайка по пинам абсолютно не стыкуется со стандартной. Есть COM-порт компьютера, через который хочется связать его с железякой. Есть еще собственноручно спаяный переходник между железякой и портом. Есть прога на паскале, которая должна бы считывать то, что у нас приходит с порта. Результат - вся эта конструкция вместе не работает. :'( А теперь собственно вопросы ??? Как правильно юзать порт - с использованием PortW, вызовом прерывания, assign-ом (как где-то на этoм форуме предлагали) или еще как? И где есть человеческое описание протокола RS-232, то есть не только названия сигналов и по каким проводам, а когда какой из них выставляется и когда спадает и какой результат они вызывают? Thx a lot! |
AlaRic |
![]()
Сообщение
#2
|
... ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 347 Пол: Мужской Репутация: ![]() ![]() ![]() |
Мне интересно как порт юзается с помощью assign?
|
GLuk |
![]()
Сообщение
#3
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 775 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Мне интересно как порт юзается с помощью assign? А на каком форуме - ему это предлагали? В принципе - это возможно, если переписать проц. Assign. :) А по поводу описаловки RS посмотри в поисковиках, инфы море... |
trminator |
![]()
Сообщение
#4
|
Четыре квадратика ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 579 Пол: Мужской Репутация: ![]() ![]() ![]() |
По поводу assign - это мог написать я... За что купил - за то и продаю. Цитирую дословно из книги Епанешникова:
Связь с внешними устройствами в языке Паскаль осуществляется также через файловые переменные. В TP существует два типа внешних устройств: устройства ОС и текстовые устройства. Устройства ОС, с которыми осуществляется обмен информацией, могут быть описаны как файлы со стандартными именами. Эти имена следующие: <...> COM1, COM2 - имена двух портов <...> Если честно, то сам не пробовал - не на чем :-[ Но за что купил - за то и продаю. -------------------- Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала |
GLuk |
![]()
Сообщение
#5
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 775 Пол: Мужской Репутация: ![]() ![]() ![]() |
А что это за чувак - Епанешников и какого года книга?
|
AlaRic |
![]()
Сообщение
#6
|
... ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 347 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата В принципе - это возможно, если переписать проц. Assign. Да, тут выход один! |
trminator |
![]()
Сообщение
#7
|
Четыре квадратика ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 579 Пол: Мужской Репутация: ![]() ![]() ![]() |
А. М. Епанешников, В. А. Епанешников, "Программирование в среде Turbo Pascal 7.0", 4-е изд, М., Диалог-МИФИ, 2000.
Опять же говорю - сам не пробовал, т. к. не на чем - ни на com, ни на lpt ничего не висит. Компилятор не ругается. Может, кто проверит - мне самому интересно? -------------------- Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала |
GLuk |
![]()
Сообщение
#8
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 775 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата А. М. Епанешников, В. А. Епанешников, "Программирование в среде Turbo Pascal 7.0", 4-е изд, М., Диалог-МИФИ, 2000. Опять же говорю - сам не пробовал, т. к. не на чем - ни на com, ни на lpt ничего не висит. Компилятор не ругается. Может, кто проверит - мне самому интересно? Попробую, если с'ассигнит на LPT, может и выведу что на принтер.. |
GLuk |
![]()
Сообщение
#9
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 775 Пол: Мужской Репутация: ![]() ![]() ![]() |
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!!! |
Geo |
![]()
Сообщение
#10
|
Гость ![]() |
Попробовал запустить програмку - с началом англ алфавита - оно отвечает, что Error 160: Device Write Fault. Кстати, кажется там должно быть Rewrite вместо Reset
На PortW[$2f8]:=$AA не ругается, но осциллограф, присобаченый к выходам порта, не показывает ничего..... >:( |
GLuk |
![]()
Сообщение
#11
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 775 Пол: Мужской Репутация: ![]() ![]() ![]() |
Доки по интерфейсу с RS читал??
|
Geo |
![]()
Сообщение
#12
|
Гость ![]() |
в точности того, что мне нужно - не нашел, но кое-что полезное есть.
|
GLuk |
![]()
Сообщение
#13
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 775 Пол: Мужской Репутация: ![]() ![]() ![]() |
Тебе нужен интерфейс с RS или распайка кабеля?
|
Geo |
![]()
Сообщение
#14
|
Гость ![]() |
Распайка кабеля у меня есть. Мне нужны временные диаграммы этих сигналов. Интересует, например, когда спадает сигнал готовности к приему - после первого переданного бита даных или после последнего, ну и в таком роде...
А вообще-то основная проблема - заставить пахать порт! Он упорно притворяется нерабочим. |
Geo |
![]()
Сообщение
#15
|
Гость ![]() |
Нет, это просто маразм... >:(
Все сосотяния портов 2F8-2FE меняются так, как будто все посылается. Реально же на осциллографе я не вижу ничего! :o Может, у кого-нибудь есть идея, даже самая дурацкая? Очень нужно! |
Леонид |
![]()
Сообщение
#16
|
Гость ![]() |
Вообще-то COM - дволольно сложная в управлении железяка, кроме как по служебным линиям DTR - DSR и RTS - CTS напрямую вывести/прочитать ничего нельзя. Перед тем, как с ним работать, надо его запрограммировать - поставить формат обмена и установить делитель скорости. Под чем ты пытаешься его использовать - под DOS или "форточками" (разница глобальная)? Как тебе нужно организовать обмен - произвольной последовательностью сигналов или в формате RS-232? Скинь мне ответы на мыло. Я давно занимаюсь управлением всяким нестандартным хардом через COM, попробую помочь.
Леонид. |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 11:36 |