![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 22.02.2009
Сообщений: 65
|
![]()
Доброго дня.
помогите разобраться с настройкой ком порта. Код:
Последний раз редактировалось Stilet; 16.06.2014 в 07:57. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,405
|
![]()
DCB var;
BuildCommDCB(..., &var); Не путайте тип и переменную типа. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 22.02.2009
Сообщений: 65
|
![]() |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 22.02.2009
Сообщений: 65
|
![]()
DCB dcb;
COMMTIMEOUTS ots; char a[5]="Test", b[5]="",c[5]; DWORD bc; ots.ReadIntervalTimeout=100; //îáùåå âðåìÿ ots.ReadTotalTimeoutMultiplier=50; // ìíîæèòåëü ots.ReadTotalTimeoutConstant=50; //êîíñòàíòà ots.WriteTotalTimeoutMultiplier=50; ots.WriteTotalTimeoutConstant=50; HANDLE port; port = CreateFile("Com1", GENERIC_READ | GENERIC_WRITE, 0,NULL,OPEN_EXISTING,0,NULL ); //ñîçäàåì ïîðò BuildCommDCB("baud=9600 parity=N data=8 stop=1", &dcb); //êîíôèãóðèðîâàíèå ïîðòà if (port == INVALID_HANDLE_VALUE) ShowMessage("Ñëîìàëñÿ"); SetCommState(port,&dcb); //çàïèñü êîíôèãóðàöèè â ïîðò //ShowMessage(dcb.BaudRate); //òèïà ïðîâåðêà, ÷òî çàïèñàëîñü //SetCommTimeouts(port,&ots); //òàéìàóò íà ÷òåíèå è çàïèñü â ïîðò if(WaitForSingleObject(port,100)!=0 )ShowMessage("Ñëîìàëñÿ"); //âðåìÿ îæèäàíèÿ îò îáúåêòà PurgeComm(port,PURGE_TXCLEAR|PURGE_ RXCLEAR); //î÷èùàåì áóôåð ïîðòà îò ìócoðà WriteFile(port,"ABCDE",5,&bc,NULL); ReadFile(port,&b,5,&bc,NULL); ShowMessage(b); //ClearCommError(port, CloseHandle(port); //çàêðûòèå ïîðòà ___________________________________ ___________________________________ _ Подскажите, пожалуйста, как проверить работоспособность. данные пишу в порт, принемаю, смотрю через ShowMessage(b) - а в ответ ни чего((((. можен он пишет в порт - ни куда, и ответа нет ни от куда??? |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 22.02.2009
Сообщений: 65
|
![]()
код поправлю
DCB dcb; COMMTIMEOUTS ots; char a[5]="Test", b[5]="",c[5]; DWORD bc; ots.ReadIntervalTimeout=100; ots.ReadTotalTimeoutMultiplier=50; ots.ReadTotalTimeoutConstant=50; ots.WriteTotalTimeoutMultiplier=50; ots.WriteTotalTimeoutConstant=50; HANDLE port; port = CreateFile("Com1", GENERIC_READ | GENERIC_WRITE, 0,NULL,OPEN_EXISTING,0,NULL ); BuildCommDCB("baud=9600 parity=N data=8 stop=1", &dcb); if (port == INVALID_HANDLE_VALUE) ShowMessage("Не Работает"); SetCommState(port,&dcb); //SetCommTimeouts(port,&ots); if(WaitForSingleObject(port,100)!=0 )ShowMessage("Не Работает"); PurgeComm(port,PURGE_TXCLEAR|PURGE_ RXCLEAR); WriteFile(port,"ABCDE",5,&bc,NULL); ReadFile(port,&b,5,&bc,NULL); ShowMessage(b); CloseHandle(port); //çàêðûòèå ïîðòà |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,405
|
![]()
А что подключено к порту?
Почему вы думаете, что должен быть ответ? Поставьте вот эту утилиту и понаблюдайте: http://technet.microsoft.com/en-us/s.../bb896644.aspx Почитайте и вот это: http://www.lammertbies.nl/comm/info/...w_control.html |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 22.02.2009
Сообщений: 65
|
![]()
Вот и у меня закрались подозрения, что если ни чего к нему не подключено то ответа, возможно, не будет. пробую на буке в виртуалке. на буке ком портов нет.
Но с другой стороны, если я его открываю и туда что то записываю, значит оно там и должно остаться. А потом считываю то что записал. за инфу спасибо, почитаю |
![]() |
![]() |
![]() |
#8 | |
Пользователь
Регистрация: 22.02.2009
Сообщений: 65
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,742
|
![]() Цитата:
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 22.02.2009
Сообщений: 65
|
![]() |
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с RS232 в DELPHI | 100GRamm | Общие вопросы Delphi | 9 | 17.09.2021 00:18 |
программа Delphi RS232-Excel | mxroman | Общие вопросы Delphi | 1 | 05.12.2011 08:34 |
Java. Работа с RS232 Ethernet | MikeVazovsky | Общие вопросы по Java, Java SE, Kotlin | 1 | 04.11.2011 18:13 |
RS232, Библиотека Игоря Павлова TComPort | xBugiman | Компоненты Delphi | 11 | 12.06.2010 13:41 |