![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 17.07.2015
Сообщений: 7
|
![]()
Здравствуйте! Пишу программу для ком-порта. В программе есть 2 файла .cpp-main.cpp settings.cpp. В файле main.cpp происходит передача и прием данных с порта. В settings.cpp -настройка и подключение к порту.
Когда пытаюсь отправить файл, появляется ошибка "the handle is invalid". когда тестирую настройки с помощью дебаггера, появляется ошибка "Unable to configure the serial port". помогите, пожалуйста, разобраться что не так. Файлы программы-в архиве |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
Для поиска COM портов лучше воспользоваться функцией QueryDosDevice.
Проверьте что содержит hPort в момент вызова ComPortSettings. Проверьте что выдает GetLastError в после вызова SetCommState. Проверьте правильно ли заполнен DCB. Можно вызвать GetCommState и сравнить результат с вашим. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 17.07.2015
Сообщений: 7
|
![]()
В момент вызова ComPortSettings(), hPort содержит адрес 0x000000bc. GetLastError выдает ошибку 87: ERROR_INVALID_PARAMETER
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
Ну так попробуйте рядсом с SetCommState сделать GetCommState.
Либо у вас содержимое hPort не актуально, либо не правильно заполнен DCB. |
![]() |
![]() |
![]() |
#5 |
Регистрация: 17.07.2015
Сообщений: 7
|
![]()
Скорость, четность, стопбиты, количество бит должны вводиться пользователем через интерфейс
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
Это еще не значит, что DCB заполнен правильно.
Прочитайте DCB и меняйте поля одно за другим, чтобы понять где возникает ошибка. |
![]() |
![]() |
![]() |
#7 |
Регистрация: 17.07.2015
Сообщений: 7
|
![]()
я так и написала
Код:
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
Вот так работает?
Код:
|
![]() |
![]() |
![]() |
#9 |
Регистрация: 17.07.2015
Сообщений: 7
|
![]()
также как и раньше
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
Ну тогда не знаю...
hPort вроде OK, иначе и SetCommTimeouts бы валился... А что за СОМ порт? Настоящий RS-232 или какой-то девайс прикидывается СОМ портом? |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сниффер COM-порта или программное создание виртуального COM-порта | Oleg_Ponomaryov | Общие вопросы C/C++ | 4 | 12.06.2015 09:28 |
Программа для разделения порта на несколько | DimOwl | Софт | 7 | 06.10.2014 17:31 |
Подвисает программа на Delphi, которая считывает данные с COM-порта(весы), строит график | SonicBob | Помощь студентам | 19 | 07.09.2011 03:08 |
программа для снятия данных с LPT порта | Joslen_bomon | Софт | 2 | 08.11.2009 19:27 |
Как получить данные с COM-порта или другого любого порта? | DeLure | Общие вопросы C/C++ | 5 | 20.09.2007 00:50 |