Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / C++ Новый топик    Ответить
 COM port больше 9  [new]
Mizer73
Member

Откуда: Питер
Сообщений: 251
Имею код:
String portname; //имя порта (например, "COM1", "COM2" и т.д.)
DCB dcb2; //структура для общей инициализации порта DCB
COMMTIMEOUTS timeouts2; //структура для установки таймаутов
portname = CPort2; 
COMport2 = CreateFile(portname.c_str(),GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL);
if(COMport2 == INVALID_HANDLE_VALUE) //если ошибка открытия порта
{
        com2_Opening = false;
	return false;
}

беда в том, что данный код не работает с портами больше номера 9. Не знаю, почему.
25 дек 20, 00:47    [22253714]     Ответить | Цитировать Сообщить модератору
 Re: COM port больше 9  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 52921

Mizer73
беда в том, что данный код не работает с портами больше номера 9. Не знаю, почему.

Беда в том, что кое-кто документацию не читает. А почему не работает код - ясно и ежу.
https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilea

Posted via ActualForum NNTP Server 1.5

25 дек 20, 01:06    [22253717]     Ответить | Цитировать Сообщить модератору
 Re: COM port больше 9  [new]
Barlone
Member

Откуда:
Сообщений: 1452
Dimitry Sibiryakov

Mizer73
беда в том, что данный код не работает с портами больше номера 9. Не знаю, почему.

Беда в том, что кое-кто документацию не читает. А почему не работает код - ясно и ежу.
https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilea
Отправить читать документацию - это конечно хорошо, ну можно было хотя бы так https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilea#communications-resources
25 дек 20, 07:33    [22253731]     Ответить | Цитировать Сообщить модератору
 Re: COM port больше 9  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10925
А что, если проблемы с прочтением всего текста на одной HTML-странице?
"Абазцев много" или что?
25 дек 20, 08:07    [22253739]     Ответить | Цитировать Сообщить модератору
 Re: COM port больше 9  [new]
petrav
Member

Откуда:
Сообщений: 2861
Mizer73
Имею код:

...

беда в том, что данный код не работает с портами больше номера 9. Не знаю, почему.

Имя порта неправильно отформатировано. Держи:

sprintf(portName, "\\\\.\\COM%d", port);
25 дек 20, 10:51    [22253784]     Ответить | Цитировать Сообщить модератору
 Re: COM port больше 9  [new]
Mizer73
Member

Откуда: Питер
Сообщений: 251
petrav, спасибо. Проверю.
Неужто из-за ?
я об этом думал, но тогда наоборот, должно было бы до 10 не работать.
25 дек 20, 14:52    [22253978]     Ответить | Цитировать Сообщить модератору
 Re: COM port больше 9  [new]
Dima T
Member

Откуда:
Сообщений: 15689
Mizer73
я об этом думал, но тогда наоборот, должно было бы до 10 не работать.

Смысл гадать если ссылку на документацию выше дали
Barlone
https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilea#communications-resources

до 10 оба варианта можно, с 10 только второй.
25 дек 20, 15:00    [22253989]     Ответить | Цитировать Сообщить модератору
 Re: COM port больше 9  [new]
petrav
Member

Откуда:
Сообщений: 2861
Mizer73

я об этом думал, но тогда наоборот, должно было бы до 10 не работать.

Просто интересно, как вы пришли к такому предположению? Я не вижу там ни малейших поводов так думать.
25 дек 20, 15:33    [22254021]     Ответить | Цитировать Сообщить модератору
 Re: COM port больше 9  [new]
Mizer73
Member

Откуда: Питер
Сообщений: 251
petrav,
думал про 2 разряда, но там байт
25 дек 20, 16:40    [22254101]     Ответить | Цитировать Сообщить модератору
Все форумы / C++ Ответить