Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
NiТR0
0 / 0 / 0
Регистрация: 22.08.2011
Сообщений: 18
#1

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

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

Ребята, проблема. Помогите, кто может.
Я вручную заполняю структуру 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2011, 13:31     Не выполняется SetCommState
Посмотрите здесь:

Код не выполняется в одном месте, но выполняется в другом - C++
Вот код процедуры: LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; HDC hdc; ...

Не выполняется сложение - C++
#include <iostream> #define N 30 using namespace std; class Numizmatika { friend class Bulavki; friend class Znachki; ...

Не выполняется сортировка - C++
Вот часть моей программы #include <iostream> #include <conio.h> #include <fstream> #include <vector> #include <iomanip> ...

не выполняется switch - C++
первый вложенный цикл выполняется корректно, но второй - после выбора вылетает из программы, т.е. ввожу константу и все - блок {} не...

Не выполняется цикл - C++
else //1 файл { NameFilesExcel.push_back(ofn.lpstrFile); for (int k = wcslen(ofn.lpstrFile); k <=1; k++) { ...

Не выполняется код - C++
Нужно сделать так, чтобы компилятор прожовував функцию sprintf. Возможно как-то это сделать? Error 1 error C4996: 'sprintf': This...

Не выполняется условие - C++
Если ввести в консольном приложении строку Terminator, то должно выполниться условие и выведется текст That's Right. Но оно почему-то не...

Не выполняется realloc - C++
Вообщем, не могу понять в чем ошибка, malloc() работает, а realloc() выдает ошибки. Имеется собственный тип item (структура, в которой два...

Не выполняется условие! - C++
Здравствуйте! подскажите пожалуйста по какой причине у меня может не выполняться условие проверки страны? void country(TEda * Start){ ...

Не выполняется условие - C++
Код как таковой работает но единственное что не выводит так это ответ при нажатии 0 Как нажимаю на ноль он должен написать c=0 но он...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NiТR0
0 / 0 / 0
Регистрация: 22.08.2011
Сообщений: 18
23.11.2011, 16:55  [ТС]     Не выполняется SetCommState #2
Вопрос решён.
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
23.11.2011, 18:20     Не выполняется SetCommState #3
каким образом?
NiТR0
0 / 0 / 0
Регистрация: 22.08.2011
Сообщений: 18
23.11.2011, 18:26  [ТС]     Не выполняется SetCommState #4
Порт нельзя конфигурировать, если на нем стоит драйвер, т.е. он занят.
Ничего хорошего правда, но главное - до истины добрался!
Yandex
Объявления
23.11.2011, 18:26     Не выполняется SetCommState
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru