Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];

Вниз

работа с выводами com порта   Найти похожие ветки 

 
Shico   (2006-12-14 22:25) [0]

Друзья, подскажите как на заданную ногу порта либо подать напряжение, либо его убрать. Т.е. не послать в порт данные, а именно подать напряжение. Если есть варианты с LPT тоже подойдёт.


 
Kolan ©   (2006-12-14 22:33) [1]

> [0] Shico   (14.12.06 22:25)
> Друзья, подскажите как на заданную ногу порта либо подать
> напряжение, либо его убрать. Т.е. не послать в порт данные,
> а именно подать напряжение. Если есть варианты с LPT тоже
> подойдёт.

Трудно это сделать. Если не неозможно. Работа с портами в NT происходит через стандартные ф-ции работы с файлами. Система все делает сама..


 
Shico   (2006-12-14 23:05) [2]

должен быть вариант работы с LPT. этот порт для того и придумали. или я не прав?


 
Германн ©   (2006-12-15 00:11) [3]


> Shico   (14.12.06 23:05) [2]
>
> должен быть вариант работы с LPT. этот порт для того и придумали.
>  или я не прав?

Попробуй тогда расшифровать аббревиатуру LPT.


 
atruhin ©   (2006-12-15 05:18) [4]

Есть готовые драйвера, для прямого управления портами.
Мы пользовались WinIO от http://www.internals.com,
работает хорошо.


 
wal ©   (2006-12-15 08:51) [5]


> Shico   (14.12.06 22:25)
Заданную, это какую?


 
Mixal__   (2006-12-15 12:23) [6]

на COM порте можно управлять ногами DTR и RTS

dcb.fRtsControl :=RTS_CONTROL_ENABLE; // DISABLE
dcb.fDtrControl = DTR_CONTROL_ENABLE; // DISABLE
SetCommState(port_ptr,dcb);


 
Shico   (2006-12-15 20:42) [7]

>Германн ©   (15.12.06 00:11) [3]
>Заданную, это какую?
Это по номеру ноги. Есть сигнальные ноги, вот на них и подавать сигнал (либо 0, либо 1)

>Германн ©   (15.12.06 00:11) [3]
>Попробуй тогда расшифровать аббревиатуру LPT.
Если придираться к словам, то нет такого понятия как LPT, есть IEEE 1284 (если не ошибаюсь в цифре). Я имел ввиду, что большинство устройств, которым требуется управление с компа, вешают именно на этот порт, а не на com (RS232). Связать собственноручно сделанную железку с программой легче по IEEE.
Будьте добры, пишите по делу.


 
Kolan ©   (2006-12-15 20:55) [8]

> Будьте добры, пишите по делу.

По делу. Так в виндовс работают редко. Обычно все делаю функциями системы CreateFile, ReadFile итд


 
Shico   (2006-12-16 18:57) [9]

>Kolan ©   (15.12.06 20:55) [8]
а как по твоему работают с внешними устройствами? как с помощью компа заставить сервопривод работать? если есть идеи в обход портов естественно буду признателен, но думаю что логично использовать порты


 
medved_68 ©   (2006-12-16 19:01) [10]


> Друзья, подскажите как на заданную ногу порта либо подать
> напряжение, либо его убрать. Т.е. не послать в порт данные,
>  а именно подать напряжение.

Только на линии DTR,RTS
EscapeCommFunction(Хендл порта,SETDTR или SETRTS); :)))


 
Kolan ©   (2006-12-16 19:15) [11]

> использовать порты

Ты их и используешь, но только не напрямую, а ченрез систему. Обычно устро-во на другой стороне не тупое. Ты говриш еме "работай", а оно работает..


 
Германн ©   (2006-12-17 01:08) [12]


> Shico   (16.12.06 18:57) [9]
>
> >Kolan ©   (15.12.06 20:55) [8]
> а как по твоему работают с внешними устройствами? как с
> помощью компа заставить сервопривод работать? если есть
> идеи в обход портов естественно буду признателен, но думаю
> что логично использовать порты
>

Имхо, неверно думаешь. Комп заточен на работу со "стандартными" устройствами. Посему есть два грамотных варианта. Либо нужно делать "стандартное" устройство (т.е. писАть драйвер), либо использовать промежуточное устройство, которое преобразует стандартный протокол компа (COM, LPT) в протокол нестандартного устройства.
Твой вариант в общем случае годится только для ДОС.


 
Shico   (2006-12-17 01:58) [13]

>Германн ©   (17.12.06 01:08) [12]
Вопрос и сводится к  написанию драйвера. только не совсем стандартного.

>Kolan ©   (16.12.06 19:15) [11]
у меня складывается мнение, что ты себя считаешь самым умным. по твоему как включается вентилятор на блоке питания? он умный и ему передают биты данных или на него банально питание подаётся? Я говорю о реле, если тебе интересно. схема такая: из порта подаётся 5В на реле, реле даёт более высокое напряжение на нужное мне устройство, нужное мне устройство работает. устройство это как ты выразился "тупое". Твоё мнение, что это не возможно я уже понял.

2All
Вообще как-то видел статью (не помню где) там к LPT цепляли монохромную ЖК панель. Думаю там что то похожее было. Если кто видел, дайте ссылочку.


 
Германн ©   (2006-12-17 02:14) [14]


> Shico   (17.12.06 01:58) [13]
>
> >Германн ©   (17.12.06 01:08) [12]
> Вопрос и сводится к  написанию драйвера. только не совсем
> стандартного.
>

На русский переведи, пож-ста.


 
Германн ©   (2006-12-17 02:25) [15]

Имхо, пора уже в "Потрепаться"!


 
Anatoly Podgoretsky ©   (2006-12-17 09:29) [16]

> Shico  (17.12.2006 1:58:13)  [13]

> схема такая: из порта подаётся 5В на реле, реле даёт более высокое напряжение на нужное мне устройство, нужное мне устройство работает. устройство это как ты выразился "тупое".

Это реализуется для компорта, без написания драйвера, для двух каналов, поскольку у компорта есть два управляемых с помощью WinAPI вывода. Документация об этом доступна из стандартной справке, достаточно подробная и есть множество примеров в Интернет. Задача
доступная даже для самых начинающих, достаточно начальных знаний по компорту и WinAPI
Контрольное слово для поиска в справке DCB

Смотри справку и если будут непонятные места, то задавай конкретный вопрос на форуме.


 
Anatoly Podgoretsky ©   (2006-12-17 09:32) [17]

> Shico  (14.12.2006 22:25:00)  [0]

В случае использования LPT решение еще проще, практически не требуется знание АПИ

Создать файл
Писать 0 и 1 в файл
Повторять пока нужно
Закрыть файл


 
Anatoly Podgoretsky ©   (2006-12-17 09:35) [18]

> Shico  (17.12.2006 1:58:13)  [13]

Драйвер говоришь, ну карты тебе в руки.


 
Kolan ©   (2006-12-17 10:52) [19]

> у меня складывается мнение, что ты себя считаешь самым умным

Вот хамить ненадо.

> схема такая

Ничего в этом не понимаю. Однако 99% программ, которые я пишу работают с устройствами через COM или LPT, поэтому что знаю, то и расказываю.


 
Shico   (2006-12-17 16:28) [20]

всё нашел. всем спасибо. кому интересно http://valery-us4leh.narod.ru/XpCoding/Shablon_XP.html. именно драйвер для LPT и именно под XP. пока не пробовал, но думаю то что надо.

не сочтите за хамство. меня тут не совсем все поняли. просто для интереса  попробуйте на досуге сделать так чтобы вентилятор на столе запускался по нажатию с клавиатуры. вот тогда поймёте о чем я. правда придётся поработать паяльником :) а на счет com-порта, то 2 выхода маловато.

тему можно закрывать


 
Anatoly Podgoretsky ©   (2006-12-17 18:14) [21]

> Shico  (17.12.2006 16:28:20)  [20]

Два выхода для включения вентилятора маловато???


 
Shico   (2006-12-18 00:07) [22]

> Anatoly Podgoretsky ©   (17.12.06 18:14) [21]

про вентиляторы я написал только чтобы был понятен принцип работы устройств который мне нужен. у меня вентиляторов нет.. хотя идея самому понравилась, надо будет к лету реализовать )))


 
atruhin ©   (2006-12-18 17:20) [23]

> меня тут не совсем все поняли. просто для интереса  попробуйте
> на досуге сделать так чтобы вентилятор на столе запускался
> по нажатию с клавиатуры.

Наивный! Тут человек 10 (может больше) профессионально аппаратурой занимаются, не только вентиляторами.

> всё нашел. всем спасибо. кому интересно

