Текущий архив: 2002.11.11;
Скачать: CL | DM;
ВнизПожалуйста подскажите про COM порт... Найти похожие ветки
← →
AndrewK (2002-09-03 17:33) [0]Подскажите пожалуйста кто-нибудь.
Надо написать программу для работы с внешним контроллером через COM порт. Попробовал использовать компоненту TvaComm от Async32. Разобрался как передавать и принимать байты.
Столкнулся с такой проблемой:
контроллер должен передавать пакет из 50 байт последовательно в ответ на мой вызов. При приеме возникает следующая ситуация байты принимаются и выдаются мне партиями по восемь штук. Нельзя ли сделать так, чтобы весь пакет принимался целиком и после этого выдавался для дальнейшей обработки?
Как правильно осуществляется посылка и прием потока байтов через COM порт?
Заранее благодарен за помощь.
← →
AndrewK (2002-09-04 09:56) [1]Помогите кто-нибудь....
← →
MBo (2002-09-04 10:01) [2]в разделе Статьи
← →
Квазиравномернонепрерывный (2002-09-04 10:13) [3]Работайте сразу через API, без промежуточных компонентов.
← →
Aleks1 (2002-09-05 02:56) [5]> AndrewK © (03.09.02 17:33)
А в чем собственно проблема? Ну и пусть тебе выдаются партии по восемь "штук". Прими >= 50 "штук" и проанализируй их.
← →
AndrewK (2002-09-05 09:08) [6]2Aleks1
Насчет проанализировать несколько пакетов это понятно. Но как-то не очень красиво, имхо. Где-то должно настраиваться по сколько байт принимать. Только не нашел где.
Если у кого есть какой-нибудь рабочий модуль для работы с этой компонентой или нормальная справка киньте, пожалуйста, на мыло.
Может сам компонент заменить?
2MBo
В разделе статьи есть описание для работы с компонентой Comm32. Это то? Только сам компонент для Delphi 6 найти не могу. Но смысл понятен.
← →
MBo (2002-09-05 09:13) [7]В кладовке есть компоненты для работы с ComPort, поройся там
← →
NickB (2002-09-05 14:01) [8]Попробуйте найти и использовать AsyncPro в пакете от Turbo Power
Я лично доволен- есть све что надо и более
← →
AndrewK (2002-09-06 09:04) [9]Если кого есть AsyncPro для Delphi 6, киньте пожалуйста. Или ссылку где можно скачать попробовать.
← →
Tot (2002-09-06 09:44) [10]Да брось ты эти компоненты! Работай через API, просто и всё под твоим контролем.
← →
catalogoanatom (2002-09-06 09:44) [11]Писать работу с COM надо на API.Есть в MS SDK хороший раздельчик - Communications, там всё расписано.
1 hCom:=CreateFile(PChar("COM1").....).
2 Заполняешь структуру DCB
Запись в порт WriteFile(hCom.....)
Чтение ReadFile(hCom....)
Мониторинг событий лучше перенести в отдельный поток. Вот и всё !
И не надо чужих компонентов, тем более без исходного текста.
← →
LStranger (2002-09-06 11:06) [12]... а на приеме сделай кольцевой буфер с анализатором - поймал начало пакета - жди хвост, дождался - обрабатывай ...
← →
Nikolab (2002-09-06 12:19) [13]Относно WinApi - Все можно писат на API, но идеиа Делфи - ето компоненти. Я с D2 ползую VARIAN ASYNC32 COMPONENT,(c) VARIAN SOFTWARE SERVICES NL, но уверен, что ест и много других хороших COM компонентов - в исходниках везде ест API - но почему надо искат колесо?
← →
Сергей Медяник_ (2002-09-06 19:34) [14]Кидаю на мэйл компонент, на котором благополучно связываюсь с микроконтроллером МК51. Скорость до 57600, буффер, свойство-количество накопленных байт в буффере, пакетный режим. Компонент надыбал в кладовке, давно.
To ALL: Разумеется всегда лучше писать самому, но когда времени так мало, что поспать некогда, тут лучше взять готовое :-)))))
← →
AndrewK (2002-09-09 11:30) [15]Огромное всем спасибо.
Страницы: 1 вся ветка
Текущий архив: 2002.11.11;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.007 c