roboforum.ru

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

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

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

DiNoZawR » 27 сен 2009, 11:42

Есть необходимость использовать com.
Нигде не могу найти код программы, для того чтобы, грубо говоря, при нажатии на кнопку, на соответствующий
вывод сом порта выводился либо 0 либо 1.
В инете много исходников, но они чисто для передачи информации.
Есть в принципе статья http://www.pcports.ru/articles/com_1.php
Но у меня с visual c неособо и проект не компилируеться. Вот если бы на delphi было.
Помогите пожалуйста.

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; //структура параметров порта

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

Master » 27 сен 2009, 14:08

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

На чем софтину будешь писать? Если на делфи есть специальная утилита для работы с СОМ-портом.

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

DiNoZawR » 27 сен 2009, 15:16

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

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

Софтина случайно не эта?
Вложения
111111111111.JPG

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

Master » 27 сен 2009, 22:20

Я не про софтину говорил, а про библиотеку для Делфи BComPort называется. Но она для полноценной работы с портом, т. е. последовательно передает данные, а не выставляет высокий или низкий уровень на ножке.

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.

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

Master » 28 сен 2009, 09:17

В рахивес с BComPort есть файло с описанием как установить. Он из под делфи устанавливается.

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

DiNoZawR » 28 сен 2009, 10:51

Дык я и делаю все как в этом описании написано.

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 перейдешь позже.

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

DiNoZawR » 28 сен 2009, 11:38

Наконец то установил этот компонент.
Насчет LPT это верно. Но неудобный он. и не на всех компах есть.
Тем более насколько я слышал, если работать через COM порт, то можно использовать переходник USB - COM.
Поэтому лучше сразу COM :)

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....

Я не отговариваю....я только советую, хочу на путь истинный направить, решать вам...

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

DiNoZawR » 28 сен 2009, 18:03

Я так и собираюсь.
Теперь бы разобраться с BComPort..

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

MiBBiM » 28 сен 2009, 20:25

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

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

flyroman » 29 сен 2009, 01:25

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


на чем пишешь? почему именно BComPort?

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

SSG » 29 сен 2009, 10:31

С BComPort в комплекте идет пример терминала. С ним можно легко разобраться и использовать как шаблончик для своей проги.


Rambler\'s Top100 Mail.ru counter