Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 22.08.2011
Сообщений: 18
1

Не выполняется SetCommState

23.11.2011, 13:31. Показов 2234. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребята, проблема. Помогите, кто может.
Я вручную заполняю структуру DCB для настройки COM-порта, а SetCommState не выполняется и FormatMessage говорит что "Неверная ф-ия".
Синхронный режим, хэндл беру нормально, грешу на структуру DCB, но что в ней может быть не так? Спасайте, народ.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
BOOL WorkComm(int NumCommPort)
{
HANDLE HandleCommPortPrinter;
char strNumCommPort[5] = "";
DCB dcb;
 
ZeroMemory(&dcb, sizeof(DCB));
dcb.DCBlength = sizeof(DCB);
dcb.BaudRate = CBR_57600;
dcb.fBinary = true;
dcb.ByteSize = 8;
dcb.StopBits = ONESTOPBIT;
dcb.Parity = NOPARITY;
// Если XoffChar и XonChar равны, то SetCommState выдаёт ошибку:
// The SetCommState function fails if the XonChar member of the DCB structure is equal to the XoffChar member.
// Поэтому делаю так:
dcb.XoffChar = 0;
dcb.XonChar = 1;
 
sprintf(strNumCommPort, "COM%i", NumCommPort);
HandleCommPortPrinter = CreateFile(strNumCommPort, GENERIC_READ | GENERIC_WRITE, NULL, NULL, OPEN_EXISTING, 0, NULL);
 
SetCommState(HandleCommPortPrinter, &dcb);
...
Close(HandleCommPortPrinter);
return true;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.11.2011, 13:31
Ответы с готовыми решениями:

Код не выполняется в одном месте, но выполняется в другом
Вот код процедуры: LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)...

SetCommState не работает
Вот код. Он не работает. DCB dcb; HANDLE hLpt = CreateFile("COM2", GENERIC_READ | GENERIC_WRITE,...

не выполняется запрос в коде, но выполняется в phpliteadmin
всем привет! необходима небольшая помощь, есть бд с таблицей "keys" и одной из колонок в ней -...

Нужно передать файл, расположенный на рабочей станции, на которой выполняется сервер, на рабочую станцию​​, на которой выполняется клиент. MailSlot
Ребята. Нужна помощь. Нужно передать файл, расположенный на рабочей станции, на которой...

3
0 / 0 / 0
Регистрация: 22.08.2011
Сообщений: 18
23.11.2011, 16:55  [ТС] 2
Вопрос решён.
0
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
23.11.2011, 18:20 3
каким образом?
0
0 / 0 / 0
Регистрация: 22.08.2011
Сообщений: 18
23.11.2011, 18:26  [ТС] 4
Порт нельзя конфигурировать, если на нем стоит драйвер, т.е. он занят.
Ничего хорошего правда, но главное - до истины добрался!
0
23.11.2011, 18:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.11.2011, 18:26
Помогаю со студенческими работами здесь

Вывести на экран "условие выполняется", если все элементы массива положительные и "условие не выполняется", если это не так.
1)Тип массива вещественный.Число элементов 11. Вывести на экран "условие выполняется", если все...

Выполняется и if и else
Есть форма загрузки сразу нескольких изображений. Метод передачи формы POST. Всем инпутам дан...

не выполняется js
Всем привет,Пытаюсь поставить "мне нравится" вконтакте под фото Код: <div id="pv_like_wrap"...

Не выполняется if
Почему может не выполняться оператор if? Ни одна ветка не исполняется, ни истинная, ни ложная....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru