roboforum.ru

Технический форум по робототехнике.

Помогите с COM потром

Раздел создан специально для людей которым интересна робототехника, но в силу разных причин они не знают с чего начать.
Задавайте ваши вопросы, какими бы простыми они не казались, постоянные посетители форума постараются ответить на них по мере своих сил.
Робот своими руками. Самодельный робот.

Помогите с COM потром

Сообщение DiNoZawR » 27 сен 2009, 11:42

Есть необходимость использовать com.
Нигде не могу найти код программы, для того чтобы, грубо говоря, при нажатии на кнопку, на соответствующий
вывод сом порта выводился либо 0 либо 1.
В инете много исходников, но они чисто для передачи информации.
Есть в принципе статья http://www.pcports.ru/articles/com_1.php
Но у меня с visual c неособо и проект не компилируеться. Вот если бы на delphi было.
Помогите пожалуйста.
E=mc2
Аватара пользователя
DiNoZawR
 
Сообщения: 25
Зарегистрирован: 18 дек 2008, 09:54
Откуда: Москва

Re: Помогите с COM потром

Сообщение contr » 27 сен 2009, 12:12

У СОМ лишь три линии, которыми можно управлять. Делается это так:
EscapeCommFunction(hCom,setRTS);
EscapeCommFunction(hCom,clrRTS);
предварительно нужно получить доступ к порту
hCom:=CreateFile('COM1',GENERIC_WRITE or GENERIC_READ,0,nil,OPEN_EXISTING,0,0);
и проверить его состояние
GetCommState(hCom,dcb); //без этого имеем липу
Переменные такие:
private
{ Private declarations }
hCom: THandle; //хендлер порта
dcb:TDCB; //структура параметров порта
contr
 
Сообщения: 987
Зарегистрирован: 17 апр 2009, 15:09
Откуда: Rostov-Don
Предупреждения: -1

Re: Помогите с COM потром

Сообщение Master » 27 сен 2009, 14:08

DiNoZawR
Да СОМ порт это не LPT где можно просто ножки дергать. Его правильно использовать в связке с контроллером и MAX232, полноценно используя линии RxD (чтение данных) и TxD (отправка данных).

На чем софтину будешь писать? Если на делфи есть специальная утилита для работы с СОМ-портом.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Re: Помогите с COM потром

Сообщение DiNoZawR » 27 сен 2009, 15:16

Про MAX232 я знаю.
Но думал что в случае простого выставления в порт 1 и 0 она не нужна.

Софт хочу на дельфи делать. Вообще софт хочу свой. Чтобы по этим 3м ножкам передавать инфу и команды.
Ибо робот пока примитивный. Пара датчиков всего.
Я понимаю что это далеко не лучший метод использования сом порта для соединения,
но для меня это будет своего рода Hello world :oops:

Софтина случайно не эта?
Вложения
111111111111.JPG
E=mc2
Аватара пользователя
DiNoZawR
 
Сообщения: 25
Зарегистрирован: 18 дек 2008, 09:54
Откуда: Москва

Re: Помогите с COM потром

Сообщение Master » 27 сен 2009, 22:20

Я не про софтину говорил, а про библиотеку для Делфи BComPort называется. Но она для полноценной работы с портом, т. е. последовательно передает данные, а не выставляет высокий или низкий уровень на ножке.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Re: Помогите с COM потром

Сообщение DiNoZawR » 28 сен 2009, 01:18

Спасибо. Поищу. Надо будет наверно уже сразу разобраться с передачей данных.

