Компьютерный форум NoWa.cc

Компьютерный форум NoWa.cc (https://nowa.cc/index.php)
-   Borland C++ Builder (https://nowa.cc/forumdisplay.php?f=301)
-   -   Работа с COM-портом в Buildere (https://nowa.cc/showthread.php?t=212791)

Part505 28.03.2009 22:58

Работа с COM-портом в Buildere
 
Подскажите, пожалуйста, какими компонентами лучше пользоваться для работы с COM-портами (интересует работа "на прием", поддержка асинхронного режима). Информации по этому вопросу маловато...

rostan2004 22.04.2009 16:34

Re: Работа с COM-портом в Buildere
 
Попробуйте TurboPower Async Professional

psh99 09.05.2009 09:33

Re: Работа с COM-портом в Buildere
 
Отличная статейка: http://www.delphikingdom.ru/asp/view...?catalogid=723
Вот еще компонент: ComPort

_Lz_ 23.05.2009 22:02

Re: Работа с COM-портом в Buildere
 
Ээээ.... А CreateFile чем плох?

nemanss 03.03.2010 19:21

Re: Работа с COM-портом в Buildere
 
Я новичек в программирование не могу установить компонент COM порта для Builder6

nw_walker 11.04.2010 10:29

Re: Работа с COM-портом в Buildere
 
Цитата:

Сообщение от Part505 (Сообщение 2303521)
Подскажите, пожалуйста, какими компонентами лучше пользоваться для работы с COM-портами (интересует работа "на прием", поддержка асинхронного режима).

Большие возможности предоставляет набор компонентов nrComm Lib

Andrew_1978 16.12.2010 08:44

Re: Работа с COM-портом в Buildere
 
Работа с com портом ведётся как с обычным файлом, только вместо имени будет, например, "COM1" Для открытия порта можно воспользоваться функцией CreateFile, для записи данных в порт WriteFile, а для чтения из порта функцией ReadFile

Ivan_Nikit 10.02.2011 18:13

Re: Работа с COM-портом в Buildere
 
В дополнение к ответу Andrew_1978 приведу пример работы с СОМ портом (синхронное обращение с портом):


Объявляем переменные
HANDLE hComPort;
DCB lpDCB;
COMMTIMEOUTS lpCommTimeouts;
int iReadTotalTimeoutConstant;

char cBufferSend[4], cBufferReseive[500];
DWORD CountBytes, ReadCountBytes;

Открываем COM-порт и задаём ему необходимые параметры

bool OpenCOMPort()
{
hComPort=CreateFile("COM1",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXI STING,0,NULL);
if(hComPort==INVALID_HANDLE_VALUE)
{
Application->MessageBox("Не могу открыть СОМ1","",
MB_OK + MB_ICONINFORMATION);
return false;
}

GetCommState(hComPort,&lpDCB);
lpDCB.BaudRate=9600;
lpDCB.ByteSize=8;
lpDCB.Parity=NOPARITY;
lpDCB.StopBits=ONESTOPBIT;
lpDCB.fDtrControl=DTR_CONTROL_DISABLE;
lpDCB.fRtsControl=RTS_CONTROL_DISABLE;
if(!SetCommState(hComPort,&lpDCB))
{
Application->MessageBox("Необходимые параметры порта СОМ1 не установлены",
"",MB_OK + MB_ICONINFORMATION);
return false;
}

GetCommTimeouts(hComPort,&lpCommTimeouts);
lpCommTimeouts.ReadTotalTimeoutConstant = iReadTotalTimeoutConstant;
if(!SetCommTimeouts(hComPort,&lpCommTimeouts))
{
Application->MessageBox(("Необходимые параметры порта \""+
sNameComPort+"\" не установлены").c_str(),
sCaption.c_str(),
MB_OK + MB_ICONINFORMATION);
return false;
}
return true;
}
//---------------------------------------------------------------------------

Читаем и передаём данные например так:
ReadFile(hComPort,cBufferReseive,ReadCountBytes,&CountByte s,NULL);
WriteFile(hComPort,cBufferSend,4,&CountBytes,NULL);
предварительно присвоив необходимые значения переменным

При окончании общения с СОМ-портом не забываем освободить (закрыть)указатель
CloseHandle(hComPort);

Jurdens 21.02.2011 08:36

Re: Работа с COM-портом в Buildere
 
Версия nrComm Lib 8.20 r2 хорошо работает с билдером 2009 пробовал работать с виртуальными портами (USB и блютуз)

ForNights 02.04.2011 11:04

Re: Работа с COM-портом в Buildere
 
Так и не догнал где на этом форуме можно выложить файл поэтому выложил вот сюда ->> http://zalil.ru/30784109 и продублировал вот тут -> http://webfile.ru/5237199
Там идёт работа с портом через АПИ с коментариями и некоторой обёрткой + немного теории, мне в своё время хватило для обмена с устройством.

avcsvp 02.04.2011 11:57

Re: Работа с COM-портом в Buildere
 
нормальная статья на www.avicorp.ru, расписан интерфейс


Текущее время: 02:41. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Copyright ©2004 - 2025 NoWa.cc

Время генерации страницы 0.02762 секунды с 9 запросами