Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.02;
Скачать: CL | DM;

Вниз

Com-port   Найти похожие ветки 

 
Duk_   (2005-07-25 17:57) [0]

Я спаял ИК-приемник (инфрокрасный) и подключил к ком порту (а именно 1, 5 и 7 пины). Подскажите как прочитать информацию из порта.


 
alex_***   (2005-07-25 17:59) [1]

WinAPI: CreateFile, ReadFile/WriteFile


 
GanibalLector ©   (2005-07-25 23:38) [2]

>WinAPI: CreateFile, ReadFile/WriteFile
Да,но при чем тут ReadFile/WriteFile??? В сабже автора ни слова не сказано,про 2 и 3 ногу. Тут нужен другой подход.Такой,например : EscapeCommFunction


 
Duk_   (2005-07-26 00:11) [3]

Если можно подробнее!!!


 
kblc ©   (2005-07-26 06:40) [4]

2Duk_:
 Заходишь на http://msdn.microsoft.com/ и ищешь там. Как пользоваться поисковиками ты знаешь... проблем с переводом с Си на Делфи я думаю не будет.
 Удачи.


 
Duk_   (2005-07-26 10:54) [5]

Ну а по существу может кто-то сказать.

kblc: Я думаю этот форум создан не для того, чтоб посылать тех у кого есть вопросы на поисковики.


 
kblc ©   (2005-07-26 10:56) [6]

2Duk_:
 тебе здесь этого никто не скажет.
 меня тоже "посылали" ... так что если есть нужда и желание - изучай сам.


 
Ботвин Дмитрий   (2005-07-26 10:57) [7]

Я точно не знаю распайку выводов у ком-порта, но причём тут это?
Если ком-порт принимает сигнал от устройства, то ответ [1]. Если
нет - ты не правильно его подключил. Вот и всё.


 
Duk_   (2005-07-26 11:00) [8]

У меня есть программа которая с этим всем прекрасно работает. Но у нее мало функций. Я решил зделать свое


 
Ботвин Дмитрий   (2005-07-26 11:07) [9]

Тогда значит всё у тебя хорошо. Ответ [1]. Примеров в инете и даже на этом форме навалом. Ссылку, я думаю, и сам сожешь найти...


 
Kolan ©   (2005-07-26 11:12) [10]

Работа с твоим ИК портом ничем не отличается от работы с обычным Com портом. Даш мыло скину компонент...


 
Ботвин Дмитрий   (2005-07-26 11:17) [11]

Да компонент тут и не нужен, вот например статья хорошая
http://www.kamlit.ru/docs/journals/cd/cd22/off-line/pr/22/article_15.php.htm


 
Kolan ©   (2005-07-26 11:22) [12]

Компонент можно сказать самодельный. Просто обертка вокруг API
PS Отправил. Перепутал это у тебя ©  нет, а мыло есть.


 
tesseract ©   (2005-07-27 21:05) [13]

>>>(а именно 1, 5 и 7 пины). - 1- питание 5- земля 7 - DTR. Ловвишь изменение и запоминаешь тайминг и последовательность его миганий.
Ссылочка бесполезна. ТК в буфер данных ни фига не приходит. Их контакты -2 и 3.


 
Duk_   (2005-07-27 23:10) [14]

Удалено модератором


 
Duk_   (2005-07-27 23:41) [15]

А можно ли сделать чтоб к ком порту одновременно обращалось две программы?


 
GanibalLector ©   (2005-07-28 02:20) [16]

2 tesseract ©   (27.07.05 21:05) [13]
Я давно говорил о этом ;) Еще в [2]

2 Duk_
>А можно ли сделать чтоб к ком порту одновременно обращалось две программы?
Нет


 
Slym ©   (2005-07-28 05:17) [17]

Duk_   (27.07.05 23:41) [15]
Можно: через "прокси"/драйвер


 
atruhin ©   (2005-07-28 08:15) [18]

Вообще проблема обширнее. Так как кроме принять, там нужна достаточно серьезная обработка. Посмотри WinLIRC.
Стабильное и готовое ПО. У него открытый интерфейс. Ставишь его и используешь из своей программы.


 
Duk_ ©   (2005-07-28 09:40) [19]

atruhin: Я знаю, но во первых мне это нужно, а во вторых хочу научиться делать это сам. Си я знаю ОЧЕНЬ плохо. Знаю только Паскаль (ну и конечно Делфи) и Ассемблер (хотя сказать что ты знаешь ассемблер это дать расплывчатое представление, так как это очень специфический язык)


 
Kolan ©   (2005-07-28 10:02) [20]

Ме пойму в чём проблемма.
Я работал с самодельным ИК(паял не я). Установился он у меня как один из Com портов. В чём проблемма то?


 
имя   (2005-07-28 10:40) [21]

Удалено модератором


 
Duk_ ©   (2005-07-28 15:45) [22]

Появился вопрос второй: как сделать так чтоб две программы работали с одним портом одновременно???


 
Duk_ ©   (2005-07-29 09:25) [23]

Slym ©   (28.07.05 05:17) [17]
Duk_   (27.07.05 23:41) [15]
Можно: через "прокси"/драйвер

А где можно про это что-то почитать?


 
gesper   (2005-07-29 14:49) [24]

если кто может, пришлите на мыло как самому сделать устройство и управлять им из кома


 
wal ©   (2005-07-29 15:31) [25]


