Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2014, 07:29   #1
victor5133
Форумчанин
 
Регистрация: 05.10.2010
Сообщений: 107
По умолчанию Отправляю команду в COM, но она не исполняется

Здравствуйте! Я отправляю команду в ком порт, и они отправляются, так как количество отправляемых байт равно количеству отправленных байт, но команда не исполняется, а когда я отправляю через готовую прогу все ок. Может кто-нибудь подскажет где здесь ошибка?

Код:
HANDLE hSerial;
LPCTSTR sPortName="COM1";
hSerial = ::CreateFile(sPortName,GENERIC_READ | GENERIC_WRITE,0,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
DCB dcbSerialParams = {0};
dcbSerialParams.DCBlength=sizeof(dcbSerialParams);
if (!GetCommState(hSerial, &dcbSerialParams))
{
	cout << "getting state error\n";
}
dcbSerialParams.BaudRate=CBR_38400;
dcbSerialParams.ByteSize=8;
dcbSerialParams.StopBits=ONESTOPBIT;
dcbSerialParams.Parity=NOPARITY;
if(!SetCommState(hSerial, &dcbSerialParams))
{
	cout << "error setting serial port state\n";
}


DWORD dwSize = strlen(Edit5->Text.c_str());
DWORD dwBytesWritten;
WriteFile(hSerial,Edit5->Text.c_str(),dwSize,&dwBytesWritten,NULL);
ShowMessage(IntToStr(dwBytesWritten));
CloseHandle(hSerial);
victor5133 вне форума Ответить с цитированием
Старый 15.05.2014, 08:59   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Проблема может быть в чем угодно, начиная с того, что посылаете не ту команду и кончая тем, что скажем не добавили в конце \n.

Поставьте вот эту утилиту и посмотрите что посылаете вы и что посылает готовая прога.
http://technet.microsoft.com/en-us/s.../bb896644.aspx
waleri вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Абракадабра. Последовательность из латинских букв строится следующим образом.на 1 шаге она пуста.На каждом шаге она удваивается Билигто Паскаль, Turbo Pascal, PascalABC.NET 2 12.10.2013 12:38
Из модуля не исполняется код devf Microsoft Office Excel 6 28.01.2012 23:23
Поток исполняется 15 раз grafgrial Общие вопросы Delphi 3 07.06.2011 12:42
LINQ.. исполняется впервые))) Teksa Общие вопросы .NET 0 06.10.2010 10:17
Когда отправляю tStream, теряю 4 байта. Altera Работа с сетью в Delphi 3 19.03.2009 19:05