Добавлено спустя 25 минут 8 секунд:
Ой. Скачал BComPort. Теперь тупо не могу установить. Делаю все как в ридми.
Открываю BComPortD3.dpk Сразу просит его конвертнуть. Жму да. Потом инсталл.
Выдает ошибку: Cannot load package BComPortD3 it contains unit 'BCport', which is also contained in package dclusr70.
Если сразу не конвертирую то вроде чтото ставит а потом опять требует конвертнуть если отказываюсь, ошибка та же если соглашаюсь то пишет Update complite и та же ошибка потом. :(

Подскажите, как же его поставить?

Добавлено спустя 41 секунду:
[Fatal Error] BComPortD3.dpk(31): Required package 'vcl30' not found
Вот такая ошибка

Добавлено спустя 52 секунды:
Скачал отдельно vcl30. Тоже не ставиться. ошибка наподобии этой
Cannot load package BComPortD3 it contains unit 'BCport', which is also contained in package dclusr70.
E=mc2
Аватара пользователя
DiNoZawR
 
Сообщения: 25
Зарегистрирован: 18 дек 2008, 09:54
Откуда: Москва

Re: Помогите с COM потром

Сообщение Master » 28 сен 2009, 09:17

В рахивес с BComPort есть файло с описанием как установить. Он из под делфи устанавливается.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Re: Помогите с COM потром

Сообщение DiNoZawR » 28 сен 2009, 10:51

Дык я и делаю все как в этом описании написано.
E=mc2
Аватара пользователя
DiNoZawR
 
Сообщения: 25
Зарегистрирован: 18 дек 2008, 09:54
Откуда: Москва

Re: Помогите с COM потром

Сообщение flyroman » 28 сен 2009, 11:00

так, различим:
-COM порт служит для последовательной передачи данных по 1 проводу...
http://ru.wikipedia.org/wiki/RS232
http://ru.wikipedia.org/wiki/COM (выбери com-порт компьютера)
http://www.hardware.zp.ua/docs/com9.html -распайка

-LPT порт для параллельной передачи данных. здесь можно изменять 12 бит(проводов).
http://ru.wikipedia.org/wiki/LPT
http://hardware.zp.ua/docs/lpt.htm -распайка

Тебе лучше подойдет LPT. А к com перейдешь позже.
«Это невозможно» — сказала Причина. «Это безрассудно!» — заметил Опыт. «Это бесполезно!» — отрезала Гордость.
«Попробуй» — шепнула Мечта…
Аватара пользователя
flyroman
 
Сообщения: 1266
Зарегистрирован: 12 янв 2009, 21:39
Откуда: Чебоксары, Чувашская Республика
Skype: roman.buhalov
прог. языки: Basic, VisualBasic,Pascal, Delphi, ASM
ФИО: Роман Сергеевич

Re: Помогите с COM потром

Сообщение DiNoZawR » 28 сен 2009, 11:38

Наконец то установил этот компонент.
Насчет LPT это верно. Но неудобный он. и не на всех компах есть.
Тем более насколько я слышал, если работать через COM порт, то можно использовать переходник USB - COM.
Поэтому лучше сразу COM :)
E=mc2
Аватара пользователя
DiNoZawR
 
Сообщения: 25
Зарегистрирован: 18 дек 2008, 09:54
Откуда: Москва

Re: Помогите с COM потром

Сообщение flyroman » 28 сен 2009, 17:25

нет, нет, еще раз нет....

ты же ставишь задачу упровлять состоянием каждого пина(проводка/контакта)....
так лучше тогда использовать LPT, по твоей задаче удобнее.
COM, USB - последовательные!!! LPT -парралельные!!!

У Com можно конечно использовать 3 выхода, как у параллельного.... 2 в третьей степени будет = 8 , 8-комманд всего. Тем более напряжения у него на выходах не от 0 до 5В, а от -10 до 10В ..... а на LPT - 0..5B

Если хочешь делать на Com, тогда уж делай чтобы он работал как должен работать- ПОСЛЕОВАТЕЛЬНО.

А USB - COM , COM-USB(такой вообще незнай есть..) - эт лажа... - либо USB, либо COM....

Я не отговариваю....я только советую, хочу на путь истинный направить, решать вам...
«Это невозможно» — сказала Причина. «Это безрассудно!» — заметил Опыт. «Это бесполезно!» — отрезала Гордость.
«Попробуй» — шепнула Мечта…
Аватара пользователя
flyroman
 
Сообщения: 1266
Зарегистрирован: 12 янв 2009, 21:39
Откуда: Чебоксары, Чувашская Республика
Skype: roman.buhalov
прог. языки: Basic, VisualBasic,Pascal, Delphi, ASM
ФИО: Роман Сергеевич

Re: Помогите с COM потром

Сообщение DiNoZawR » 28 сен 2009, 18:03

Я так и собираюсь.
Теперь бы разобраться с BComPort..
E=mc2
Аватара пользователя
DiNoZawR
 
Сообщения: 25
Зарегистрирован: 18 дек 2008, 09:54
Откуда: Москва

Re: Помогите с COM потром

Сообщение MiBBiM » 28 сен 2009, 20:25

в архиве с библиотекой поставляется мануал на русском языке.
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

Re: Помогите с COM потром

Сообщение flyroman » 29 сен 2009, 01:25

DiNoZawR писал(а):Я так и собираюсь.
Теперь бы разобраться с BComPort..


на чем пишешь? почему именно BComPort?
«Это невозможно» — сказала Причина. «Это безрассудно!» — заметил Опыт. «Это бесполезно!» — отрезала Гордость.
«Попробуй» — шепнула Мечта…
Аватара пользователя
flyroman
 
Сообщения: 1266
Зарегистрирован: 12 янв 2009, 21:39
Откуда: Чебоксары, Чувашская Республика
Skype: roman.buhalov
прог. языки: Basic, VisualBasic,Pascal, Delphi, ASM
ФИО: Роман Сергеевич

Re: Помогите с COM потром

Сообщение SSG » 29 сен 2009, 10:31

С BComPort в комплекте идет пример терминала. С ним можно легко разобраться и использовать как шаблончик для своей проги.
I live My life!
Аватара пользователя
SSG
 
Сообщения: 1058
Зарегистрирован: 15 янв 2007, 19:23
Откуда: Беларусь, Барановичи
прог. языки: С для МК, Delphi для ПК

След.

Вернуться в Новичкам или основы основ роботостроения.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12