О существовании подобных драйверов я написал в > [4] atruhin ©   (15.12.06 05:18)
Двое суток ушло на то чтобы внимательно прочитать?


 
Shico   (2006-12-18 20:35) [24]

занимались бы профессионально, не говорили бы что под XP нельзя подобным образом работать. а на счет драйвера, если чесно то я в winio не разобрался. ИМХО по той ссылке что я дал гораздо понятнее.


 
Германн ©   (2006-12-19 01:47) [25]


> Shico   (18.12.06 20:35) [24]
>
> занимались бы профессионально, не говорили бы что под XP
> нельзя подобным образом работать.

А что разве можно в ХР работать напрямую с портами I/O из пользовательской программы?


 
atruhin ©   (2006-12-19 05:14) [26]

> А что разве можно в ХР работать напрямую с портами I/O из
> пользовательской программы?

Есть стороннии драйверы для этого дела. Мы при разработке, отладке успешно использовали WinIO.
Готовые изделия естественно по стандартному протоколу работали.


 
Германн ©   (2006-12-19 14:26) [27]


> atruhin ©   (19.12.06 05:14) [26]
>
> > А что разве можно в ХР работать напрямую с портами I/O
> из
> > пользовательской программы?
>
> Есть стороннии драйверы для этого дела.

А разве это "напрямую"?


 
Anatoly Podgoretsky ©   (2006-12-19 14:29) [28]

> Германн  (19.12.2006 14:26:27)  [27]

Если не поймет, то напрямую это

OUT xx, dx


 
si   (2006-12-19 19:24) [29]


> Если не поймет, то напрямую это
>
> OUT xx, dx


Только для WIN9x


 
Anatoly Podgoretsky ©   (2006-12-19 19:58) [30]

> si  (19.12.2006 19:24:29)  [29]

Опять не понял.
Это работа напрямую, никакого отношения к ОС не имеет.

writefile
это работа не напрямую, а через библиотеку


 
Shico   (2006-12-20 02:15) [31]

напрямую - это когда выставляешь на нужном пине либо ноль либо единицу
не напрямую - это когда посылаешь данные в двоичной системе

естественно в xp работаешь через драйвер, но именно с портом (точнее с его ногами), а не с протоколами. потому и "напрямую"


 
Германн ©   (2006-12-20 02:30) [32]


> Shico   (20.12.06 02:15) [31]
>
> напрямую - это когда выставляешь на нужном пине либо ноль
> либо единицу

Согласен.

> не напрямую - это когда посылаешь данные в двоичной системе

Бред.

> естественно в xp работаешь через драйвер, но именно с портом
> (точнее с его ногами), а не с протоколами. потому и "напрямую"

PostБред.


 
Anatoly Podgoretsky ©   (2006-12-20 10:15) [33]

> Shico  (20.12.2006 2:15:31)  [31]

А на ноги посылаешь в шестидесятиричной системе.
Где траву брал?


 
Shico   (2006-12-20 22:00) [34]

ноль - напряжения нет
единица - напряжение есть

детский сад


 
Shico   (2006-12-20 22:37) [35]

>Германн ©   (20.12.06 02:30) [32]
>PostБред

про двоичную систему ступил конечно, но посылаешь то именно данные. просто пишешь в порт, ничего не проверяя. ни ошибки, ни подтверждения что данные приняти ни скорость порта и т.п. просто прочитал или записал не вдаваясь в технические подробности.
и вообще раз уж речь зашла о терминах, то что для тебя на прямую? это когда лезешь в системник и замыкаешь контакты от БП на порт?


 
Германн ©   (2006-12-21 00:14) [36]


> и вообще раз уж речь зашла о терминах, то что для тебя на
> прямую?

Анатолий уже ответил.

> Anatoly Podgoretsky ©   (19.12.06 14:29) [28]



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

Форум: "WinAPI";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.059 c
2-1177592173
sadasd
2007-04-26 16:56
2007.05.20
TClientSocket


9-1150619554
Ricks
2006-06-18 12:32
2007.05.20
Бильярд...


6-1163627850
skiner
2006-11-16 00:57
2007.05.20
Как передать текст с ServerSocket на ClientSocket?


1-1174557288
Makhanev Alexander
2007-03-22 12:54
2007.05.20
как получить Username....


2-1178087867
Кириллка
2007-05-02 10:37
2007.05.20
Число прописью 0.000005





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский