Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Пожалуйста подскажите про COM порт... [D6, Win2k]


AndrewK ©   (2002-09-03 17:33:00) 

Подскажите пожалуйста кто-нибудь.

Надо написать программу для работы с внешним контроллером через COM порт. Попробовал использовать компоненту TvaComm от Async32. Разобрался как передавать и принимать байты.

Столкнулся с такой проблемой:

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

Как правильно осуществляется посылка и прием потока байтов через COM порт?

Заранее благодарен за помощь.


AndrewK   (2002-09-09 11:30:00) [1]

Огромное всем спасибо.


Сергей Медяник_   (2002-09-06 19:34:00) [2]

Кидаю на мэйл компонент, на котором благополучно связываюсь с микроконтроллером МК51. Скорость до 57600, буффер, свойство-количество накопленных байт в буффере, пакетный режим. Компонент надыбал в кладовке, давно.
To ALL: Разумеется всегда лучше писать самому, но когда времени так мало, что поспать некогда, тут лучше взять готовое :-)))))


Nikolab   (2002-09-06 12:19:00) [3]

Относно WinApi - Все можно писат на API, но идеиа Делфи - ето компоненти. Я с D2 ползую VARIAN ASYNC32 COMPONENT,(c) VARIAN SOFTWARE SERVICES NL, но уверен, что ест и много других хороших COM компонентов - в исходниках везде ест API - но почему надо искат колесо?


LStranger   (2002-09-06 11:06:00) [4]

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


Tot   (2002-09-06 09:44:00) [5]

Да брось ты эти компоненты! Работай через API, просто и всё под твоим контролем.


catalogoanatom   (2002-09-06 09:44:00) [6]

Писать работу с COM надо на API.Есть в MS SDK хороший раздельчик - Communications, там всё расписано.
1 hCom:=CreateFile(PChar("COM1").....).
2 Заполняешь структуру DCB

Запись в порт WriteFile(hCom.....)
Чтение ReadFile(hCom....)

Мониторинг событий лучше перенести в отдельный поток. Вот и всё !
И не надо чужих компонентов, тем более без исходного текста.


AndrewK   (2002-09-06 09:04:00) [7]

Если кого есть AsyncPro для Delphi 6, киньте пожалуйста. Или ссылку где можно скачать попробовать.


NickB   (2002-09-05 14:01:00) [8]

Попробуйте найти и использовать AsyncPro в пакете от Turbo Power
Я лично доволен- есть све что надо и более


MBo   (2002-09-05 09:13:00) [9]

В кладовке есть компоненты для работы с ComPort, поройся там


AndrewK   (2002-09-05 09:08:00) [10]

2Aleks1

Насчет проанализировать несколько пакетов это понятно. Но как-то не очень красиво, имхо. Где-то должно настраиваться по сколько байт принимать. Только не нашел где.

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

Может сам компонент заменить?

2MBo

В разделе статьи есть описание для работы с компонентой Comm32. Это то? Только сам компонент для Delphi 6 найти не могу. Но смысл понятен.


Aleks1   (2002-09-05 02:56:00) [11]

> AndrewK © (03.09.02 17:33)
А в чем собственно проблема? Ну и пусть тебе выдаются партии по восемь "штук". Прими >= 50 "штук" и проанализируй их.


blackweber   (2002-09-05 02:08:00) [12]


Квазиравномернонепрерывный   (2002-09-04 10:13:00) [13]

Работайте сразу через API, без промежуточных компонентов.


MBo   (2002-09-04 10:01:00) [14]

в разделе Статьи


AndrewK   (2002-09-04 09:56:00) [15]

Помогите кто-нибудь....


Наверх

Титульная страница Поиск, карта сайта Написать письмо