> если кто может
я думаю, много кто может

> пришлите на мыло как самому сделать устройство
Зависит от устройства

> управлять им из кома
CreateFile
WriteFile
ReadFile
BuildCommDCB
BuildCommDCBAndTimeouts
ClearCommBreak
ClearCommError
CommConfigDialog
DeviceIoControl
EscapeCommFunction
GetCommConfig
GetCommMask
GetCommModemStatus
GetCommProperties
GetCommState
GetCommTimeouts
GetDefaultCommConfig
PurgeComm
SetCommBreak
SetCommConfig
SetCommMask
SetCommState
SetCommTimeouts
SetDefaultCommConfig
SetupComm
TransmitCommChar
WaitCommEvent


 
pRibambAs   (2005-07-30 08:08) [26]

tesseract ©   (27.07.05 21:05) [13]

> 1- питание 5- земля 7 - DTR. Ловвишь изменение и запоминаешь
> тайминг и последовательность его миганий.

1 - вход сигнала (CD)
5 - земля (GND)
7 - питание (RTS)

2 Duk_
Состояние CD читаем с помощью GetCommModemStatus, об изменении состояния узнаем либо циклически читая сигнал CD, либо с помощью WaitCommEvent. (В MSDN сигнал CD значится как RLSD). Как было замечено, тебе нужно следить за временнЫми изменениями состояния CD. Узнать какая последовательность какой команде соответствует ты можешь с помощью параллельного подключения сигнала CD к другому свободному COM порту. Т.е., смотришь чего делает "родная" программа, следя за сигналом со второго ком-порта.

Напряжение на RTS + или -12В. + или - выбирается включением/выключением RTS с помощью EscapeCommFunction. Выбирай в зависимости от полярности питания твоей железяки. Полярность можешь узнать просто измерив напряжение мультиметром во время работы железяки.

Если не хочешь возиться с виндовым API, юзай готовые компоненты.


> как сделать так чтоб две программы работали с одним портом
> одновременно???

Прямое обращение к портам. Большое НО: так делать не надо. Если решишься попробовать, то во-первых, нужно открыть прямой доступ к портам с помощью примочки наподобие giveio.sys, во-вторых, забыть про API и компоненты и управлять контроллером UART из каждой программы ручками. Тебе понадобится хорошая документация на UART.

Альтернатива: промежуточная программа. С одного конца она работает с COM портом, с другого конца выступает например как TCP сервер. Подключаешь свои программы к этому серверу и работаешь.


 
tesseract ©   (2005-08-01 22:16) [27]

>>1 - вход сигнала (CD) - Carrier Detect !!! Какое питание обнаружение несущей там +12 В идёт.
>>5 - земля (GND)
>>7 - питание (RTS) -точн (Ready to send) -  приёмник готов к передаче может и перепутал. но по памяти RTS/CTS - 4-6, 7-8 DTR/DSR
На всех +12 В в установленом режиме но на 1 больше А.

Конечно ты можешь получить +12 на любом контакте но CD управлять довольно тяжело а CTS/RTS черех API!


 
pRibambAs   (2005-08-02 20:07) [28]

CD не надо управлять. Нужно читать его состояние. На него сигнал подается с железяки.
+12 можно взять только с RTS и DTR (и может быть с TXD получится) и ниоткуда больше.


 
Marser ©   (2005-08-03 01:18) [29]

А разобраться с RX/TX не судьба?


 
Германн ©   (2005-08-03 02:16) [30]

2 Marser ©   (03.08.05 01:18) [29]
А ты об чем или к кому?

Разобраться с RX/TX - конечно весьма полезно. Хм...
Но продуктивно - только в некоторых случаях. :(
Я, конечно, имею в виду тот факт сабжа, что к COM-порту подключается "нестандартное устройство".


 
tesseract ©   (2005-08-04 10:32) [31]

>>А разобраться с RX/TX не судьба?
Не судьба. Та действует строго определённый протокол. Надо ловить сигнал на линнии CTS/DSR определять как линия "пульсирует" запоминать значения.


 
Digitman ©   (2005-08-04 16:38) [32]


> Duk_ ©   (28.07.05 15:45) [22]
> как сделать так чтоб две программы
> работали с одним портом одновременно???


ответ - в  басне приснопамятного И.А.Крылова "Лебедь, рак и щука".


 
Германн ©   (2005-08-05 01:45) [33]

2 Digitman ©   (04.08.05 16:38) [32]
Серёга, ты не прав! В сей басне они "действительно" работали с неким ресурсом одновременно, токмо результат был не тот!


 
GuAV ©   (2005-08-05 02:00) [34]

Юзать Winlirc, он является TCP сервером.



Страницы: 1 вся ветка

Текущий архив: 2005.10.02;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.067 c
1-1126704720
NetFlover
2005-09-14 17:32
2005.10.02
Проиграть по телефону музычку .... :)


4-1123441832
Anton S.
2005-08-07 23:10
2005.10.02
системный трей


1-1126172254
palgen
2005-09-08 13:37
2005.10.02
помогите разобраться с типами


3-1124388973
Ландграф Павел
2005-08-18 22:16
2005.10.02
AccessApplication как ввести пароль на базу данных


3-1124311391
Misha Uskov
2005-08-18 00:43
2005.10.02
многопоточность IBX в FB embedded